安卓日記 Realm快速上手

2021-07-14 06:17:47 字數 2602 閱讀 3479

realm作為一種新興的資料庫以其**的速度吸引了我們,擺圖看看它有多快

力壓主流sqlite,所以學習realm就很有必要了

classpath "io

.realm

:realm-gradle-plugin

:1.0

.1"

新增後效果如下

buildscript 

dependencies

}

realmconfiguration realmconfig = new realmconfiguration.builder(this).build();

realm.setdefaultconfiguration(realmconfig);

realm=realm.getdefaultinstance();

最好把realm設為realm型別的全域性變數因為最後要把它關閉掉

我這裡只介紹最簡單的方法,至於配置表名,表的版本這裡不詳細介紹

realm.begintransaction();

//todo

realm.committransaction();

開始前要begintransaction,結束後要committransaction

不過還有另外兩種方式

realm.executetransaction(new realm.transaction() 

});

realmasynctask=realm.executetransactionasync(new realm.transaction() 

});

為什麼要返回乙個 realmasynctask的值呢,因為如果你在跳轉activity之後想中止這個過程則要把realmasynctask 關掉,就像網路請求一樣。

public

class

country

extends

realmobject

public string getname()

public

void

setname(string name)

public

intgetpopulation()

public

void

setpopulation(int population)

}

實體必須是繼承自realmobject

realm.begintransaction();

country country=realm.createobject(country.class);

country.setpopulation(1000000);

country.setname("china");

realm.committransaction();

realmresultsrealmresults =realm.where(country.class).findall();
支援以下幾種條件查詢

//結果對poppulation公升序排序

realmresultsresults3 =

realm.where(country.class)

.findallsorted("population", sort.ascending);

如果是降序則要把sort.ascending換成sort.descending**

無論是刪除和修改都是基於查詢語句的

realm.begintransaction();

//刪除查詢到的所有項

results3.deleteallfromrealm();

//刪除查詢到的location為2的項

results3.deletefromrealm(2);

//刪除查詢到的第一項

results3.deletefirstfromrealm();

//刪除查詢到的最後一項

results3.deletelastfromrealm();

realm.committransaction();

realm.begintransaction();

//將loacation為0的項的population改為13000000

country mcountry=results3.get(0);

mcountry.setpopulation(13000000);

realm.committransaction();

realm雖然速度快,但他的擴充套件性不及其實sqlite的庫,導致有些人不喜歡用,這世界上並沒有完美的東西,至於你們怎麼選擇就看你們自己的取捨吧

android端Realm資料庫快速上手

下面我將介紹在android studio上快速使用realm資料庫 如果想直接查到你的realm資料庫,需做如下配置 在你專案的 build.gradle中 repositories build.gradle中 implementation com.facebook.stetho stetho 1...

安卓學習日記 檔案管理

1 使用內部儲存器 2 使用外部儲存器 寫入私有檔案 讀取私有檔案 讀取raw檔案 public void readrawfileclick view v in.close toast.maketext this,sb,toast.length short show catch filenotfou...

安卓學習日記 記憶體管理技巧

如果應用程式當中需要使用service來執行後台任務的話,請一定要注意只有當任務正在執行的時候才應該讓service執行起來。另外,當任務執行完之後去停止service的時候,要小心service停止失敗導致記憶體洩漏的情況。當我們啟動乙個service時,系統會傾向於將這個service所依賴的程...