目前我正在開發一個android-phonegap項目。AsyncTask運行時的Android Splashscreen
在應用程序加載index.html之前,有一些本機代碼正在工作。詳細地說,它是在AsyncTask中敲擊SD卡(如果有的話)。
我設法顯示一個進度條,而A.Task正在工作,但此外我想在後臺添加一個閃屏。我主要與Phonegap合作,並開始使用本機代碼。所以我有點困惑於所有這些佈局,主題和你可能在.xml文件中定義的其他東西。我非常確定這對於更大的UI設計來說也是一個好主意,但對於我現在想要的簡單的Splash屏幕來說,這感覺就像是一次徹底的矯枉過正。
這是源碼片段。直接向前。 onCreate()調用AsyncTask,它做了一些工作,並在其PostExecute方法中啓動PhoneGap。我希望屏幕出現在onCreate方法或onPreExecute中。作業完成後,屏幕將關閉onPostExecute()中的屏幕。我還添加了評論來說明我的想法。
public class myAct extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Show Splash here or in onPreExecute()!
new myAsTa().execute();
}
}
class myAsTa extends AsyncTask<Void, Integer, Boolean> {
ProgressDialog dialog = new ProgressDialog(myAct.this);
@Override
protected void onPreExecute() {
//or show splash here!
dialog.setMessage("Cool Progressbar!");
dialog.show();
super.onPreExecute();
}
protected Boolean doInBackground(Void... values) {
//magician at work!
return true;
}
@Override
protected void onProgressUpdate(Integer... values) {
//insult user here
}
protected void onPostExecute(Boolean result) {
dialog.dismiss();
//dismiss splashscreen
//start Phonegap
}
}
感謝您的閱讀和您的幫助:)
請問您可以添加一點點信息嗎?這看起來不錯,但我不是100%確定如何使用它。佈局中是否定義了飛濺?你是否也可以展示這是如何完成的,因爲我從未使用佈局? – yoshi 2011-12-28 10:16:50
...以及它如何改變方向? – Selvin 2011-12-28 10:17:44
謝謝。對我來說工作得很好。雖然我看不出你的代碼和我的方法有什麼區別。 :)然而拯救了我的一週。對於方向更改,我很好,因爲它已被應用程序阻止^ .- – yoshi 2011-12-29 11:30:40