您的位置:首页 > 移动开发 > Android开发

Android 开发笔记—— Sqlite

2011-04-21 16:34 483 查看
Android内部安装了了一个小型数据库Sqlite。这数据库与传统数据库相比体积少,系统消耗也很少,比较适合在Android这类手机系统里安装。Sqlite支持SELECT INSERT UPDATE CREATE DROP。
数据类型:TEXT文本,NUMERIC 数值,INTEGER 整型,REAL小数,NONE无类型



如何访问Android内部的Sqllite:
方式一:命令行方式(适合调试用)
可以使用 adb shell 进入设备后台,命令行方式手动创建,步骤如下:     
Eclipse 中启动模拟器之后, cmd 下输入进入设备 Linux 控制台
D:/>adb shell
之后进入应用 data 目录
# cd /data/data
ls 列表目录,查看文件,找到你的项目目录并进入
查看有无 databases 目录,如果没有,则创建一个
# mkdir databases
cd databases 进入并创建数据库
# sqlite3 friends.db
sqlite3 friends.db
SQLite version 3.5.9
Enter ".help" for instructions
sqlite>
ctrl+d 退出 sqlite 提示符 ls 列表目录会看到有一个文件被创建 friends.db
他就是 SQLite 的库文件
# ls
Ls
 
方式二:编码方式(使用更多)
android.content.Context 中提供了函数 , 注: Activity 是 Context 的子类
openOrCreateDatabase () 来创建我们的数据库
db = context .openOrCreateDatabase(String DATABASE_NAME , int Context. MODE_PRIVATE , null );
String DATABASE_NAME   数据库的名字
Int MODE    操作模式 
Context.MODE_PRIVATE 等
CursorFactory 指针工厂
 
如何使用API:
SQLiteOpenHelper是一个抽象类,用于管理创建后的数据库
l getReadableDatabase() 创建或者打开一个查询数据库
l getWritableDatabase()创建或者打开一个可写数据库
他们都会返回SQLiteDatabase对象,用户通过得到的SQLiteDatabase对象进行后续操作。
 
同时用户还可以覆盖以下回调函数,再对数据库进行操作的时候回调以下方法:
l onCreate(SQLiteDatabase):在数据库第一次创建的时候会调用这个方法,一般我们在这个方法里边创建数据库表。
l onUpgrade(SQLiteDatabase,int,int):当数据库需要修改的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据库表,并建立新的数据库表,当然是否还需要做其他的操作,完全取决于应用程序的需求。
l onOpen(SQLiteDatabase):这是当打开数据库时的回调函数,一般也不会用到。
 

 

public class MySqlHepler extends SQLiteOpenHelper {
private static final String name ="user";
private static final int version = 1;

public MySqlHepler(Context context) {
super(context, name, null, version);
}

@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS user(id integer primary key autoincrement, name varchar(50), age integer)");
}

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
//To change body of implemented methods use File | Settings | File Templates.
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息