簡體   English   中英

在應用程序啟動時運行一項活動,以從互聯網獲取數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM