已经基本了解数据库操作的Android数据库,其实很简单,就是创建一个数据库,在里面创建一个表,然后每次操作数据库的时候重新打开数据库,指定当前创建的对象是可读的还是只读的,然后数据库版本号必须是整数,必须增加。具体思路如下:
首先,编写一个MySQLiteOpenHelper类来继承SQLiteOpenHelper类,并实现它的一些方法。代码如下:
//数据库版本号私有静态整数版本= 1;
//在SQLiteOpenHelper的子类中,此构造函数必须存在。
公共MySQLiteOpenHelper(Context上下文,字符串名,SQLiteDatabase。CursorFactory工厂,int版本){
//父类中的构造函数必须由超级调用
超级(上下文、名称、工厂、版本);}
//参数描述
//context:上下文对象
//name:数据库名称
//param:factory
//version:当前数据库的版本。该值必须是一个整数,并且处于递增状态。
公共MySQLiteOpenHelper(上下文Context,字符串名称,int版本)
{ this(上下文,名称,null,版本);
}
公共MySQLiteOpenHelper(上下文Context,字符串名称)
{ this(上下文、名称、版本);
}
//创建数据库时调用
@覆盖
公共void onCreate(SQLiteDatabase数据库)
{ system . out . println(“创建数据库和表格”);
//创建一个数据库并创建一个名为records的表
//SQLite数据创建支持的数据类型//整数数据、字符串类型、日期类型、二进制数据类型。
字符串sql = & # 8220create table user(id int主键,name varchar(200))”;
//execSQL用于执行SQL语句
//完成数据库的创建
db . exec SQL(SQL);
//在调用getWritableDatabase()或getReadableDatabase()方法之一之前,数据库实际上没有创建或打开
//当数据库升级时调用
//如果DATABASE_VERSION值改为2,系统在发现已有数据库版本不同时,会调用onUpgrade()方法。
@覆盖
public void on upgrade(SQLite database db,int oldVersion,int new version){ system . out . println(“更新后的数据库版本是:”+new version);}}
然后在***inactivity中执行以下操作,
首先,创建一个数据库和创建数据库的语句:
创建表用户(id int主键,name varchar(200))
意思是创建一个名为user的数据库,这个数据库有两个类,一个是pri***ry key ——id,表示id是这个数据库的关键字,另一个是长度为200的varchar。下面的代码是通过事件监控按钮实现的:
案例编号不稳定:
//创建SQLiteOpenHelper子类对象
MySQLiteOpenHelper db helper = new MySQLiteOpenHelper(this,”test _ carson & # 8221);
//在调用getWritableDatabase()或getReadableDatabase()方法之一之前,实际上不会创建或打开数据库。
SQLite database SQLite database = db helper . getwritabledatabase();
//SQLiteDatabase SQLiteDatabase = db helper . getreadbledatabase();
打破;
其次,更新数据库的版本号
案例编号升级:
//创建SQLiteOpenHelper子类对象
MySQLiteOpenHelper db helper _ upgrade = new MySQLiteOpenHelper(this,”test _ carson & # 8221,2);
//调用getWritableDatabase()方法创建或打开可读的数据库。
SQLiteDatabase SQLiteDatabase _ upgrade = db helper _ upgrade . getwritabledatabase();
//SQLiteDatabase SQLiteDatabase = db helper . getreadbledatabase();
打破;
第三,将一条数据输入数据库。
Emmm的类型有点像hash***p array,是一个键值对的数组。
case r . id . insert:system . out . println(“插入数据”);
//创建SQLiteOpenHelper子类对象
////注意,必须传入最新的数据库版本号。
MySQLiteOpenHelper db helper 1 = new MySQLiteOpenHelper(this,”test _ carson & # 8221,2);
//调用getWritableDatabase()方法创建或打开可读的数据库。
SQLiteDatabase SQLiteDatabase 1 = db helper 1 . getwritabledatabase();
//创建ContentValues对象content values 1 = new content values();
//插入键值对values 1 . put(“id & # 8221, 1);values 1 . put(“姓名”, “卡森”);
//调用insert()方法将数据插入数据库sqlitedatabase 1 . insert(“用户”,null,values 1);
//sqlitedatabase . exec SQL(“插入到用户(id,name)值(1,’卡森’)”);
//关闭数据库
SQLite database 1 . close();打破;
第四,查询数据库中的数据
//点击查询数据库case r . id . query:system . out . println(“查询数据”);
//创建DatabaseHelper对象mysqliteopenhelper db helper 4 = new mysqliteopenhelper(***in activity . this,”test _ carson & # 8221,2);
//调用getWritableDatabase()方法创建或打开可读的数据库。
SQLite database SQLite database 4 = dbhelper 4 . getreadabledatabase();
//调用SQLiteDatabase对象的查询方法进行查询
//返回一个游标对象:数据库查询返回的结果集对象
cursor cursor = sqlitedatabase 4 . query(“用户”,新字符串[]{ “id & # 8221, “姓名”}, “id=?”,新字符串[]{ “1”},null,null,null);
字符串id = null字符串名称= null
//将光标移动到下一行,从而判断结果集中是否有下一个数据。
//如果是,返回true,如果不是,返回false while(cursor . move to next()){ id = cursor . getstring(cursor . getcolumnindex(“id & # 8221));
name = cursor . getstring(cursor . getcolumnindex(“姓名”));
//输出查询结果
system . out . println(“查询的数据是:”+”id:“+id+”“+”姓名:“+姓名);}
//关闭数据库sqlitedatabase 4 . Close();打破;
第五,通过查找键来修改数据和更改值。
case r . id . modify:system . out . println(“修改数据”);
//创建DatabaseHelper对象
//将数据库的版本升级到2
//传入的版本号是2,比旧版本(1)大,所以会调用onUpgrade()来升级数据库。
MySQLiteOpenHelper db helper 2 = new MySQLiteOpenHelper(***in activity . this,”test _ carson & # 8221, 2);
//调用getWritableDatabase()获取可写的SQLiteDatabase对象
SQLiteDatabase SQLiteDatabase 2 = db helper 2 . getwritabledatabase();
//创建一个ContentValues对象content values 2 = new content values();
values 2 . put(“姓名”, “张三”);
//调用update方法修改数据库
sqlitedatabase 2 . update(“用户”,值2,“id=?”,新字符串[]{ “1”});
//关闭数据库sqlitedatabase 2 . Close();打破;
第六,删除数据,通过寻找键来删除整个键-值对。
case r . id . delete:system . out . println(“删除数据”);
//创建DatabaseHelper对象
MySQLiteOpenHelper db helper 3 = new MySQLiteOpenHelper(***in activity . this,”test _ carson & # 8221,2);//调用getWritableDatabase()方法创建或打开可读的数据库。
SQLite database SQLite database 3 = dbhelper 3 . getwritabledatabase();
//删除数据sqlitedatabase 3 . Delete(“用户”, “id=?”,新字符串[]{ “1”});
//关闭数据库sqlitedatabase 3 . Close();打破;
七。删除数据库操作
case r . id . delete _ database:system . out . println(“删除数据库”);
MySQLiteOpenHelper db helper 5 = new MySQLiteOpenHelper(***in activity . this,“test _ carson & # 8221,2);
//调用getReadableDatabase()方法创建或打开可读的数据库。
SQLiteDatabase SQLiteDatabase 5 = db helper 5 . getreadabledatabase();
//删除名为test.db的数据库
删除数据库(“test _ carson & # 8221);
本文来自抚琴绘长歌投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/610472.html