Android 数据库开发

  • SQLite是一个开源,符合标准,轻量级单层关系型数据库
  • SQLite是许多消费类电子设备,比如MP3播放器,iPhone, iPod的首选数据库系统
  • SQLite的每一行的每一列可以有不同的数据类型,因此在插入或提取时没有严格的类型检查
  • ContentValue对象用于插入数据到数据表,每个ContentValue对象代表一数据行。Andoid中的Queries的返回Cursor对象,它是底层数据的一个子集。startmanagingCursor方法将cursor的生命周期集成到父Activity的生命周期,当使用完Cursor调用stopManagingCursor来解除集成关系。
  • SQLite数据库设计Tip
    • Bitmaps 或 audio文件通常不存储在数据库中,而是存储文件的储存路径(URI)字符串
    • 强烈建议每个表有一个自增主键列作为唯一索引,特别是此表需要共享给Content Provider时,此字段是必须的。
  • 可调用openOrCreateDatabase创建新数据库,然后调用execSQL运行SQL语句创建数据库表和关系。
    private static final String DATABASE_NAME = “myDatabase.db”;
    private static final String DATABASE_TABLE = “mainTable”;
    private static final String DATABASE_CREATE = “create table “ + DATABASE_TABLE +
    “ ( _id integer primary key autoincrement,” + “column_one text not null);”;
    SQLiteDatabase myDatabase;
    private void createDatabase() {
    myDatabase = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
    myDatabase.execSQL(DATABASE_CREATE);}
  • 插入数据,创建一个新行(ContentValues)-> 给新行分配数据(Put 方法)->输入新行到表(Insert方法)
    // Create a new row of values to insert.
    ContentValues newValues = new ContentValues();
    // Assign values for each row.
    newValues.put(COLUMN_NAME, newValue);
    [ ... Repeat for each column ... ]
    // Insert the row into your table
    myDatabase.insert(DATABASE_TABLE, null, newValues);
  • 修改数据,创建一个新行(ContentValues)-> 给新行分配数据(Put 方法)-> 修改行(Update方法, where语句指定修改哪行)
    // Define the updated row
    content. ContentValues updatedValues = new ContentValues();
    // Assign values for each row.
    updatedValues.put(COLUMN_NAME, newValue);
    [ ... Repeat for each column ... ]
    String where = KEY_ID + “=” + rowId;
    // Update the row with the specified index with the new values.
    myDatabase.update(DATABASE_TABLE, updatedValues, where, null);
  •  删除数据, 直接调用delete方法,用where子句指定要删除的行
    myDatabase.delete(DATABASE_TABLE, KEY_ID + “=” + rowId, null);
  • SQLite命令行管理工具
    1. 打开Command Prompt 进入C:/Program Files/Android/android-sdk/platform-tools目录, 运行adb shell
    2.  #cd data/data/<项目名>/databases, ls 命令可列表目录,文件名。
    3. Sqlite3 <数据库文件名>打开或创建一个数据库
    4. Ctrl+D 退出sqlite3
    5. SQL语句必须以分号; 结束。如果你省略分号,sqlite3将给你一个连续的命令提示符并等你给当前的SQL命令添加更多的文字,直到;才执行
    6. 所有创建、删除和索引数据库时的信息自动更新到sqlite_master表。TEMPORARY表结构被存储在另外一个名叫"sqlite_temp_master"的特定的表中。"sqlite_temp_master"表是临时表自身
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值