編輯:初級開發
首先我們需要明白,主線程或者這裡說的原始線程original thread 一般情況下是UI線程,當然UI線程並不一定是主線程,我們不能長時間的阻塞該應用,在Android平台上可能會產生類似Force close或Wait這樣的對話框這裡我們成為ANR,這裡除了使用ProgressDialog方式給用一個動態的進度代表當前處理並沒有中斷可能需要一些時間,所以android123告訴大家相關的網絡處理可以使用工作者線程,但是worker 線程不能處理顯示元素即UI相關的VIEw或Widget包中的高層的控件,所以通過一個Handler對象可以很好的傳遞Runnable或Message ,下面我們用一個簡單的例子來描述
final Handler cwjHandler = new Handler();
final Runnable mUpdateResults = new Runnable() {
public void run() {
updateUI();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NetworkOperation();//一個很費時間的I/O操作,比如網絡或文件讀寫等等。
}
protected void NetworkOperation() {
Thread t = new Thread() {
public void run() {
DOSomething(); //處理得到結果了,這裡一些內容保存在主類的成員變量中
cwjHandler.post(mUpdateResults); //高速UI線程可以更新結果了
}
};
t.start();
}
private void updateUI() {
//詳細的更新
}
有關Java以及android的線程,我們將在以後的內容中介紹到,本次由於[email protected] 郵箱中的相關內容講到這些,以後我們會告訴大家一些線程同步以及死鎖問題的解決方法,總體而言感覺相對於Windows Mobile平台,Android上的線程消耗過大,而SymBian的活動對象又相對保守,總的而言android線程相對簡單。
android SDK提供了一個強大的類Drawable,Drawable這個抽象類到底代表了什麼,如何使用?Drawable是個很抽象的概念,通過簡單的例子程序來學習
很多初入Android的開發者可能會發現經常遇到Force Close或ANR這樣的問題,一般我們通過android系統的錯誤日志打印工具Logcat可以看到出錯的內容
1.下載需要用到的工具: (1)下載Java的IDE開發工具? Eclipse 到Eclipse官方網站下載Ecplise For Java EE的最新Windo
以Windows平台的SDK為例,這裡Android開發網的模擬器配置路徑為 C:\Users\Administrator\.android\avd\2.3.3.avd