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所依賴的程...