hallo,
Problemstellung:
C-Mensch mit keinerlei Android-Erfahrung - außer, dass ich mit dem
Smartphone telefonieren kann
Grundstück, bei dem ich wegen einer Photovoltaik-Anlage Quasi-Versorger
der elektrischen Anlage bin. Strom wurde bislang pauschal abgerechnet.
Soll jetzt nach Verbrauch auf die Mieter umgelegt werden.
Ich arbeite auf meinem PC an einem c#-Programm zur Auswertung einfacher
Datensätze.
- Zählernummer (ca. 20)
- Datum
- Zählerstand
Das könnte man jetzt auf Papier machen und später übertragen. Besser
wäre es allerdings, per App ins Smartphone eingeben und die gesammelten
Daten dann auf den PC übertragen.
Ich suche jetzt den Einstieg in meine erste smartphone-app. Wie
anfangen? Welches Programm?
danke für Unterstützung
Wie im anderen Thread gesagt, nimm eine Excel-Tabelle (oder das passende
Open-Document-Gegenstück).
Die kannst du auch zwischen Handys und mehreren PCs synchron halten, dir
schöne Graphiken über den Verbrauchsverlauf anzeigen lassen, Forecasts
berechnen lassen usw.
Bis deine Android-GUI soweit ist in 'ne Datenbank schreiben zu können
vergehen bei deinem Kenntnisstand Wochen.
Anmerkung: es ist sehr löblich sich in neue Themen einzuarbeiten, sei es
Programmieren, Datenbanken usw.
Das sollte man aber, so es im Privaten geschieht, aus Interesse tun, aus
Freude am Lernen.
Wenn ein konkretes, zeitkritisches Ziel Wunsch hinter der Einarbeitung
ist dann ist DIY denkbar schlecht weil Anfänger (mich bei gewissen
Themen eingeschlossen) dazu neigen die Aufwände um Faktor 10 aufwärts zu
unterschätzen.
Wenn du also nur eine Lösung für dein Zählerproblem suchst, nimm was
Fertiges.
Lass deine eigene App weg, nimm ein Google-Sheet für deine Berechnung.
Bastel mit Forms eine schöne Dateneingabe-Ansicht dazu.
https://docs.google.com/forms/
In 10 Minuten fertig.
Nachteil: die "Forms" sind nicht 100% offline-fähig, d.H. du brauchst
beim Zählerablesen Internet.
Hier ähnlich: C++-Mensch, Java mal vor langer Zeit im Studio gemacht,
Kotlin noch nie.
Aber der Einstieg in die Android-Programmierung ist sehr einfach und
sicher keine Sache von Wochen. Alleine schon weil du nicht wie in C
jeden Sch... selber machen musst:
Hier (https://developer.android.com/guide) von oben bis unten
durcharbeiten und gut ist.
Gruß und viel Spaß. Kotlin ist eine tolle Sprache!
grundschüler schrieb:> Ich suche jetzt den Einstieg in meine erste smartphone-app. Wie> anfangen? Welches Programm?
MIT App Inventor
Dann ist das "Hello World" in unter 5min fertig.
Der Rest ist ausprobieren und rantasten.
Master schrieb:> Hier (https://developer.android.com/guide) von oben bis unten> durcharbeiten und gut ist.
Leider Nein, merkt man aber erst in der Praxis.
Viele Beispiele und Dokumente funktionieren so nicht, weil Android
ständig verschlimmbessert wird und damit inkompatibel zum Beschriebenen.
Downloadbare Samples lassen sich mehrheitlich nicht mehr kompilieren
weil auf Rückwärtskompatibilität keinerlei Wert gelegt wurde
Wie es dann heute, mit der Version des SDK dass du installiert hast,
wirklich funktioniert, darfst du dann in Randnotizen zu Forenbeiträgen
oder selbst rausfinden.
Wobei die Betonung auf Heute liegt, morgen kann es schon wieder anders
als vorgestern sein, Scrum-Chaos sei Dank.
Android ist vollkommen runtergewirtschaftet.
Le X. schrieb:> Aber halt das erfolgreichste Betriebssystem.> So schlimm kanns also nicht sein.
Mir scheint, es erscheinen bei weitem nicht mehr so viele Apps wie zu
Beginn, und die meisten neuen Apps entstehen nur aus Trojanerbaukästen.
Weder die eBay-App, noch Aliexpress, noch Wish funktionieren ordentlich,
auch ein Zeichen, wie katastrophal die Entwicklungsbedingungen dort
sind.
Wer den Kunden erreichen will, baut besser eine WebSeite.
Michael B. schrieb:> Weder die eBay-App, noch Aliexpress, noch Wish funktionieren ordentlich,> auch ein Zeichen, wie katastrophal die Entwicklungsbedingungen dort> sind.
Bei Dir nicht. Das wundert mich nicht. Du warst immer schon anders als
Andere.
grundschüler schrieb:> Ich suche jetzt den Einstieg in meine erste smartphone-app. Wie> anfangen? Welches Programm?
Wenn du schnell zum Ziel kommen moechtest ohne viel Einlernarbeit dann
checke mal MIT App Inventor.
Innerhalb weniger Minuten hast du deine erste App geschrieben.
MIT bedient sich "Kaestchenbauweise".If-then-else etc. z.B. werden als
bunte Bloecke im Block (= Code)- Modus reingezogen.
Die Entwicklungsumgebung ist fuer Kinder und Fortgeschrittene
gleichermassen geeignet.
So wie die meisten vor noch nicht allzu langer Zeit ueber Arduino
hergezogen sind wird auch MIT's Vorgehensweise "muede" belaechelt
werden.Lass dich davon nicht beeinflussen.
App Inventor ist free - kostet nix und kannst gleich loslegen.
Im uebrigen schreibe ich gerade seit 2 Monaten an meiner ersten App
(eigentlich schon fertig aber staendig fallen mir noch zusaetzliche
Ideen ein....) - uCs werden langsam langweilig fuer mich und ich habe
keine Lust mehr rumzubasteln.Eine App kannst du auf Playstore hochladen
und auch anderen zur Verfuegung stellen.
https://appinventor.mit.edu/
Die Programmierung erfolgt live d.h. was du auf deinem Windowsrechner
machst siehst du auch gleich auf deinem Smarty.
iPhone wird auch unterstuetzt.
Es kommt jetzt auch darauf an, was der TO denn auch genau haben möchte.
Wie sollen die Daten bzw. Datei vom Smartphone auf PC übertragen
werden ? Da gibt es ja auch mehrere Möglichkeiten :
- Bluetooth ?
- WLAN ?
- per Explorer z.B. MyPhoneExplorer ?
- per sdCard ?
Bei Bluetooth habe ich schon die Erfahrung gemacht, daß es nicht
immer so richtig funktioniert (BLE). Das war ein teurer Tierchip-
Scanner (ca. 180 €) von meinem Bruder, der partout nicht mit dem
PC reden wollte. Da ging mein billiger BT-Scanner mit USB/BT-
Tastaturweiche besser. Auch konnte ich manche BT-Geräte, die am
PC waren, in meiner App nicht in der Auflistung sehen.
Je nachdem, hilft dann so ein einfacher App-Baukasten nicht weiter.
Zum 'Hello World', ein paar Buttons oder eine Liste oder Web-App
reicht das ja.
Wie oben schon erwähnt, wird Android mit zunehmenden Versionsnummern
immer rigoroser. Da ist z.B. der App - Ordner geschützt, sodaß man
an diesen wegen der Daten nicht mehr ran kann. Sogar der Download
Ordner ist betroffen. Da muß man schon sehr genau überlegen, wo man
die Daten / Datei ablegt, sodaß man von außen noch ran kann. Als
Datei muß man auch daran denken, daß die von Android aus UTF8-kodiert
ist. Bei bloßen Zahlen fällt das sicher nicht so ins Gewicht.
Weiterhin sollte er sich überlegen, wie die App aufgebaut sein sollte.
Soll da immer nur ein Datensatz pro Zählernummer vorhanden sein ?
Weiterhin könnte man die Zählernummern auch fest einprogrammieren.
Die ändern sich ja eigentlich nicht.
Also da gibt es doch noch einige offene Fragen, von denen man den
Einsatz des richtigen Entwicklungstools abhängig macht.
Heinz B. schrieb:> Je nachdem, hilft dann so ein einfacher App-Baukasten nicht weiter.
Dann schau dir halt mal App Inventor an......ist vollgestopft mit
Sensoren,Webviewer,Sensoren,Bluetooth etc....pdf-Downloads stehn zur
Verfuegung.
Auf YouTube ist nicht nur MIT vertreten sondern auch zig User die ihren
Code weitergeben.
Hinzu kommen noch Extensions: Es gibt viel zu tun - packt mal an.
Heinz B. schrieb:> Macht der auch native Apps oder nur so Unterbauzeugs (Kordowa) und> Webapps ?
Im Moment schreibe ich eine "normale" Android-App.Die Quelldatei
(*.aia)kann ich jederzeit(und mache ich auch staendig)in eine apk-Datei
konvertieren.Die apk-Datei kann ich ja dann sofort auf meinem Smartphone
installieren und dort unabhaengig von der Entwicklungsumgebung testen
und wenn alles paletti ist auch an Freunde weitergeben oder meine
Software gleich auf Playstore uploaden
Wie gesagt: ich bin selbst(noch ;-) ) Anfaenger ud will einfach nur eine
funktionierende App erstellen.Ich habe mich noch nicht mit Kordowa oder
sonstigem Zeug bechaeftigt.
Wer sich ueber den vollen Umfang der Entwicklungsumgebung informieren
will,findet genuegend Infos direkt auf der Webpage von MIT.
https://appinventor.mit.edu/explore/content/what-app-inventor.html
Ich kann wärmstens dieses Tutorial der Uni-Trier empfehlen:
Einführung in die Entwicklung von Apps für Android 8
https://www.uni-trier.de/fileadmin/urt/doku/android/android.pdf
Ich hatte eine ähnliche Ausgangssituation. Bin definitiv kein
Informatiker aber nach dem durcharbeiten konnte ich mir so manches Tool
für Android basteln. Man bekommt einen soliden Einstieg.
Danach kann man sich vorwärtsgoogeln, fast alles wurde schonmal bei
Stackoverflow durchgekaut.
Michael B. schrieb:> Wer den Kunden erreichen will, baut besser eine WebSeite.>>>> if (!have_newpost_anchor && (!topic_last_read_at ||> topic_last_read_at < 1670600019000)) {> document.write('<a name="new" id="new"></a>');> have_newpost_anchor = true;> }
Danke für die vielen Beiträge.
website wäre interessant. ich mach eine Website auf dem PC - stelle die
ins Netz - und vom Smartphone aus kann man dann eingeben? Habe vor
Jahren mal mit U.Radigs webserver gearbeitet. Das könnte gehen?
Aus Neugier - was bedeutet der versteckte code?
Ich nutze dafür Processing (https://processing.org/) im Android Mode.
Die Sprache ist meiner Meinung nach so ein Zwischending zwischen C und
Java. Ich habe damit hauptsächlich "technische" Apps für den Eigenbedarf
erstellt, auch mit NFC (Temperaturlogger mit ATMega ST25DV64KC auslesen,
siehe Bild) USB-OTG und Bluetooth / BLE. Wobei sich auch diverse
Java-Schnipsel aus dem Internet mit kleinen Änderungen weiterverwenden
lassen, was ich z.B. beim OTG, BLE und NFC machen musste.
Jörg
Toxic schrieb:> Wie gesagt: ich bin selbst(noch ;-) ) Anfaenger ud will einfach nur eine> funktionierende App erstellen.Ich habe mich noch nicht mit Kordowa oder> sonstigem Zeug bechaeftigt.
Also bist Du (noch?) ein Anfänger, arbeitest Dich in genau eine einzige
Software ein, kennst (noch?) keine andere und schreibst trotzdem vier(!)
Beiträge in diesem Thread, in denen Du diese Software empfiehlst? Sorry,
aber... ist das nicht ein bisschen überenthusiastisch? ;-)
grundschüler schrieb:> Michael B. schrieb:>> Wer den Kunden erreichen will, baut besser eine WebSeite.>> website wäre interessant. ich mach eine Website auf dem PC - stelle die> ins Netz - und vom Smartphone aus kann man dann eingeben? Habe vor> Jahren mal mit U.Radigs webserver gearbeitet. Das könnte gehen?
Ja, genau. So eine Webseite hat den charmanten Vorteil, daß Du sie nur
an genau einer einzigen Stelle pflegen mußt und jedes Gerät und System,
das einen Browser hat, die Seite benutzen kann. Insofern ist die Sache
recht einfach und plattformunabhängig, bis hierher.
Wenn Du die Seite allerdings ins Netz stellen möchtest, kommen zu dieser
Einfachheit allerdings ein paar sicherheitstechnische Erwägungen hinzu,
die dann nicht mehr ganz so einfach sind. Dazu hatten wir die Tage hier
[1] ein paar Erwägungen ausgeführt, die vielleicht auch für Dich
hilfreich sind.
Vermutlich ginge es auch mit Ulrich Radigs Webserver, der müßte Deine
Daten irgendwo hin speichern, idealerweise dauerhaft und so, daß Du auch
noch an die Daten heran kommst, wenn das Gerät womöglich ausfällt. Etwas
einfacher und weniger Arbeit dürfte es sein, das Ganze auf einem kleinen
Rechner wie etwa einem Raspberry Pi mit einem gebräuchlichen
Webframework zu machen. Auch in diesem Fall ist es natürlich wichtig,
regelmäßig ein Backup Deiner Daten zu machen.
[1] Beitrag "Sichere Serveranwendung für IoT schreiben"
Ich glaube, das kann er auch ganz einfach haben.
Wir haben 2019 vom Stromversorger so einen digitalen
Zähler bekommen. Ich nehme mal an, daß die neuen
Zähler bereits in allen Haushalten installiert sind.
Was mir aufgefallen ist : Die haben alle so einen
EAN-Code, der die Zählernummer repräsentiert, aufgeklebt.
Es gibt sogar noch einen QR-Code mit mehr Infos zusätzlich.
Wenn er ein halbwegs aktuelles Smartphone hat :
Einfach einen vorinstallierten Editor öffnen, EAN-Code scannen,
den dann von der Zwischenablage in den Editor kopieren, Datum und
Zählerstand mit Komma hinten dran schreiben und als Datei speichern.
Das macht er dann bei jedem Mieter so.
Schon hat er seine Datei mit den Werten. Die Datei auf den PC
schieben und fertig. Den Rest kann er dann mit seinem C# - Programm
erledigen.
Und das Gute daran ist : man kann sich bei der Eingabe der Zählernummer
nicht vertippen.
Ein T. schrieb:> Ja, genau. So eine Webseite hat den charmanten Vorteil [...]
und die weniger charmanten Nachteile dass er sich neben der
Appprogramierung auch noch in HTML (+CSS), server- und clientseitigem
Scripting (PHP/JS) sowie Datenbanken einarbeiten darf.
Und wenn er sich nicht selber um SQL-Injection usw. kümmern will noch in
die passenden Frameworks.
Achja, der Webserver und die Datenbank wollen installiert und gepflegt
werden. Bei Erreichbarkeit von außerhalb des eigenen Netzes kommen noch
die üblichen Security-Themen dazu.
Und mit irgendeinem Tool müssen die Daten ja wieder aus der Db
rausgeholt, aufbereitet und dargestellt werden.
Je nach Art der Aufbereitung riecht das nach GUI- und
Numerik-Frameworks.
Wirklich, ich bin ein großer Freund davon sich mit was Neuem zu
beschäftigen. Aber, je nach Kenntnisstand des TE halte ich das doch für
ein etwas großes Feld das es zu bearbeiten ging.
Aber er hat ja keine Aussage gemacht bis wann die Zählerstanderfassung
laufen soll. Wenn 2030 reicht kann er natürlich auch darüber nachdenken,
sich sein eigenes Framework oder gar gleich die passende
Programmiersprache zu basteln. Lernen tut er dabei bestimmt was.
@ TE: halte uns doch bitte auf dem Laufenden wie du das Problem löst.
Habe dem TO mal was kleines in B4A als .APK gemacht :
Daten werden als SQLLite DB gespeichert.
Zaehler.db (SQLLITE)
SQL1.ExecNonQuery("CREATE TABLE Zähler (ZählerNummer TEXT , Datum TEXT,
ZählerStand INTEGER)")
Ist abgelegt im internen Speicher :
Android\data\b4a.strom\files\zaehler.db
Geht auch mit einer Scanner-App auf dem Smartphone (Text kopieren) oder
halt von Hand eintippen, was die Zählernummer betrifft.
Evtl. reicht ihm das ja schon.
Le X. schrieb:> Ein T. schrieb:>> Ja, genau. So eine Webseite hat den charmanten Vorteil [...]>> und die weniger charmanten Nachteile dass er sich neben der> Appprogramierung auch noch in HTML (+CSS), server- und clientseitigem> Scripting (PHP/JS) sowie Datenbanken einarbeiten darf.> Und wenn er sich nicht selber um SQL-Injection usw. kümmern will noch in> die passenden Frameworks.> Achja, der Webserver und die Datenbank wollen installiert und gepflegt> werden. Bei Erreichbarkeit von außerhalb des eigenen Netzes kommen noch> die üblichen Security-Themen dazu.> Und mit irgendeinem Tool müssen die Daten ja wieder aus der Db> rausgeholt, aufbereitet und dargestellt werden.> Je nach Art der Aufbereitung riecht das nach GUI- und> Numerik-Frameworks.
Aus dem Eröffnungsbeitrag hatte ich lediglich mitgenommen, daß der TO
schon ein wenig Entwicklungserfahrung hat. Aber ich freue mich, daß Du
über die Kenntnisse des TO so viel besser Bescheid weißt als ich. Was
ich allerdings nicht nachvollziehen kann, ist, daß Dir die Einarbeitung
in die Entwicklung einer einfachen Website schwieriger erscheint als
eine Einarbeitung in die Enwicklung von nativen Android-Apps. Zumal das,
was der TO machen möchte, in diesem Fall sicherlich am Einfachsten mit
einer "Progressive Web App" (PWA) realisiert würde und das "W" wie "Web"
in diesem Falle bedeutet, daß er sich ohnehin in die entsprechenden
Webtechnologien einarbeiten müßte. Wobei in dem Fall natürlich noch ein
paar weitere Dinge zu bedenken sind, beispielsweise Backups.
Zur Vermeidung von SQL-Injections reicht es im Übrigen in mir bekannten
Sprachen, die Möglichkeiten zu nutzen, die der betreffende SQL-Treiber
mitbringt -- oder er verwendet womöglich gleich eine NoSQL-Datenbank wie
OpenSearch, dazu gibt es ein schickes Webfrontend zur
Datenvisualisierung, und SQL-Injections sind dabei natürlich gar kein
Thema.
Aber klar, es kommt auf den TO und seine Vorkenntnisse an, was der
einfachste Weg ist -- und ob er lieber den einfachsten Weg wählen oder
etwas mehr als das Minimum lernen will. Andererseits sind wir -- bitte
korrigiere mich, wenn ich falsch liege -- in einem Forum für Bastler und
andere Technikenthusiasten, denen ich ganz grundsätzlich ein Bedürfnis
zum Dazulernen unterstellen wollen würde.
Ein T. schrieb:> Was> ich allerdings nicht nachvollziehen kann, ist, daß Dir die Einarbeitung> in die Entwicklung einer einfachen Website schwieriger erscheint als> eine Einarbeitung in die Enwicklung von nativen Android-Apps.
Mitnichten tut es dies.
Wie gesagt, abhängig von Dringlichkeit der Aufgabenstellung und abhängig
wie die Daten aufbeeitet werden sollen und wie professionell das sein
soll würd ichs mit ner Excel-Tabelle machen. Notfalls syncronisiert über
irgendne Cloud.
Kommt halt drauf an ob er nur ne schnelle Lösung sucht damit er seine
ABrechnungen machen kann und sonst nie wieder was entwickeln will.
Ein T. schrieb:> Andererseits sind wir -- bitte> korrigiere mich, wenn ich falsch liege -- in einem Forum für Bastler und> andere Technikenthusiasten, denen ich ganz grundsätzlich ein Bedürfnis> zum Dazulernen unterstellen wollen würde.
Was Lernen ist immer gut.
Es freut mich dass du dich meiner Meinung anschließt.
Le X. schrieb:> Wirklich, ich bin ein großer Freund davon sich mit was Neuem zu> beschäftigen.> [...]> Wenn 2030 reicht kann er natürlich auch darüber nachdenken,> sich sein eigenes Framework oder gar gleich die passende> Programmiersprache zu basteln. Lernen tut er dabei bestimmt was.