Gesprächsminuten/SMS auslesen

  • Hallo,


    als erstes "eigenes" Projekt nach den Hello-World-Projekten will ich gerne ein einfaches Tool schreiben, dass die Gesprächsminuten und die SMS (jeweils nur ausgehend) ab einem bestimmten Datum zählt.
    Ich bin schon relativ weit gekommen (GUI, I/O, usw habe ich bereits programmiert). Aber bei der eigentlichen Kernfunktion hakt es ein bisschen. Ich habe mir aus dem Internet einen Code zusammengestückelt, der zwar etwas zählt, aber ich glaube er zählt sowohl eingehend als auch abgehend und außerdem nicht die Länge, sondern die Anzahl der Gespräche. Wie ich das überprüfen kann, weiß ich leider nicht, das mein Emulator immer 0 Gespräche/SMS anzeigt.


    Der Code lautet:


    Ich wäre dankbar, wenn mir jemand ein bisschen auf die Sprünge helfen könnte.
    Grüße, xilef

  • Hallo,
    ich versuche gerade die Datenstruktur zu verstehen, die mir da übergeben wird (Cursor). Ich habe schon herausgefunden das eigentlich alle Informationen die ich brauche in diesem Cursor als eine Art Tabelle enthalten sind. Leider komme ich irgendwie nicht an die Daten heran.
    Gibt es irgendeine Möglichkeit den Cursor in ein 2d-Array oder so etwas ähnliches umzuwandeln, auf das ich wahlfrei zugreifen kann?
    grüße,xilef

  • Hi xilef,


    also ich durchlaufe meinen Cursor immer mit einer while schleife


    Java
    while (result.moveToNext()) {
    	String res1 = result.getString(0);
    	String res2 = result.getString(1);
    	...
    }


    Allerdings bisher nur beim Auslesen von Datenbanktabellen benutzt ... müsst aber gleich funktionieren. Du könntest auf diese weiße ja auch die Daten aus dem Cursor in eine Hashtable o.ä. werfen um später auch noch schön bequem drauf zugreifen zu können.


    Gruß,
    matze

  • Hi xilef,

    zwecks des Testes, es ist möglich den Emulator "anzurufen" bzw ihm ne sms "zuschicken".


    Dazu musst du innerhalb von Eclipse in die DDMS View wechseln und dort unter Emulator Controll gibt es dann die Möglicht des Anrufs bzw des SMS versandt.


    Leider geht das aber nur in eine Richtung also es ist nicht möglich vom Eumlator eine SMS zu versenden bzw einen Anruf zutätigen.


    Mfg Titus

  • Hallo,


    danke für eure Anregungen und Tipps. Ich bin jetzt inzwischen so weit, dass ich schon einiges auslesen kann. Probleme macht mir allerdings das Anrufdatum. Ich rufe es wie folgt ab:

    Code
    Cursor c = getContentResolver().query(android.provider.CallLog.Calls.CONTENT_URI, null, null, null, android.provider.CallLog.Calls.DATE + " DESC");
    		
    if (c != null){
    int dateColumn = c.getColumnIndex(android.provider.CallLog.Calls.DATE);
    int callDate = c.getInt(dateColumn);
         	...usw


    Dann vergleiche ich es mit dem gewünschten Datum:

    Code
    Date d = new Date(year, month, day);
    			
    if (!d.after(new Date(callDate))){
    ...usw
    }


    Aber es funktioniert nicht richtig. Also ich mir callDate mal ausgeben ließ, war es negativ. Das kann eigentlich nicht sein, Wird es nicht wie gewohnt als ms seit dem 1.1.1970 gespeichert?


    Grüße, xilef

Jetzt mitmachen!

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