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

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

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

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

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中初始化

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

添加数据:

  //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();

查找数据

 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博客

Android Realm初试的更多相关文章

  1. Android Realm数据库使用指南

    Android Realm数据库使用指南 Realm数据库, 目前有Java, Objective‑C, React Native, Swift, Xamarin的几种实现, 是一套用来取代SQLit ...

  2. Realm Update failed - Android

    Realm Update failed - Android Ask Question up vote 0 down vote favorite I'm using realm for my andro ...

  3. Android Studio的初次认识

    Android的初试 一.认识Android Studio 在我们新建项目的时候,会遇到这样的一个窗口,首先我们认识一下这些都是什么,这样我们才能够更好的进行下一步的学习! 这里的 Phone and ...

  4. 深入解析Sqlite的完美替代者,android数据库新王者——Realm

    写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ...

  5. 转: app端数据库(性能高) realm (ios, android 均支持)

    转:  http://ios.jobbole.com/85041/ 移动端数据库新王者:realm 2016/05/14 · iOS开发 · 数据库 分享到:0 原文出处: 没故事的卓同学(@没故事的 ...

  6. Realm for Android快速入门教程

    介绍 如果你关注安卓开发的最新趋势,你可能已经听说过Realm.Realm是一个可以替代SQLite以及ORMlibraries的轻量级数据库. 相比SQLite,Realm更快并且具有很多现代数据库 ...

  7. Android数据库Realm实践

    Android开发中常用的数据库有5个: 1. OrmLite OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM.支持JDBC连接,Spring以及Android平台. ...

  8. Android之Realm详解

    文章大纲 一.Realm介绍二.Realm实战三.Realm官方文档四.项目源码下载五.参考文章   一.Realm介绍 1. 什么是Realm   Realm 是一个手机数据库,是用来替代 SQli ...

  9. Realm For Android详细教程

    目录 1.Realm简介 2.环境配置 3.在Application中初始化Realm 4.创建实体 5.增删改查 6.异步操作 7.Demo地址(https://github.com/RaphetS ...

随机推荐

  1. 给用户添加sodu权限

    vim /etc/sudoers 进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的 ...

  2. 类模版的static成员

    类模版中声明static成员 template <class T> class Foo { public: static size_t count() { ++ctr; cout < ...

  3. Linux 启动盘命令

    linux下有很多工具可以制作启动盘, 例如 unetbootin 和 wubi, 不过我们可以使用linux下的一条命令来完成-----dd 操作方法: 1 卸载你的U盘 假设你的u盘对应的设备是s ...

  4. 网页设计,Access入门 2010,数学

    网页设计(表格) 创建表格:插入---表格---设置表格大小---确定.(按Ctrl键可多选单元格) 插入图片在表格:光标在单元格---插入---图像---选择图像---确定. 表格属性:属性(屏幕下 ...

  5. vue-devtools插件安装

    1.git clone https://github.com/vuejs/vue-devtools.git 2.此时表示vue-devtools包下载完成,进入到对应的目录下cd vue-devtoo ...

  6. switch 和 if...else if 的区别

     为什么很多人用  if...else..if   而不使用   switch 1,if...else...if 只是单纯地一个接一个比较:if...else可能每个条件都计算一遍: 2,switch ...

  7. android selector中使用shape

    <shape> <!-- 实心 -->     <solid android:color="#ff9d77"/> <!-- 渐变 --&g ...

  8. URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

    引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. ...

  9. Bootstrap开发

    1.BootStrap开发工具 任意前端工具 专门Bootstrap工具:Jetstrap(下载地址:jetstrap.com) 2.官网: www.bootcss.com(“下载Bootstrap” ...

  10. 百度web应用诉讼费计算器

    以前百度推开放平台的时候,利用jquery+jqueryUI做了一个诉讼费计算器,托管在BAE上.闲来无事,把代码和大家共享一下. 在百度搜索"诉讼费"相关的关键词就能看到:   ...