jo, wikipedia ist immer gut, oder halt gleich bei google
google.
im grossen und ganzen programmiert man normale java anwendungen. über das sdk bekommt man dann noch sogenannte "views" zur verfügung gestellt, um das GUI zu bauen und eben klassen zum zugriff auf so ziemlich alle funktionen die das betriebssystem und damit auch die hardware anzusteuern bzw auszulesen. also auch sowas, wie die daten von den lagesensoren, gps, wifi und daten der internen datenbank, wie anruferlisten, kontakte und gespeicherte sms. dafür gibt es auch ein eclipse plugin und einen emulator auf dem man sein werk testen kann.
die oberfläche organisiert man am besten in xml dateien um vom code unabhängig zu sein. dabei werden die views über layouts so angeordnet, wie man will, allerdings noch ohne graphischen designer, eine vorschau, wie das ganze dann aussieht gibt es auch im eclipse plugin übrigend mit der möglichkeit parameter für seine views direkt anzupassen.
in einer anderen xml datei dem "AndroidManifest" muss man seine oberflächen, die Activities, und übrigens auch berechtigungen, die man für den zugriff auf bestimmte funktionen braucht (das sind diese abfragen, die man beim installieren von anwendungen bestätigen muss, also sowas wie: dieses programm benötigt zugriff auf das netzerk, oder so ähnlich), eintragen.
das programmieren an sich geht mit dem sdk relativ leicht von der hand, was mich etwas gestört hat ist der eingebaute sqllite support, deswegen habe ich nach einer weile direkt eine alternative genommen, nämlich db4o, das auch einwandfrei läuft bis jetzt.
debuggen ist auch kein problem über den emulator. aber auch auf dem telefon direkt kann man seine anwendungen über usb debuggen, was auch mal ne sehr gute funktion ist, so muss man zb nicht extra 100 kontakte im emulator eingeben, um sein programm zu testen.
im plugin für eclipse ist deben dem obligatorischen "projekt erstellungs tool" und einem tool zum erstellen der apk noch eine ansicht mit der man seinen emulator überwachen und das dateisystem browsen kann. allerdings kann man dort momentan nur dateien runterladen, aber nicht auf den emulator schieben. das geht aber über kommandozeile mit einem tool des sdk, das wiederum auch verbindung zum g1 über usb herstellen kann.
hmm, was gibt es sonst noch zu sagen. vielleicht, dass man jede anwendung signieren muss, bevor man sie installieren kann. das geht im debug modus aus eclipse heraus automatisch. wenn man die anwendung "normal" als apk installieren will kann man dies aber auch einfach und vor allem umsonst über java tools machen.
sodele, kleine einführung, wenns fragen gibt einfach fragen, mal schauen ob ichse beantworten kann.
für rechtschreibfehler keine haftung, vor allem im gross und kleinschreiben bin ich etwas unbetagt. will mir das ganze nich noch mal durchlesen.

vielleicht könnte noch ein moderator das thema hier ins entwickler forum verschieben, bzw dort einen neuen thread dazu aufmachen.
gruß,
butters.