Abo
  • Services:
Anzeige
Nicht schön, aber selbst programmiert: eine eigene App für die Steuerung eines Raspberry Pi
Nicht schön, aber selbst programmiert: eine eigene App für die Steuerung eines Raspberry Pi (Bild: Marc Sauter/Golem.de)

Es gibt genügend Code im Netz

Grundsätzlich bieten sich zwei Möglichkeiten an: Entweder man startet mit einem neuen Projekt und versucht, die erforderlichen Funktionen (Methoden) in neu angelegte Java-Klassen zu integrieren. Oder man modifiziert ein Open-Source-Projekt, das über ähnliche Funktionen verfügt. So gibt es beispielsweise die App Mercury SSH, die solche Kommandozeilenbefehle aus JSON-Dateien aufrufen und senden kann.

Anzeige

Wäre es nicht möglich, eine solche, auf dem Handy simpel aussehende App für seine eigenen Zwecke umzumodeln und mit anderen Funktionen zu ergänzen? Doch das ist für einen Anfänger alles andere als trivial. Denn schon kleine Anwendungen können aus vielen in sich zusammenhängenden Java-Klassen bestehen. Da ist es besser, klein anzufangen.

Andererseits ist es nicht so, dass es an Android-Code im Internet mangelt. In der Regel reicht es aus, die gesuchten Begriffe bei Google einzugeben. Mit sehr großer Wahrscheinlichkeit landet man dann bei einer entsprechenden Diskussion auf Stackoverflow, wo ein anderer Programmieranfänger das gleiche Problem hatte und dort um Hilfe gebeten hat. Das machen professionelle Programmierer im Grunde auch nicht anders.

Verstehen Sie Javanesisch?

Für unseren Zweck war es zunächst ausreichend, verschiedene Buttons auf der Startseite der App zu platzieren und diese mit einer Funktion zu verknüpfen. Das geht verhältnismäßig einfach und erfordert bei einer SMS nur wenige Zeilen Code. Dieser Code wird in die Java-Klasse MainActivity eingetragen, die Android Studio beim Anlegen eines neuen Projekts generiert (Tutorial) und die als Startseite der App fungiert. Das Layout für die Schalter wird in der XML-Datei activity_main festgelegt, die sich in dem Ressourcen-Ordner res befindet. Zu guter Letzt müssen in der XML-Datei AndroidManifest noch die Berechtigungen der App eingetragen werden, beispielsweise für das Senden einer SMS oder den Internetzugriff. Fertig ist die App.

Dazu muss man als Anfänger nicht einmal verstehen, wie folgender Code auf "Javanesisch" beschrieben würde:

  1. button.setOnClickListener(new OnClickListener() {
  2. public void onClick(View v) {
  3. werGoogelnKann (kann, java)
  4. }
  5. });

Dabei wird zunächst dem Objekt button über die Methode setOnClickListener ein neu instanziiertes Objekt einer anonymen inneren Klasse basierend auf dem Interface OnClickListener zugewiesen. Das klingt für einen Anfänger so verschwurbelt wie ein Text des Soziologen Niklas Luhmann. Doch auch ohne Kenntnis von Java-Sprech lässt sich in dem Code eine gewisse Logik erkennen, die man für seine Zwecke anpassen kann. Wird der Button geklickt, wird die Methode werGoogelnKann ausgeführt, der dabei die Parameter kann und java übergeben werden. Diese Methode könnte wiederum Methoden aus der Klasse SmsManager aufrufen und eine SMS verschicken.

Rooten nicht erforderlich

Um die App auf dem Smartphone zu installieren, muss zumindest der Entwicklermodus freigeschaltet werden. Ein Rooten des Gerätes ist nicht erforderlich. Nach der Aktivierung des USB-Debugging kann Android die App installieren und starten.

Zugegeben: Am ersten Abend gelang es nicht, mehrere Schalter mit unterschiedlichem Inhalt zu programmieren. Ohnehin kann es einige Zeit dauern, Android Studio und die Java-Entwicklungsumgebung JDK (Java Development Kit) zu installieren. Etwas aufwendiger wird es zudem, wenn die App SSH-Befehle verschicken soll. Hierzu muss noch eine externe Programmbibliothek wie JSch installiert werden, wofür es mehrere Möglichkeiten gibt. Android Studio legt für jede App im Verzeichnis AndroidStudioProjects einen Unterordner an, wo das gesamte "Package" gespeichert wird.

 Android-App für Raspberry programmieren: werGoogelnKann (kann auch Java)Wie lerne ich am besten Java? 

eye home zur Startseite
Qual 08. Sep 2017

Ja, solche Leute tummeln sich zu Hauf herum, die von Neid und Missgunst zerfressen, allen...

gadthrawn 28. Aug 2017

Der "Konsistenz" opfert man dann aber OOP-Prinzipien und bindet halt teilweise übermäßig...

monito 26. Aug 2017

Also, eine Datei einlesen und wiederspeichern sieht es vielleicht trivial aus aber wenn...

ernstl 25. Aug 2017

https://media.tenor.com/images/0c123db63e36c7a275df31013780e1b0/tenor.gif

xaru 25. Aug 2017

Ich möchte an dieser Stelle einfach nur kurz dem Autor für seine Mühe danken. Freut mich...



Anzeige

Stellenmarkt
  1. OUTFITTER GmbH, Neu-Isenburg
  2. Völkl Sports GmbH & Co. KG, Straubing, Raum Regensburg / Deggendorf
  3. C.HAFNER GmbH + Co. KG Gold- und Silberscheideanstalt, Wimsheim
  4. Deutsche Nationalbibliothek, Frankfurt am Main


Anzeige
Spiele-Angebote
  1. + Prämie (u. a. Far Cry 5, Elex, Assassins Creed Origins) für 62€
  2. (-37%) 37,99€
  3. (-10%) 53,99€

Folgen Sie uns
       


  1. Autonomes Fahren

    Singapur kündigt fahrerlose Busse an

  2. Coinhive

    Kryptominingskript in Chat-Widget entdeckt

  3. Monster Hunter World angespielt

    Die Nahrungskettensimulation

  4. Rechtsunsicherheit bei Cookies

    EU warnt vor Verzögerung von ePrivacy-Verordnung

  5. Schleswig-Holstein

    Bundesland hat bereits 32 Prozent echte Glasfaserabdeckung

  6. Tesla Semi

    Teslas Truck gibt es ab 150.000 US-Dollar

  7. Mobilfunk

    Netzqualität in der Bahn weiter nicht ausreichend

  8. Bake in Space

    Bloß keine Krümel auf der ISS

  9. Sicherheitslücke

    Fortinet vergisst, Admin-Passwort zu prüfen

  10. Angry Birds

    Rovio verbucht Quartalsverlust nach Börsenstart



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Oneplus 5T im Test: Praktische Änderungen ohne Preiserhöhung
Oneplus 5T im Test
Praktische Änderungen ohne Preiserhöhung
  1. Smartphone Neues Oneplus 5T kostet weiterhin 500 Euro
  2. Sicherheitsrisiko Oneplus-Smartphones kommen mit eingebautem Root-Zugang
  3. Smartphone-Hersteller Oneplus will Datensammlung einschränken

Universal Paperclips: Mit ein paar Sexdezillionen Büroklammern die Welt erobern
Universal Paperclips
Mit ein paar Sexdezillionen Büroklammern die Welt erobern
  1. Pocket Camp Animal Crossing baut auf Smartphones
  2. Disney Marvel Heroes wird geschlossen
  3. Free to Play World of Tanks bringt pro Nutzer und Monat 3,30 Dollar ein

Smartphoneversicherungen im Überblick: Teuer und meistens überflüssig
Smartphoneversicherungen im Überblick
Teuer und meistens überflüssig
  1. Winphone 5.0 Trekstor will es nochmal mit Windows 10 Mobile versuchen
  2. Smartphone-Kameras im Test Die beste Kamera ist die, die man dabeihat
  3. Librem 5 Das freie Linux-Smartphone ist finanziert

  1. Re: iPhone X = Experimental

    stoneburner | 08:13

  2. Deutschlands größter Speicher steht in Goldisthal

    barforbarfoo | 07:41

  3. Re: 24/32

    esqe | 07:05

  4. Re: Entwickler kündigen

    GodsBoss | 06:56

  5. Re: Nicht jammern, sondern machen

    esqe | 06:54


  1. 17:56

  2. 15:50

  3. 15:32

  4. 14:52

  5. 14:43

  6. 12:50

  7. 12:35

  8. 12:00


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel