安卓数据库是Android提供的一种数据存储方式,它可以用于存储和管理应用程序中的结构化数据。Android中常用的数据库有SQLite和Room Database。
-
SQLite:SQLite是一种嵌入式关系数据库管理系统,它是Android系统自带的数据库。通过使用SQLiteOpenHelper类,可以创建和管理数据库,执行增删改查操作。
-
创建数据库:
SQLiteOpenHelper dbHelper = new SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) { @Override public void onCreate(SQLiteDatabase db) { // 创建表格 db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_NAME + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 数据库升级操作 } }; SQLiteDatabase db = dbHelper.getWritableDatabase();
-
插入数据:
ContentValues values = new ContentValues(); values.put("name", "John"); long rowId = db.insert(TABLE_NAME, null, values);
-
查询数据:
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null); while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("_id")); String name = cursor.getString(cursor.getColumnIndex("name")); // 处理数据 } cursor.close();
-
更新数据:
ContentValues values = new ContentValues(); values.put("name", "Mary"); db.update(TABLE_NAME, values, "_id = ?", new String[] { String.valueOf(id) });
-
删除数据:
db.delete(TABLE_NAME, "_id = ?", new String[] { String.valueOf(id) });
-
-
Room Database:Room Database是一种在SQLite数据库之上的抽象层,它简化了对数据库的操作,并提供了更好的类型安全和编译时检查。
-
定义实体类:
@Entity public class User { @PrimaryKey public int id; public String name; }
-
定义数据库访问对象(DAO):
@Dao public interface UserDao { @Query("SELECT * FROM user") List<User> getAll(); @Insert void insert(User user); @Update void update(User user); @Delete void delete(User user); }
-
创建数据库:
RoomDatabase database = Room.databaseBuilder(context, AppDatabase.class, DATABASE_NAME).build(); UserDao userDao = database.userDao();
-
插入数据:
User user = new User(); user.id = 1; user.name = "John"; userDao.insert(user);
-
查询数据:
List<User> users = userDao.getAll();
-
更新数据:
user.name = "Mary"; userDao.update(user);
-
删除数据:
userDao.delete(user);
-
以上是安卓数据库的入门介绍,通过数据库的操作可以方便地进行数据存储和管理。在实际开发中,可以根据具体需求选择使用SQLite还是Room Database。
安卓数据库入门主要涉及以下几个方面:
- SQLite数据库:SQLite 是安卓操作系统内置的轻量级关系型数据库,提供了简单易用的API用于创建、查询和更新数据库。可以通过使用SQLiteOpenHelper类来创建数据库、表和进行增删改查等操作。
- 数据库操作类:可以通过继承SQLiteOpenHelper类自定义一个数据库操作类,通过覆写onCreate和onUpgrade方法来创建和更新数据库。在该类中,可以定义一系列方法来进行具体的增删改查操作。
- 增删改查操作:通过使用SQLiteDatabase类提供的方法,可以进行插入、删除、更新和查询数据库的操作。比如可以使用execSQL方法执行SQL语句来创建表,使用insert方法来插入数据,使用update方法来更新数据,使用delete方法来删除数据,使用query方法来查询数据等。
- 数据库事务:在进行大量操作时,可以使用事务来确保数据的一致性和完整性。通过使用beginTransaction、setTransactionSuccessful和endTransaction方法来开启、提交和关闭事务。
- 数据库升级:当需要对数据库进行结构或数据的修改时,需要进行数据库升级。可以通过覆写SQLiteOpenHelper类的onUpgrade方法,根据旧版本号和新版本号来进行相应的操作,比如创建新表、删除旧表、修改表结构等。
通过学习以上内容,就可以入门安卓数据库的基本操作。建议在学习过程中结合实际案例进行练习,深入理解和掌握数据库的使用。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/147622.html