我有兩個活動SplashScreen和MainActivity。開始兩個活動同時在前臺其他背景
MainActvity下載一些數據並顯示它。
現在我想開始在應用程序啓動,MainActivity在後臺和SplashScreen在前臺的兩個活動,當MainActivity下載的數據完成時我想使MainActivity前景並完成SplashScreen。
我見過很多解決方案,但沒有人在我的情況下很好。 請給我一些建議或例子。
我有兩個活動SplashScreen和MainActivity。開始兩個活動同時在前臺其他背景
MainActvity下載一些數據並顯示它。
現在我想開始在應用程序啓動,MainActivity在後臺和SplashScreen在前臺的兩個活動,當MainActivity下載的數據完成時我想使MainActivity前景並完成SplashScreen。
我見過很多解決方案,但沒有人在我的情況下很好。 請給我一些建議或例子。
我認爲最好讓啓動畫面下載數據,並在完成時顯示新的活動(MainActivity)。在onStart metod中使用存儲在手機上的下載數據。
你舉的例子:只有這樣,你可以有解決這個你的方式是開始MainActivity第一和在onStart開始閃屏:
class SplashScreen extends Activitiy {
public void onStart() {
EventBus.register(this);
}
@Subscribe
public void finishedDownload(FinishedDownloadEvent) {
this.finish()
}
}
class MainActivity extens Activity() {
public void onStart() {
open(new Intent(SplashScreen.class)); // We would like to have
download();
}
public void download (OnFinish onFinish) {
... download
EventBus.post(new FinishedDownloadEvent());
}
}
我忘了:
class EventBus {
private final static Bus instance = new Bus();
public static void register (Object obj) {
instance.register(obj)
}
public static void post (Event obj) {
instance.post(obj)
}
}
通過此代碼將變得更加混亂。由於SplashScreen沒有下載數據的編碼,並且只有進度對話框。主要活動有碎片和下載數據和其他正在進行活動的東西。 請等候,請以另一種方式給我建議@John Tribe –
我的方法是減少內存消耗並記住活動應該作爲獨立工作人員工作。 BTW。我將創建下載數據的服務。所以它看起來像SplashScreen中的service.download(new OnFinishCallback())和MainActivity中的service.getData(),所有的邏輯都封裝在我的服務中。 –
可以舉個例子。 如何啓動這兩個活動和'intent.putExtra(「東西」)'並將其放入spalshScreenn中,如果條件可以在使用'intent.getExtra(「something」)的「something」時起作用;' 它會工作與否? @約翰部落 –
爲什麼你需要一個'Activity'來下載數據嗎?您可以啓動背景「線程」或「服務」或使用「AsyncTask」,所有這些都可以在您的「SplashScreen」招待您的用戶時在後臺下載數據。數據完全下載後,您可以啓動「Main'Activity」並告訴您的「SplashScreen」完成。 –
至少我們需要啓動主要活動中數據下載的方法/功能。所以問題再次變得如何在後臺啓動一個活動。 還是有辦法啓動asynk任務,而不會調用它的活動我不知道,因爲我幾天前開始android.If你有一個代碼,請發送給我或鏈接,如果有任何這種具體情況@ david-wasser –
http ://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html –