[英]Run an activity on application start to fetch data from the internet
我是Android開發的新手,正在嘗試在啟動應用程序時在后台運行Thread。
這里的主要焦點是新線程將從我擁有的PHP頁面中獲取數據並將其保存到列表中,然后將其保存到XML文件中,我可以從應用程序中的任何位置訪問該文件。
我有一個已經准備好代碼的新Activity,但是如果我使用像這樣的普通Thread:
new Thread(new System.Threading.ThreadStart(() =>
{
StartActivity(typeof(FetchData));
})).Start();
它不會按預期工作。 我正在MainActivity上運行此代碼,它將啟動活動,並且應用程序在我按回手機之前不會顯示MainActivity布局。
有人能幫我嗎? 先感謝您。
活動(對於Android新手來說有點混亂的名稱)-是用戶界面的一部分。 它類似於Form(.NET表單應用程序)或Page(ASP.NET)。 如果您不想要任何UI而是一個后台任務,則不需要其他活動。 如果您的工作是某種周期性的,則可以使用Service: http : //developer.xamarin.com/guides/android/application_fundamentals/services/
否則,只需在后台運行一次-您在這里有多個選擇:Task.Run()可能是最好的。 在您現有的活動中,在OnResume()方法中執行以下操作:
Task.Run(() => {
return FetchData();
}).ContinueWith(task => {
// process the result of FetchData here.
// this can be another thread, so watch out, if you want to modify UI,
// you must do it in RunOnUiThread()
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.