# Android (*.apk) programmieren



## Sylep (30. April 2011)

Guten Abend,

Ich hoffe mal, dass ich für meine Frage hier richtig bin. 
Ich
 würde gerne für Android ein kleines Programm erstellen. Dabei sollen in
 unregelmäßigen Abständen zufällige Sounds abgespielt werden. Zu den 
Sounds sollen aber immer bestimmte Texte auf dem Bildschirm angezeigt 
werden. Also das praktisch immer Wenn 'Sound A' abgespielt wird, dann 
wird immer 'Text Z' auf dem Display angezeigt werden. Und Wenn 'Sound B'
 abgespielt wird, dann soll immer 'Text Y' angezeigt werden. 

mit freundlichen Grüßen
SyleP


----------



## Onlinestate (30. April 2011)

Wo ist jetzt genau dein Problem?
Das SDK bereits installiert? Happerts an den Java-Kenntnissen?


----------



## Sylep (30. April 2011)

Ja, leider hapert es schon bei den Java Kenntnissen...
Meintest du Android SDK?


----------



## Onlinestate (30. April 2011)

Jap, meine ich.
Also, so wie ich das sehe, willst du eigentlich eher rumspielen. Ich denke es geht dir nicht in erster Linie darum eine App zu haben, die das macht, sondern du willst es selbst machen.
Wenn das Programmieren eine Sache ist, die dir Spaß macht und was du längerfristig vorhast, solltest du dich langsam rantasten und erstmal ein paar Java Grundkenntnisse aufbauen (Objektorientierte Programmierung etc.). Danach kommt erst Android in Spiel, wie kannst du also deine Ideen in eine Android Anwendung umwandeln. Ich würde nicht empfehlen anhand von Android Java zu lernen, deshalb erstmal reines Java.
Für beides gibts eine Reihe von Tutorials. Da würde ich an deiner Stelle mal ansetzen, um ein Gefühl zu bekommen.

Ich habe mich mit dem Android SDK allerdings noch nicht auseinandergesetzt. Meine Java Kenntnisse sind auch etwas eingerostet, aber denke in der Hinsicht könnte ich behilflich sein.

Wenn ich daneben lag, und du willst eigentlich nur eine App, die das macht und willst am liebsten gar nichts dafür tun, dann muss ich dich leider enttäuschen (außer jemand kann dir eine App nennen, die das bereits macht).


----------



## Sylep (1. Mai 2011)

Danke für die Antwort
Du hast mit beidem Recht. Ich möchte auch gerne das Java programmieren lernen und auch gerne diese App haben.
Auf die Idee Java zu programmieren, bin ich erst gekommen, nachdem ich mein neues Handy bekommen habe. Also seit 2 Wochen und kann deshalb eigendlich gar nichts mit Java . Ich werde mich dann mal dransetzen und mir mal ein paar Tutorials ansehen und mich mal ein Bisschen damit beschäftigen.
Jetzt habe ich dann mal 2 Fragen
1. Wie viel Zeit sollte man denn ungefähr erstmal mit der 'reinen' Java Programmierung verbringen, bevor man mit dem Android-Java anfängt?
2. Wo genau liegt der Unterschied zwischen 'normalem' Java und Android Java?

mfg


----------



## Onlinestate (1. Mai 2011)

Wieviel Zeit man mit Java verbringen sollte lässt sich schwer sagen. Letzendlich reicht es für so eine kleine App aus die fundamentalen Grundkenntnisse zu beherrschen. Es ist aber auch immer hilfreich zu wissen, was eine Sprache von anderen unterscheidet und allgemeines Hintergrundwissen zu haben. Die OpenBooks finde ich in der Hinsicht eigentlich immer ganz okay ( http://openbook.galileocomputing.de/javainsel/ ). Ist auch gut als Nachschlagewerk zu gebrauchen.

Je nachdem wie viel Aufwand du reinsteckst, können auch vier Wochen vollkommen ausreichen um den groben Überblick zu bekommen. Vielleicht kannst du nach zwei Wochen anfangen beides parallel anzugehen.

Also Android ist kein anderes Java, es ist die gleiche Sprache, aber dennoch eine andere Welt. Letzendlich programmierst du ja nicht für den PC, sondern für ein Handy. Mit Java lernst du ein Problem mit einem Programm zu lösen. Das Android SDK bietet dir nun die Möglichkeit auf Dienste und Schnittstellen des Android Betriebssystemes zuzugreifen. Damit kannst du dann zB auf das Ereignis "Geste: Nach links wischen" reagieren, was es in der Desktop-Welt ja nicht gibt.
Zudem hast du bei Android auch ganz andere GUI-Elemente als in der Desktop-Welt.

Mit Java lernst du ein Problem mit einem Programm zu lösen.


----------



## Onlinestate (1. Mai 2011)

Also, ich hab mir jetzt mal die ' Application Fundamentals ' durchgelesen, weils mich auch selbst interessiert. Die meisten Dinge werden dich nicht brennend interessieren, sind aber notwendig um bessere Anwendungen zu schreiben. Sonst hackst du dich nur von einem Problem zum nächsten und weißt gar nicht so recht, was du eigentlich machst (weil du zB Code kopierst ohne ihn zu verstehen). 

Ich kann dir jetzt auch besser den Unterschied zwischen "Android Java" und normalen Java erklären.
Android ist ja ein Linux-basiertes Betriebssystem. Java an sich läuft ja auf Windows, Mac und Linux ziemlich identisch. Selbst die GUI-Klassen sind identisch und die Anwendungen können größtenteils ohne Berücksichtigung des Betriebssystem programmiert werden.
Mal ganz davon abgesehen, dass Google eine eigene Implementierung der Java VM hat, gibts bei Android darüber hinaus verschiedene Aspekte, um zB die Sicherheit zu erhöhen, Batterieverbrauch zu senken oder so manches Feature zu verwirklichen. So gibt es zB keinen zentralen Einstiegspunkt. Stattdessen hast du verschiedene Basisklassen von den du erben kannst, um einen entpsrechenden Anwendungstyp zu realisieren.
Dadurch werden auch die Möglichkeiten eingeschränkt, was man an Unfug machen kann.

Meld dich, wenn du irgendwelche Fragen hast. Ich glaub ich guck mir das auch noch weiter an. Werde wohl auch mal da ein bisschen rumspielen.


----------

