2010-05-05 14 views
5

Qualcuno sa quali strutture dati vengono utilizzate per i messaggi del negozio in un'app client SMS e se esiste un'API esistente per questo.Struttura dati utilizzata per i messaggi SMS in Android

Stavo forse cercando di implementare un elenco di collegamenti per lo scopo ma se il lavoro è già stato fatto in un'API allora forse non sarebbe necessario dedicare del tempo all'attività che potrebbe essere spesa per programmare altre parti.

Molte grazie

risposta

1

in Android c'è android.telephony.SmsMessage. Questo è l'oggetto utilizzato all'interno di Android per memorizzare un singolo messaggio SMS. Puoi guardarlo e costruire qualcosa che lo assomigli o riutilizzarlo.

Per quanto riguarda la struttura dati per la memorizzazione, suggerisco di utilizzare uno java.util.List<E>, che offre molta più flessibilità su alcune altre strutture di dati, come un array standard [].

Se stai cercando di archiviare i tuoi messaggi SMS per un periodo di tempo più lungo, ti suggerisco anche di dare un'occhiata alla persistenza usando SQLlite, which is also a part of the Android platform.

1

Per quanto riguarda l'app di messaggistica integrata, memorizza tutti i messaggi in un database. Puoi controllare il codice sorgente di Android per vedere cosa fa, ma mi raccomando di non leggere questi dati - non fa parte dell'SDK ufficiale, quindi potrebbe cambiare, o alcuni telefoni potrebbero non averlo.

Per quanto riguarda la memorizzazione da soli - Non vorrei utilizzare una lista collegata. Usa un database, questo è il modo preferito per archiviare tutti i dati persistenti (diversi dai piccoli valori individuali, per i quali usi SharedPreferences).

1
Uri uriSMS=Uri.parse("Content://sms/inbox"); 
     Cursor cur=getContentResolver().query(uriSMS,null,null,null,null); 
     String[] sender=new String[100];String[] content=new String[100];int ct=0; 
     While(cur.moveToNext()){ 
      sender[ct]=cur.getString(2);//arg2: this is address 
      content[ct]=cur.getString(11);//arg11: this is body of SMS 
//[0: _id,1: thread_id,2: address,3: person,4: date,5: protocol,6: read,7: status,8: type,9: reply_path_present,10: subject,11: body,12: service_center,13: locked,14: error_code,15: seen] 
     } 

Questa è la struttura del contenuto in SMS, ad esempio, ottengo arg2 e arg11 questo è l'indirizzo e il contenuto di sms. Utilizzando questo esempio, puoi leggere tutti gli SMS memorizzati nel telefono