2011-01-14 14 views
2

Ich möchte eine Android-App entwickeln, die Marktdaten liefert. Ich habe verschiedene Tutorials gelesen und ich habe eine Idee, wie ich einen machen könnte, aber es gibt so viele Ansätze, dass ich sicherstellen wollte, dass ich den richtigen Ansatz nehme und die richtigen Übungen mache.Entwerfen einer Stock App möchte einen Ratschlag

Grundsätzlich wollte ich eine App machen, wo ich eine Liste von Aktien mit aktuellen Marktdaten erstellen kann. Ich werde die Marktdaten von einem Webserver bekommen. Wenn ich auf einen der Artikel klicke, sehe ich einen weiteren Bildschirm mit weiteren Informationen zum Bestand. Es gibt viel mehr Dinge, die ich tun möchte, aber ich dachte mir, ich fange damit an.

Also dachte ich, ich müsste eine Datenbank erstellen, um die Liste der Aktien sowie die Marktdaten zu speichern. Die Liste und die Detailseite zeichnen die Daten aus der Datenbank, während ich einen Dienst benötigen würde, um die Daten vom Server abzufragen und in der Datenbank zu speichern.

Muss ich einen Inhaltsanbieter erstellen, wenn ich die Daten nicht freigeben möchte, oder sollte ich nur eine lokale Datenbank erstellen? Gibt es einen Vorteil, wenn ich einen Inhaltsanbieter verwende?

Ist ein Service der beste Ansatz, um meine Daten frisch zu halten? Gibt es eine Möglichkeit für meinen Service, in regelmäßigen Abständen Daten von meinem Webserver zu erhalten? Noch nicht sicher, dies zu tun, aber basierend auf dem, was ich lese Dienste scheinen wie der beste Ansatz.

Ich würde gerne von der Community hören, wie sie das entwerfen, zumindest wird es mir helfen zu identifizieren, was ich lernen muss und was im Netz hehe suchen.

Danke!

Antwort

1

Wenn Sie Ihre Daten nicht mit anderen Anwendungen teilen möchten, müssen Sie keinen Inhaltsanbieter verwenden. Es hat keinen Vorteil, eine andere zu verwenden, als eine gemeinsame Schnittstelle für die gemeinsame Nutzung der Daten bereitzustellen.

Ja ist ein Service der beste Weg. Es ist jedoch sehr wahrscheinlich, dass Sie den Dienst zum Starten eines Threads zum Abrufen der Daten benötigen. Verwenden Sie eine BroadcastReceiver und eine AlarmManager, um Ihren Service in regelmäßigen Abständen zu starten. Registrieren Sie die BroadcastReceiver und eine intent-filter in Ihrer manifest.xml. Verwenden Sie die AlarmManager, um eine PendingIntent zu feuern, die von Ihrer BroadcastReceiver abgeholt wird, die dann Ihre Service startet, die wiederum Ihre Thread oder AsyncTask starten würde, um die Daten zu retreive und in Ihre Datenbank zu schreiben.

+0

Danke! Ich werde anfangen, über diese verschiedenen Klassen zu lesen. Jetzt habe ich eine Idee, wie ich meine Datenbank auf dem neuesten Stand halten kann, aber was wäre am besten, um meine Benutzeroberfläche zu aktualisieren? Ich plane, zwei Bildschirme zu haben, einen für die Liste und einen für eine detaillierte Ansicht irgendeines der Listenelemente. Gibt es etwas, das ich verwenden kann, um die aktuelle Aktivität zu benachrichtigen, um Daten aus der Datenbank abzurufen? Wäre das der beste Weg, um meine Ansichten mit den neuesten Daten zu halten? – Grish

+0

Wenn Ihre Aktivitäten sichtbar werden, lassen Sie sie die Datenbank abfragen. Wenn Sie 'CursorAdapter' erweitern oder' SimpleCursorAdapter' verwenden und Ihren 'Cursor' bei der Instanziierung des Adapters übergeben, können Sie diesen als' ListView'-Adapter verwenden. Sie können in der Instanz Ihres benutzerdefinierten 'CursorAdapter' angeben, dass Sie die Ansicht erneut abfragen und aktualisieren möchten. Hoffe das hilft mehr. – techiServices

+0

Entschuldigung für die späte Antwort war weg ohne Zugriff auf einen Computer. Danke, das hat mir wirklich geholfen, ich lese jetzt die von Ihnen gelisteten Kurse. Meine Frage ist, ob ein Benutzer auf einer Aktivität bleibt und ich möchte, dass diese Aktivität die Daten aktualisiert, sollte ich eine Art von Timer verwenden, der nur regelmäßig meinen Dienst aufrufen wird? – Grish

Verwandte Themen