Android系统中的数据库
采用的是SQLite,一个轻量级的数据库
在安卓代码中对应的对象类的名字是SQLiteDatabase, 并配置了一套SQLiteDatabase的方法SQLiteDatabase.methods()
一旦在程序中建立了SQLiteDatabase, 那么就可以使用SQLiteDatabase.methods()进行操作.
JAVA方法记录
几种最基本的操作
建立对象
建立类
建立函数
执行操作
- 建立变量
使用一个变量必须声明; 有两种方法,
第1是提前都声明好. 放在最前面.
第2是像Python一样. 随时用, 在建立时声明
第1
Class object_name
object_name=Class.Constructor(aug1, aug2....)
第2
Class object_name =Class.Constructor(aug1, aug2....)
-------需要建立一种观点, File file=变量名字, 使用所有变量前必须把他们妈带上; 有时候需要, 有时候不需要?
2.建立函数
指定public还是private
定义函数名称, 定义参数
比如 public Function_Name(aug1, aug2, aug3...)
还有一些疑问的地方?Keyword是什么?
建立数据库
*静态方法如下
操作如下
SQLiteDatabase db=SQLiteDatabase.OpenOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory);
aug1=文件名; aug2=factory?? 可以使用null
*创建和打开数据库
下面命令, 创建一个名为Test的数据库,并返回一个SQLiteDatabase对象, 对象名称是=mSQLiteDatabase
mSQLiteDatabase=this.openOrCreateDatabase("Test",MODE_PRIVATE,null);
4.2创建表
通过execSQL方法来执行一条SQL语句。
String CREATE_TABLE="create table 表名(列名,列名,……)";
mSQLiteDatabase.execSQL(CREATE_TABLE);
操作数据库的方法
常用的SQLiteDatabase.methods()包括
execSQL(...) 执行SQL语句; 这个方法没有返回值. (DDL, DML?)
insert(...)插入数据
updata(...)更新数据
delele(...)删除数据
Cursor query(...)查询数据; [注意, 这里会返回一个Cursor对象] Cursor的特点是? ...这里建议学习JDBC作为基础.
与Cursor相关的概念, 记录指针, JDBC, ResultSet, getXXX()方法, 移动记录指针
SQLiteDatabase≈JDBC_Connection,Statement_混合体. 可以与数据库连接, 也有SQL操作
Cursor=ResultSet
rawQuery(...) SQL查询?? 差别是?
其他陌生概念
SQLiteDatabase.CursorFactory参数----Cursor工厂? null, 默认参数?
问题: inflateList
使用SQLiteDatabase的全步骤
获取SQLiteDatabase对象
执行SQLiteDatabase的方法
操作返回对象---Cursor
关闭SQLiteDatabase数据库
SQLiteOpenHelper类
Android给我们提供了多个管理SQL的工具,SQLiteOpenHelper是其中一种,比较方便,比原来的方法更加优雅.
得到了SQLiteOpenHelper对象之后,可以用getWritableDatabase()或者getReaderDatabase()得到SQLiteDatabase的对象
但是SQLiteOpenHelper是一个抽象的Class, 只能自己写一个新的去继承了
比如public class MyDatabaseHelper extends SQLiteOpenHelper
查看数据库的方法
SQlite Database Browser
SQLite3, 自带的exe文件