|
|
|
Android/Java สงสัยระหว่าง Thread กับ AsynTask มันทำงานต่างกันยังไงครับ (Android) |
|
|
|
|
|
|
|
AsyncTask มันเป็น Class ที่ช่วยให้เราเขียนได้ง่ายขึ้นครับ โดยไม่ต้องมานั่งสร้าง Thread ด้วยตัวเองครับ แต่เราก็สามารถใช้งาบควบคู่กันระหว่าง AsyncTask กับ Thread ได้เช่นเดียวกันครับ
การทำงาน ไม่ต่างกันครับ แต่การใช้ AsyncTask จะสะดวกมาก เพราะจะสังเกตุว่ามี Event ที่ให้เราเรียกใช้งานได้เลย โดยไม่ต้องมานั่งเขียน Handle เหมือน Thread
Android AsyncTask and ProgressBar
Android Thread and Handler
|
|
|
|
|
Date :
2013-06-23 07:43:15 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้าเอา Thread มาใส่ไว้ใน doInBackground มันจะทำงานอันไหนก่อนครับ งงมากระหว่าง 2 ตัวนี้
|
|
|
|
|
Date :
2013-06-23 14:30:46 |
By :
sirakarn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้ว ระหว่าง Thread ธรรมดา กับ MyActivity.runOnUiThread(new Runnable() { //////// doSomething } มันต่างกันยังไงครับ
ผมมักเห็น MyActivity.runOnUiThread(new Runnable() { //doSomething } ใช้ใน onPostExecute
|
|
|
|
|
Date :
2013-06-24 09:06:35 |
By :
sirakarn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวอย่างการใช้ครับ
Code (Android-Java)
private void runThread() {
new Thread() {
public void run() {
while (i++ < 1000) {
try {
runOnUiThread(new Runnable() {
@Override
public void run() {
btn.setText("#" + i);
}
});
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
|
|
|
|
|
Date :
2013-06-24 09:16:59 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|