以下是一个使用SQLite数据库的Android例子:
- 首先,在gradle文件中添加SQLite依赖项。在app模块的build.gradle中,添加以下代码:
dependencies {
implementation 'androidx.sqlite:sqlite:2.1.0'
implementation 'androidx.room:room-runtime:2.3.0'
annotationProcessor 'androidx.room:room-compiler:2.3.0'
}
- 创建一个数据库类,用于管理数据库的创建和升级。在项目中创建一个名为
AppDatabase
的类,并继承RoomDatabase
。
import androidx.room.Database;
import androidx.room.RoomDatabase;
@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract UserDao userDao();
private static AppDatabase instance;
public static synchronized AppDatabase getInstance(Context context) {
if (instance == null) {
instance = Room.databaseBuilder(context.getApplicationContext(),
AppDatabase.class, "my_database")
.fallbackToDestructiveMigration()
.build();
}
return instance;
}
}
在上面的例子中,User
是一个实体类,代表了数据库中的一张表。
- 创建一个DAO(数据访问对象)接口,用于定义对数据库的操作。在项目中创建一个名为
UserDao
的接口,用于定义对用户表的操作。
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
@Dao
public interface UserDao {
@Query("SELECT * FROM user")
List<User> getAll();
@Query("SELECT * FROM user WHERE id = :id LIMIT 1")
User getById(int id);
@Insert
void insert(User user);
@Update
void update(User user);
@Delete
void delete(User user);
}
在上面的例子中,User
是一个实体类,代表了数据库中的一张表。
- 创建一个实体类,代表数据库中的一张表。在项目中创建一个名为
User
的类,用于定义用户表的结构。
import androidx.room.Entity;
import androidx.room.PrimaryKey;
@Entity(tableName = "user")
public class User {
@PrimaryKey(autoGenerate = true)
private int id;
private String name;
private int age;
// getters and setters
// ...
}
在上面的例子中,User
类使用@Entity
注解来指定它是一个实体类,@PrimaryKey
注解指定了主键字段。
- 在应用中使用数据库。在你的Activity或Fragment中,你可以使用以下代码来获取数据库实例,并进行增删改查操作。
AppDatabase database = AppDatabase.getInstance(getApplicationContext());
UserDao userDao = database.userDao();
// 插入一条新用户记录
User user = new User();
user.setName("John Doe");
user.setAge(25);
userDao.insert(user);
// 查询所有用户
List<User> users = userDao.getAll();
// 根据id查询用户
User userById = userDao.getById(1);
// 更新用户信息
userById.setAge(30);
userDao.update(userById);
// 删除用户记录
userDao.delete(userById);
这是一个简单的使用SQLite数据库的Android例子。通过以上代码,你可以创建一个数据库,定义表结构,实现增删改查操作。请根据你的具体需求进行修改和扩展。
以下是一个基本的 Android 数据库示例:
- 创建一个数据库助手类(DatabaseHelper.java):
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表格
String createTableQuery = "CREATE TABLE contacts (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, phone TEXT);";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新数据库版本时执行的操作
// 可以根据需要进行数据迁移或重建表格等操作
}
}
- 在你的活动或片段中使用数据库:
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private DatabaseHelper databaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化数据库助手
databaseHelper = new DatabaseHelper(this);
// 获取可写的数据库实例
SQLiteDatabase db = databaseHelper.getWritableDatabase();
// 插入数据
ContentValues values = new ContentValues();
values.put("name", "John");
values.put("phone", "123456789");
db.insert("contacts", null, values);
// 查询数据
String[] projection = {"name", "phone"};
Cursor cursor = db.query("contacts", projection, null, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndexOrThrow("name"));
String phone = cursor.getString(cursor.getColumnIndexOrThrow("phone"));
// 处理数据
}
// 关闭游标和数据库
cursor.close();
db.close();
}
@Override
protected void onDestroy() {
super.onDestroy();
// 关闭数据库助手
if (databaseHelper != null) {
databaseHelper.close();
}
}
}
这个示例演示了创建数据库表格、插入数据和查询数据的基本操作。你可以根据自己的需求在此基础上进行扩展。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/147872.html