Verschiedene Fragen zur Umsetzung meines ersten Projekts

  • Hallo Leute,


    ich befasse mich seit etwa einer Woche mit der Android-Entwicklung und bin total begeistert.
    Mit den Grundlagen bin ich soweit durch.
    Ich habe mir zum Ziel eine Anwendung gesetzt, die ich eigl nur privat im engen Freundeskreis nutzen möchte.


    Es geht dabei um eine Art "Walkie-Talkie"-Anwendung.


    Mein theoretisches Konzept ist:


    1. App nach der Installation das erste mal starten
    1.1 Man registriert sich mit seiner Handynummer
    1.1.1 Die Information wird in einer MySQL-Datenbank gespeichert.
    1.1.2 Es wird auf dem Handy in einer Datenbank ein Eintrag gesetzt, dass man nun registriert ist.
    1.2 Beim nächsten Starten überspringt man den Login und ist eingeloggt


    2.Man hat die Möglichkeit, sein Telefonbuch zu durchsuchen und dieses mit der MySQL-Datenbank abzugleichen um so quasi User zu finden


    3. man wählt einen User aus
    3.1 man hält einen Button gedrückt und währenddessen wird eine Ton-Aufnahme gestartet.
    3.1.1 beim Loslassen des Buttons wird die Aufnahme beendet
    3.1.2 die Aufnahme wird an den ausgewählten User gesendet
    3.1.3 der Sendestatus wird angezeigt


    4. man kann Meldungen empfangen


    Soweit so gut.
    Nur fehlt mir nun so ziemlich alles, was ich dazu brauche.


    Was ich denke, noch hin zu bekommen, ist die Registrierung, doch da hört es auf.


    Ich hoffe, ich werde hierduch näher herangeführt und ihr helft mir weiter.


    Liebe Grüße
    Phil

  • ich glaube du hast dir da ein wenig zuviel vorgenommen...


    ich würde dir empfehlen es erstmal klein anzugehen...


    ich nehme oft tutorials irgendwo vom netz, versuche danach aufzubauen, es abzuändern und mit kleinigkeiten zu erweitern...

  • Du wirst benötigen:
    Mikrofon-Kontrolle und evt. Kompremierungsfunktionen
    Benachrichtigungs-Kontrolle
    Internet-Abfragen für die Datenbank
    Und und und


    Geh einfach Schritt für Schritt vor.
    Also mach erst die Registrierung dann alles folgende.
    So würde ich es jedenfalls machen.


    P.s.: Ansprechendes Design sollte immer ein hohes Ziel sein. Sonst haben Nutzer keine Lust die App zu nutzen.

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Hi philvorwaerts,


    ich kann mich Kogoro nur anschließen geh einfach Schritt für Schritt vor.


    Aber ich hätte da noch ne Frage weil ich versteh diesen part irgendwie nicht:

    Zitat

    3.1.2 die Aufnahme wird an den ausgewählten User gesendet


    Soll das heißen ich nehme mein Gesprochenes auf und schicke(wie soll das schicken funktionieren?) es meinen Freunden. Die können sich das an hören und mir antworten.


    Wäre da nicht normales telefonieren schneller, einfacher und kostengünstiger.


    Oder versteh ich einfach was falsch?


    mfg TItus

  • Das Thema Sicherheit darf man nicht vergessen.....!


    Zitat

    Es wird auf dem Handy in einer Datenbank ein Eintrag gesetzt, dass man nun registriert ist.


    Eine Information auf dem Handy zu speichern und dann Daten vom Server abzurufen und davon auszugehen das die Telefondaten korrekt sind ist recht gefährlich.
    Datenbankeinträge oder andere Daten auf externen Geräten können immer manipuliert werden.


    Hier sollte definitiv ein Schlüssel auf dem Handy hinterlegt werden (Zeichenfolge) und bei jedem Datenabruf auf dem Server kontrolliert werden. Dieses Schlüssel sollte auch regelmäßig geändert werden. Ähnlich wie eine Session bei PHP.......

  • hallo,


    erstmal vielen dank, für die schnellen antworten.


    ich will nicht sagen, ich habe mir zu viel vorgenommen, sondern einfach eine große sache. wenn die umsetzung ein halbes jahr dauert, dann ist es eben ein langfristiges projekt.


    in meinem interesse wäre es, das projekt hier gemeinsam auszuarbeiten. ich würde mich dann später daran machen, es als großes community-tutorial auszuarbeiten und bereitzustellen.


    sachen wie sicherheit und design stelle ich erstmal ganz in den hintergrund, da dies ja, wie gesagt, kein komerzielles projekt sein soll, sondern für den privaten gebrauch.
    als designer fällt es mir recht schwer, die app nicht optisch ansprechend zu gestalten, jedoch ist es denke ich mal schon eine gute überlegung wert, gerade in der fertigstellungsphase (wann auch immer diese sein mag haha) sich über die sicherheit gedanken zu machen.

  • Also wir werden dir sicher helfen soviel wir können.
    Nur grade über Sicherheit und auch Design solltest du dir jetzt schon Gedanken machen, da du sonst zu viel Arbeit hast, alles umzuschreiben. Das hab ich aus meinen Projekten gelernt. Plane lieber vorher als nachher...

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Da kann ich Kogoro nur deutlich zustimmen. Die Planung ist der wichtigste Bestandteil der Softwareentwicklung und wird dich vor unerwarteten Fehlern beim Entwicklung und Architekturproblemen bewahren. Die Planung sollte auch nicht zu kurz kommen, eher mehr Planung, als letzendliche Entwicklung. Es gibt da verschiedene Ansätze, aber ich finde das Entwickeln by Design und Screen sehr gut. Man weiß und kennt das Design also schon im Vorraus und implementiert dann die Funktionalität.

  • dann ist ja der erste Sicherheitsschritt die Anmeldung so sicher wie möglich zu gestalten.
    D.h. beim Senden der Registrierungsdaten müssen diese verschlüsselt an den MySQL-Server übergeben werden.


    Dass nach diesem Schritt etwas auf dem Handy gespeichert wird, ist nur eine simple Überlegung. Ich möchte nur in keinem Fall, dass man sich jemals wieder neu registrieren muss. Es soll quasi so sein, wie bei der allbekannten App "Whatsapp".
    Dort gibt man zu Anfang einmal seine Handynr. und das war es. Danach ist man für immer eingeloggt.

  • Eine Verschlüsselung Plus einem Hash sollte genügen.
    Eine Art Session, wie es bereits gesagt worden ist, wäre wohl die beste Möglichkeit.


    Eine einfache Speicherung von der Anmeldung (eine 1 wird reichen)
    Und dann bei Versand immer eine Art Anmeldung durchführen.
    Auch müsste nach deinem Prinzip der Client immer online sein.
    Daher würde ich eine Zwischenspeicherung einrichten. ;)

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Ich schätze eine kleine API wäre wohl das Beste dafür.
    So kannst du Änderungen leichter auf dem Server machen ohne die App zu ändern ;)

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Eine PHP-Seite, die du abfragen kannst alla "http://deinServer.de/api.php?user='1'"
    Damit vereinfachst du also die Abfragen ;)
    Wikipedia

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Ja So kann man das nennen.
    Du übergibst der Datei deine Daten und sie verarbeitet es dann.

    MfG,
    Christopher


    Eine gewisses Maß an Freundlichkeit kann man auch von Menschen im Internet erwarten.
    Das Forum basiert komplett auf der Freiwilligkeit ihrer Nutzer und diese sollen sich wohlfühlen! Daher seid bitte freundlich. Danke

  • Hallo philvorwaerts,


    die Idee selbst ist gut, dennoch glaube ich nicht das, das alles gut funktionieren wird, "Whats App" hat auch die Funktion Sprachnachrichten zu senden, dennoch verwende ich sie NIE, weil es über das Handynetz mir zulangsam geht und das viel Datenvolumen verbraucht. Wenn du das Walki-Taki nur über eine WLAN-verbindung verwenden willst, dann kann ich mir vorstellen das es gut gehen wird.


    gruß


    JKING

  • es gibt die App 'Heytell'.
    das ist so ziemlich genau das, was ich eigtl machen möchte.
    Das senden auch von großen Sprachaufnahmen funktioniert dort sehr schnell.


    Ich finde bei meiner Suche eine Regestrierung, bzw speichern von Daten in Datenbank extrem viele Anleitung, die alle sehr unterschiedlich sind.
    Ich bin mehr oder weniger nun ziemlich überfordert.

  • Also eine direkte Verbindung zu einer Datenbank eines Webhosters wird meist nicht möglich sein. Diese sperren den Zugriff auf die Datenbanken und lassen nur interne Zugriffe von ihren Webscripten zu. Sicherheitsgründe!


    Daher brauchst du ein PHP-Script was Dir die Daten aus der Datenbank holt und dir entsprechend zusammen stellt z.B. als XML-File oder JSON-Objekt.
    Ich denke XML ist da etwas einfacher weil man die Ausgaben besser lesen kann zur Fehlersuche......


    Diese Datei kannst du dann per URL wie auch mit dem Browser aufrufen und in deinem Java-Quelltext durchforsten und auswerten.......


    Für die Datenhaltung auf dem Handy gibt es ja von Android bereits eine Datenbank frei Haus. SQLite nennt sich diese....
    Damit kannst du dann die Daten der XML-Datei auf dem Handy speichern......

  • Danke colt, für die Antwort.
    Ich habe bereits ein script:

    PHP
    <?phpmysql_connect("localhost","user","pass");mysql_select_db("db_name"); $q=mysql_query("SELECT * FROM table");while($e=mysql_fetch_assoc($q)) $output[]=$e; print(json_encode($output)); mysql_close();?>



    das funktioniert logischerweise auch.
    Nur tute ich mich mit der Einbindung in Android noch recht schwer.


    Aus einem Tutorial habe ich folgenden Qullcode



    Das einzige, was die App nun macht, ist mir meine URL anzuzeigen.
    Außerdem will ich nicht einfach nur ein Script kopieren.


    Ich finde aber auch nirgends etwas wie:
    - Hiermit stellst du die verbindung her
    - Hiermit sortiertst du deine Ausgabe oder ließt sie ein ein array
    - und so gibst du sie aus

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!