android studio 数据库的增删查改



在Android开发中,数据库是应用存储数据的重要方式之一。Android Studio提供了SQLite数据库的支持,使得开发者可以方便地在移动设备上进行数据的管理。本工程示例主要展示了如何在Android Studio中进行数据库的增删查改操作,使用的核心类是SQLiteOpenHelper的子类,即SQliteDatabase。 我们需要创建一个继承自SQLiteOpenHelper的类,如`MyDatabaseHelper`。这个类是数据库操作的入口,它有两个关键的方法需要我们重写:`onCreate()`和`onUpgrade()`。 `onCreate()`方法在数据库首次创建时被调用,我们在这里定义数据库的结构,包括创建表的SQL语句。例如,你可以创建一个名为`students`的表: ```java @Override public void onCreate(SQLiteDatabase db) { String CREATE_STUDENTS_TABLE = "CREATE TABLE " + STUDENTS_TABLE + "(" + ID + " INTEGER PRIMARY KEY," + NAME + " TEXT," + AGE + " INTEGER)"; db.execSQL(CREATE_STUDENTS_TABLE); } ``` `onUpgrade()`方法在数据库版本升级时调用,通常用于修改表结构或删除旧表。例如,当你需要增加新的列时: ```java @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + STUDENTS_TABLE); onCreate(db); } ``` 接下来,我们可以实现增删查改的具体功能: 1. **增加(Insert)**:使用`SQLiteDatabase`对象的`insert()`方法添加数据到表中。例如,添加一个学生记录: ```java ContentValues values = new ContentValues(); values.put(NAME, "John"); values.put(AGE, 20); long id = db.insert(STUDENTS_TABLE, null, values); ``` 2. **删除(Delete)**:通过`delete()`方法删除指定条件的数据。例如,删除ID为1的学生: ```java db.delete(STUDENTS_TABLE, ID + " = ?", new String[]{String.valueOf(1)}); ``` 3. **查询(Query)**:使用`query()`方法获取数据。例如,查询所有学生: ```java Cursor cursor = db.query(STUDENTS_TABLE, null, null, null, null, null, null); while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex(NAME)); int age = cursor.getInt(cursor.getColumnIndex(AGE)); // 处理查询结果 } cursor.close(); ``` 4. **更新(Update)**:通过`update()`方法更新已有数据。例如,将名字为"John"的学生年龄改为21: ```java ContentValues updateValues = new ContentValues(); updateValues.put(AGE, 21); db.update(STUDENTS_TABLE, updateValues, NAME + " = ?", new String[]{"John"}); ``` 在实际项目中,我们通常会封装这些操作到DAO(Data Access Object)类中,以便更好地管理和复用数据库操作代码。 在提供的压缩包文件`SQList`中,可能包含了上述操作的实现代码,包括`MyDatabaseHelper`类、DAO类以及相关的Activity或Fragment,用于在用户界面展示和交互。通过阅读和理解这些代码,你可以深入学习Android Studio中的SQLite数据库操作。在工程实践中,确保遵循最佳实践,比如使用事务处理批量操作,以及合理设计数据库模型以提高查询效率。




































































































































- 1
- 2
- 3
- 4
- 5
- 6
- 13

- iticetea2020-04-16还算可以吧

- 粉丝: 30
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- PLC皮带运输监控系统设计方案.doc
- 网络传播视阈下的地区形象改善策略研究.docx
- 初学者必看!PLC与常见设备连接方式.doc
- plc原理设计的自动售货机.doc
- 汽车零部件行业MRP信息化平台技术.ppt
- 基于PLC实现的彩灯广告牌方案设计书.doc
- 区块链基础:非技术性25步指南
- 北京市通信公司综合业务楼工程大体积砼施工组织设计方案.doc
- 大数据时代互联网广告的营销模式分析.docx
- 浙江省传统村落调研资料数据库的建立与应用研究.docx
- 【精品ppt】互联网+电子商务创新创业融资竞赛-(1).pptx
- 基于PLC交通灯控制系统大学本科方案设计书[1]177.doc
- 通信部队信息化建设存在的问题及解决措施.docx
- 大数据背景下企业人力资源绩效管理创新探讨.docx
- 适用于预测性维护与健康管理的故障诊断及剩余使用寿命预测大型语言模型
- 软件工程期末考试题3.doc


