1

我正在设计一个应用程序,我将传入的消息存储在我自己创建的数据库中,并从这个数据库中我在我的应用程序中显示这些消息。为此,我正在使用此代码,插入数据,

mydb =  openOrCreateDatabase("db",MODE_PRIVATE, null);                              
        mydb.execSQL("CREATE TABLE IF NOT EXISTS sms_inbox (SMS_TEXT varchar , SENDER_NUMBER varchar );");      

        mydb.execSQL("INSERT INTO sms_inbox VALUES('" + stBody + "', '" + stPhoneNumber + "');");

要读取数据,

Cursor c = mydb.rawQuery("SELECT * from sms_inbox", null);

然后我显示这些消息,

所以现在我的问题是我想根据电话号码存储这些消息,例如,

phoneno.-12345 "此处显示 12345 的所有消息" phone no.-23456 "此处显示 23456 的所有消息"

4

1 回答 1

2

好吧,您可以将这些消息作为另一个条目存储在sms_inbox表中,但存储时间戳以及能够区分每条消息会很有帮助。

当您查询时,您可以将电话号码作为您感兴趣的电话号码传递:SELECT * from sms_inbox where 'SENDER_NUMBER' = '?'

或者您可以选择按 SENDER_NUMBER 排序:SELECT * from sms_inbox order by 'SENDER_NUMBER' desc;

最后,这一切都取决于您拥有的用例。您还可以使用另一个表来仅保留数字的消息并映射一对多关系。

于 2013-06-03T08:19:53.627 回答