Realm Java 能够高效地编写 app 的模型层代码,但是项目中暂时没有用到、这里就简单的使用一下、很简单的使用 前提:  还不支持 Android 以外的 Java 环境;  Android Studio >= 1.5.1 ;  较新的 Android SDK 版本;  JDK 版本 >=7;  Android API 9 以上的所有版本(Android 2.3 Gingerbread 及以上)

添加依赖:

创建ben并且继承RealmObject ,@PrimaryKey 可以用来定义字段为主键,该字段类型必须为字符串或整数(short、int 或 long)。不可以存在多个主键。使用支持索引的属性类型作为主键同时意味着为该字段建立索引(

解释来自官网:https://realm.io/docs/java/latest/

) :

public class PersonBen extends RealmObject {    @PrimaryKey    @Required    private int Id;    private String name;    private int age;    private RealmList<ChildBen> date;    public int getId() {        return Id;    }    public void setId(int id) {        Id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public RealmList<ChildBen> getDate() {        return date;    }    public void setDate(RealmList<ChildBen> date) {        this.date = date;    }}
public class ChildBen extends RealmObject {    public String getWorkadding() {        return workadding;    }    public void setWorkadding(String workadding) {        this.workadding = workadding;    }    public String getHobyy() {        return hobyy;    }    public void setHobyy(String hobyy) {        this.hobyy = hobyy;    }    private String  workadding;    public Boolean getSex() {        return sex;    }    public void setSex(Boolean sex) {        this.sex = sex;    }    private  Boolean sex;    private String hobyy;}

schemaVersion 设置版本号 不能为默认值,text为数据库名称、

public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private Button realm_btn;    private Realm mRealm;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        realm_btn = (Button) findViewById(R.id.realm_btn);        realm_btn.setOnClickListener(this);        mRealm = Realm.getInstance(new   RealmConfiguration.Builder(this).schemaVersion(1).name("text.realm").                build());        mRealm.beginTransaction();        PersonBen personBen = mRealm.createObject(PersonBen.class);        personBen.setId(0);        personBen.setAge(25);        personBen.setName("kangliang");        mRealm.commitTransaction();        ChildBen childBen = mRealm.createObject(ChildBen.class);        childBen.setSex(true);        childBen.setWorkadding("shanghai");        childBen.setHobyy("programme");        personBen.getDate().add(childBen);//多对对        PersonBen personBen2 = new PersonBen();        personBen2.setId(1);        personBen2.setAge(24);        personBen2.setName("zhangsan");        mRealm.beginTransaction();        PersonBen copy = mRealm.copyToRealm(personBen2);        mRealm.commitTransaction();    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.realm_btn:                RealmResults<PersonBen> results = mRealm.where(PersonBen.class).findAllSorted("name", false);                for (PersonBen personBen : results) {                    Log.i("111", "-------------" + personBen.getName());                }                break;        }    }}

代码很简单、相信不用解释 、看打印结果吧、

ok、说明我们的操作没有任何问题、基本就这样 、这里写的很简单、如果需要深入请看官网文档。

更多相关文章

  1. android values-v11和values-v14文件夹是干啥的?
  2. Android(安卓)Studio 新导入项目时各种报错及解决__2019.08.20
  3. android下载系统版本步骤(通过SecureCRT)
  4. SQLite(或LitePal)查询速度很慢原因分析
  5. Android(安卓)studio3.0上运行opencv3.2.0自带人脸识别实例Demo
  6. Linux系统Android(安卓)NDK编译环境搭建
  7. IT蓝豹强烈推荐:符合1-2年工作经验,开发中的难点及相关优化:
  8. GreenDao 问题集合
  9. [转]微信ANDROID客户端-会话速度提升70%的背后

随机推荐

  1. android 环境搭建 windows 和linux 环境
  2. 自定义ListView中的分割线
  3. actionbar设置menu以及获取item实例
  4. Android学习笔记之mainfest文件中android
  5. 另一个更简单的Android应用程序全屏的方
  6. android类
  7. android 抽屉的一些小问题
  8. Android应用程序基础
  9. 《IT蓝豹》吹雪花demo,学习android传感器
  10. Android(安卓)CTS 测试总结【转】