Android Room的使用詳解
官網(wǎng)介紹:developer.android.google.cn/training/da…
Room 是在 SQLite 上提供了一個抽象層,以便在充分利用 SQLite 的強大功能的同時,能夠流暢地訪問數(shù)據(jù)庫。
Room 包含 3 個重要部分:
- 數(shù)據(jù)庫:包含數(shù)據(jù)庫持有者,并作為應(yīng)用已保留的持久關(guān)系型數(shù)據(jù)的底層連接的主要接入點。
- Entity:表示數(shù)據(jù)庫中的表。
- DAO:包含用于訪問數(shù)據(jù)庫的方法。
基本使用步驟:
1、導(dǎo)入配置
dependencies { def room_version = "2.2.5" implementation "androidx.room:room-runtime:$room_version" annotationProcessor "androidx.room:room-compiler:$room_version" // For Kotlin use kapt instead of annotationProcessor // optional - Kotlin Extensions and Coroutines support for Room implementation "androidx.room:room-ktx:$room_version" // optional - RxJava support for Room implementation "androidx.room:room-rxjava2:$room_version" // optional - Guava support for Room, including Optional and ListenableFuture implementation "androidx.room:room-guava:$room_version" // Test helpers testImplementation "androidx.room:room-testing:$room_version" }
2、創(chuàng)建表
@Entity public class User { @PrimaryKey public int uid; @ColumnInfo(name = "first_name") public String firstName; @ColumnInfo(name = "last_name") public String lastName; }
參考:developer.android.google.cn/training/da…
3、創(chuàng)建Dao
包含訪問數(shù)據(jù)庫的一系列方法。
@Dao public interface UserDao { @Query("SELECT * FROM user") List<User> getAll(); @Query("SELECT * FROM user WHERE uid IN (:userIds)") List<User> loadAllByIds(int[] userIds); @Query("SELECT * FROM user WHERE first_name LIKE :first AND " + "last_name LIKE :last LIMIT 1") User findByName(String first, String last); @Insert void insertAll(User... users); @Insert void insert(User user); @Delete void delete(User user); }
參考:developer.android.google.cn/training/da…
4、創(chuàng)建數(shù)據(jù)庫
@Database(entities = {User.class}, version = 1) public abstract class AppDatabase extends RoomDatabase { public abstract UserDao userDao(); }
5、使用
AppDatabase db = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "database-name").build(); db.userDao().insert(new User());
以上就是Android Room的使用詳解的詳細內(nèi)容,更多關(guān)于Android Room的使用的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Flutter中實現(xiàn)交互式Webview的方法詳解
Flutter是一款強大的跨平臺移動應(yīng)用開發(fā)框架,而Webview則是在應(yīng)用中展示W(wǎng)eb內(nèi)容的重要組件,本文將介紹如何在Flutter應(yīng)用中實現(xiàn)交互式的Webview,快跟隨小編一起學(xué)習(xí)一下吧2023-09-09android使用intent傳遞參數(shù)實現(xiàn)乘法計算
這篇文章主要為大家詳細介紹了android使用intent傳遞參數(shù)實現(xiàn)乘法計算,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04ToolBar中menu無法同時顯示圖標(biāo)和文字問題的解決方法
這篇文章主要為大家詳細介紹了ToolBar中menu無法同時顯示圖標(biāo)和文字問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09實例講解Android中ViewPager組件的一些進階使用技巧
這篇文章主要介紹了Android中ViewPager組件的一些進階使用技巧,包括添加標(biāo)題與onPagerChangeListener監(jiān)聽使用等,需要的朋友可以參考下2016-03-03Android 網(wǎng)絡(luò)圖片查看顯示的實現(xiàn)方法
本篇文章小編為大家介紹,Android 網(wǎng)絡(luò)圖片查看顯示的實現(xiàn)方法,需要的朋友參考下2013-04-04