1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Flixius, 29.05.2011 #1
    Flixius

    Flixius Threadstarter Android-Hilfe.de Mitglied

    Hallo,
    über die Suchfunktion habe ich leider noch keinen entsprechenden Thread gefunden. Falls dieses Thema hier schon einmal behandelt worden ist so bitte ich um Entschuldigung.

    Ich möchte gerne in meine App beim Starten eine Grafik einblenden, die für ein paar Sekunden sichtbar bleibt bis die App gestartet wird. Eine "echte" Preaload-Funktion (also dass in einem anderen Thread die Daten für die App geladen werden) ist nicht zwingend notwendig, da das laden der Daten relativ schnell vonstatten geht. Ich hoffe ihr könnt mir etwas auf die Sprünge helfen.

    Viele Grüße
    Felix
     
  2. Flixius, 02.06.2011 #2
    Flixius

    Flixius Threadstarter Android-Hilfe.de Mitglied

    Hat denn hier wirklich keiner ne Idee? :(

    Ich habe endlich etwas gefunden. Wenn man nach "Preload" und Android sucht, dann findet man logischerweise nichts sinnvolles. Ein Splashscreen ist dafür das richtige Wort.

    Leider funktioniert das ganze bei mir nicht so richtig. Dieses beispiel habe ich in meine App integriert: http://www.anddev.org/simple_splash_screen-t811.html
    Das Problem scheint darin zu bestehen, dass in meiner main.xml ein TabHost verwendet wird. In diesem befindet sich dann das LinearLayout in dem wiederrum dann der ImageView für den Splashscreen drin ist.
     
    Zuletzt bearbeitet: 02.06.2011
  3. wilco, 03.06.2011 #3
    wilco

    wilco Android-Hilfe.de Mitglied

    Das Problem ist dass von Deiner App zunächst einmal die onCreate() Methode abgearbeitet werden muss bevor überhaupt etwas angezeigt wird.

    Wenn Du in dieser Methode zeitaufwändige Funktionen drin hast, dauert es halt eine Weile bis der Nutzer was zu sehen bekommt. Um hier während dieser Zeit einen Splash Screen anzuzeigen musst Du in der Tat die zeitaufwändigen Funktionen in einen separaten Thread auslagern.

    Unabhängig davon: die einfachste Methode ist es ein ImageView zu erstellen das Deinen Splash-Screen enthält. Diesen ImageView legst Du dann mit setContentView als Inhalt fest. Dann wartest Du in der App eine Weile, und setzt per erneutem setContentView Dein eigentliches Layout als Inhalt.

    Mit extra Thread sieht das dann wie folgt aus:
    In onCreate erstellst Du Deine ImageView, legst die als content fest, und startest Deinen Loader Thread der zeitaufwendige Startfunktionen erledigt.

    Sobald der Loader Thread fertig ist änderst Du per setContentView den content auf Dein reguläres Layout. Dabei darauf achten dass Du von einem seperaten Thread aus nicht setContentView aufrufen darfst...
     
  4. Flixius, 03.06.2011 #4
    Flixius

    Flixius Threadstarter Android-Hilfe.de Mitglied

    Hallo wilco,

    das hast du alles sehr richtig erkannt. Aber das Problem bestand darin, dass meine MainApp sich von TabActivity ableitet während der Splashscreen keinen Tab in seinem Layout braucht.

    Ich habe es jetzt so gelöst, dass ich die MainApp (extends TabActivity) ausgelagert habe und die ausgeführte Klasse nun den Splashscreen darstellt. Nach ablauf des Timers wird aus dieser Klasse heraus dann die Tabklasse gestartet. Das funktioniert jetzt auch endlich so wie es soll.

    Hier der Code für alle, die vor einem ähnlichen Problem stehen: nopaste.info - free nopaste script and service
    Die ContentFrameActivity stellt die "alte" MainAcativity dar. Nicht vergessen im Manifest.xml die Klasse hinzuzufügen und den intent-filter zu ändern :)
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Automatisierung Android TV Box Android App Entwicklung Montag um 21:46 Uhr
Android App mit Raspberry Pi über Bluetooth verbinden Android App Entwicklung Samstag um 14:20 Uhr
Integer-Wert übertragen auf zweite Activity Android App Entwicklung 17.11.2017
[OFFEN] APP Baukasten oder individuell? Android App Entwicklung 10.11.2017
[OFFEN] Feedback Text für die App auf Server Hochladen Android App Entwicklung 28.10.2017
[OFFEN] Android Studio 4 Knöpfe nebeneinander Android App Entwicklung 17.10.2017
[OFFEN] Android app selber entwickeln mit Bluetooth Android App Entwicklung 13.10.2017
[ERLEDIGET] App über href starten Android App Entwicklung 28.09.2017
[OFFEN] Kostenpflichtige App für Beta-Test hochladen Android App Entwicklung 13.09.2017
Du betrachtest das Thema "Preloader Image in Android App einbauen" im Forum "Android App Entwicklung",