将列表存储到数据库,并将它们全部检索到:Android

时间:2011-04-02 00:19:05

标签: android database sqlite

我想存储一个字符串列表,然后检索它们。我如何使用数据库执行此操作?

1 个答案:

答案 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()

这一行会返回一个指向数据库的链接,您可以根据需要查询,删除,更新!