German Neuling hat Grundsatzfragen

BMP

Banned
Guten Abend,

Ich bin am überlegen ob ich mir b4a holen soll?
Ich habe am PC viel mit AutoHotKey gearbeitet welches mir sehr ähnlich zu seien scheint.

Aber nun mal zu den fragen. Ist es möglich aus unterschiedlichen zahlen automatische Grafiken zu erstellen? Also z.b. Stromverbrauch übers Jahr.

Gruß Marcus
 

CDPeter

Member
Licensed User
Longtime User
Hi Marcus,
lade dir doch einfach mal B4a runter und teste es, dann kannst du auch den direkten Vergleich mit Autohotkey ziehen. Wobei ich meine, das sich die Programme sowohl grundsätzlich vom Verwendungszweck als auch vom Handling unterscheiden, ich bin aber in AHK nicht firm. Wen du bereit bist dich in die Befehlssyntax von B4a einzuarbeiten, kannst du damit tolle Apps für Android-Geräte erschaffen, ganz sicher auch Grafiken und Charts ...
LG von Peter
 

BMP

Banned
Habe ich doch schon ;-)

Allerdings sind gerade die für mich Interessanten Dinge (Slider über mehrere Bildschirme, Grafiken usw) wohl nur hier im Forum zu finden, wenn man die Version schon gekauft hat.

Die Syntax unterscheidet sich natürlich zu AHK aber das Grundgerüst scheint doch sehr ähnlich.
 

BMP

Banned
Bestimmt schon 1000mal gefragt aber ich habe es bei meiner Suche nicht gefunden.....

Wie erstelle ich aus der Applikation eine AKP Datei ???

Wenn ich das ganze Compiliere funktioniert es auf dem Handy. Aber wie komme ich an die AKP zur weitergabe ??
 

klaus

Expert
Licensed User
Longtime User
Du findest die apk Datei im Objects Ordner des Projektes.
Wenn Du dort eine Datei mit _DEBUG.apk am Ende siehst, musst du das Projekt noch mal kompilieren, aber vorher im IDE menu Project , Include Debug Information und Attach debugger 'unchecken', damit die Debuginformationen nicht in die apk Datei eingebunden werden.

Beste Grüsse.
 

BMP

Banned
Nächste frage:

Ich will einen Button machen, der das aktuelle Datum als Beschriftung hat.
Ist das überhaupt möglich ?
 

BMP

Banned
Auch auf die Gefahr hin das ich euch auf den Nerv gehe:

Ich möchte vom User eingegebene Daten speichern,
es sollen drei Zahlenreihen und ein Datum gespeichert werden.

Würdet Ihr das mit SQL oder als File anlegen ?

Ich habe es als SQL Versucht bekomme aber immer die Fehlermeldung das er die DB nicht öffen kann. Und das obwohl ich Ihm gesagt habe er soll die anlegen:

B4X:
Sub Activity_Create(FirstTime As Boolean)
   If FirstTime Then
      SQL.Initialize(File, "Datenbank.db", True)
   End If
 

klaus

Expert
Licensed User
Longtime User
SQL oder Datei kommt darauf an wie viele Daten Du hast und was Du damit machen willst.
Für viele Daten und wenn Du diese teilweise laden oder filtern willst ist SQL die Lösung.
Wenn es aber nur wenige Daten sind wie zum Beispiel Setupdaten oder ähnlich speichere Ich diese in Dateien.

Du findest ein SQLite Beispiel im Beginner's Guide.

Beste Grüsse.
 

BMP

Banned
Sind eigentlich nur wenige Daten.
Will mir zum lernen eine APP Bauen auf der ich meine Zählerstände notiere.
Also GAS, WASSER, STROM und Ablesedatum.
Erst mal will ich die nur Notieren und speichern. Der nächste Schritt soll dann Grafiken sein und Auswertungen.
 

psciga

Active Member
Licensed User
Longtime User
Kommt drauf an, was Du mit den Daten dann weiter machen möchtest. Ich lese täglich ab, da kommt mit den Jahren erstens einiges zusammen. Übrigens nehme ich auch noch die Außentemperatur mit auf (24 Stunden Mittelwert). Zweitens steht die Frage, ob Du die Informationen analysieren möchtest. Wenn Ja, würde ich zu einer DB raten.

Viele Grüße - Peter
 

BMP

Banned
Jups habe mich jetzt auch für die DB entschieden.
Das mit dem File hatte auch nicht geklappt, daraufhin habe ich dann erst bemerkt, das in meinem Manifest das schreiben auf SD noch deaktiviert war

Jetzt hänge ich aber bei der DB fest:
Wenn ich was anderes wie Zahlen in die Tabelle reinschreibe bekomme ich diesen Fehler:

android.database.sqlite.SQLiteException: unrecognized token: "3f": INSERT INTO table1 VALUES(12/06/2011,3f,3,3)

B4X:
Sub CreateTables
SQL1.ExecNonQuery("DROP TABLE IF EXISTS table1")
SQL1.ExecNonQuery("CREATE TABLE table1 (col1 TEXT, col2 TEXT,col3 TEXT, col4 TEXT)")
End Sub

Sub FillSimpleData
SQL1.ExecNonQuery("INSERT INTO table1 VALUES(" & Date(now) & "," & GasVerbrauch.Text & "," & StromVerbrauch.Text & ","& WasserVerbrauch.Text & ")")
ToastMessageShow(CRLF&"Datum: "& DatumT.Text &CRLF&" Gas: "& GasVerbrauch.Text &CRLF&" Strom: "& StromVerbrauch.Text &CRLF&" Wasser: "& WasserVerbrauch.Text,True)
End Sub
 
Last edited:

klaus

Expert
Licensed User
Longtime User
Was ist Date(now) ?
Was hast Du in GasVerbrauch.Text eingegeben ?
Versuche mal folgendes:
B4X:
SQL1.ExecNonQuery("INSERT INTO table1 VALUES('" & Date(now) & "','"  & GasVerbrauch.Text & "','" & StromVerbrauch.Text &  "','"& WasserVerbrauch.Text & '")")
Texte müssen zwischen ' ' sein.
Beste Grüsse.
 

BMP

Banned
Dank dir Klaus,

das klappt.


Mit Date(now) wollte ich das aktuelle Datum einsetzten, wie du aber wohl schon vermutet hast, klappte das nicht.

Benutzte jetzt:

DateTime.DateFormat= "dd.MM.yyyy HH:mm:ss"
Dim t1 As Long
t1=DateTime.Now

Bekomme als Rückmeldung in der DB aber nur Zahlensalat (1323187253445).
Denke mal das sind die Sekunden seit xxx. Finde aber im Moment keine Hilfe in der Doku um das richtig zu Formatieren.
 

klaus

Expert
Licensed User
Longtime User
B4X:
Dim Datum as String
DateTime.DateFormat = "dd.MM.yyyy"
DateTime.TimeFormat = "HH:mm:ss"
Datum = DateTime.Date(DateTime.Now) & " " & DateTime.Time(DateTime.Now)
DateTime(Now) gibt Ticks zurück.
Ticks : Aktuelle Zeit, Anzahl der Millisekunden seit dem 1ten Januar 1970.

Die Dokumentation ist hier, und auf Deutsch .

Du hast zwei Möglichkeiten:
- das Datum und Zeit asl String zu speichern
- die Ticks zu speichern und für die Anzeige die Ticks umwandeln, ist universeller.

Beste Grüsse.
 

BMP

Banned
Kann ich die DB auch im Emulator dauerhaft speichern ??

Wenn ich mit meinem Handy probiere kann er die "alte" DB wieder laden.
Mit dem Emulator sieht es so aus, als wenn ich das Programm zum ersten mal lade.
 

klaus

Expert
Licensed User
Longtime User
Kann ich die DB auch im Emulator dauerhaft speichern ??
Ja.

Wie und wo hast Du die DB auf dem Handy gespeichert ?
Das gleiche muss auch auf dem Emulator gehen.
Ohne Deinen Code ist es unmöglich zu sagen was falsch ist.

Beste Grüsse.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…