アプリケーションを初めて実行すると、画像と一部のデータをアプリケーションから内部メモリにコピーし始めるアプリケーションを作成しました。その後、これらのデータを別のアクティビティの別の場所で使用します。Androidで非同期タスクを使用するタブバー
コピー処理に30秒以上かかります。私は非同期タスクでこれをやりたかったのです。しかし、私はそれを動作させることができませんでした。非同期タスクは正常に動作しますが、私はタブ仕様を作成し、onPostExecuteメソッドの各仕様にインテントを割り当てる必要があります。しかし、私が見ているのは、仕様のないタブバーだけで、何も動作しません。
どのようにしてこのように構築するのですか?
ご協力いただければ幸いです。 ここに私の活動は、
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabbar_main);
myJSON = new DataBaseJSONFunctions(this);
TabHost tabHost = getTabHost();
TabWidget tabWidget = tabHost.getTabWidget();
Resources res = getResources();
//TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
// Starting Initialization process.
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
if(!prefs.getBoolean("firstRun", false)) {
initializeAll();
// Set "firstRun" true to make it runs once application is installed.
prefs.edit().putBoolean("firstRun", true).commit();
}
であると私はIAMのは、非同期タスクに私の活動のコンテキストを渡し、ところで、非同期タスクに
intent = new Intent().setClass(this,Activities.class);
spec = tabHost.newTabSpec("activities").setIndicator("act",res.getDrawable(R.drawable.tab_activities_selector)).setContent(intent);
tabHost.addTab(spec);
// doing the same things.
intent = new Intent().setClass(this, Promotions.class);
spec = tabHost.newTabSpec("promotion").setIndicator("Promotion",res.getDrawable(R.drawable.tab_promotions_selector)).setContent(intent);
tabHost.addTab(spec);
// doing the same things for Albums Activity.
intent = new Intent().setClass(this,Menu.class);
spec = tabHost.newTabSpec("menu").setIndicator("Menü",res.getDrawable(R.drawable.tab_menu_selector)).setContent(intent);
tabHost.addTab(spec);
for(int i = 0; i < tabWidget.getChildCount(); i++){
tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_bar);
}
tabHost.setCurrentTab(0);
をこのブロックを置きたいです。
できるだけ早く試してみますが、アプリケーションが起動するとすぐにタブバーにデータを入力すればどうしますか?つまり、AsyncTaskから返されたデータをUIに入力する必要があります。データなしでインテントを開始すると、私はnullポインタを取得します。 – osayilgan
これは、前回の実行時に保存されたデータ、または手動で作成されたプレースホルダデータを初めて使用する場合に使用できます。ポイントは、あなたのUIは何かを表示する必要がありますし、背景の更新を開始し、おそらく 'ProgressBar'を表示して何かが起こっていることをユーザーに伝えます。 – lenik