Time of Update: 2018-12-06
1、控制大小和位置/* * 擷取對話方塊的視窗對象及參數對象以修改對話方塊的布局設定,* 可以直接調用getWindow(),表示獲得這個Activity的Window* 對象,這樣這可以以同樣的方式改變這個Activity的屬性.*/Window dialogWindow = dialog.getWindow();WindowManager.LayoutParams lp =
Time of Update: 2018-12-06
每個屬性都有一個名稱和值,他們都是字串格式。屬性被大量使用在Android系統中,用來記錄系統設定或進程之間的資訊交換。屬性是在整個系統中全域可見的。每個進程可以get/set屬性。
Time of Update: 2018-12-06
CENTER /center 按圖片的原來size置中顯示,當圖片長/寬超過View的長/寬,則截取圖片的置中部分顯示CENTER_CROP / centerCrop 按比例擴大圖片的size置中顯示,使得圖片長(寬)等於或大於View的長(寬)CENTER_INSIDE / centerInside 將圖片的內容完整置中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬FIT_CENTER / fitCenter
Time of Update: 2018-12-06
開發Android程式,一般情況下都會有兩個操作,圖片的非同步載入與緩衝,而圖片的非同步載入大都是從網路讀取圖片(還有產生本地圖片縮圖等操作),為了減少網路操作,加快圖片載入速度就需要對圖片進行緩衝,所以網上的好多圖片非同步載入方法都是與圖片的緩衝緊密關聯的。但也有可能使用者已經有了緩衝的相關類庫,這樣使用起來就會有點麻煩。 最近一段處理跟圖片相關的問題,本來是自己寫的圖片載入,不過有些狀態的控制還是比較煩人的,比如ListView滾動時ImageView的重用,所以本著偷懶與充分利用現有
Time of Update: 2018-12-06
String-->InputStreamString str = "abc";InputStream inputStream = new ByteArrayInputStream(str.getBytes());InputStream-->StringString inputStream2String(InputStream is) { BufferedReader in = new BufferedReader(new InputStreamReader(is));
Time of Update: 2018-12-06
一、Android編譯步驟: 二、初始化編譯環境--source build/envsetup.sh 在build/envsetup.sh中主要完成了三件事。 添加編譯目標的代碼如下:for f in `/bin/ls vendor/*/vendorsetup.sh vendor/*/*/vendorsetup.sh device/*/*/vendorsetup.sh 2> /dev/null`do echo "including $f" . $fdoneunset
Time of Update: 2018-12-06
1、ContextWrapper.startService startService是Context的方法,Activity、Service都繼承自ContextWrapper,而ContextWrapper又繼承自Context,BroadcastReceiver的onReceive方法中有個參數是Context類型的,所以我們在Activity、Service、BroadcastReceiver中都可以調用startService方法,當在Activity等中調用startService時
Time of Update: 2018-12-06
連絡人資訊的儲存結構:從Android 2.0(API Level 5)開始,Android平台提供了一個改進的Contacts API,以適應一個連絡人可以有多個帳戶的需求,比如說手機通訊錄和GMAIL通訊錄,兩個通訊錄中的兩條記錄可以是同一個人。新的Contacts
Time of Update: 2018-12-06
代碼:package angel.devil;import android.app.Activity;import android.app.Dialog;import android.os.Bundle;import android.view.Gravity;import android.view.Window;import android.view.WindowManager;public class DialogDemoActivity extends Activity {/**
Time of Update: 2018-12-06
3.0以前,android支援兩種動畫模式,tween animation,frame animation,在android3.0中又引入了一個新的動畫系統:property animation,這三種動畫模式在SDK中被稱為property animation,view animation,drawable animation。 可通過NineOldAndroids項目在3.0之前的系統中使用Property Animation1. View Animation(Tween
Time of Update: 2018-12-06
關於listview和button都要改變android原來控制項的背景,在網上尋找了一些資料不是很全,所以現在總結一下android的selector的用法。首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的狀態:把下面的XML檔案儲存成你自己命名的.xml檔案(比如list_item_bg.xml),在系統使用時根據ListView中的清單項目的狀態來使用相應的背景圖片。drawable/list_item_bg.xml<
Time of Update: 2018-12-06
Android中跟Touch事件有關的事件有三個: public boolean dispatchTouchEvent(MotionEvent ev):傳遞Touch事件至target view(可以是自己)。 public boolean onInterceptTouchEvent(MotionEvent ev):在ViewGroup中定義,用於攔截Touch事件的傳遞。 public boolean onTouchEvent(MotionEvent
Time of Update: 2018-12-06
前面講的都是關於Android開發方面的知識點和技術,不少朋友可能會感到疑惑(甚至迫不及待的想知道。因為有不少的朋友是想藉此來發一筆小財,當然有點小激動了)----那到底我該如何打包、發布自己開發的APP,怎樣將我的APP放到網上工別人下載,怎樣保證我的APP安全及著作權問題呢???... 第一步,在Eclipse中選擇需要打包的項目,然後右鍵--選擇Export,會彈出一個打包的提示框,如所示。按Next之後,會繼續出現一個提示框,這裡你可以選擇自己需要打包的項目(預設是剛才選中的)如:按Ne
Time of Update: 2018-12-06
一、Handler的定義: 主要接受子線程發送的資料, 並用此資料配合主線程更新UI. 解釋: 當應用程式啟動時,Android首先會開啟一個主線程 (也就是UI線程) , 主線程為管理介面中的UI控制項,進行事件分發, 比如說, 你要是點擊一個 Button, Android會分發事件到Button上,來響應你的操作。 如果此時需要一個耗時的操作,例如: 連網讀取資料,或者讀取本地較大的一個檔案的時候,你不能把這些操作放在主線程中,如果你放在主線程中的話,
Time of Update: 2018-12-06
在系統啟動過程中,會載入驅動程式,初始化硬體裝置,會進入bool EventHub::openPlatformInput(void)這個函數,該函數主要功能是掃描/dev/input該目錄,擷取輸入裝置。如何擷取呢?通過linux API res = scan_dir(device_path); 該函數叫while((de = readdir(dir))) { strcpy(filename, de->d_name); open_device(devname);
Time of Update: 2018-12-06
Android提供的SharedPreferences類似於Windows程式中常用的ini檔案,以Key-Value的形式來儲存應用程式的屬性設定資訊(區分資料類型)。比如,可以用來儲存使用者上一次的登入資訊;可以儲存媒體播放程式的音量設定以及上次播放位置等。在使用SharedPreferences時常用的方法包括(方法具體含義參考官方文檔):Context.getSharedPreferences (String name, int mode)Activity.getPreferences
Time of Update: 2018-12-06
activity1.xml<?xml version="1.0"
Time of Update: 2018-12-06
總體上來說Android的電源管理還是比較簡單的, 主要就是通過鎖和定時器來切換系統的狀態,使系統的功耗降至最低,整個系統的電源管理架構圖如下: (注該圖來自Steve Guo)接下來我們從Java應用程式層面, Android framework層面, Linux核心層面分別進行詳細的討論:應用程式層的使用:Android提供了現成android.os.PowerManager類,該類用於控制裝置的電源狀態的切換.該類對外有三個介面函數:void goToSleep(long time); /
Time of Update: 2018-12-06
在Android系統啟動時,核心引導參數上一般都會設定“init=/init”,這樣的話,如果核心成功掛載了這個檔案系統之後,首先啟動並執行就是這個根目錄下的init程式。這個程式所了什麼呢? 我們只有RFSC(Readthe Fucking Source code)!! init程式源碼在Android官方源碼的system/core/init中,main在init.c裡。我們的分析就從main開始。 init:
Time of Update: 2018-12-06
簡述:Shared Preferences常用於一些屬性設定,參數設定,用來儲存一些簡單的資料。例如本例中,用來儲存應用的播放狀態。重點:無法直接在多個應用程式間共用Preferences資料。簡單的使用方法:1、調用getPreferences()方法得到一個SharedPreferences對象。參數可直接寫0,意思為私人。 2、調用SharedPreferences的edit()方法得到一個Editor對象。 3、通過Editor.put...()方法輸入資料