Структура данных, используемая для SMS-сообщений в Android - PullRequest
5 голосов
/ 05 мая 2010

Кто-нибудь знает, какие структуры данных используются для хранения сообщений в приложении клиента SMS и существует ли для этого существующий API.

Возможно, я смотрел на реализацию списка ссылок для этой цели, но если работа уже была выполнена в API, то, возможно, не было бы необходимости выделять время на выполнение задачи, которую можно было бы потратить на программирование других частей.

Большое спасибо

Ответы [ 3 ]

1 голос
/ 09 июля 2010

Что касается встроенного приложения обмена сообщениями, оно хранит все сообщения в базе данных. Вы можете проверить исходный код Android, чтобы увидеть, что он делает, но я бы рекомендовал не читать эти данные - они не являются частью официального SDK, поэтому они могут измениться, или некоторые телефоны могут не иметь его.

Что касается хранения самостоятельно - я бы не использовал связанный список. Используйте базу данных, это предпочтительный способ хранения любых постоянных данных (кроме небольших отдельных значений, для которых вы используете SharedPreferences).

1 голос
/ 18 июля 2013
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]
        }

Это структура содержимого в SMS, например, я получаю arg2 и arg11, это адрес и содержание смс. Используя этот пример, вы можете прочитать все смс, хранящиеся в телефоне

1 голос
/ 30 мая 2010

В android есть android.telephony.SmsMessage . Это объект, используемый в Android для хранения одного SMS-сообщения. Вы можете посмотреть на это и создать нечто, похожее на него, или использовать его повторно.

Что касается структуры данных для их хранения, я бы предложил вам использовать java.util.List , который дает вам гораздо большую гибкость по сравнению с некоторыми другими структурами данных, такими как стандартный массив [].

Если вы хотите хранить свои SMS-сообщения в течение более длительного периода времени, я бы также посоветовал вам взглянуть на постоянство, используя SQLlite, который также является частью платформы Android .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...