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.
- Configuración única de Android SMS
- Android - Extraer texto de SMS
- Android - Consultando el ContentProvider de SMS?
- Marcación de mensajes SMS como mensajes de lectura / no leídos o eliminación de mensajes que no funcionan en KitKat
- Android android.permission.SEND_SMS no funciona
Muchas gracias
- Android: Unicode / Charset problemas al enviar un SMS (sendTextMessage)
- Casting un objeto java a objeto en Scala
- Cómo guardar SMS en la bandeja de entrada en android?
- ¿Cómo comunicar la aplicación con el servidor sin conexión a Internet?
- Cómo obtener el número de teléfono del destinatario de SMS en Android
- El envío de SMS mediante Intent no incluye destinatarios en algunos dispositivos
- ContentObserver en el contenido: // sms / in 1.6+?
- Android: documentación para el contenido: // sms / "type" values?
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
- ¿Cómo puedo acelerar las compilaciones de un proyecto de Android en Intellij?
- ¿Cómo puedo sincronizar los relojes del sistema de dos o más teléfonos android?