下面我將介紹在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...