Realm android 使用(一)
来源:互联网 发布:网络可靠性评估协议 编辑:程序博客网 时间:2024/05/01 22:52
最近闲下来学习了有关Realm的使用,写下来,作为自己的学习笔记。
官方开发文档:https://realm.io/docs/java/latest/#examples
Realm是一个可以替代SQLite以及ORMlibraries的轻量级数据库。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持,这些都为安卓开发者带来了方便。
目前版本2.2.1 ,从1.0.0之后只支持android studio导入
1. 引入工程
1.在工程gradle中:添加库classpath "io.realm:realm-gradle-plugin:2.2.1"
2.在app.gradle中引入库 apply plugin: 'realm-android'
3.同步项目即可,不必添加混淆规则。
2. 首先介绍下简单实用
1)创建一个Realm
一个Realm就相当于一个sqlite,他是持久保存在app安装文件下的。
这里需要说明的是,在创建Realm之前应该先进行初始化。我们可以在入口处app进行初始化。
public class RealmApp extends Application { @Override public void onCreate() { super.onCreate(); Realm.init(getApplicationContext()); }}
要创建一个新的Realm,你可以在任意Activity中调用静态方法Realm.getInstance。
Realm myRealm = Realm.getInstance(context);
注意,调用Realm.getInstance,而没有传入RealmConfiguration,会创建一个叫做 default.realm的Realm文件。此时这个default.realm就相当于sqlite中我们说的数据库名。
如果你想向app中添加另一个Realm,必须使用一个RealmConfiguration.Builder对象,并为 Realmfile 指定一个独有的名字。
Realm myOtherRealm =Realm.getInstance(
newRealmConfiguration.Builder(context)
.name("myOtherRealm.realm")
.build()
);
2)创建一个RealmObject类
此时只需要写一个类继承RealmObject即可,只要继承了RealmObject类,任意JavaBean都能存储在Realm中。
例: public class User extends RealmObject { private String name; private int age; public User() { } 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; }}
如果你想让RealmObject的一个成员变量作为主键,你可以使用@PrimaryKey注解。下面会详解RealmObject的注解的含义,这里先不做介绍。
3)创建transaction
在Realm中进行的数据处理都是在事务中进行的。关于事务的使用有好多种方法。
realm.executeTransaction(new Realm.Transaction() { @Override public void execute(Realm realm) { User user = realm.createObject(User.class); user.setName("xiaoming"); user.setAge(2); }});RealmResults<User> users = realm.where(User.class).findAll();for (User user : users) { Log.i("tag", "initView: "+user);}
在此分别进行了数据的插入和查询的操作。
今天就先到这了,接下来介绍Realm的进一步的用法
- Realm android 使用(一)
- Android ReactNative使用realm走过的坑(一)-Missing Realm constructor
- Android数据库Realm学习(一)基本使用
- Android数据库Realm学习(一)基本使用
- 使用Realm进行数据操作(一)
- Realm 数据库的使用(iOS &Android)
- realm-android-library简单使用(笔记)
- Android Realm数据库使用
- Realm初探(一)
- Realm数据库使用教程(一):Realm配置和Stetho配置
- react-native之Realm数据库的使用(一)
- android realm数据库基本使用
- Android for Realm 初级使用
- Android Realm数据库的使用
- Android-->Realm数据库使用注意事项
- android之Realm数据库使用
- Android realm数据库使用笔记
- Realm for Android 使用入门
- BitmapFactory.Options 解决加载大图片OOM
- 慢慢改变一个人性格的10个小习惯
- 简单的spring mvc 配置:配置了jsp viewReslover
- Android 系列 1.6使用Apache Maven创建“Hello,World”应用程序
- Android笔记:屏蔽软键盘自动弹出
- Realm android 使用(一)
- tomcat下网站经常出现404错误_再刷新就正常_解决方法
- 在Ubuntu 14.04上搭建LNMP环境
- 深入理解spring中的各种注解
- 头文件,源文件的关系
- 论学习
- CXF开发webservice需要的最少jar包
- Unity3D引擎之高级渲染技术
- LeetCode解题报告 322. Coin Change [medium]