作业帮 > 综合 > 作业

android 如何连接数据库

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/20 12:56:41
android 如何连接数据库
自学android开发,遇到上面那个问题,文档上写着SQLiteDatabase sld = SQLiteDatabase.openDatabase(    "/data/data/com.bn.pp4/mydb", null,SQLiteDatabase.OPEN_READWRITE|SQLiteDatabase.CREATE_IF_NECESSARY);
不太明白第一个参数"/data/data/com.bn.pp4/mydb" 如果我要在自己的项目中连接数据库,那这个参数应该写成什么呢.项目结构如截图
这种方式通常连接一个外部的数据库,第一个参数就是数据库文件,这个数据库不是当前项目中生成的,通常放在项目的Assets目录下,当然也可以在手机内,如上面参数那个目录,前提是那个文件存在且你的程序有访问权限.
 
另一种使用数据库的方式是,自己创建数据库并创建相应的数据库表,参考下面的代码:
public class DatabaseHelper extends SQLiteOpenHelper {

//构造,调用父类构造,数据库名字,版本号(传入更大的版本号可以让数据库升级,onUpgrade被调用)
public DatabaseHelper(Context context) {
 super(context, DatabaseConstant.DATABASE_NAME, null,     DatabaseConstant.DATABASE_VERSION);
}

//数据库创建时调用,里面执行表创建语句.
@Override
public void onCreate(SQLiteDatabase db) {
 db.execSQL(createVoucherTable());
}

//数据库升级时调用,先删除旧表,在调用onCreate创建表.
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 db.execSQL("DROP TABLE IF EXISTS " + DatabaseConstant.TABLE_NAME);
 onCreate(db);
}
//生成 创建表的SQL语句
private String createVoucherTable() {
 StringBuffer sb = new StringBuffer();
 sb.append(" CREATE TABLE ").append(DatabaseConstant.TABLE_NAME).append("( ").append(“ID”)
   .append(" TEXT PRIMARY KEY, ")
   .append(“USER_ID”).append(" INTEGER, ").append(“SMS_CONTENT”).append(" TEXT ) ");
 return sb.toString();
}
}
 继承SQLiteOpenHelper并实现里面的方法.
 
之后:
//得到数据库助手类
helper = new DatabaseHelper(context);
//通过助手类,打开一个可读写的数据库连接
SQLiteDatabase database = helper.getReadableDatabase();
//查询表中所有记录
database.query(DatabaseConstant.TABLE_NAME,null,null,null,null,null,null);