編輯:關於Android編程
多進程和多線程的本質區別在於其實每一個進程都擁有自己的一整套變量,說白了,可以擁有各種資源,而線程則是共享數據的,
同時也正是因為共享數據從而使得在線程之間的通信要比在進程之間的更有效、更容易。由與我近段時間在學些Android所以本部分的代碼
都以Android開發環境為基礎,但其實這本質也就是JAVA中的多線程,兩者是沒有太大區別的:
首先Thread類就是線程類,可以用它來創建一個新的線程,創建一個簡單的線程的方法大致有兩類:
方法一:
步驟一:建立一個繼承了Runnable接口(這個接口非常簡單,只有一個void run();方法)的類且實現該接口中的run()方法。
步驟二:將要在線程中完成的任務代碼移到該run方法中。
步驟三:創建一個該類的對象。
步驟四:利用剛才創建的對象去創建一個Thread對象。
步驟五:即可調用剛才的Thread對象的start()來啟動一個線程
For example:
//步驟一、步驟二
public class MyThread extends Thread
{
MyHandler handler = null;
public MyThread(MyHandler handler1)
{
handler = handler1;
}
public void run()
{
int i;
for(i = 0;i<10;i++)
{
}
aa = i;
Message message = new Message();
message.what = YYC;//子線程運行完後向UI線程通信
//想UI線程發送消息
handler.sendMessage(message);
}
}
MyHandler handler = new MyHandler();//Android中用於在線程之間通信的機制
//步驟三
TestRunable tr = new TestRunable(handler);
//步驟四
Thread thread = new Thread(tr);
//步驟五
thread.start();//開啟一個新線程
/*
*Android的UI線程中處理消息的機制
*/
private class MyHandler extends Handler{
public void handleMessage(Message mes)
{
switch(mes.what)
{
case YYC:
Log.d("YYYYYYYYY", "YYC");
Toast.makeText(getApplicationContext(), ""+aa,
Toast.LENGTH_SHORT).show();
break;
}
}
};
方法二:
也可以通過直接創建一個繼承了Thread類的子類,並在其run()方法中實現任務代碼,之後直接調用該類對象的start()方法即可啟動該線程。
For example:
public class MyThread extends Thread
{
MyHandler handler = null;
public MyThread(MyHandler handler1)
{
handler = handler1;
}
public void run()
{
int i;
for(i = 0;i<10;i++)
{
}
aa = i;
Message message = new Message();
message.what = YYC;//子線程運行完後向UI線程通信
handler.sendMessage(message);
}
}
MyHandler handler = new MyHandler();
MyThread thread2 = new MyThread(handler);
thread2.start();//開啟一個新線程
注意在此處有一個和容易混淆的誤區就是不要直接調用Thread或Runnable類對象的run()方法,此時只是會執行同一個線程中的任務,而不會啟動一個新的線程。
問題背景: 參考鏈接 做了一個圖片浏覽,用ContentResolver掃描圖庫照片,且嚴格按照時間拍攝順序排好序顯示在listview裡。如下圖所示:遇到的問題是在4.
一、字符串關鍵字變色在界面顯示的時候,偶爾需要將某些字符串中特定的字符串重點標出如下圖所示:便有了下面的方法。這個方法針對於比較 固定的字符串 ,並且需要自己 計算 需要
本文實例講述了Android開發圓角Button按鈕實現過程,分享給大家供大家參考,具體內容如下需求及效果圖:實現思路:1、shape實現圓角在drawable新建兩個x
我們先來看看To圈(QQ,微信等其他大部分軟件也是大同小異)的注冊錄音界面運行截圖:(⊙o⊙)…為了實現這個效果還是花了一番功夫的,主要難點有以下方面:1、