Android SQLite数据库操作:增删查改实例

4 下载量 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开发中不可或缺的一部分。