Anwendungsentwicklung mit Basic4Android

Basic für A

30.10.2012

Die Entwicklungsumgebung Basic4Android bietet mit einer leicht zu erlernenden Sprache einen eleganten Mittelweg zwischen komplexer Java-Programmierung und simplem App-Baukasten, quasi Android-Apps für Anfänger.

Der Königsweg zur Android-Programmierung führt über Java. Doch Java ist recht komplex, die Lernkurve entsprechend groß. Der App Inventor [1] reduziert die App-Entwicklung auf eine sehr einfache, abstrakte Ebene – allerdings mit eingeschränktem Funktionsumfang. Basic4Android prescht in die Lücke und ermöglicht die schnelle Entwicklung leistungsstarker Android Apps ganz ohne Java-Kenntnisse.

Auf Basic basierende Anwendungen lassen sich relativ leicht auf andere Systeme portieren, denn Basic-Entwicklungsumgebungen gibt es fast überall. Mit der von Anywhere Software entwickelten Basic4Android Entwicklungsumgebung (B4A) ist es möglich, in recht kurzer Zeit leistungsfähige Apps zu entwickeln. Wer schon mal Kontakt mit Basic hatte, wird sich besonders leicht zurechtfinden. Aber auch Einsteigern ohne jegliche Vorkenntnis gelingen dank guter Tutorials und einer aktiven B4A-Community schnell die ersten Programmiererfolge. Dieser Workshop soll beim Einstieg helfen. Für die Beispiel-App in unserem Workshop ist die Testversion von Basic4Android ausreichend, die Sie unter [2] zum Download finden..

Beispieldateien zum Download

Die hier beschriebene App inklusive Quellcode gibt es auf der Android-User-Homepage zum Download. Den passenden Link [3] finden Sie über den QR-Code "Alle Links" am Ende des Artikels.

Basic für Android

Um Basic4Android nutzen zu können, müssen Sie zunächst das JDK und das Android-SDK installieren. Anschließend starten Sie Basic4Android und wählen Tools | Configure Paths. Hier wählen Sie über den Button Browse die Pfade zu den Dateien javac.exe (im Unterverzeichnis \bin des JDK-Ordners) und android.jar (im Unterverzeichnis \platforms\android-x des SDK Ordners), die mit dem JDK und SDK installiert wurden. Anschließend ist die Basic4Android Entwicklungsumgebung startklar.

Die grafische Oberfläche hält sich an die Gepflogenheiten üblicher Windows-Anwendungen und enthält Menü- und Iconleiste sowie einen zweigeteilten Arbeitsbereich: Der linke Teil ist der Quellcode-Editor, im rechten Teil werden wahlweise die Module (Modules) der App, die genutzten Dateien (Files), die verwendeten Bibliotheken (Libs) sowie das Systemprotokoll des angeschlossenen Geräts (Logs) dargestellt.

Abbildung 1: Die Basic4Android IDE ist eine leistungsstarke Entwicklungsumgebung.

Die Menüs File und Edit sind größtenteils selbsterklärend. Sie stellen vorwiegend Funktionen zum Öffnen und Speichern von App-Projekten (File) und zum Kopieren, Einfügen und Finden von Programmtext (Edit) bereit. Für die Gestaltung von Benutzeroberflächen steht der "Designer" zur Verfügung. Über das Menü Project werden wichtige Einstellungen für die zu programmierende App vorgenommen. Auf den Designer und das Project-Menü kommen wir später ausführlich zurück. Unter Tools finden sich einige Zusatzwerkzeuge, unter anderem die B4A-Bridge, die es ermöglicht, über WLAN oder Bluetooth direkt auf dem Smartphone zu testen. Im Menü Help schließlich findet sich ein Link zu den ausführlichen Online-Tutorials.

Der Programmeditor ist recht komfortabel ausgelegt und denkt mit: Eine AutoComplete-Funktion bietet beim Tippen ein Pop-Up mit den möglichen Befehlen. Bei der Variablendeklaration etwa wird eine Auswahlliste der verfügbaren Variablentypen angeboten. Für Objekte wie zum Beispiel File schlägt der Editor die existierenden Funktionen vor und beschreibt die Syntax des Befehls.

Abbildung 2: Der Programmeditor erleichtert die Variablendeklaration durch Vorschläge möglicher Variablentypen.
Abbildung 3: Bei Objekten wie File informiert der Editor automatisch über mögliche Funktionen und ihre Syntax.

Die Grundstruktur des Quellcodes

Nach dem Start der IDE wird bereits automatisch ein neues Programmprojekt mit einem Modul Main angelegt. Dieses Modul ist als Activity Module definiert. Als Activity bezeichnet man eine Bildschirmseite einer Android App. Das Activity Modul Main definiert also den Startbildschirm einer App. Eine App muss mindestens aus diesem Modul bestehen.

Ein Activity Modul besteht grundsätzlich aus folgenden fünf Unterprogrammen (Subroutinen, im Folgenden Subs genannt):

  • Process Globals: Definiert globale Variablen, die beim Start der App deklariert werden und auch aus anderen Modulen heraus aufgerufen werden können.
  • Globals: Definiert globale Variablen, die bei jedem Aufruf der Activity deklariert werden und nur innerhalb des Moduls zur Verfügung stehen.
  • Activity Create: Programmteile in dieser Subroutine wird bei jedem Start der Activity abgearbeitet.
  • Activity Resume: Programmteile in dieser Subroutine werden abgearbeitet, wenn die Activity vom Hintergrund in den Vordergrund rückt.
  • Activity Pause: Programmteile in dieser Subroutine wird abgearbeitet, wenn die Activity aus dem Vordergrund in den Hintergrund rückt.

Jede Subroutine beginnt im Quellcode mit dem Wort "Sub" und schließt mit "End Sub" ab. Es können beliebige weitere Subs erstellt werden. Sie helfen, den Quellcode zu strukturieren. Immer wieder genutzte Programmteile müssen nur ein einziges Mal als Subroutine angelegt werden und lassen sich durch Aufruf der Sub überall nutzen.


Android User Shop

Einzelne Ausgabe
 
Express-Kauf als PDF
Preis € 0,99
(inkl. 19% MwSt.)

Ähnliche Artikel

  • Omni Notes: Eine einfache Notiz-App ohne viel Schnickschnack

    Wer findet sich im Dschungel aus Notiz-Apps schon noch zurecht? Jede der Anwendungen kann etwas besonderes oder legt Ihren Fokus auf ein bestimmtes Thema. Wer eine pure Notiz-App ohne viel Schnickschnack sucht liegt bei Omni Notes genau richtig.

  • Schwimmen lernen

    Android ist eine der stärksten Kräfte in der Smartphone-Industrie und es hat eine vielversprechende Zukunft. Um etwas mehr darüber zu erfahren, was es alles kann, und wie Sie davon profitieren, lesen Sie diesen Artikel.

  • Fotos mit Skitch beschriften

    Wer ein Haus baut oder umbaut, hat manchmal Probleme mit Handwerkerpfusch. Da kommt ein kommentierter Fotobeweis mit dem Corpus Delicti immer gut gelegen. Der moderne Häuslebauer fertigt den Foto-Beweis mit dem Android-Smartphone und Skitch an.

  • Springpad bringt Ordnung in Ihre Android-Notizen

    Wenn Sie Ihr Andriod Smartphone als Notizbuch oder Denkhilfe verwenden möchten, dann gibt es viele Produkte im Google Play Store. Wir haben die Applikation Springpad in den Blick genommen und zeigen, warum sie zu den besten gehört.

  • Mind-Mapping-Apps für Android

    Ideen entstehen bekanntlich im Kopf. Doch für die Verwirklichung muss man seine Gedanken auf Papier bringen oder mit einer Mind-Mapping-App festhalten. Wir stellen zwei Apps im Detail vor und zeigen drei mögliche Kandidaten.

comments powered by Disqus

Aktuelle Ausgabe

Neueste Artikel

Google Kamera: Neue Kamera-App von Google für alle Android-Geräte ab Version 4.4

Google hat gestern eine neue App in den Play Store eingestellt. Die Google-Kamera-App ist eine Weiterentwicklung der Standard-Kamera-App von Android und ersetzt auf Nexus-Geräten automatisch die bisherige Kamera. Die App lässt sich aber auch auf jedem beliebigen Android-Gerät mit Android 4.4 installieren.

Cal: Any.do Kalender: Schicker Kalender mit Facebook-Anbindung

Gehören Sie zu den 80 Prozent Android-Nutzern, die einfach den vorinstallierten Kalender nutzen oder sind Sie auf der Suche nach einer besseren, vielleicht einfach nur schöneren App? Falls letzteres auf Sie zutrifft, dann sollten Sie sich mal Cal Any.do Kalender anschauen. Dieser Kalender macht sogar Spaß!

Mit F-Secure Freedome VPN sicher per VPN im Internet unterwegs

Mangels ausreichender Datenflatrate benutzen viele Anwender auch im Inland freie WiFi-Hotspots in Cafes, öffentlichen Gebäuden oder vom Nachbarn. Im Ausland ist man durch die mageren Roaming-Pakete fast immer ans WLAN im Hotel gebunden. Doch kann man diesen Netzen vertrauen? Eine Anbindung ein virtuelles privates Netzwerk (VPN) sorgt für mehr Sicherheit. Wir haben die App von F-Secure getestet.