前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Realm初试

Android Realm初试

作者头像
方志朋
发布2022-11-30 09:12:02
4460
发布2022-11-30 09:12:02
举报

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

代码语言:javascript
复制
  compile 'io.realm:realm-android:0.87.0'

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

代码语言:javascript
复制
public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        initRealm();
    }
    private void initRealm(){
        RealmConfiguration configuration = new RealmConfiguration
                .Builder(this)
                .name("test.realm")
                .deleteRealmIfMigrationNeeded()
                .schemaVersion(7).migration(new RealmMigration() {

                    @Override
                    public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {

                    }
                }).build();

        Realm.setDefaultConfiguration(configuration);
    }
}

创建实体类,需集成RealmObject

代码语言:javascript
复制
public class User  extends RealmObject{
    @PrimaryKey
    private String id;
    private String userName;
    private String mobile;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
}

在Activity中初始化

代码语言:javascript
复制
Realm myRealm ;
 myRealm= Realm.getInstance(this);

添加数据:

代码语言:javascript
复制
  //Realm开始处理事物  方式1:
        myRealm.beginTransaction();
        User user = myRealm.createObject(User.class);
        user.setId("445115");
        user.setMobile("44545");
        user.setUserName("hha");
        myRealm.commitTransaction();
        //方式2:
  User user2=new User();
        user2.setId("1123");
        user2.setUserName("sss");
        user2.setMobile("445");
        myRealm.beginTransaction();
        User userCopy2 = myRealm.copyToRealm(user2);
        myRealm.commitTransaction();

查找数据

代码语言:javascript
复制
 RealmResults<User> listUser = myRealm.where(User.class).findAll();

        StringBuilder stringBuilder=new StringBuilder();

        for(User u:listUser) {
            stringBuilder.append(u.getUserName()+"--------****--------- ");
            Log.d("results1",u.getUserName());
        }
        tv.setText(stringBuilder.toString());

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

源码下载

csdn博客

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档