Zum Forum springen
Benachrichtigungen
Alles löschen

Programmieren lernen - How to be a coder

153 Beiträge
42 Benutzer
142 Reactions
26.3 K Ansichten
bumblebeebee
Beigetreten: 06.06.2006

Die Android Klassen sind die von Google im Android SDK bereitgestellten. Eine Übersicht gibt's hier
https://developer.android.com/reference/packages.html

Generell ist https://developer.android.com/
ein guter Startpunkt für die Android Entwicklung.


Antwort
Zitat
RookyFinne
Beigetreten: 20.05.2008

ja hier findest du alles.

Android Developer


Antwort
Zitat
thomasSP
Beigetreten: 16.09.2006
swizz
Beigetreten: 02.03.2006
swizz
Beigetreten: 02.03.2006

Ich hätte noch mal eine Frage.

Ich habe als erstes Übungsprojekt zum Einstieg ein kleines Programm geschrieben, mit dem man den Spielplan für ein Fussballturnier verwalten kann. Alle Daten werden dabei in einer SQlite-DB gespeichert.

Ich würde jetzt gerne eine zweite App erstellen, die als reiner Client dient und den aktuellen Turnierverlauf anzeigen soll.

Kann mir jemand einen Tipp geben, wie man das realisieren kann? Vom Prinzip muss ich vermutlich die Daten aus der einen App auf irgendeinen Server hochladen und sie dann mit der anderen App runterladen.

Mein Ziel wäre es, dass sobald die Daten in der einen App eingetragen werden, sie möglichst schnell in der anderen einsehbar sind.

Über Tipps und Anregungen wie ich da anfangen könnte, würde ich mich freuen.


Antwort
Zitat
beg0r
Beigetreten: 07.05.2006

Ich würde es so machen, dass der Client sich beim Host "einloggen" muss (Nachricht senden, dass er online ist), und dass der Host dann immer eine Nachricht an alle Clients schickt, wenn irgendwas upgedatet wurde.

Usw usw usw... einfach mal die Fantasie spielen lassen :)


Antwort
Zitat
KeinOhrSchwein
Beigetreten: 09.08.2012

Am besten vielleicht mit einer API arbeiten. So musst du auf keinem Endgerät irgendwelche Logindaten für z.B. die DB speichern.
Da kann man dann natürlich abfragen z.B. alle 5 Sekunden machen oder immer wenn die App aufgerufen wird.

Bei weiteren Fragen gerne PN. Hatte mal ein Startupprojekt dazu in dem es um genau sowas ging.


Antwort
Zitat
beg0r
Beigetreten: 07.05.2006

Jo, sowas hatte ich auch zuerst geschrieben, aber wieder wegeditiert. Das geht natürlich auch. Der Host kann die Daten offen anbieten, und der Client in regelmäßigen Zeitabständen abfragen.

Aber wenn die Daten *so schnell wie möglich* upgedatet werden sollen, würde das rausfallen. Den Satz hab ich jetzt wörtlich genommen. Daher hatte ich es wieder wegeditiert.

:megusta:


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Wow, dass ging ja schnell mit Antworten zu dieser Uhrzeit. Ich lese mir das morgen mal alles in Ruhe durch und werde mich dann noch mal melden.


Antwort
Zitat
bumblebeebee
Beigetreten: 06.06.2006

Für den Zweck kann ich Firebase empfehlen. Ist auch von Google. Da hat man eine Datenbank, mit der sich Apps in Echtzeit synchronisieren können und über Änderungen informiert werden.

https://firebase.google.com/products/realtime-database/


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Hallo,

ich habe mir das jetzt alles noch mal angeschaut. Von der Idee her finde ich das mit der API eigentlich am schönsten.

Das schnell ist erstmal relativ. Wenn es einmal die Minute oder so upgedatet würde, dann würde das eigentlich schon reichen. Eigentlich geht es mir auch erstmal drum rauszufinden, wie man sowas realisieren kann.

Sich in all diese Konzepte reinzudenken und das halbwegs umzusetzen frisst leider wirklich unglaublich viel Zeit.


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Hallo,
ich hätte nochmal eine Frage. Ich habe eineAndroid-App gebastelt, in der ich Daten aus einer SQLite-DB per Cursor in einem Custom-Listview anzeigen kann.

Ich versuche geraden, dass man die Einträge aus der Datenbank löschen kann, indem man die entsprechenden Einträge im Listview markiert.

Kann mir jemand einen Tipp geben, wie ich an die "_id"-Werte der verschiedenen Einträge kommen kann? Ich habe es erst über die Nummer des Listviewitems gemacht, allerdings stimmen die nichtmehr, sobald schon mal eine Eintrag gelöscht worden ist.


Antwort
Zitat
Rho0
Beigetreten: 20.10.2008

du kannst dir doch wenn du ein item markierst im hintergrund den private key zu diesem item geben lassen. und wenn du dann das item löschst, dann machst du das eben über den private key. da der private key immer individuell sein muss bleibt auch nach dem löschen die konsistenz erhalten.


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Könntest du mir einen Tipp geben, wie ich an den privat key komme? Ich habe leider nichts dazu gefunden, was für mich verständlich war.

Irgendwie muss ich ja vermutlich auf das Textfeld des Elements des Listviews zugreifen, in dem der private key steht.


Antwort
Zitat
Rho0
Beigetreten: 20.10.2008

sorry, ich hab mich verschrieben. ich meinte den primary key.

naja, und jetzt schreibst du dir eben eine funktion, die dir den primary key der zeile zurückgibt, die gerade markierst...


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Kein Problem, mir war schon klar was gemeint ist. Mir ging es eher drum wie ich das technisch umsetzten kann. Habe es mittlerweile aber auch geschafft. Danke für den Tip.


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Ich habe Mac OS und versuche gerade mich mit dem Schreiben und Lesen von Dateien in Android Studio zu befassen. Leider scheitere ich da da gerade direkt am Anfang.

Wenn ich als Pfad"/" angebe, dann findet er den. Wenn ich als Pfad "/Users" angebe, dann wird er leider nicht gefunden.

Wenn ich mir im Terminal die Inhalte von "/" anzeigen lasse, werden andere Dinge angezeigt, als wenn ich mir die Inhalte von Android Studio auflisten lasse.

Scheinbar ist der Pfad "/" innerhalb von Mac OS was anderes als innerhalb von Android Studio.

Kann mir jemand sagen, wie ich die Pfade richtig anzeige?


Antwort
Zitat
swizz
Beigetreten: 02.03.2006

Hallo,

ich habe es jetzt geschafft, dass meine Admin-App meine Daten in eine JSON-Datei packt und auf einen Server speichert. Die Client-App lädt sie von da runter und und liest sie ein.

Ich würde es jetzt gerne hinbekommen, dass ich den Client irgendwie benachrichtigen kann, wenn sich die Daten geändert haben, damit er die Daten nur neu runterlässt, wenn sie sich geändert haben. Kann mir jemand einen Tipp geben, wie ich das machen kann?


Antwort
Zitat
BjoernBoba
Beigetreten: 01.02.2010

Den wenigsten Datentransfer hast du dann vermutlich, wenn du dir zusätzlich eine Version speicherst und diese bei jeder Änderung hochzählst.
Beim Request vom Client, dann dessen letzte Version mitschicken und serverseitig vergleich. Dann entsprechend die neuen Daten oder eben nur ein ACK zurückschicken.


Antwort
Zitat
bumblebeebee
Beigetreten: 06.06.2006

Entweder deine App muss in regelmäßigen Abständen beim Server nachfragen, ob es Änderungen gibt oder der Server muss Push-Notifications ans Handy schicken.

Schau dir mal Firebase von Google an. Da hast du eine NoSQL DB, die in Echtzeit mit den Handys synchronisiert. Eventuell das richtige für deine Zwecke.
https://firebase.google.com/products/realtime-database/br >

(Push-Notifications werden auch über Firebase geregelt https://firebase.google.com/docs/cloud-messaging/)


Antwort
Zitat