android studio SQLite数据库的简单使用

在Android Studio中使用数据库可以有多种方式,常见的几种方式包括使用SQLite数据库和使用

  1. SQLite数据库 SQLite是一款轻量级的关系型数据库管理系统,在Android中被广泛使用。要在Android Studio中使用SQLite数据库,需要先创建一个数据库帮助类,这个类继承自SQLiteOpenHelper类,用于创建和管理数据库。在数据库帮助类中,可以定义表结构和数据库操作方法。然后在需要使用数据库的地方,可以通过实例化数据库帮助类来获取数据库对象,并调用数据库操作方法。

创建一个数据库帮助类:

java 复制代码
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 createTableQuery = "CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, name TEXT)";
        db.execSQL(createTableQuery);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 升级数据库
        String dropTableQuery = "DROP TABLE IF EXISTS mytable";
        db.execSQL(dropTableQuery);
        onCreate(db);
    }
}

然后在需要使用数据库的地方,可以通过实例化数据库帮助类来获取数据库对象,并调用数据库操作方法:

java 复制代码
// 实例化数据库帮助类
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
// 获取数据库对象
SQLiteDatabase db = dbHelper.getWritableDatabase();
// 执行数据库操作,例如插入数据
ContentValues values = new ContentValues();
values.put("name", "John");
db.insert("mytable", null, values);
  1. Room Persistence Library Room是Android Jetpack中的一个持久化库,它提供了一个简单的抽象层来访问SQLite数据库。使用Room可以更加方便地进行数据库操作,不需要手动编写SQL语句。要在Android Studio中使用Room,首先需要在build.gradle文件中添加Room依赖:
groovy 复制代码
dependencies {
    implementation 'android.arch.persistence.room:runtime:1.1.1'
    annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'
}

然后,在数据库中定义实体类和数据访问对象(DAO)。实体类对应数据库中的表,数据访问对象定义了对数据库的操作方法。

例如,定义一个实体类:

java 复制代码
@Entity
public class User {
    @PrimaryKey
    public int id;
    public String name;
}

定义一个数据访问对象:

java 复制代码
@Dao
public interface UserDao {
    @Insert
    void insert(User user);

    @Query("SELECT * FROM user")
    List<User> getAllUsers();
}

然后,创建一个数据库类,用于获取数据库对象和访问数据访问对象的方法:

java 复制代码
@Database(entities = {User.class}, version = 1)
public abstract class MyDatabase extends RoomDatabase {
    public abstract UserDao userDao();

    private static MyDatabase INSTANCE;

    public static synchronized MyDatabase getInstance(Context context) {
        if (INSTANCE == null) {
            INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
                    MyDatabase.class, "mydatabase.db")
                    .build();
        }
        return INSTANCE;
    }
}

最后,在需要使用数据库的地方,可以通过调用数据库类的方法来获取数据库对象和访问数据访问对象的方法:

java 复制代码
// 获取数据库对象
MyDatabase db = MyDatabase.getInstance(context);
// 获取数据访问对象
UserDao userDao = db.userDao();
// 执行数据库操作,例如插入数据
User user = new User();
user.id = 1;
user.name = "John";
userDao.insert(user);
相关推荐
JMchen1233 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
惊讶的猫3 小时前
Redis持久化介绍
数据库·redis·缓存
阔皮大师3 小时前
INote轻量文本编辑器
java·javascript·python·c#
小法师爱分享3 小时前
StickyNotes,简单便签超实用
java·python
qq_297574673 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
Apple_羊先森3 小时前
ORACLE数据库巡检SQL脚本--19、磁盘读次数最高的前5条SQL语句
数据库·sql·oracle
金牌归来发现妻女流落街头3 小时前
【从SpringBoot到SpringCloud】
java·spring boot·spring cloud
毅炼3 小时前
Java 基础常见问题总结(4)
java·后端
crmscs3 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob3 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享