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
Eine Tabelle (Tabellentools gibts ja viele für Android) sollte da schon ausreichen ^^
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?
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.
> 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. ;)
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.
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...
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!
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.
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 ^^
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
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 ...
Frank E. schrieb: > Look and Feel ist vergleichbar mit der Arduino-IDE Oh. Vor diesem Satz hatte ich noch Interesse ... ;)
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.
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.
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.
Das gute ist, daß Deine nächste App zur Whisky-, Käse- oder Apfelverkostung dann nur 2 bis 3 Stunden Arbeitsaufwand hat.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.