Android SQLite数据库操作:增删查改实例
78 浏览量
更新于2024-08-29
收藏 318KB PDF 举报
"这篇教程主要介绍了如何在Android应用中进行SQLite数据库的增、删、查、找等基本操作。"
在Android开发中,SQLite数据库是一个轻量级的、开源的、自包含的关系型数据库,常用于存储应用中的数据。SQLite数据库提供了一种高效且灵活的方式来管理应用程序的数据,尤其适合于移动设备,因为它们不需要专门的数据库服务器进程。下面将详细讲解如何在Android中实现SQLite数据库的基本操作。
### 一. 创建一个自定义数据库
首先,你需要创建一个继承自`SQLiteOpenHelper`的类,这是Android中处理SQLite数据库的标准方式。这个类负责创建、升级数据库以及获取`SQLiteDatabase`对象。例如:
```java
public class CustomDatabaseHelper extends SQLiteOpenHelper {
// 数据库版本号
private static final int DATABASE_VERSION = 1;
// 数据库名称
private static final String DATABASE_NAME = "MyDatabase.db";
public CustomDatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 在这里创建数据库表
String CREATE_TABLE = "CREATE TABLE " + "TableName" + " ("
+ "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 TableName");
onCreate(db);
}
}
```
### 二. 创建一个自定义适配器
为了将数据库中的数据展示在UI组件(如ListView)上,你需要创建一个自定义的`BaseAdapter`或`CursorAdapter`。这个适配器会把查询到的数据绑定到视图上。
```java
public class CustomAdapter extends CursorAdapter {
public CustomAdapter(Context context, Cursor c) {
super(context, c, false);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
// 获取或创建ListView的布局
LayoutInflater inflater = LayoutInflater.from(context);
View view = inflater.inflate(R.layout.list_item, parent, false);
return view;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView nameView = (TextView) view.findViewById(R.id.name);
TextView ageView = (TextView) view.findViewById(R.id.age);
int nameIndex = cursor.getColumnIndex("name");
int ageIndex = cursor.getColumnIndex("age");
String name = cursor.getString(nameIndex);
int age = cursor.getInt(ageIndex);
nameView.setText(name);
ageView.setText(String.valueOf(age));
}
}
```
### 三. 编写MainActivity代码
在你的主Activity中,你需要实例化数据库帮助类,执行SQL操作,并使用适配器将数据绑定到ListView。
```java
public class MainActivity extends AppCompatActivity {
CustomDatabaseHelper dbHelper;
SQLiteDatabase db;
CustomAdapter adapter;
ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new CustomDatabaseHelper(this);
db = dbHelper.getWritableDatabase();
// 插入数据
db.insert("TableName", null, getContentValues());
// 查询数据
Cursor cursor = db.query("TableName", null, null, null, null, null, null);
// 初始化ListView
listView = findViewById(R.id.listView);
adapter = new CustomAdapter(this, cursor);
listView.setAdapter(adapter);
}
// 其他方法如删除、更新数据
private ContentValues getContentValues() {
ContentValues values = new ContentValues();
values.put("name", "John Doe");
values.put("age", 30);
return values;
}
}
```
在上述代码中,`insert()`方法用于插入数据,`query()`方法用于查询数据,`update()`用于更新数据,而`delete()`方法则用于删除数据。这些方法都接受SQL相关的参数,可以用来构建复杂的查询条件。
最后,对于更复杂的应用场景,如分页加载数据,你可以使用`LIMIT`和`OFFSET`来控制每次查询返回的数据量,然后在用户滚动列表时动态加载更多数据。
Android开发中的SQLite数据库操作涉及创建数据库和表,定义数据模型,以及通过`SQLiteOpenHelper`、适配器和查询方法来处理数据。理解并熟练掌握这些基本操作是Android开发中不可或缺的一部分。
2017-08-31 上传
点击了解资源详情
2018-09-04 上传
2014-11-06 上传
2013-01-09 上传
2020-09-02 上传
2024-08-30 上传
2011-10-08 上传
weixin_38622475
- 粉丝: 0
- 资源: 912
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新