【问题标题】:Storing Lists to A Database, and Retrieving Them All Together : Android将列表存储到数据库并一起检索它们:Android
【发布时间】:2011-04-02 00:19:05
【问题描述】:

我想存储一个字符串列表,然后检索它们。我将如何使用数据库来做到这一点?

【问题讨论】:

    标签: android database sqlite


    【解决方案1】:

    理想的方法是通过结构化方式让您的主要活动/服务与实用程序类交互,该工具类直接与数据库通信,而不是活动/服务本身。

    通过这样做,您可以将流程模块化,使其比在一个类中完成所有操作更容易处理。具体来说,流程将遵循此

    活动/服务 -> 数据库实用程序类 -> 数据库

    活动通过实用程序类获取数据库结果。您可以在实用程序类中拥有所有数据库功能,例如添加、减去、编辑记录。

    具体来说你需要查看 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()
    

    此行将返回一个指向您的数据库的链接,您可以根据需要在其中查询、删除、更新!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 2016-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多