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)

Frickellösung statt Versionsverwaltung

Vor größeren Änderungen empfiehlt es sich, ein neues Projekt auf der Basis des bestehenden Codes anzulegen. Auf diese Weise steht immer eine kompilier- und lauffähige Version für kleine Änderungen zur Verfügung. Das ist jedoch nicht so einfach wie bei einem Word-Dokument, wo die Datei nur unter einem neuen Namen abgespeichert werden muss. Am einfachsten ist es wohl, das Package mit einem Dateimanager in ein neues Verzeichnis zu kopieren und dann das geänderte Verzeichnis wie hier beschrieben in der App einzutragen.

Anzeige

Korrekter als solch eine "Frickellösung" ist allerdings die Nutzung einer Versionsverwaltung (VCS) wie Git. Wer den Aufwand einer eigenen Installation scheut, kann auf öffentliche VCS wie Github zurückgreifen. Doch Vorsicht: Bei einigen Anbietern sind die sogenannten Repositories für alle frei sichtbar - inklusive festkodierter Passwörter.

Aufwand für SQLite-Datenbank hoch

Komplexer als die Nutzung von Shared Preferences ist der Aufbau einer eigenen SQLite-Datenbank. Dies könnte beispielsweise dazu genutzt werden, komplette Kommandozeilenbefehle frei in der App einzugeben, ohne dazu Android Studio nutzen zu müssen. Solche Apps sind im Play Store verfügbar. Allerdings ist beim Selbstprogrammieren der Aufwand nicht zu unterschätzen. Einfacher dürfte es sein, in Android Studio gelegentlich einen neuen Button nachzutragen.

Spätestens dann dürfte die App über mehrere Aktivitäten (Activitys), also unterschiedliche Bildschirmseiten, verfügen. Es könnte daher von Anfang an sinnvoll sein, diese Funktionen gleich in einer entsprechenden Activity-Klasse anzulegen und von der Startseite darauf zu verlinken. Aktivitäten müssen wiederum in der Manifest-Datei angemeldet werden. Sonst lässt sich die App zwar kompilieren und installieren, stürzt beim Aufrufen der Activity jedoch ab.

Fremder Code im falschen Kontext

Womit wir beim schwierigen Thema Fehlersuche wären. Der Vorteil von Android Studio oder anderen Java-Entwicklungsumgebungen: Viele Fehler werden gleich bei der Eingabe rot unterlegt. Wenn man beispielsweise eine Variable sowie einen Klassen- oder Methodennamen falsch eingibt, fällt dies sofort auf. Der Import fehlender Klassen wird vorgeschlagen und ist recht einfach. Das hilft dem Anfänger natürlich sehr, einen Code einzugeben, der zumindest kompiliert werden kann.

Wer Code aus fremden Quellen einbaut, hat häufig Probleme mit der sogenannten Referenzierung von Objekten. Heißt es getApplicationContext(), getContext(), getBaseContext() oder einfach nur this? "Ich habe darüber auf der Entwicklerseite gelesen, aber bin nicht in der Lage, es richtig zu verstehen", klagte ein Entwickler auf Stackoverflow. Wobei die offizielle Entwicklerseite https://developer.android.com für Anfänger in der Tat wenig hilfreich und häufig eher verwirrend ist. Da hilft es manchmal nur, bestimmte Varianten auszuprobieren oder weiter zu googeln.

 Wie lerne ich am besten Java?Die eigene App spioniert wenigstens nicht 

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. Melitta Business Service Center GmbH & Co. KG, Minden
  2. Landeshauptstadt München, München
  3. MBDA Deutschland, Schrobenhausen
  4. VPV Versicherungen, Stuttgart


Anzeige
Spiele-Angebote
  1. 15,99€
  2. (-37%) 37,99€
  3. (-58%) 24,99€

Folgen Sie uns
       


  1. Snpr External Graphics Enclosure

    KFA2s Grafikbox samt Geforce GTX 1060 kostet 500 Euro

  2. IOS 11 und iPhone X

    Das Super-Retina-Display braucht nur wenige Anpassungen

  3. Polyphony Digital

    GT Sport bekommt Einzelspielerliga

  4. Smartphone-Tarife

    Congstar wertet Prepaid-Pakete auf

  5. Rauschgifthandel

    BKA nimmt "Top-Verkäufer" aus dem Darknet fest

  6. Toyota

    Roboter T-HR3 meldet sich zum Arbeitseinsatz

  7. FixFifa

    Fans von Fifa 18 drohen mit Boykott

  8. Samsung

    Erste Details zum Galaxy S9

  9. Cyber Monday

    Streiks an drei Amazon-Standorten

  10. Echo Show vs. Fire HD 10 im Test

    Alexa, zeig's mir!



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Montagewerk in Tilburg: Wo Tesla seine E-Autos für Europa produziert
Montagewerk in Tilburg
Wo Tesla seine E-Autos für Europa produziert
  1. Elektroauto Walmart will den Tesla-Truck
  2. Elektrosportwagen Tesla Roadster 2 beschleunigt in 2 Sekunden auf Tempo 100
  3. Elektromobilität Tesla Truck soll in 30 Minuten 630 km Reichweite laden

E-Golf im Praxistest: Und lädt und lädt und lädt
E-Golf im Praxistest
Und lädt und lädt und lädt
  1. Garmin Vivoactive 3 im Test Bananaware fürs Handgelenk
  2. Microsoft Sonar überprüft kostenlos Webseiten auf Fehler
  3. Inspiron 5675 im Test Dells Ryzen-Gaming-PC reicht mindestens bis 2020

Gaming-Smartphone im Test: Man muss kein Gamer sein, um das Razer Phone zu mögen
Gaming-Smartphone im Test
Man muss kein Gamer sein, um das Razer Phone zu mögen
  1. Razer Phone im Hands on Razers 120-Hertz-Smartphone für Gamer kostet 750 Euro
  2. Kiyo und Seiren X Razer bringt Ringlicht-Webcam für Streamer
  3. Razer-CEO Tan Gaming-Gerät für mobile Spiele soll noch dieses Jahr kommen

  1. Re: FireHD 10 und der Amazon App Store

    Avarion | 12:21

  2. Wer übernimmt die Kosten?

    Realpeterlustig | 12:21

  3. Re: Empfänger

    tha_specializt | 12:20

  4. Re: Trenching ..

    senf.dazu | 12:19

  5. Interessante Entwickung..

    melog89 | 12:17


  1. 12:30

  2. 11:59

  3. 11:51

  4. 11:45

  5. 11:30

  6. 11:02

  7. 10:39

  8. 10:30


  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