Aus Aktivität Erfassen gegleichzeitig ein ListView aufbauen und einsehen können.

  • Antworten:2
  • Bentwortet
Klaus R.
  • Forum-Beiträge: 10

05.05.2012, 13:46:07 via Website

Hallo,
ich bin in der Programmierung von Android ein Anfänger, habe aber langjährige VB.NET Erfahrung. Vorweg gesagt, ich habe in den letzten drei Wochen noch nie so viel Neues gelernt, wie jetzt unter Android. Allerdings hatte ich auch eine gute Hilfe um den Einstieg rasch zu bewältigen.

Ich habe eine App die zuerst eine Login - Aktivität ausführt und dann per intent in die Erfassen - Aktivität als Hauptprogramm landet.
Dort sollen ein Artikel erfasst werden und an einen WebService übermittelt werden. Das funktioniert schon.
Jetzt möchte ich jedoch den Verlauf der Erfassung in einem ListView festhalten. Man soll dann nach Bedarf eben mal so nachschauen können.

Zu ListViews habe ich hier http://www.vogella.com/articles/AndroidListView/article.html eine gute Quelle gefunden. Mein Favorit ist "7.2. Performance Optimization" der MyPerformanceArrayAdapter. Ich habe das Beispiel auch schon umgesetzt. Es wäre genau das was ich mir vorgestellt habe.

Der ListView läuft als ListActivity. Ich könnte jetzt den Verlauf der Erfassung in einem Array speichern und jedes Mal wenn die Liste angezeigt werden soll die ListActivity wieder per intent neu starten. Dabei wird die Liste immer wieder neu aufgebaut. Ich kann jetzt nicht einschätzen wie viel Einträge da so aufkommen. Aber mit 50 - 100 Einträgen sollte man da schon rechnen. Der Anwender soll natürlich auch keine spürbare Verzögerung erfahren.

Ich möchte eigentlich mit jeder Erfassung eines Artikels die Liste um den neuen Eintrag erweitern. Dann soll einfach mal die Liste angesehen werden können. Leider habe ich dazu nichts passendes gefunden. Wo nach müsste ich denn da suchen?

Welche Möglichkeiten gibt es da?

Gruss Klaus.

Antworten
Felix
  • Forum-Beiträge: 259

06.05.2012, 13:29:43 via Website

Tach!

Der ListView läuft als ListActivity. Ich könnte jetzt den Verlauf der Erfassung in einem Array speichern und jedes Mal wenn die Liste angezeigt werden soll die ListActivity wieder per intent neu starten. Dabei wird die Liste immer wieder neu aufgebaut. Ich kann jetzt nicht einschätzen wie viel Einträge da so aufkommen. Aber mit 50 - 100 Einträgen sollte man da schon rechnen. Der Anwender soll natürlich auch keine spürbare Verzögerung erfahren.

Vielleicht wird es bei der Anzahl gar keine Probleme mit der Performance geben. Aber warum probierst du das nicht mal aus? Auch mal mit 1000 Einträgen.

Ich möchte eigentlich mit jeder Erfassung eines Artikels die Liste um den neuen Eintrag erweitern. Dann soll einfach mal die Liste angesehen werden können. Leider habe ich dazu nichts passendes gefunden. Wo nach müsste ich denn da suchen?

Die ListActivity muss immer damit rechnen, dass sie neu gestartet wird, also alles neu aufbauen muss, beziehungsweise sich die Daten in vorbereiteter Form irgendwoher holen muss. Und mindestens einmal muss sie den Aufbau sowieso erledigen. Schon dabei sollte sie deinen Geschwindigkeitsansprüchen genügen. Wenn das kein Problem darstellt, brauchst du dir keine weiteren Gedanken zu machen und kannst einfach bei jedem Aufruf die Liste neu aufbauen. Erst wenn es mit einer realistisch geschätzten Höchstanzahl langsam wird, würde ich mir Gedanken zur Optimierung machen.


Felix.

Antworten
Klaus R.
  • Forum-Beiträge: 10

06.05.2012, 15:19:12 via Website

Hallo Felix,
vielen Dank für die Antwort. Ich werde es erst einmal wie Du vorgeschlagen hast konventionell versuchen. Den Source habe ich schon umgesetzt. Es fehlt nur noch eine Kleinigkeit.
Inzwischen bin ich auch auf ViewFlipper gestossen. Dies könnte eine Lösung sein. Die ersten Test verliefen jedoch negativ. Ich müsste vermutlich beide Aktivitäten vereinen. Allerdings möchte ich erst einmal pragmatisch das Machbare umsetzen.

Gruss Klaus.

Antworten