Android 数据库实例源码
简介
Android 数据库实例源码是一个用于展示如何在 Android 应用中使用 SQLite 数据库的示例代码,本文将详细介绍如何创建、使用和管理一个本地 SQLite 数据库,包括表的创建、数据的插入、查询、更新和删除等操作。
环境准备
在开始编写代码之前,请确保你已经安装了以下工具:
1、Android Studio
2、Java Development Kit (JDK)
3、Android SDK
创建数据库
我们需要创建一个 SQLite 数据库,在 Android 中,我们可以通过继承SQLiteOpenHelper
类来实现这一点,下面是一个简单的示例:
package com.example.mydatabase; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "MyDatabase.db"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String createTableSQL = "CREATE TABLE users (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT NOT NULL, " + "age INTEGER NOT NULL)"; db.execSQL(createTableSQL); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 在这里处理数据库升级逻辑,例如删除旧表并重新创建新表 db.execSQL("DROP TABLE IF EXISTS users"); onCreate(db); } }
在这个示例中,我们创建了一个名为users
的表,包含三个列:id
、name
和age
。id
是主键,并且会自动递增。
插入数据
我们需要向数据库中插入一些数据,我们可以使用ContentValues
类来存储要插入的数据:
package com.example.mydatabase; import android.content.ContentValues; import android.content.Context; import android.database.sqlite.SQLiteDatabase; public class DataInserter { private MyDatabaseHelper dbHelper; public DataInserter(Context context) { dbHelper = new MyDatabaseHelper(context); } public void insertUser(String name, int age) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("age", age); db.insert("users", null, values); db.close(); } }
在这个示例中,我们创建了一个DataInserter
类,该类包含一个方法insertUser
,用于向users
表中插入数据,我们通过调用dbHelper.getWritableDatabase()
获取可写的数据库对象,然后使用ContentValues
类存储要插入的数据,最后使用db.insert
方法将数据插入到表中。
查询数据
我们已经向数据库中插入了一些数据,接下来我们需要查询这些数据,我们可以使用Cursor
类来遍历查询结果:
package com.example.mydatabase; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class DataQuery { private MyDatabaseHelper dbHelper; public DataQuery(Context context) { dbHelper = new MyDatabaseHelper(context); } public Cursor queryUsers() { SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query("users", null, null, null, null, null, null); return cursor; } }
在这个示例中,我们创建了一个DataQuery
类,该类包含一个方法queryUsers
,用于查询users
表中的所有数据,我们通过调用dbHelper.getReadableDatabase()
获取只读的数据库对象,然后使用db.query
方法执行查询操作,查询结果存储在一个Cursor
对象中,我们可以使用Cursor
类的moveToNext
、moveToPrevious
、getString
、getInt
等方法来遍历和访问查询结果。
更新数据
我们需要更新数据库中的某些数据,假设我们要更新某个用户的姓名,可以使用以下代码:
package com.example.mydatabase; import android.content.ContentValues; import android.content.Context; import android.database.sqlite.SQLiteDatabase; public class DataUpdater { private MyDatabaseHelper dbHelper; public DataUpdater(Context context) { dbHelper = new MyDatabaseHelper(context); } public void updateUserName(int id, String newName) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", newName); String selection = "id = ?"; String[] selectionArgs = { String.valueOf(id) }; db.update("users", values, selection, selectionArgs); db.close(); } }
在这个示例中,我们创建了一个DataUpdater
类,该类包含一个方法updateUserName
,用于更新指定用户的姓名,我们通过调用dbHelper.getWritableDatabase()
获取可写的数据库对象,然后使用ContentValues
类存储要更新的数据,我们还定义了一个选择条件(即id = ?
),以及一个选择参数数组(即{ String.valueOf(id) }
),我们使用db.update
方法执行更新操作。
删除数据
同样地,我们也可能需要从数据库中删除某些数据,假设我们要删除某个用户,可以使用以下代码:
package com.example.mydatabase; import android.content.Context; import android.database.sqlite.SQLiteDatabase; public class DataDeleter { private MyDatabaseHelper dbHelper; public DataDeleter(Context context) { dbHelper = new MyDatabaseHelper(context); } public void deleteUser(int id) { SQLiteDatabase db = dbHelper.getWritableDatabase(); String selection = "id = ?"; String[] selectionArgs = { String.valueOf(id) }; db.delete("users", selection, selectionArgs); db.close(); } }
在这个示例中,我们创建了一个DataDeleter
类,该类包含一个方法deleteUser
,用于删除指定用户,我们通过调用dbHelper.getWritableDatabase()
获取可写的数据库对象,然后定义一个选择条件(即id = ?
),以及一个选择参数数组(即{ String.valueOf(id) }
),我们使用db.delete
方法执行删除操作。
各位小伙伴们,我刚刚为大家分享了有关“android数据库实例源码”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/632266.html