将来自特定号码的传入短信存储到 sqlite 数据库中

Storing incoming SMS from a particular no into sqlite DB

我正在使用 BroadcastReceiver 来收听传入的消息并在 WebView 中显示消息(如果它来自特定的否),我已经实现了这部分...现在如何才能我在 Button 单击事件中将来自特定发件人的此消息存储到 SQLite Database 中...提前致谢

好吧,就像您将任何数据保存在数据库中一样。读这个: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html

您还可以使用 ORM 让一切变得更简单,这样您就不必自己使用数据库了。 Sugar ORM 是 android 开发人员的不错选择: http://satyan.github.io/sugar/


编辑:

为了创建您自己的数据库并自己处理表的创建等,您必须创建一个扩展 SQLiteOpenHelper 的 class,我没有使用过那么多。但是您可以在此处查看示例代码:

http://paste.ubuntu.com/11695543/

如果你想使用 Sugar ORM,你必须将它的库添加到你的项目和你的数据 classes,你想保存在数据库中的那些,现在应该扩展 SugarRecord。一切都在文档中。例如:

public class Box extends SugarRecord<Box> {

public int picID;
public int lockedPicId;
public int isBought;
public int id;
public int numberOfLevels;
public String packageName;


public int getNumberOfPassed(){
    ArrayList<Level> levels = (ArrayList<Level>) Level.find(Level.class, "level_Box = ?", this.getId() + "");
    int res = 0;
    for(int i = 0; i < levels.size(); i++){
        if(levels.get(i).isFinished == 1)
            res++;
    }
    return res;
}
public Box(int id, int numberOfLevels, String packageName, int isBought, int picID, int lockedPicId) {
    this.id = id;
    this.numberOfLevels = numberOfLevels;
    this.packageName = packageName;
    this.isBought = isBought;
    this.picID = picID;
    this.lockedPicId = lockedPicId;
}

public Box() {

}

}

所以从现在开始,如果你想保存一个对象,你只需要写:

Box box = new Box();
//do anything you want here.
box.save();

就是这样。要检索它们,您可以阅读文档。