日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Android 接入Realm并使用

發(fā)布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 接入Realm并使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天看自己寫的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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。