我的Android應用程序需要在應用程序啓動時執行初始http請求,以從RESTful服務中獲取配置json文件。此請求由Volley 完成,只要應用程序獲取數據,MainActivity便會啓動。我還定義了一些深層鏈接,使用給定的URI在我的應用程序中打開WebView。深度鏈接必須由SplashActivity處理,因爲配置需要首先由Volley加載。我不知道這是否是正確的處理方法。 也許這將是一個選項來請求應用程序類中的配置,以便配置始終可用,無論哪個Activity首先啓動?Android:應用程序啓動的初始請求
0
A
回答
1
這是正確的方法。 在您的Splash活動中,您應該使用您的深層鏈接處理傳入的意圖,啓動您的Volley請求,然後才能繼續使用您的邏輯。
順便說一句,同時,你應該向用戶顯示一些加載/進度和處理失敗的過程。
1
如果您在Application類中進行異步調用,則可以使用回調進行請求並顯示所需的活動。
public interface ConfigListener {
public void onConfigReceived(List<ofSomething> list, boolean error, String message);
}
private void requestConfig(){
final DownloadUsingVolley downloader = new DownloadUsingVolley(getActivity());
downloader.retrieveData(new ConfigListener() {
@Override
public void onConfigReceived(List<ofSomething> list, boolean error, String message) {
//Show your required activity here
}
});
}
private void retrieveData(String url, final ConfigListener configListener){
final JsonObjectRequest request = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>(){
@Override
public void onResponse(JSONObject response) {
try {
//parse
configListener.onConfigReceived(result,false,null);
}catch (JSONException e){
configListener.onConfigReceived(0,true,e.getMessage());
}
}
},new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError volleyError) {
configListener.onConfigReceived(0,true,volleyError.getMessage());
}
});
//adding request into the queue
ApplicationClass.getInstance().addToRequestQueue(request,"aTag");
}
相關問題
- 1. 在初始啓動時,Android應用程序的彈出窗口
- 2. 初始應用程序入門啓動後啓動初始屏幕
- 3. Android ContentProvider初始化不在應用程序啓動
- 4. 從故事板初始應用程序啓動失敗調用NSDocument初始化
- 5. 在web應用程序初始化的Spring bean啓動
- 6. 我的應用程序需要時間進行初始啓動
- 7. 導入初始數據到春天啓動的應用程序
- 8. Android應用程序初始化
- 9. 初始化Android應用程序
- 10. Android應用程序啓動
- 11. 啓動Android應用程序
- 12. Android服務在啓動時啓動並啓動一個URI請求來啓動另一個應用程序
- 13. 啓動Android的Android應用程序關閉開始
- 14. 在ASP.NET應用程序中定時初始啓動
- 15. 在啓動時初始化Java EE應用程序緩存
- 16. 克服編譯(?)暫停* secondary *初始ASP.Net應用程序啓動?
- 17. CefSharp應用程序啓動初始化問題
- 18. Tomcat Java Servlet - 在應用程序啓動時初始化類
- 19. 如何從chrome c的外部請求啓動應用程序#
- 20. 始終啓動與Android的啓動器活動的應用程序
- 21. Asp.Net MVC:應用程序啓動 - 用戶請求關係
- 22. 如何在應用程序啓動時請求Android中的運行時權限?
- 23. Android webview請求應用程序緩慢
- 24. 更改Android開始活動後,應用程序不會啓動
- 25. arc4random始終在應用程序啓動時返回相同的初始值
- 26. Angular - 在應用程序啓動時解析請求標頭
- 27. JSF:初始請求和回發請求?
- 28. 應用程序不應該啓動在啓動但開始
- 29. Android應用程序自動啓動
- 30. Android自動啓動應用程序
從Application Class請求配置是一個更好的選擇。 –
你能解釋一下,如何處理異步請求?只有在請求完成時,MainActivity纔會出現。 – Ikno0wit
已添加答案...可能有幫助。 –