Rat bzgl. Kontakte auslesen,ListView & ListView Adapter

  • Leute, Ich brauch einen Rat.


    Bin neu in Android. Und hab mir trotzdem ein Einstiegsprojekt ausgesucht, das es scheinbar ganz schön in sich hat. In Access(VBA) wäre mir das total einfach. Hier stoße ich an jeder Ecke an Probleme. Vor allem Verständnisprobleme der Android Entwicklung.


    das Video2Brain "Apps entwickeln mit Android 4" ist leider total flach gehalten. Es zeigt nur einige kleine Grundlagen.
    Die Google I/O Videos in Youtube helfen leider auch nicht weiter, geben nur einige Denkanstöße.



    Hat jemand eine Idee, wie/wo ich so richtig vernünftig Android entwickeln lernen kann?


    Meine App(Idee) enthält:


    1. SQLite Datenbank (funktioniert schon, mit ContentProvider. Ich kann Daten eintragen, löschen und Abfragen. Alles super)


    2. Kontakte vom Handy:
    2.1 Abfragen (ID, Name, Nummer, Bild | und auch eingeteilt in Gruppen)
    2.2 Ausgewählte Kontakte in die eigene SQLite Datenbank kopieren (direkt bei Auswahl)


    3. Listen (Da gibt es nicht nur ListViews(?))
    - Zum einen die Liste mit den Kontakten(wie in 2.2 beschrieben): Bild, Name und Checkbox
    - Eine ListView mit den Kontakten aus der eigenen SQLite DB. Jeder Eintrag hat ein Textfeld(Name) und 4 Buttons


    4. SMS Senden, Empfangen


    5. Kontakte anrufen



    Punkte 1, 4 und 5 sollten keine Probleme mehr machen. Es hapert bei mir stark an den Kontakten und vor allem ListViews in Verbindung mit der SQLite Datenbank und den Kontakten des Handys

    Bei Unklarheiten, halten Sie Ihren Kopf kurz in eine Schüssel voll klarem Wasser, dann wirds etwas klarer. Danke ;)


    Gruß Andi ---- Das Huhn oder das Ei zuerst? ;)
    Funtik -- G+

  • Bei ListViews kannst du einen SimpleCursorAdapter bauen, der dir die entsprechenden Einträge in eine View deiner Wahl verwandelt.
    Tutorial: http://thinkandroid.wordpress.…oradapters-and-listviews/
    Es gibt auch ExpandableListViews, das sind halt ausklappbare Listenelemente.


    Zu 2:
    Da gibt es einen ContentProvider für: http://developer.android.com/g…rs/contacts-provider.html
    Alle gewünschten Einträge raussuchen und dann in die Datenbank packen. ;)


    P.S.: Ich hab den Thread auch mal separiert, da der ja eigentlich nichts mit der Vorstellung zutun hat.

    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 persönlich würde eher davon absehen, die Kopien von Kontakten in eine eigene Datenbank zu werfen.
    Frauen heiraten, Familien ziehen um, man trägt Geburtstage nach oder ändert Kontaktbilder...
    Alles in Allem bin ich ein totaler Freund davon, Daten zentral abzulegen und darauf zuzugreifen.


    Statt der Kontakte würde ich lieber die Kontakt-ID in die Datenbank schreiben und dann an Hand dieser die Kontakte zur App-Laufzeit ermitteln.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Danke für die Antworten.


    Lucas und ChampS:
    Das ist mir bewusst und darüber habe ich mir schon Gedanken gemacht. Im Endeffekt werde ich das auch genauso machen.
    War nur schlecht ausgedrückt von mir. Aber schön zu sehen, dass man sich hier wirklich Gedanken macht über meine Fragen :)



    Kogoro:
    vielen Dank für die Links. Ich glaub das war genau das was ich gebraucht habe. Meine einzige Sorge dabei ist: in diesen(und vielen anderen) Tutorials werden Funktionen von Android benutzt, die laut Android schon veraltet und als "nicht mehr zu benutzen" markiert sind.... funktioniert ja trotzdem alles. Frage mich aber ob das gut ist eine neue App mit alten Funktionen zu schreiben.(?)

    Bei Unklarheiten, halten Sie Ihren Kopf kurz in eine Schüssel voll klarem Wasser, dann wirds etwas klarer. Danke ;)


    Gruß Andi ---- Das Huhn oder das Ei zuerst? ;)
    Funtik -- G+

  • Meine einzige Sorge dabei ist: in diesen(und vielen anderen) Tutorials werden Funktionen von Android benutzt, die laut Android schon veraltet und als "nicht mehr zu benutzen" markiert sind.... funktioniert ja trotzdem alles. Frage mich aber ob das gut ist eine neue App mit alten Funktionen zu schreiben.(?)


    Unter Android funktioniert das, auf der veräppelnden Seite der Macht führt das (aus gutem Grund) zu einer Ablehnung in den Stores.
    Du solltest derart markierte Funktionen also lieber sein lassen.


    Im Allgemeinen findest du aber zu allen deprecated Funktionen Hinweise darauf, wie du es besser machen kannst.
    Beispiel:

    Zitat

    SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)


    This constructor was deprecated in API level 11. This option is discouraged, as it results in Cursor queries being performed on the application's UI thread and thus can cause poor responsiveness or even Application Not Responding errors. As an alternative, use LoaderManager with a CursorLoader.


    Für die Abwärtskompatibilität (sofern notwendig) muss dann halt die SupportLibrary herhalten. ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Hallo Funtik,


    bin neu hier, und stehe aktuell vor einem ähnich gelagerten Problem.


    Ich möchte mir einen eigene Kontaktverwaltung mit Auslesen spezieller Kontakte (am besten aus dem Google-Konto) samt ergänzenden Infos aus einer SQLite-DB und darüber hinaus mit Verbindung zu den Terminen der einzelnen Kontakte aus einem bestimmten Kalender (z.B. "Büro") im Google-Konto.


    Könntest Du mir bitte mitteilen ob und wie du deine App erstellt hast. Ich würde gerne den Code analysieren, insbes. um daraus zu lernen.


    lG

Jetzt mitmachen!

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