Frage von swobocop, 37

Hat jmd Erfahrung mit der Entwicklung einer Android App?

Hallo zusammen, ein Kollege und ich müssen für den Abschluss unserer schulischen Ausbildung zum staatlich geprüften Wirtschaftsinformatiker eine Android App porgrammieren. Nun da wir das Android Thema in der Schule bis jetzt überhaupt nicht behandelt haben, wollte ich mal fragen ob es hier leute gibt die bereits Erfahrungen in der Entwicklung von Android App haben und mir evtl. paar Tips geben können, welche tools empfehlenswert sind... Als Programmier sprache werden wir wahrscheinlich Java (eclipse) nehmen, sind aber auch am überlegen ob wir das neue Basic4Android ausprobieren sollen..

naja jeder der irgendwelche erfahrungen hat kann gerne alles raushauen.. :) danke schon mal

Antwort
von hummelxy, 11

Wenn ihr ohnehin mit Eclipse arbeiten wollt und euch mit dieser Entwicklungsumgebung auskennt, dann nutzt die ADT (Android) für Eclipse. Mit dieser Variante habe ich auch die ersten Apps in den Store gebracht.

Dadurch, dass Android nun eine eigene Entwicklungsumgebung (Android Studios) herausgebracht hat, bin ich ebenfalls darauf umgestiegen. Ist etwas Eingenwöhnungszeit nötig, aber man merkt, dass dieses Programm explizit für die Android Programmierung gedacht ist. Eclipse mit ADT hat manchmal etwas "gemeckert" und gerade mit den VM's Fehler verursacht. Das gehört bei Android Studios der Vergangenheit an.

An eurer Stelle würde ich direkt mit Android Studios starten, immerhin wird das ADT für Eclipse nicht mehr erstklassig weiterentwickelt.

Stellt explizite Fragen, dann kann man auch konkreter werden.

Grüße,
Hummel

Antwort
von MalNachgedacht, 4

Wenn Du tatsächlich was lernen willst was dir evt, auch nach dem Studium was nützt dann würde ich von Basic4Android eher abraten sondern (wie wohl 98% aller Android Programmierer) zu Java greifen.

Ob man nun Android Studio oder Eclipse nimmt ist zur Zeit weitgehend Geschmackssache - wenn Du schon anderweitige Erfahrungen mit Eclipse hast und damit klar kommst würde ich dabei bleiben.

Zur Programmierung von App für Android selbst solle man Java gut beherrschen.

Eine Hürde die man nehmen muss ist das andere Programmiermodell von Apps. Man hat nicht ein einzelnes Hauptprogramm das irgendwann mal gestartet wird und dann durchläuft bis die App beendet ist.

Stattdessen hat man es mit sogenannten Activities zu tun (die in etwa einzelnen Dialogen entsprechen) und die von Android gestartet werden (meist durch einen Request oder in der Android-Terminologie "Intent") einer anderen Activity die entweder zur eigenen App aber auch zu einer anderen App gehören kann.
Auch beendet Android eine Activity - wenn z.B. zu einer anderen Activity gewechselt wird oder der Speicher knapp wird oder warum auch immer.

Man schreibt also unter Android nicht ein Programm sondern viele Programme von denen sich jedes nur um einen einzelnen Dialog/eine einzelne Anzeige kümmert und normalerweise auch nur solange läuft wie dieser Dialog/Anzeige sichtbar ist.
Diese einzelnen Activitäten sind untereinander auch nur lose gekoppelt und beim Datenaustausch zwischen Aktivitäten gibt es einiges zu beachten.

Man muss auch verteufelt aufpassen, dass man nicht vesehentlich Java Objekte erstellt die länger als notwendig "am Leben" bleiben weil RAM eine knappe Resource unter Android ist.
Das erfordert das man sich sehr genau mit dem Lebenszyklus von Activities beschäftigt und genau überlegen muss wann man Objekte erstellt und wo man Referenzen auf sie hält.

Bei realen Anwendungen kommt noch ein weiteres Problem auf einen zu.

Alles was länger als eine Sekunde dauert solle (und muss teilweise) in separate Threads ausgelagert werden.
Man kommt also um Multithread-Programmierung und all den "schönen" Problemen die dadurch entstehen (wie z.B. mögliche Deadlocks, Synchronisation zwischen den Threads usw) nicht herum.

Schwierigkeiten macht bei realen Apps auch die Vielzahl von extrem unterschiedlichen Geräten (vom 12 Zoll Tablet bis zum Handy mit einem 3 Zoll Screen) mit unterschiedlichen Android-Versionen, unterschiedlicher Prozessorleistung, unterschiedlich viel RAM unterschiedlicher Ausstattung (WLan,GPS,Kamera,..) usw.

Eine App die trotzdem überall das "beste" aus dem vorhandenen machen soll erfordert noch einiges mehr an Hirnschmalz

Wenn die geforderte App über ein "Hello world" hinausgehen  und einen halbwegs praktischen Nutzen haben soll dann sollte man also viel Zeit einplanen.

Antwort
von Ultimator2001, 17

Wenn du es lernen möchtest, proffessionelle Hilfe gibts in einem Studium. Wenn du dir alles nur mal ansehen willst, lade dir Android Studio für den Pc herunter und fang an!

Antwort
von webflexer, 19

https://www.video2brain.com/de/videotraining/apps-entwickeln-mit-android-4

Kommentar von JuicyLuisian ,

Ob die 40€ gerechtfertigt sind mal dahingestellt, aber das Videotraining ist sehr gut. Wenn du dich durch kostenlose Internettutorials liest, wirst du dir das gleiche Wissen aneignen können, aber mit dem Video lernst du das definitiv schneller. (Du benötigst dann auch keine weiteren Investitionen mehr.)

Kommentar von webflexer ,

40 Euro für meine persönliche Ausbildung wäre mir nicht zu viel.

Antwort
von carglassXD, 5

udacity.com die bieten zahlreiche kostenfreie und kostenpflichtige Onlienkurse an, auch zum Thema Android.

Antwort
von JupStrunk, 13

ja, ich arbeite mit Android Studio:
http://developer.android.com/sdk/index.html

Antwort
von werthersorigina, 25

Ja, habe ich. Jedoch mit xamarin. Fragen?

Kommentar von swobocop ,

ist es denn Kostenlos? und wenn ich das richtig sehe muss man mit C# programmieren oder?

Keine passende Antwort gefunden?

Fragen Sie die Community