Basic4Android - Erfahrungen?

  • Antworten:26
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 33.139

19.06.2011, 11:45:25 via App

Hallo, hat sich hier schon jemand mit Basic4Android beschäftigt und könnte kurz seine Erfahrungen mit uns teilen?

Gruß

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 7

21.06.2011, 10:07:21 via Website

Hallo Carsten,

kommt drauf an, was Du mit "beschäftigen" meinst ... Um es vorab zu sagen, ich bin KEIN Programmierer. Wenn ich hier und da mal etwas in VBA oder PHP mache, dann nur um Tools für die eigene Arbeit zu schaffen. Mit allen Tücken (unzumutbare Oberfläche, "fest verdrahtete" Einstellungen, kaum error handling, ...), die solche "Programme" mit sich bringen.

Zu Bricscad4Android (kurz b4a) bin ich auch so gekommen. Die Aufgabe war nicht sehr umfangreich: Auf einer website (MapGuide-Karte mit Rohrleitungen und Katasterhintergrund) sollen Daten erfaßt und dazu auch Fotos gespeichert werden. Das Ganze mit Smartphone. Nun begann die große Sucherei. Java? Nein, da fehlen mir jegliche Grundlagen. Dann kamen all die Werkzeuge an die Reihe, die auch hier und andernorts schon diskutiert wurden (NS Basic, HTML5 basierte Lösungen, ....). Alle sicher toll, aber entweder sehr komplex, teuer, keine Cam-Unterstützung, .... oder mir fehlten die basics. Hinzu kommt, dass es bei mir mit der engl. Sprache sehr hapert. Einzig mit dem AppInventor habe ich ein wenig rumgespiel. Aber das Schieben von bunten Bildern war mir einfach zu nervig, ich muß mir auch mal einen Quelltext ausdrucken können.

Dann stieß ich vor 14 Tagen auf b4a (bin also Anfänger!). Ahhh, da gibt es auch ein deutsches Forum! Das klingt gut und VBA-Erfahrungen habe ich von Bricscad und Access. Nächster Schritt war dieser Link hier. Das klang auch gut. Ich beschloß, einen Versuch zu wagen.

Artig folgte ich den Schritten. Java SDK runter laden und installieren, ebenso Android SDK und schließlich b4a. Dann das erste "richtige" Tutorial. Klar, dass das "Hallo World" war-_-. Es funktionierte auf Anhieb! 39$? Beim derzeitigen Kurs? Ungefähr so viel, wie ich in einer Woche für Zigaretten ausgebe. Also bestellte ich die Vollversion (mittlerweile 49$). Sorry, ich weiß nicht mehr ob es nur ein Key-Code ist, oder eine andere Software (ich glaube letzteres). Nach dieser Vorgeschichte aber nun ein wenig mehr zu eigentlichen Thema.

Installation

Selbst von einem Ungeübten problemlos machbar. Siehe oben. Auf meinem XP-Notebook belegt das Programm ca. 6 MB. Natürlich plus Java und Android SDK.

Benutzeroberfläche

Sehr ähnlich zu VB(A). Ein Editorfenster mit Syntax-Highlight und teilweiser Auto-Vervollständigung sowie auf der Rechten Seite ein Fanster mit verschiedenen Tabs (eingebundene Module, Files, Libs und eine Log-Ansicht). Alles übersichtlich. Hier mal ein Link zu den Screenshots.

Mit b4a in Basic programmieren

Nochmal ein Vorab: Als Gelegenheitsprogrammierer maße ich mir kein Urteil über die wirkliche Leistungsfähigkeit an.
Ja, die Sprache entspricht weitestgehend dem, was man von VB kennt, soll heißen, wer mal VB in der Hand hatte kommt damit schnell zurecht. Besonders beeindruckend für mich war die Gestaltung der Oberfläche. Dafür kennt b4a den Designer. Damit kann man den verfügbaren Elementen (Activities) ihre Eigenschaften verpassen. Hier mal eine Liste der verfügbaren Activities als Screenshot:


Wenn man im Designer Menü->Tools->Connect aufruft kann man eine Vorschau wahlweise im Android-Emulator sehen, oder man installiert sich die App "B4A Bridge" und dan geht es auch auf dem Smartphone via WLAN! Hierschiebt man seine Elemente, wie man sie braucht und bekommt auch sofort eine Vorschau von deren Gestaltung. Das Handling auf meinen GT 9000 ist allerdings etwas fummelig, das geht im Emulator besser. Ich kann mir nicht vorstellen, wie es noch einfacher gehen soll. Auf diese Elemente greift man dann wieder im Editor zurück, wie in Basic. Z.B. im einfachsten Fall mit "Sub Button1_Click".

Der für mich spannendste Teil kommt jetzt. Der Zugriff auf alles was ich von Standard-Basic nicht kenne. Eine HTML-Seite einbinden, kein Problem. Auf die Kamera oder GPS zugreifen, ebenso wenig. Und vieles mehr. Das alles wird über Bibliotheken geregelt, die im Bedarfsfall mit einem Klick aktiviert werden. Am Ende habe ich eine Liste mit den momentan verfügbaren Bibliotheken angehängt.

Wenn man nun das Programm soweit fertig hat, wird es kompiliert und auf dem angeschlossenen Gerät installiert. Fertig. Im Debug-Modus kann man Haltepunkte setzen, Variablenwerte kontrollieren, das Log verfolgen und noch einiges mehr. Wie das mit dem Signieren funktioniert weiß ich nicht, weil ich nur für den Eigenbedarf arbeite, aber den Foren-Beiträgen ist zu entnehmen, dass es diverse Anwender gibt, die ihre Apps auch in den Market hochladen.

Grenzen?

Gibt es vermutlich auch. Die XML-Library z.B. ist nicht mit den XML-Möglichkeiten von .NET vergleichbar. Immerhin aber ermöglicht sie auf einfach Weise das Parsen einer XML-Datei. Noch nicht gelungen ist mir das, was ich eigentlich tun wollte. Denn wie man Popups handelt, konnte mir bisher noch niemand verraten (wurde aber immerhin mittlerweile vom Entwickler auf die Wish-List gesetzt). Obwohl das Forum ansonsten Spitze ist, Keine meiner Anfängerfragen blieb bisher unbeantwortet). Aber ein work araound findet sich für bestimmt fast alles. Da die Arbeit mit Webservices in b4a unkompliziert ist werde ich wohl einen viel schickern Weg gehen.

Fazit

Ich bereue es keinesfalls, das Geld für b4a ausgegeben zu haben. Mittlerweie (nach ca. 1 Woche sind mir immerhin folgende kleine Apps gelungen:

1. Mit der Cam meines GT 9000 ein Photo in einstellbarer Qualität aufnehmen und unter einem Dateinamen, den ich selbst vergebe auf meinen Webserver hochladen.

2. Die GPS-Position abfragen, von WGS84 ins Gauß-Krüger-System (GKS) transformieren und auf Knopfdruck in der SQLite DB speichern. Okay, die GKS-Transformation habe ic nicht selbst geschrieben, sondern nutze dafür einen Webservice.

Ich halte es auf jeden Fall für epfehlenswert, einen Blick auf b4a zu werfen. Wer ein wenig VB kennt, wird sich sehr schnell zurecht finden. Und die Versprechungen auf der b4a-Homepage haben sich für mich bisher bewahrheitet.

Beantwortet das die Frage ein wenig?

Viele Grüße - Peter - der gerade überlegt, diese Eindrücke auch auf Ciao zu veröffentlichen.

Hier noch die Liste der Module:

* ABFTP - v1.00 - Written by Alain Bailleul
* ABTwitter - v1.00 - Written by Alain Bailleul
* ABWifi - v1.10 - Written by Alain Bailleul
* ABZipUnzip - v1.00 - Written by Alain Bailleul
* ABZxing - v1.00 - Written by Alain Bailleul
* AHLocale - v1.10 - Written by Markus Stipp
* Animation - v1.02
* Audio - v1.10
* Basiclib - v1.30
* BasicLibIDE - v1.50 - Written by Andrew Graham
* BigNumbers - v1.00 - Written by Andrew Graham
* ByteConverter - v1.10
* Camera - v1.00
* Clocks - v1.00
* Collections (Core) - v1.45
* CollectionsExtra - v1.00 - Written by Andrew Graham
* Constants (Core) - v1.45
* Core - v1.45
* Dialogs - v2.20 - Written by Andrew Graham
* Drawing (Core) - v1.45
* Encryption - v1.10 - Written by Andrew Graham
* ExpressionEvaluator - v1.00 - Written by Andrew Graham
* FFT - v1.00
* Files (Core) - v1.45
* Gestures - v1.00 - Written by Andrew Graham
* GifDecoder - v1.00
* GPS - v1.00
* GPStoOSGB - v1.00
* HTTP - v1.10
* IOIO - v1.10 - Written by Andrew Graham
* Jpeg - v1.10
* JSON - v1.00
* Media Player (Core) - v1.45
* Network - v1.10
* OpenGL - v1.70 - Written by Andrew Graham
* OpenGL2 - v1.00 - Written by Andrew Graham
* Phone - v1.42
* RandomAccessFile - v1.15
* Reflection - v1.60 - Written by Andrew Graham
* Regular Expressions (Core) - v1.45
* Serial - v1.01
* SQL - v1.02
* StringUtils - v1.02
* Threading - v1.00
* TTS - v1.00
* Views (Core) - v1.45
* XmlSax - v1.00

— geändert am 23.06.2011, 08:37:54

Antworten
  • Forum-Beiträge: 33.139

21.06.2011, 10:25:35 via Website

Hi Peter,

wow, vielen lieben Dank für diese umfangreichen Schilderungen. Das klingt sehr gut!

Beantwortet das die Frage ein wenig?
Aber hallo. Mehr als das.

Ich habe wenig VBA Erfahrungen. Früher hatte ich viel mit Rexx entwickelt (unter OS/2), und ganz früher habe ich viel mit Basic auf Großrechnern gemacht.

Mit Java hatte ich zwar viel, viel zu tun. Aber nie als Programmierer. Und da lasse ich auch die Finger von.

Aber ab und an eine Kleinigkeit zu programmieren, dafür scheint mir Basic4Android doch ganz gut geeignet.

Der Preis ist mehr als akzeptabel, ich halte das für ein ziemliches Schnäppchen.

Mal sehen... wenn ich mal etwas Zeit habe, schau ich mir das intensiver an.

Erstmal nochmals vielen Dank!

Herzliche Grüße

Carsten

p.s. Eine Frage vielleicht noch: Was ist denn zur Programmgröße der fertigen Anwendungen zu sagen? Erzeugt das ganze viel Overhead oder sind die Apps relativ schlank?

— geändert am 21.06.2011, 10:26:23

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 7

21.06.2011, 10:51:44 via Website

Hi Carsten,

Carsten Müller
wow, vielen lieben Dank für diese umfangreichen Schilderungen.


... Gerne, ich habe das vor allem versucht etwas ausführlicher darzustellen, weil ich selbst wochenlang auf der Suche war. Eingefleischte Java-Entwickler rümpfen zumeist die Nase über alles, was nicht so komplex ist.

Carsten Müller

p.s. Eine Frage vielleicht noch: Was ist denn zur Programmgröße der fertigen Anwendungen zu sagen? Erzeugt das ganze viel Overhead oder sind die Apps relativ schlank?

So wirkliche Vergleichsmöglichkeiten fehlen mir natürlich. Prinzipiell scheint die Größe von den eingebundenen Libs abzuhängen. die beiden genannten Apps werden auf dem Handy mit jeweils ca 220 kB angezeigt. In meinen Augen ist das (gemessen an den Ressourcen) wenig. Und flott gehts allemal. Ich hab mal einfach nur 5000 Linien zeichnen lassen. Die waren beim Öffnen der App sofort da.

Viele Grüße - Peter

Antworten
  • Forum-Beiträge: 33.139

21.06.2011, 10:53:05 via App

Yep, das halte ich auch für sehr schlank....

Sehr schön! Danke nochmals.

Gruß

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 560

21.06.2011, 13:57:16 via Website

Kann man dann den generierten Code auch anschauen?
z.B. wenn man noch nie was GPS gemacht hat und ein anschauliches Beispiel möchte...

Antworten
  • Forum-Beiträge: 33.139

21.06.2011, 14:41:26 via Website

Hi,

Stefan Schelling
Kann man dann den generierten Code auch anschauen?
z.B. wenn man noch nie was GPS gemacht hat und ein anschauliches Beispiel möchte...
na, mit dem finalen Java Byte Code wird man wenig anfangen können. Aber entscheidend wäre da ja auch eher der Source Code... oder missverstehe ich was?

Herzliche Grüße
Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 7

21.06.2011, 16:57:19 via Website

Hallo,

der generierte Sourcecode wird auf dem Entwicklungsrechner abgelegt. Man kann ihn sich also ansehen. Ob man damit aber viel anfangen kann, weiß ich nicht. Letztlich werden ja diverse b4a-Klassen/Module(?) eingebunden, in die man nicht reinschauen kann. Aber ich denke mal, wenn man mal ein einfaches Beispiel mit der Testversion zusammenbastelt, ist es am einfachsten zu verstehen.

Viele Grüße - Peter

Antworten
  • Forum-Beiträge: 25

23.06.2011, 14:20:56 via Website

Habe auch B4A.
Wegen der Programmgröße :
Habe zwei Programme, eines mit 88 KB und
eines mit 168 KB. Hängt also sehr davon ab,
welche Libs man einbindet.

Ich finde die Sprache auch sehr gelungen. Gerade für
kleinere (auch größere) Apps ist es perfekt und der Preis
stimmt auch.

PS: Kenne die Seite schon seit ein paar Jahren.
Hatte damals angefangen mit Basic4PPC
für Windows CE.

Antworten
  • Forum-Beiträge: 4

24.06.2011, 09:54:53 via Website

Ich benutze Basic4Android schon recht lange und kenne auch den Vorgänger Basic4PPC für Windows Mobile.

Mit Basic4Android ist es möglich, sehr effizient und schnell einfache bis mittelmäßig komplexe Apps für Android zu entwickeln. Es ist sehr gut geeignet, um Prototypen zu erstellen oder auch für Entwickler, die recht wenig Zeit haben (so wie ich z.B.). Als Resultat erzeugt B4A normale Android Apps, es wird also keine Laufzeitumgebung oder sowas benötigt. Dadurch ergibt sich in Größe und Geschwindigkeit der Apps auch kaum ein Unterschied, als wenn sie direkt in Java entwickelt worden wären.

P Sciga hat mit seinem Post hier ja schon gut Werbung gemacht und ich kann dem nur voll und ganz zustimmen. Hervorheben möchte ich nochmal die sehr gute Community, die hinter B4A steht und die einen super Support bietet.

Als Einschränkung muss man sagen, dass einige Features von Android (noch) nicht unterstützt werden (z.B. Homescreen Widgets sind für die nächste Version angekündigt). Das wichtigste ist aber vorhanden, so lassen sich z.B. auch Apps schreiben, die im Hintergrund laufen etc.

Gruß,
Markus

Antworten
  • Forum-Beiträge: 33.139

08.11.2011, 20:40:25 via App

So,

Heute habe ich mir Basic for Android lizensiert und bin ausgesprochen begeistert. Die erste App ist auch schon fast fertig...

Gruß

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 8

05.01.2012, 23:00:59 via Website

Na, über die Antwort von P Sciga, der ja gezeigt hat, dass man als Nicht-IT-Profi ganz ordentliche Apps zustande bringen kann, hat sich Carsten offensichtlich gefreut.
Ich auch, denn auch ich habe früher mit VB (zuletzt Version 6) herumgefummelt, eben auch als Laie, um schnell zu Ergebnissen zu kommen.
Natürlich ist B2A kein VB, es handelt sich ja bei den Zielgeräten meist um Smarties, obwohl die Tabs doch sehr im Kommen sind.
P Sciga hat mich überzeugt, das Teil herzuholen, beim Googeln habe ich nichts besseres gefunden.
Nochmals Danke für den aufwendigen und sehr informativen Bericht !

Rolf

Antworten
  • Forum-Beiträge: 33.139

07.01.2012, 10:06:43 via App

Hi Rolf,

gute Wahl. Basic4Android ist klasse und macht tierisch Spaß. Und der Support ist exzellent.

Gruß

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 2

27.01.2012, 21:42:52 via Website

Hallo guten Abend,
zu Basic4Android hab ich mal ne Frage. Ich habe bis jetzt die Trail-Version. Ist es möglich, in dieser Version Bibliotheken einzubinden? Und wenn ja wie?
Ich habe die Phone-Lib als Phone.zip heruntergeladen, entpackt und die Dateien Phone.XML und Phone.jar in den Libraries Ordner von B4A eingefügt. Trotzdem kann ich sie nicht verwenden,also zB."Dim pow As Phone WakeState" ist nicht kompilierbar. Die Spalte "Referenced libraries" im gestarteten Programm ist leer.Ich fand in den entsprechenden Tutorials zwar Hinweise zur Erzeugung von LIBs, aber nicht hilfreiches zum Einbinden.
Ich würde mich über hilfreiche Hinweise sehr freuen. Danke schonmal...

Antworten
  • Forum-Beiträge: 33.139

28.01.2012, 07:23:23 via App

Hi Mike,

ich glaube, das ist in der Trial tatsächlich nicht möglich.

War bei mir der Grund, bereits nach wenigen Minuten eine Lizenz zu erwerben.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 2

28.01.2012, 13:42:59 via Website

Guten Morgen Carsten,
danke für deine schnelle Antwort,dann werd ich mal ne Lizenz erwerben, scheint ja echt ein Schnäppchen zu sein :). Schönes Wochenende euch allen...

Antworten
  • Forum-Beiträge: 3

29.01.2012, 17:21:12 via Website

mike krug
Guten Morgen Carsten,
danke für deine schnelle Antwort,dann werd ich mal ne Lizenz erwerben, scheint ja echt ein Schnäppchen zu sein :). Schönes Wochenende euch allen...
Falls du die Lizenz noch nicht erworben hast, habe ich ein Code für dich um die Enterpriseversion zum halben Preis (ca. 50 €) zu erwerben.

Gutschein-Code lautet: borvhz
Der Kauf-Link lautet: Basic4android (Basic for Android) - Android programming with Gui designer
Man geht auf die Kaufseite und klickt auf den Button Plimus.
Man gibt den Gutschein-Code in das Gutschein-Feld, um die 50% Rabatt zuerhalten.
Der Code kann bis zu 20 Mal verwendet werden.

Ich selber bekomme dann 1 Jahr weitere kostenlose Updates.

mfg

P.S. es könne natürlich auch andere den Code nutzen.

— geändert am 29.01.2012, 17:22:47

Antworten
  • Forum-Beiträge: 8

09.02.2012, 20:29:43 via Website

Toller Tip, danke!

Meine Bestellung bei Plimus wurde ohne Umstände angenommen.

Antworten

Empfohlene Artikel