admin管理员组

文章数量:1534212

Android中如何使用sqlite数据库?
Android中为我们操作sqlite数据库提供了一些接口,比如SQLiteOpenHelper等,总体的思路是:先继承SQLiteOpenHelper抽象类并实现其中的构造方法和onCreate方法来进行数据库的创建以及表的创建,接着通过创建SQLiteDatabase类实例并调用其提供的insert、query等方法来进行数据的增删查改
以下是详细步骤:

1、先创建一个DBHelper类,继承SQLiteOpenHelper类,并重写构造方法和onCreate方法等:
public class DBHelper extends SQLiteOpenHelper{

	public DBHelper(Context context) {
		super(context, "mydb.db", null, 1);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		String sql="CREATE TABLE test(account VARCHAR(20),password VARCHAR(20))";
		db.execSQL(sql);
		
	}
	
	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
		// TODO Auto-generated method stub
		
	}
	
	

}
其中,构造方法传入一个上下文作为参数,调用父类的构造方法,传入数据库的名称为mydb.db,游标工厂这里先设为null,版本号设置为1,在onCreate方法里面进行建表操作,一旦创建DBHelper实例,就会调用onCreate方法,创建表格,注意:onCreate方法只会被调用一次,当第二次创建DBHelper实例时就不会再调用此方法。onUpgrade方法则用来对数据库进行操作。
2、这里以查询为例,创建一个查询方法:
public String queryPassword(String sql, String[] bindArgs){
		SQLiteDatabase database = getWritableDatabase();
		Cursor cursor = database.rawQuery(sql, bindArgs);
		String result = null;
		while(cursor.moveToNext()){
			result = cursor.getString(cursor.getColumnIndex("password"));
		}
		return result;
	}
其中方法参数是一个sql语句和执行的sql参数,Android中真正操作数据库是通过SQLiteDatabase这个类来进行的,通过getWritableDatabase或者getReadableDatabase方法来创建一个SQLiteDatabase实例,由于查询结果可能会有多条记录,Cursor游标是用来存放遍历查询结果,个人理解为相当于以前写的ResultSet结果集,这里的例子只是查询到单条记录,所以我只定义了一个String来存放结果。

3、新建DBHelper实例,调用刚才封装好的查询方法:
DBManger dbManger = new DBManger(getApplicationContext());
				String[] params = new String[]{taccount.getText().toString()};
				String password = dbManger.queryPassword("SELECT * FROM test WHERE account = ?", params);
将account作为查询的sql语句的参数传进,将结果赋给password

4.执行成功之后,要去哪里寻找我们的数据库文件呢?: 打开eclipse的File Explorer,这里所展示的目录是当前测试设备的文件目录,找到其中的data目录,有些设备可能会展不开data目录,那是因为手机没有获得root权限,不能操作data下的文件,进行以下步骤可实现修改权限: (1)网上有很多root工具,下载一个一键root大师,它可以检测手机是否具有root权限,并且可以提供一键root功能,如果它提示手机已经获得root权限,则不用root,反之通过root获得超级管理员权限 (2)下载一个RE文件管理器安装到设备上,然后打开手机的安全中心->root权限管理->授予RE文件管理器root权限 (3)打开RE文件管理器,展开data->data->你的项目目录->database->即可看到你刚才创建的数据库文件,并且将刚才这个路径逐一设置权限为可读写,即可实现在eclipse中展开data目录
然后将该文件导出到电脑上:
点击图中这个按钮即可将数据库文件拷贝到电脑中。
到这里,我们获得了数据库文件,可是如何查看其中的数据呢,需要使用一个SQLite可视化工具:SQLite Expert Personal 3 打开SQLite Expert Personal 3工具:
点击附加本地数据库文件,将刚才的那个数据库文件附加进来,即可象普通的数据库表那样进行操作。

本文标签: 操作数据库androidSqlite