Estructura de datos utilizada para mensajes SMS en Android

¿Alguien sabe qué estructuras de datos se utilizan para almacenar mensajes en una aplicación cliente de SMS y si existe una API existente para ello.

Tal vez estaba buscando la implementación de una lista de enlaces para el propósito, pero si el trabajo ya se ha hecho en una API, entonces tal vez sería innecesario dedicar tiempo a la tarea que se podría pasar la programación de otras partes.

Muchas gracias

En android hay android.telephony.SmsMessage . Este es el objeto utilizado en android para almacenar un único mensaje SMS. Usted puede mirar eso y construir algo que se parece a él, o reutilizarlo.

En cuanto a la estructura de datos para almacenarlos, sugeriría que use una 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, también le sugeriría que eche un vistazo a la persistencia mediante SQLlite, que también forma parte de la plataforma Android .

En cuanto a la aplicación de mensajería integrada, se almacenan todos los mensajes en una base de datos. Puede consultar el código fuente de Android para ver qué hace, pero recomendaría no leer estos datos, ya que no forman parte del SDK oficial, por lo que podría cambiar, o es posible que algunos teléfonos no lo tengan.

En cuanto a guardarlo usted mismo – yo no usaría una lista vinculada. Utilice una base de datos, que es la forma preferida de almacenar cualquier dato persistente (aparte de pequeños valores individuales, para los que utiliza SharedPreferences).

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 del contenido en SMS, por ejemplo, me sale arg2 y arg11 esta es la dirección y el contenido de sms. Utilizando este ejemplo, puede leer todos los SMS almacenados en el teléfono

  • Bloquear SMS salientes
  • Cómo abrir la ventana de SMS en android programatically?
  • Android: no recibe confirmación de envío de SMS en el emulador
  • Extras de Android PendingIntent, no recibidos por BroadcastReceiver
  • Opción para enviar sms utilizando Sim1 o Sim2 mediante programación
  • Detección de SMS entrantes y salientes
  • Android: escucha los mensajes SMS entrantes
  • Cómo borrar db cuando la aplicación se desinstala en android
  • ¿Por qué sendTextMessage requiere el permiso READ_PHONE_STATE?
  • Administrador de sms de Android no envía sms
  • Android - enviar sms en un hilo separado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.