[問題] 有關AsyncTask

看板AndroidDev作者 (戰鬥魯)時間9年前 (2015/09/30 23:17), 9年前編輯推噓5(5010)
留言15則, 6人參與, 最新討論串1/2 (看更多)
各位前輩好! 最近在練習自己寫一個程式藉由JSON取得資料從JSON取得的資料放入ListView。 目前我是利用AsyncTask在 doInBackground 上處理JSON資料。 處理過後的資料利用我自己建立的VO class。 自己寫一個BaseAdapter處理ListView裡面Item。 最後在OnPostExectue setAdapter 動態更新ListView。 目前寫到這裡都有達到我想要的目的。 可是後來想想我如果在APP執行途中新增JSON內容。 AsyncTask好像就不會動態更新。 上網查一下資料好像可以利用Service 背景執行寫一個定時更新的服務。 我朋友也告訴我要利用Handler處理UI畫面不要寫在AsyncTask裡面。 可能功力還不太夠我把我的MainActivity裡面寫入AsyncTask和BaseAdapter...。 沒有而外再開Class寫。 寫要寫Service的時候發現不太會處理數值也不太會改寫。 有找到寫一個Service 裡面可以用TimerTask。 請問我是要利用TimerTask處理JSON資料。 還是使用TimerTask去處理我的AsyncTask? 最近腦子卡死在這裡有一點不知道要如何下手。 本來是寫一個Therd去去算秒數時間到了執行AsyncTask再利用Handler處理畫面。 可是會發生Runtime Exception。 說要把handler static 不然會發生overload。 又看了很多相關文章越看越一頭霧水。 自己覺得這是有關於觀念問題但是身邊沒什麼人可以問。 我朋友只說只能指點我這些剩下靠我自己。 只好PO文求助大家。 另外如果有關於寫作技巧或是方式有推薦的書籍可以閱讀? 希望前輩可以指導一下寫作方式或技巧。 感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.46.180 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1443626225.A.48F.html ※ 編輯: benntqoo (59.126.46.180), 09/30/2015 23:19:07

09/30 23:53, , 1F
可以考慮用 Iterface 去更新主畫面,覺得不錯用。
09/30 23:53, 1F

09/30 23:54, , 2F
interface...
09/30 23:54, 2F

10/01 00:06, , 3F
定時可考慮用alarmManager寫在service內做
10/01 00:06, 3F

10/01 10:02, , 4F
不太懂 onpostexecute就是在mainthread了 為何還要用h
10/01 10:02, 4F

10/01 10:02, , 5F
andler
10/01 10:02, 5F

10/01 10:03, , 6F
如果你新增json資料就去刷新adapter就好 其實不用實做
10/01 10:03, 6F

10/01 10:03, , 7F
timer
10/01 10:03, 7F

10/01 10:08, , 8F
另外asynctask只能用一次而已 所以你要繼續用就要再開
10/01 10:08, 8F

10/01 10:08, , 9F
一次
10/01 10:08, 9F
我也不太理解為什麼要再開Handler處理UI畫面 我覺得AsyncTask裡面就可以處理了 可是我朋友這樣告訴我害我完全一團亂不知道該怎樣下手 被他限制卡死了ORZ 感謝give大提醒 我只要定期刷新AsyncTask一樣在OnPostExecute做UI處理好像就可以解決了 ※ 編輯: benntqoo (59.126.46.180), 10/01/2015 10:16:11 ※ 編輯: benntqoo (59.126.46.180), 10/01/2015 10:18:43 ※ 編輯: benntqoo (59.126.46.180), 10/01/2015 10:19:40

10/01 10:37, , 10F
最簡單就是在Thread裡抓資料處理資料 在用handler更新
10/01 10:37, 10F

10/01 10:37, , 11F
UI 但是Thread因為不是跟Activity生命週期綁一起 所以
10/01 10:37, 11F

10/01 10:38, , 12F
如果需要的話 可以用Service + Thread 詳情可以參考
10/01 10:38, 12F

10/01 10:39, , 13F
Efficient Android Threading 第11章
10/01 10:39, 13F

10/02 15:41, , 14F
notifydatachange
10/02 15:41, 14F

10/03 11:30, , 15F
推薦歐萊禮的Android高效能多執行緒 解說很詳細
10/03 11:30, 15F
文章代碼(AID): #1M2_pnIF (AndroidDev)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
文章代碼(AID): #1M2_pnIF (AndroidDev)