android连接sqlite数据库
时间: 2024-10-08 19:11:29 浏览: 31
android连接SQLite数据库源码.rar
5星 · 资源好评率100%
在Android中,SQLite是一个轻量级的关系型数据库管理系统,常用于本地数据存储。要连接SQLite数据库,你需要按照以下步骤操作:
1. **添加依赖**:首先,在项目的build.gradle文件中添加SQLite库支持:
```groovy
implementation 'androidx.room:room-runtime:2.4.0' // 或者最新版本
kapt 'androidx.room:room-compiler:2.4.0' // 如果你在使用Kotlin的数据类
```
2. **创建数据库实体**:定义一个@Entity注解的数据类,代表数据库表结构,比如`User`:
```kotlin
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity(tableName = "users")
data class User(
@PrimaryKey(autoGenerate = true) val id: Int,
val name: String,
val email: String
)
```
3. **建立数据库接口**:创建一个RoomDatabase子类,定义访问数据库的方法:
```kotlin
import androidx.room.Database
import androidx.room.RoomDatabase
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
```
4. **创建DAO(Data Access Object)**:定义处理数据库操作的接口,如`UserDao`:
```kotlin
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.Query
@Dao
interface UserDao {
@Insert
suspend fun insert(user: User)
@Query("SELECT * FROM users WHERE id = :id")
suspend fun getUserById(id: Int): User?
}
```
5. **注入数据库**:在需要使用的Activity或Fragment中,通过AppCompatActivity的support注入到你的数据库管理类中:
```kotlin
private lateinit var appDatabase: AppDatabase
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
appDatabase = Room.databaseBuilder(
applicationContext,
AppDatabase::class.java, "app_database"
).build()
}
fun getUserRepository(): UserRepository {
return UserRepository(appDatabase.userDao())
}
```
6. **执行查询**:现在你可以使用用户界面层的`UserRepository`来读取、插入和更新数据库。
阅读全文