2010-05-05 20 views
5

¿Alguien sabe qué estructuras de datos se utilizan para almacenar mensajes en una aplicación cliente de SMS, y si hay una API existente para esto?Estructura de datos utilizada para mensajes SMS en Android

Quizás estuve buscando implementar una lista de enlaces para este propósito, pero si el trabajo ya se ha realizado en una API, entonces tal vez sería innecesario dedicar tiempo a la tarea que podría dedicarse a programar otras partes.

Muchas gracias

Respuesta

1

En androide existe android.telephony.SmsMessage. Este es el objeto utilizado en Android para almacenar un solo mensaje SMS. Puedes ver eso y construir algo que se le parezca, o reutilizarlo.

En cuanto a la estructura de datos para almacenarlos, sugiero que use un java.util.List<E>, que le da mucha más flexibilidad sobre algunas de las otras estructuras de datos, como una matriz estándar [].

Si está buscando almacenar sus mensajes SMS durante un período de tiempo más largo, entonces también le sugiero que eche un vistazo a la persistencia usando SQLlite, which is also a part of the Android platform.

1

En cuanto a la aplicación de mensajería integrada, está almacenando todos los mensajes en una base de datos. Puedes consultar el código fuente de Android para ver qué hace, pero recomendaría no leer estos datos: no es parte del SDK oficial, por lo que podría cambiar, o algunos teléfonos podrían no tenerlo.

En cuanto a almacenarlo usted mismo, no utilizaría una lista vinculada. Usar una base de datos, esa es la forma preferida de almacenar cualquier información persistente (que no sean pequeños valores individuales, para los cuales usted usa Preferencias Compartidas).

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] 
     } 

Esta es la estructura de los contenidos en el SMS, por ejemplo, consigo arg2 y arg11 esta es la dirección y el contenido del SMS. Con esta muestra, puede leer todos los SMS almacenados en el teléfono

Cuestiones relacionadas