Android SQLite demo 之增、删、改、查
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的数据库,允许开发者在本地存储和管理数据。本教程将深入探讨如何在Android应用中使用SQLite进行数据的增、删、改、查操作,通过Android Studio实现一个简单的SQLite demo。 我们需要在AndroidManifest.xml文件中添加SQLite数据库所需的权限: ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> ``` 接着,创建一个SQLiteOpenHelper的子类,如`DatabaseHelper`,用于管理数据库的创建和升级。在这个类中,我们需要重写`onCreate()`和`onUpgrade()`方法: ```java public class DatabaseHelper extends SQLiteOpenHelper { // 数据库版本号 private static final int DATABASE_VERSION = 1; // 数据库名称 private static final String DATABASE_NAME = "SQLiteTest.db"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // 创建表的SQL语句 String CREATE_TABLE = "CREATE TABLE " + "YourTableName" + "(" + "id" + " INTEGER PRIMARY KEY," + "name" + " TEXT," + "age" + " INTEGER" + ")"; db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 如果数据库版本升级,可以在此删除旧表,创建新表 db.execSQL("DROP TABLE IF EXISTS YourTableName"); onCreate(db); } } ``` 现在我们已经准备好数据库,接下来是进行数据的增、删、改、查操作。 1. 增加数据:调用SQLiteDatabase的`insert()`方法来插入一条新记录。例如: ```java public boolean insertData(String name, int age) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("age", age); long result = db.insert("YourTableName", null, contentValues); if (result == -1) return false; else return true; } ``` 2. 查询数据:使用`query()`方法获取数据,可以设置查询条件、排序方式等: ```java public Cursor getAllData() { SQLiteDatabase db = this.getWritableDatabase(); Cursor res = db.rawQuery("SELECT * FROM YourTableName", null); return res; } public Cursor getDataById(int id) { SQLiteDatabase db = this.getWritableDatabase(); Cursor res = db.rawQuery("SELECT * FROM YourTableName WHERE id=?", new String[]{String.valueOf(id)}); return res; } ``` 3. 更新数据:使用`update()`方法更新现有记录: ```java public boolean updateData(String name, int age, int id) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("age", age); int result = db.update("YourTableName", contentValues, "id = ?", new String[]{String.valueOf(id)}); if (result == 0) return false; else return true; } ``` 4. 删除数据:使用`delete()`方法删除指定的记录: ```java public boolean deleteData(int id) { SQLiteDatabase db = this.getWritableDatabase(); int result = db.delete("YourTableName", "id = ?", new String[]{String.valueOf(id)}); if (result == 0) return false; else return true; } ``` 在实际应用中,你需要在Activity或Fragment中实例化`DatabaseHelper`,然后调用以上方法进行相应的数据库操作。例如,在一个按钮点击事件中插入数据: ```java DatabaseHelper dbHelper = new DatabaseHelper(this); if (dbHelper.insertData("张三", 25)) { Toast.makeText(this, "数据插入成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "数据插入失败", Toast.LENGTH_SHORT).show(); } ``` 别忘了在使用完数据库后关闭数据库连接,以避免资源泄露: ```java dbHelper.close(); ``` 通过这个SQLite Demo,你将了解如何在Android应用中创建和操作SQLite数据库。这个基础对于开发任何需要本地数据存储的Android应用至关重要。记得在你的项目中自定义表名、列名以及操作逻辑,以适应你的具体需求。
- 1
- 2
- 3
- 4
- 5
- 6
- 8
- 帶頭大哥2017-12-22简单使用没问题,我觉得挺好,对初用SQLite很有帮助
- qq_350194472017-11-01不错 知道学习
- jimmyhuang200905122018-04-21谢谢,值得借鉴。
- a293435392018-04-30下载后不能正常使用.
- 粉丝: 106
- 资源: 26
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- QMenuBar中item同时显示图标和文字
- 永磁同步电机末端振动抑制(输入整形)simulink仿真模型,包含ZV,ZVD,EI整形
- IMG_20241125_212210.jpg
- 本地安装GSVA,有很多选择,我选了相对最新的
- yolo算法-橡胶圈数据集-23984张图像带标签-机器人-橡胶圈.zip
- wordpress网址导航主题模板 自适应手机端+附整站源码
- yolo算法-手套-无手套-人数据集-14773张图像带标签-手套-无手套-人-无头盔-无口罩-没有安全鞋-无护耳器-无背心-护耳器-背心-安全鞋-无玻璃-头盔-面具-玻璃杯.zip
- yolo算法-动物类别数据集-21613张图像带标签-人-奶牛-鹰-大象-汽车-猪-水牛-熊-鹿-雨伞-狗-老虎-浣熊-狼.zip
- Go语言实现高质量代理池构建与部署
- yolo算法-多类别动物数据集-8893张图像带标签-猴子-奶牛-大象-水牛-美洲虎-熊-鹿-马-狗-老虎-鸟-狮子-猎豹-山羊.zip