2016-04-21 94 views
-1

我是Android開發新手,我遇到了這個問題,我還沒有找到解決方案。Android Studio Asynctask Alternative

它首先進入web服務api登錄。從那裏,如果登錄成功,它將執行2個函數來獲取它需要的實際數據,存儲在sqlite中,然後繼續下一個活動。所有3個API請求都使用AsyncTask,而據我所知,我的Activity實際上比我的「doInBackground」後臺線程運行得更快。我想知道路徑或我應該看看什麼。我讀過關於使用睡眠的文章,並閱讀關於如何做不好的文章。我想獲得我需要的json數據,存儲它,並立即使用它。我想我想找到直接連接並使用進度條來獲取數據。請記住,這不是很多數據,但它足以拖延我的應用程序。

+0

我想我可能已經找到了領先的使用Android Volley Jsonrequest –

回答

0

不知道ProgressBar與從服務器檢索數據有什麼關係,但是如果您正在尋找AsyncTask替代品(尤其是HTTP調用),您可以查看這些框架(您可能只需要選擇一個) :

  1. Square's Retrofit
  2. Google's Volley

兩者將讓您的生活輕鬆了許多,當涉及到HTTP請求。他們自己的文檔解釋瞭如何使用它們,所以我不打算在這裏介紹如何使用它們。

如果你正在尋找一個本地的,更低的水平AsyncTask替代方案,看看AsyncTaskLoadersAsyncTaskLoader基本上與AsyncTask完全相同,但它們位於Activity或Fragment的生命週期內,因此您的代碼傾向於不太容易出錯。

+0

感謝您的幫助!我已經想出瞭如何使用Google的Volley,而我比asyncTask更喜歡它。雖然時間上我仍然有同樣的問題。登錄後,我正在做2 api的數據請求,然後將它們存儲到sqlite數據庫,然後繼續到dashboardActivity。問題在於儀表板啓動時數據不在數據庫中(我認爲它顯示可能遲了幾秒)。任何想法/建議? –