Android 接入Realm并使用
今天看自己寫的github demo 看到Realm 這里在回顧下
?
github 搜索Realm?
我們可以選擇java
可以看到Realm 介紹:
Realm是直接在手機,平板電腦或可穿戴設(shè)備內(nèi)部運行的移動數(shù)據(jù)庫。該存儲庫保存Realm的Java版本的源代碼,該版本當(dāng)前僅在Android上運行
特征
-
移動優(yōu)先:?Realm是第一個從頭開始構(gòu)建的數(shù)據(jù)庫,可直接在手機,平板電腦和可穿戴設(shè)備中運行。
-
簡單:數(shù)據(jù)直接作為對象公開,并且可以通過代碼查詢,從而消除了對ORM繁瑣的性能和維護問題的需求。此外,我們一直在努力將API限制在極少的類中:我們的大多數(shù)用戶都直觀地選擇了它,并在幾分鐘內(nèi)啟動并運行了簡單的應(yīng)用程序。
-
現(xiàn)代:?Realm支持簡單的線程安全性,關(guān)系和加密。
-
快速:在保持非常豐富的功能集的同時,Realm在普通操作上甚至比原始SQLite還要快。
了解之后下面我們說下Android是怎樣接入的
看了下現(xiàn)在Realm 更新到10.0了
創(chuàng)建一個項目之后
第一步:
在項目的build.gradle 里面
具體位置:
在 dependencies
classpath "io.realm:realm-gradle-plugin:10.0.0"
具體位置如下
第二步:
在app的下面的build.gradle 里面
apply plugin: 'realm-android'
具體位置如下
第三部我們在Application初始化 一個User 的數(shù)據(jù)庫(名字自己隨便取的)
RealmConfiguration config = new RealmConfiguration.Builder().name("User").build();Realm.setDefaultConfiguration(config);
設(shè)置完之后我們操作下它的增刪改查操作
自己的大致布局如下
具體代碼如下
public class MainActivity extends AppCompatActivity {private EditText phone, pw;private Realm realm;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);realm = Realm.getDefaultInstance();phone = findViewById(R.id.phone);pw = findViewById(R.id.pw);findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {realm.beginTransaction();User user = realm.createObject(User.class);user.setPhone(phone.getText().toString().trim());user.setPw(pw.getText().toString().trim());realm.copyToRealm(user);realm.commitTransaction();Toast.makeText(MainActivity.this, "插入數(shù)據(jù)庫成功", Toast.LENGTH_SHORT).show();}});findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {
// RealmResults<User> result = realm.where(User.class)
// .equalTo("phone", "1")
// .or()
// .equalTo("phone", "12")
// .findAllAsync();
// Log.e("--------result",result.toString());RealmResults<User> results = realm.where(User.class).findAllAsync();for (User u : results) {Log.e("-------results", u.getPhone() + "-------" + u.getPw());Toast.makeText(MainActivity.this, "數(shù)據(jù):"+u.getPhone()+","+u.getPw(),Toast.LENGTH_SHORT).show();}}});findViewById(R.id.btn2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {RealmResults<User> results = realm.where(User.class).findAll();realm.beginTransaction();
// results.deleteFirstFromRealm(); //刪除第一個results.deleteLastFromRealm();//最后一個數(shù)據(jù)
// results.deleteAllFromRealm();//刪除所有// User user =results.get(2); //指定下標(biāo)刪除
// if (user != null) {
// user.deleteFromRealm();
// }realm.commitTransaction();}});findViewById(R.id.btn3).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {User user = realm.where(User.class).equalTo("phone", "131").findFirst();realm.beginTransaction();if (user != null) {user.setPhone("176");Toast.makeText(MainActivity.this, "修改成功", Toast.LENGTH_SHORT).show();}else {Toast.makeText(MainActivity.this, "這里只是測試填寫的手機號錯誤修改不了", Toast.LENGTH_SHORT).show();}realm.commitTransaction();}});}}
demo 參考地址
總結(jié)
以上是生活随笔為你收集整理的Android 接入Realm并使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 弱引用 (WeakRef
- 下一篇: Android Textview 实现版