android端Realm資料庫快速上手

2021-08-21 05:19:44 字數 2150 閱讀 6704

下面我將介紹在android studio上快速使用realm資料庫

//如果想直接查到你的realm資料庫,需做如下配置

在你專案的

build.

gradle中:

repositories

}        

build.

gradle中:

implementation 'com.facebook.stetho:stetho:1.5.0'

implementation 'com.uphyca:stetho_realm:2.1.0'

如上操作後則可使用谷歌瀏覽器輸入此鏈結chrome://inspect/#devices,可以查到realm資料庫中的資料

資料庫操作

開啟資料庫:

realm mrealm=realm.getdefaultinstance();

關閉資料庫:

if (mrealm != null && !mrealm.isclosed())

一.新增物件入資料庫(增)

copytorealmorupdate這個方法用來新增物件進資料庫(適用於有主鍵的model),如果資料庫中存在,則更新資料庫

copytorealm這個方法也是新增物件入資料庫(適用於沒有主鍵的model,有主鍵的model也可以使用這個方法),不能更新資料庫只能建立,重複新增會報錯(主鍵已存在的錯誤)

1.copytorealm與copytorealmorupdate:前者是給未指明主鍵的model使用的,後者則是給指明主鍵的model使用。

2.copytorealm對應無主鍵引數的createobject,區別是copytorealm會復用realm快取的model示例,不會每次都建立新的model例項。

3.copytorealmorupdate對應有主鍵引數的createobject,區別是copytorealmorupdate會復用realm快取的model示例,沒有快取例項就要去表中查詢是否有匹配這個主鍵存在的記錄,來決定是新建物件還是更新model例項。

二.刪除物件(刪)

先查到,再刪

beandbdb=selectsceneresult(id);

db.deletefromrealm();

三.修改物件(改)

可以使用copytorealmorupdate方法整條更新,只要主鍵key一樣;

copytorealmorupdate(db);

也可以逐條更新

先從資料庫查出,再更新物件的字段

beandb db=selectimageresult(id);

mrealm.begintransaction();

db.setname("alvis");

mrealm.committransaction();

四.查詢物件(查)

查詢單條:根據主鍵查詢(唯一的)

mrealm.where(beandb.class).equalto("keyid",id).findfirst();

查詢多條:根據條件查詢(可能不是唯一的)

mrealm.where(beandb.class).equalto("name",alvis).findall(); 返回的是乙個陣列可能多條;

注意:intent傳遞realm物件,不能實現serializable介面,因為realm的**類未實現serializable介面。

解決辦法:實現cloneable或者parcelable介面

Realm匯入Android中報錯

android studio中匯入realm後第一次執行總是不會報錯,之後一直報錯 換了各種版本的realm庫重新匯入,都是出現下面的報錯說明 invalid escape sequence at line 1 column 26 path 0.name開啟錯誤仔細看了之後 caused by co...

資料儲存之Realm資料庫

realm官網 realm速度 比 sqlite 和 core data 更好更快的資料庫支援 realm範圍 支援 ios swift 和 objective c 語言都支援 和 android realm我喜歡的原因 相對於fmdb等資料庫,realm讀取資料非常快,可構建大型應用,語言通俗易懂...

Kotlin引入Realm資料庫

kotlin引入realm資料庫 1.在module的build.gradle中配置外掛程式 realm 資料庫新增kapt引入需要2.在module的build.gradle中引入依賴 compile io.realm realm android 0.87.5 kapt io.realm real...