我想存储一个字符串列表,然后检索它们。我如何使用数据库执行此操作?
答案 0 :(得分:8)
理想情况下,从结构化方式处理此方法,让您的主要活动/服务与直接与数据库通信而不是自己的活动/服务的Utility类进行交互。
通过这样做,您可以模块化流程,使其比在一个类中完成所有操作更容易处理。具体来说,流程将遵循此
活动/服务 - >数据库实用程序类 - >数据库
活动通过实用程序类获取数据库结果。您可以拥有所有数据库功能,例如在实用程序类中添加,减去和编辑记录。
具体来说,您需要研究SQLiteOpenHelper
public class myDatabaseOpenHelper extends SQLiteOpenHelper {
public myDatabaseOpenHelper(Context context) {
super(context, (Database Name), null, (Database Version));
}
@Override
public void onCreate(SQLiteDatabase db) {
// create event database & category database
db.execSQL([TableCreationStatementHere]);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
有一点需要提及的是首先在纸上创建表格,然后设置所需的关系和列名称,然后构建一个这样的语句:
public static String CREATE_EVENTDATABASE = "CREATE TABLE " + TABLE_EVENTS
+ " ( " + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COL_NAME + " TEXT, "
+ COL_DATE + " TEXT NOT NULL, "
+ COL_TIME + " TEXT NOT NULL, "
+ COL_DATETIME + " TEXT, "
+ COL_IMAGE + " TEXT, "
+ COL_NOTE + " TEXT, "
+ COL_REPEAT + " INTEGER, "
+ COL_REPEAT_INTERVAL + " INTEGER, "
+ COL_REMINDER + " INTEGER, "
+ COL_CATEGORY + " TEXT, "
+ COL_FLAG + " INTEGER )";
然后在创建表之后,只需抓住数据库的句柄,如下所示:
myDatabaseOpenHelper helper = new myDatabaseOpenHelper(getApplicationContext());
SQLiteDatabase database = helper.getWritableDatabase()
这一行会返回一个指向数据库的链接,您可以根据需要查询,删除,更新!