阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android
本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:
- 继承SQLiteOpenHelper 创建数据库,数据表
- 插入数据库数据
- 删除数据库数据
- 查询数据库数据
- 修改数据库数据
- 数据库使用案例
Android 提供了对 SQLite 数据库的完全支持。应用中的任何类(不包括应用外部的类)均可按名称访问您所创建的任何数据库。如果想让自己创建的数据库供外部应用使用,请使用 ContentProvider对外提供接口。SQLite轻量级数据库使用方法如下:
1. 继承SQLiteOpenHelper 创建数据库,数据表
创建数据库表
1. 语法
创建数据表语法 如下:
创建数据表语法
2. 举例
举例 如下:
举例
3.继承SQLiteDBHelper的创建数据库、数据表
创建数据库、数据表 方法如下:
创建数据库、数据表
4.删除数据库表
删除数据库表方法如下:
DROP TABLE IF EXITS TABLE_NAME;
2. 插入数据库数据
插入数据方法一
- 语法
- 举例
插入数据方法二
- 语法
- 举例
Android 封装insert()插入数据方法三
insert(String table, String nullColumnHack, ContentValues values)1.语法
private SQLiteDatabase db; db.inser, null, values);2.举例
3. 删除数据库数据
删除数据库数据方法一
1.语法
DELETE FROM table_name
WHERE [condition];
DELETE FROM COMPANY WHERE ID = 7;2.举例
2.Android封装删除数据库数据方法二
1.语法
delete(String table, String whereClause, String[] whereArgs)
private SQLiteDatabase db; db.delete, "name=?", new String[] { "Jack" });举例
4. 查询数据库数据
查询数据库方法一
SELECT column1, column2, columnN FROM table_name;1.语法
查询表中所有数据的方法
SELECT * FROM table_name;
//1.查询指定的列 SELECT ID, NAME, SALARY FROM COMPANY; // 2.查询表中所有内容 SELECT * FROM COMPANY;2.举例
Android 封装查询数据库方法二
query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)1.语法
private SQLiteDatabase db; Cursor cursor = db.query, null, null, null, null, null, null);2.举例
5. 修改数据库数据
修改数据库方法一
1.语法
UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];
UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;2.举例
Android update 封装修改数据库方法二
1.语法
update(String table, ContentValues values, String whereClause, String[] whereArgs)
db.update, values, "nickname=?", new String[] { "J" });2.举例
6. 数据库使用案例
- 实现效果
数据库增删改查
创建数据库
创建数据库 方法如下:
public class SQLiteDBHelper extends SQLiteOpenHelper { public static String DB_NAME = ";; // version 必须大于1 public static int DB_VERSION = 1; public static String TABLE_NAME = "person"; public static String _ID = "_id"; public static String NAME = "name"; public static String NICK_NAME = "nickname"; public SQLiteDBHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor stub } public SQLiteDBHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // SQLite 数据库中,字段一般不区分类型,但是主键除外,主键必须是整型 String sql = "CREATE TABLE " + TABLE_NAME + "(" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL" + "," + NAME + " CHAR(10)," + NICK_NAME + " CHAR(10))"; db.execSQL(sql); } // 数据库升级的处理方法, @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { if (newVersion > oldVersion) { // 删除老的数据表,创建新表 String dropsql = "DROP TABLE IF EXITS " + TABLE_NAME; db.execSQL(dropsql); onCreate(db); } } }数据库增加数据方法实现
数据库增加数据方法实现代码如下:
// public void InsertSQL(View view) { InstertDB(); QueryDB(); } /** * 插入数据处理方法 */ private void InstertDB() { ContentValues values = new ContentValues(); values.put("name", "Jack"); values.put("nickname", "J"); // 返回值:最近插入的那一行的行号 long result = db.inser, null, values); if (result > 0) { Toa(getApplicationContext(), "添加成功", Toa) .show(); } else { Toa(getApplicationContext(), "添加失败", Toa) .show(); } }数据库删除内容方法实现
数据库删除内容方法实现代码如下:
/** * 删除数据 */ private void DeleteDb() { int result = db.delete, "name=?", new String[] { "Jack" }); if (result > 0) { Toa(getApplicationContext(), "删除成功", Toa) .show(); } else { Toa(getApplicationContext(), "无Jack", Toa) .show(); } }数据库修改内容方法实现
数据库修改内容方法实现代码如下:
/** * 修改数据 */ private void UpdateDb() { // update person set name="Kitty" where nickname="J" ContentValues values = new ContentValues(); values.put("name", "Lucy"); int result = db.update, values, "nickname=?", new String[] { "J" }); if (result > 0) { QueryDB(); } }数据库查询方法实现
数据库查询方法实现代码如下:
/** * 查询数据处理方法 */ private void QueryDB() { // Select * from person where name= ? // db.rawQuery(s) // cursor 游标--》 结果集合 // 当使用SimpleCusorAdapter 时候,cursor 这个记过里面 必须包含“_id”,这个字段 // Cursor cursor = db.query, null, "name=?", // new String[] { "Jack" }, null, null, null); Cursor cursor = db.query, null, null, null, null, null, null); while ()) { String name = cur("name")); String nickname = cur(cursor .getColumnIndex("nickname")); } // 将一个新的cusor跟原有的custor 交换 ada(cursor); ada(); }- 布局如下
- ListView item布局如下