Android Realm初试

╰+攻爆jí腚メ 2022-09-25 15:25 311阅读 0赞

Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the Java version of Realm, which currently runs only on Android.

Realm是一个移动端的数据库,它可以在手机、平板。穿戴设备上运行。这个仓库的代码是一个Java版本的代码,目前只用在安卓端。

摘自:https://github.com/realm/realm-java

导入JAR

  1. compile 'io.realm:realm-android:0.87.0'

在Application 中配置,不配置也可以,就是默认的哦。

  1. public class MyApplication extends Application {
  2. @Override
  3. public void onCreate() {
  4. super.onCreate();
  5. initRealm();
  6. }
  7. private void initRealm(){
  8. RealmConfiguration configuration = new RealmConfiguration
  9. .Builder(this)
  10. .name("test.realm")
  11. .deleteRealmIfMigrationNeeded()
  12. .schemaVersion(7).migration(new RealmMigration() {
  13. @Override
  14. public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
  15. }
  16. }).build();
  17. Realm.setDefaultConfiguration(configuration);
  18. }
  19. }

创建实体类,需集成RealmObject

  1. public class User extends RealmObject{
  2. @PrimaryKey
  3. private String id;
  4. private String userName;
  5. private String mobile;
  6. public String getId() {
  7. return id;
  8. }
  9. public void setId(String id) {
  10. this.id = id;
  11. }
  12. public String getUserName() {
  13. return userName;
  14. }
  15. public void setUserName(String userName) {
  16. this.userName = userName;
  17. }
  18. public String getMobile() {
  19. return mobile;
  20. }
  21. public void setMobile(String mobile) {
  22. this.mobile = mobile;
  23. }
  24. }

在Activity中初始化

  1. Realm myRealm ; myRealm= Realm.getInstance(this);

添加数据:

  1. //Realm开始处理事物 方式1:
  2. myRealm.beginTransaction();
  3. User user = myRealm.createObject(User.class);
  4. user.setId("445115");
  5. user.setMobile("44545");
  6. user.setUserName("hha");
  7. myRealm.commitTransaction();
  8. //方式2:
  9. User user2=new User();
  10. user2.setId("1123");
  11. user2.setUserName("sss");
  12. user2.setMobile("445");
  13. myRealm.beginTransaction();
  14. User userCopy2 = myRealm.copyToRealm(user2);
  15. myRealm.commitTransaction();

查找数据

  1. RealmResults<User> listUser = myRealm.where(User.class).findAll();
  2. StringBuilder stringBuilder=new StringBuilder();
  3. for(User u:listUser) {
  4. stringBuilder.append(u.getUserName()+"--------****--------- ");
  5. Log.d("results1",u.getUserName());
  6. }
  7. tv.setText(stringBuilder.toString());

代码并不难,希望通过我这个例子,一是巩固自己的学习和理解,二是希望更多的人更好的学习,我会再接再厉,写更多的博文。

源码下载

csdn博客

发表评论

表情:
评论列表 (有 0 条评论,311人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Realm-Android

      ![SouthEast][] Realm Java 让你能够高效地编写 app 的模型层代码,保证你的数据被安全、快速地存储。参考下列示例来开始你的 Realm

    相关 Realm-Android

    本篇博客给大家带来一篇关于Android 数据库的内容。 Android中的数据库,我们的老朋友-SQLite,想必大家都不陌生。轻量级的SQLite以及Android为我们