Forum: PC-Programmierung App-Programmierung Weintest


von Thorben (Gast)


Lesenswert?

Hi,

ich und ein paar Kumpels testen leidenschaftlich gerne Wein. Darum hatte 
ich mir überlegt, um auf Papier und Stift zu verzichten, dafür eine App 
für Android zu programmieren. Es soll praktisch einfach ein neuer Test 
angelegt werden können, dort wiederrum verschiedene Weine angelegt 
werden, die eine Bewertung ("Note"), eine Beschreibung ("Textfeld") und 
eine Markenvermutung ("Auswahl aus Dropdown-Menü mit allen verfügbaren 
Marken") besitzen. Das ganze soll dann beim beenden als einfach zu 
bearbeitendes Output File (am besten txt) exportiert werden können.

Ich will natürlich nicht, dass man mir jetzt vorkaut wie ich das 
umsetze. Aber es wäre schön, wenn jemand abschätzen könnte mit viel 
Zeitaufwand das ganze verbunden wäre. Davon hängt es auch ab, ob ich es 
tatsächlich mache!

Ausgangslage ist, dass ich nicht der allzu leidenschaftliche 
Programmierer bin. Java kann ich nur aus dem 1. Semester Uni und etwas 
tiefer bin ich nur in der C-Programmierung drin. Vielen Dank schonmal! 
Wie gesagt, geht nur um ne grobe Abschätzung des Zeitaufwandes.

Thorben

: Verschoben durch Moderator
von cp (Gast)


Lesenswert?

Eine Tabelle (Tabellentools gibts ja viele für Android) sollte da schon 
ausreichen ^^

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thorben schrieb:
> Wie gesagt, geht nur um ne grobe Abschätzung des Zeitaufwandes.

Der aber hängt extrem vom Vorwissen des Entwicklers ab. Wenn der noch 
nie eine Android-App entwickelt hat, sieht der Zeitbedarf komplett 
anders aus als bei jemanden, der das schon häufiger gemacht hat.

Dazu kommt, daß unterschiedliche Menschen unterschiedlich schnell lernen 
und unterschiedlich schnell arbeiten.

Damit lässt sich Deine Frage hochpräzise mit "zwischen 'ner Stunde und 
zwei Monaten" beantworten, was Dich ziemlich sicher nicht weiterbringt, 
oder?

von lalala (Gast)


Lesenswert?

Thorben schrieb:
> Es soll praktisch einfach ein neuer Test
> angelegt werden können

In der App auf dem Handy? D.h. alles läuft auf einem Handy, und Du hast 
keine Handy-Handy oder Handy-Server Kommunikation?

Dann brauchst Du so 6-12 Stunden nachdem Android SDK bei Dir läuft und 
Du eine erste Testapp geschrieben, kompiliert und installiert hast.

von dunno.. (Gast)


Lesenswert?

> Dann brauchst Du so 6-12 Stunden nachdem Android SDK bei Dir läuft und
> Du eine erste Testapp geschrieben, kompiliert und installiert hast.

Also in Summe: Rechne 1 - 2 Wochen a 8 Stunden. ;)

von Thomas F. (thorbenius)


Lesenswert?

Vielen Dank schonmal für die Antworten!

Erfahrungen sind wie gesagt va hardwarenahe Programmierung und halt im 
1. Semester Java, was aber schon 5 Jahre zurückliegt.

Das mit den Tabellentools werde ich mal ausprobieren!

Server oder sowas gibts nicht, wirklich nur mehrere Handys die 
unabhängig voneinander laufen.
Denke auch, dass die Einrichtung natürlich auch immer recht viel Zeit 
frisst.

von Joachim S. (oyo)


Lesenswert?

Ich persönlich würde das ja eher anders lösen:
Nicht als native Smartphone-App, sondern als Web-App, die letztlich auf 
irgendeinem Webserver läuft.

Zum einen macht es dann keinerlei Unterschied, was für ein Smartphone Du 
und Deine Kumpels benutzen; wenn sich einer von euch dann z.B. 
irgendwann ein iPhone oder ein Windows-Phone besorgen würde, wäre er 
nicht ausgeschlossen.

Und viel interessanter ist es doch auch, wenn alle eure Bewertungen in 
einer zentralen Stelle gespeichert werden, wo sie dann automatisch 
zusammengefasst oder verglichen werden können, statt dass jeder von euch 
nur seine eigenen Bewertungen in einer isolierten Datenbank auf seinem 
eigenen Handy gespeichert hat, von wo aus sie dann erst kompliziert 
exportiert werden müssen etc.

Eine native Smartphone-App hingegen ist nicht nur aufwändiger 
umzusetzen, sondern bietet meiner Meinung nach in diesem konkreten Fall 
auch nur einen einzigen Vorteil: man benötigt keinen zentralen Server. 
Aber ein bisschen Webspace mit PHP-Unterstützung oder so kriegt man 
heutzutage ja eh hinterhergeschmissen...

von Thomas F. (thorbenius)


Lesenswert?

Denke die Lösung mit der Android App ist für unseren Zweck geeigneter!
Zum einem macht die Auswertung immer die selbe Person, zum anderen ist 
die Idee des Programms, dass es eine Funktion gibt, wo die exportierten 
Daten dann per E-Mail an den Auswerter geschickt werden!
Des Weiteren ist es einfach so, dass ich gerne mein Wissen in Java oder 
generell im objektorientierten Bereich mal wieder auffrischen wollte, 
daher schadet das sicher nicht!

Danke für die Anregugn!

von Joachim S. (oyo)


Lesenswert?

Thorsten F. schrieb:
> Denke die Lösung mit der Android App ist für unseren Zweck geeigneter!
> Zum einem macht die Auswertung immer die selbe Person, zum anderen ist
> die Idee des Programms, dass es eine Funktion gibt, wo die exportierten
> Daten dann per E-Mail an den Auswerter geschickt werden!

Was genau daran geeigneter sein soll, erschliesst sich mir jetzt nicht 
ganz: Im Gegensatz zu einer Lösung mit einem zentralen Server, bei dem 
all das ganz automatisch geschieht, ist das doch offensichtlich deutlich 
umständlicher und aufwändiger?

> Des Weiteren ist es einfach so, dass ich gerne mein Wissen in Java oder
> generell im objektorientierten Bereich mal wieder auffrischen wollte,
> daher schadet das sicher nicht!

Das wiederum ist ein Argument, das ich sofort einsehe. Wenn es Dir bei 
der ganzen Geschichte zum grossen Teil auch einfach darum geht, mal 
Deine Java-Kenntnisse ein wenig aufzufrischen und eine native 
Smartphone-App zu entwickeln, dann ist das halt so.

Zur Aufwandsschätzung: Das hängt wirklich ganz stark von Deinen 
Programmierkenntnissen ab. Wenn Du was Java-Programmierung betrifft noch 
eher Anfänger, und was Android-Programmierung betrifft sogar kompletter 
Anfänger bist, dann erscheint mir die obige Schätzung von 6-12 Stunden 
tendenziell zu wenig.

Vielleicht mal als kleiner Richtwert: Ich habe gerade ein Angebot für 
etwas ganz Ähnliches abgegeben - wo es ebenfalls darum geht, dass eine 
Gruppe von Personen Getränke verkosten und dann über den Touchscreen 
eines Smartphones oder Tablets bewerten soll, und am Ende wird das Ganze 
dann ausgewertet. Da habe ich als Aufwandsschätzung für die reine 
Software-Entwicklung 20 Stunden angegeben. Allerdings habe ich da mit 
der verwendeten Softwareplattform vermutlich mehr Erfahrung als Du 
bislang offenbar mit dem Android-SDK, ich würde Deinen Zeitaufwand 
tendenziell also eher höher einschätzen.

von Thomas F. (thorbenius)


Lesenswert?

Joachim S. schrieb:
> Vielleicht mal als kleiner Richtwert: Ich habe gerade ein Angebot für
> etwas ganz Ähnliches abgegeben - wo es ebenfalls darum geht, dass eine
> Gruppe von Personen Getränke verkosten und dann über den Touchscreen
> eines Smartphones oder Tablets bewerten soll, und am Ende wird das Ganze
> dann ausgewertet. Da habe ich als Aufwandsschätzung für die reine
> Software-Entwicklung 20 Stunden angegeben. Allerdings habe ich da mit
> der verwendeten Softwareplattform vermutlich mehr Erfahrung als Du
> bislang offenbar mit dem Android-SDK, ich würde Deinen Zeitaufwand
> tendenziell also eher höher einschätzen.


Ja, das hatte ich mir schon gedacht, dass dies sehr optimistisch 
geschätzt ist. Wenn ich abzüglich Einrichtung auf 50 Std hinkomme, wäre 
ich schon sehr zufrieden.
Okay, dann bin ich wenig nicht der einzige mit diesen exotischen 
App-Wunsch ^^

von Herr M. (herrmueller)


Lesenswert?

Hallo Thomas,

wenn es Dir in der Haupsache um die fertige App geht und nicht um die 
professionelle Erstellung mit Java, könntest Du Dir auch mal den App 
Inventor 2 vom MIT anschauen.
http://ai2.appinventor.mit.edu/

Das ist ein online im Webbrowser laufendes Programm (google konto), mit 
dem man recht einfach Android Apps erstellen kann. Für Deine Anwendung 
wäre es weit mehr als ausreichend und die Einarbeitung geht ziemlich 
schnell. Die Befehle sind 'Puzzleteilchen', die mit der Maus 
zusammengeschoben werden. Das klingt zwar nach Kinderspielzeug, aber es 
lassen sich doch auch grössere, vernünftige Apps erstellen. Das Handy 
kann über Wlan verbunden werden, und jeder Programmteil wird direkt in 
Echtzeit auf dem Handy ausgeführt und angezeigt.

Also ein paar Textfelder, Buttons und scrollbare Auswahlliste (ist schon 
vorhanden, muss nur befüllt werden(könnte auch aus einer txt Datei vom 
Handy gelesen werden)) und die Eingaben in eine Variablen-Liste, die 
dann als txt Datei in den Handy Speicher gespeichert wird, oder auch 
direkt aus der App ge-Emailed wird, sind ohne Probleme machbar. Durch 
die Echtzeit Anzeige kann man jeden Befehl sofort testen und man lernt 
direkt beim Programmieren. Nach meiner Erfahrung braucht man ca 70% der 
Zeit für das Bildschirm-Layout und 30% zum programmieren.

kannst ja mal nach app inventor 2 googeln oder youtuben

gruss
herrmmueller

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Schau' dir mal "Processing" an. Das ist eine Open Source-IDE für C++, 
die ist selber in Java realisert, läuft auf Mac, Win-PC und unter Linux.

Es gibt dafür auch ein Android-"Compiler"-Tool, da kommt dann hinten 
eine APK-Datei 'raus, die direkt auf dem Handy installiert werden kann. 
Für die GUI verwendet man die Lib "G4P", die man in der IDE runterladen 
und installieren kann.

Ich benutze das Tool immer für meine Kurse "Grundlagen der 
Programmierung" und kann damit meinen Teilnehmern recht schnell 
Anfangserfolge beschreren.

Als Einstieg dazu macht sich das Buch von Bartmann "Processing" recht 
gut. Der spätere Übergang zu Java ist wegen der großen Verwandschaft 
recht einfach, die Einsteigshürden liegen m.E. aber deutlich niedriger.

Look and Feel ist vergleichbar mit der Arduino-IDE, die beide auch 
irgendwie verwandt sind ...

von Freddy Krueger (Gast)


Lesenswert?

Frank E. schrieb:
> Look and Feel ist vergleichbar mit der Arduino-IDE

Oh. Vor diesem Satz hatte ich noch Interesse ... ;)

von Dussel (Gast)


Lesenswert?

Thomas F. schrieb:
> Wenn ich abzüglich Einrichtung auf 50 Std hinkomme, wäre
> ich schon sehr zufrieden.
An die Größenordnung habe ich auch gedacht.

von someone (Gast)


Lesenswert?

Eine sehr schwierige Frage.
Ich könnte so ein Programm in 1-2 Stunden entwickeln, aber das wird dir 
natürlich niemand so machen, da man sich nicht unter Wert verkaufen 
will. Außerdem dauert es immer deutlich länger, wenn man für jemanden 
entwickelt, der nicht man selbst ist. Dir sind deine Anforderungen und 
Testszenarien genau klar, eine dritte Person muss die erst mühsam 
erarbeiten.

Von der Sache her ist es relativ einfach, die größte Schwierigkeit sehe 
ich bei dem Dropdown. Hier würde ich, wenn ich dir die Anwendung 
entwickeln würde, erstmal nachfragen, wieviele Marken es denn gibt und 
dann ggf. eine Lösung vorschlagen, die besser benutzbar ist, z.B. 
irgendwas mit einer Suchfunktion oder Auto-Vervollständigung. Das 
einfach auswertbare Format müsste auch erstmal definiert werden. Wie 
sollen die Daten nachher ausgewertet werden und wie baut man sich das 
Format so, dass du das auch geschickt umsetzen kannst? Bis man das alles 
durchdiskutiert hat, vergeht schnell mal eine Stunde.

Einem Android-Anfänger, der aber objektorientiert mit Java programmieren 
kann, würde ich so ein Programm als Übungsaufgabe für einige Wochen 
vorsetzen. Letztendlich ist es eher einfach, aber man braucht natürlich 
schon ein wenig Zeit. Die 50 Stunden sind also gar nicht so schlecht 
geschätzt, je nachdem, wie gut du objektorientiert denken kannst.

von lalala (Gast)


Lesenswert?

lalala schrieb:
> Dann brauchst Du so 6-12 Stunden nachdem Android SDK bei Dir läuft und
> Du eine erste Testapp geschrieben, kompiliert und installiert hast.
Hatte ich zwar geschrieben. Aber das
Thomas F. schrieb:
> Daten dann per E-Mail
ist meiner Meinung nach eine neue Zusatzanforderung. Speichern einer 
Datei (Originalanforderung) ist um längen einfacher.

Ich verdopple mal die Schätzung auf 24h. Und da bestimmt noch eine Menge 
andere versteckte Zusatzanforderungen kommen, gleich nochmal.

von Fred (Gast)


Lesenswert?

Das gute ist, daß Deine nächste App zur Whisky-, Käse- oder 
Apfelverkostung dann nur 2 bis 3 Stunden Arbeitsaufwand hat.

von Andreas Rückert (Gast)


Lesenswert?

Mit

https://cordova.apache.org/

kannst Du quasi eine Website als App laufen lassen.

von Joh (Gast)


Lesenswert?

Also Android-Apps zu schreiben ist eigentlich kein Problem wenn man ein 
wenig Java kann. Schließlich gibt es auch viele vorgefertigte 
Code-Schnipsel im Netz, die für den Anfang m.M. nach unverzichtbar sind.

Solange es nur auf einem/zwei Smartphone(s) laufen soll würde ich 
persönlich das Ganze lokal auf dem Gerät machen und keine 
Serverkommunikation bzw. Web-App dafür hernehmen.
Für eine Web-App braucht man immer mobiles Datennetz, was in diversen 
Weinkellern aufgrund des nicht verfügbaren Netzes vermutlich nicht 
verfügbar sein wird ;-)

Klicke dir ein Formular zusammen (Android Studio) und nutze für die 
Archivierung der Daten eine Datenbank. Ich kann dir dafür SQLite 
empfehlen.
Sie hat den annäherenden Funktionsumfang einer mySQL-DB und ist 
"relativ" einfach zu nutzen.
Aus einem reinen Textfile zu lesen, nun, daran bin ich auch schon für 
eine ach so triviale App gescheitert, weshalb ich dann auch bei SQLite 
gelandet bin.

Kleiner Tipp:
Starte schon heute den Android-Emulator, damit du morgen dein erstes 
Hello-World-Äppchen emulieren kannst ;-)

Viel Erfolg!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.