Das Problem ist höchstwahrscheinlich, dass Sie den Begrüßungsbildschirm (eine Art Dialog wie ProgressDialog, nehme ich an) im selben Thread wie die gesamte ausgeführte Arbeit ausführen. Dadurch wird verhindert, dass die Ansicht des Begrüßungsbildschirms aktualisiert wird, sodass er nicht einmal auf dem Bildschirm angezeigt wird. Sie müssen den Begrüßungsbildschirm anzeigen, eine Instanz von AsyncTask starten , um alle Ihre Daten herunterzuladen, und den Begrüßungsbildschirm ausblenden, sobald die Aufgabe abgeschlossen ist.
Die onCreate () -Methode Ihrer Aktivität erstellt also einfach einen ProgressDialog und zeigt ihn an. Erstellen Sie dann die AsyncTask und starten Sie sie. Ich würde die AsyncTask zu einer inneren Klasse Ihrer Hauptaktivität machen, damit sie die heruntergeladenen Daten in einer Variablen in Ihrer Aktivität speichern und den ProgressDialog in der onPostExecute () -Methode schließen kann.
Ich bin mir nicht sicher, wie ich weiter arbeiten soll, ohne nur den Code zu zeigen. Hier ist es also:
public class MyActivity extends Activity {
private ProgressDialog pd = null;
private Object data = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.pd = ProgressDialog.show(this, "Working..", "Downloading Data...", true, false);
new DownloadTask().execute("Any parameters my download task needs here");
}
private class DownloadTask extends AsyncTask<String, Void, Object> {
protected Object doInBackground(String... args) {
Log.i("MyApp", "Background thread starting");
return "replace this with your data object";
}
protected void onPostExecute(Object result) {
MyActivity.this.data = result;
if (MyActivity.this.pd != null) {
MyActivity.this.pd.dismiss();
}
}
}
}
Natürlich gibt es einige Teile, die Sie dort ausfüllen müssen, aber dieser Code sollte ausgeführt werden und Ihnen einen guten Ausgangspunkt bieten (verzeihen Sie mir, wenn ein Codefehler auftritt, habe ich während der Eingabe keinen Zugriff auf das Android SDK zur Zeit).
Weitere gute Informationen zum Thema AsyncTasks in Android finden Sie hier und hier .