Android Realm初试
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());
代码并不难,希望通过我这个例子,一是巩固自己的学习和理解,二是希望更多的人更好的学习,我会再接再厉,写更多的博文。
Android Realm初试的更多相关文章
- Android Realm数据库使用指南
Android Realm数据库使用指南 Realm数据库, 目前有Java, Objective‑C, React Native, Swift, Xamarin的几种实现, 是一套用来取代SQLit ...
- Realm Update failed - Android
Realm Update failed - Android Ask Question up vote 0 down vote favorite I'm using realm for my andro ...
- Android Studio的初次认识
Android的初试 一.认识Android Studio 在我们新建项目的时候,会遇到这样的一个窗口,首先我们认识一下这些都是什么,这样我们才能够更好的进行下一步的学习! 这里的 Phone and ...
- 深入解析Sqlite的完美替代者,android数据库新王者——Realm
写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ...
- 转: app端数据库(性能高) realm (ios, android 均支持)
转: http://ios.jobbole.com/85041/ 移动端数据库新王者:realm 2016/05/14 · iOS开发 · 数据库 分享到:0 原文出处: 没故事的卓同学(@没故事的 ...
- Realm for Android快速入门教程
介绍 如果你关注安卓开发的最新趋势,你可能已经听说过Realm.Realm是一个可以替代SQLite以及ORMlibraries的轻量级数据库. 相比SQLite,Realm更快并且具有很多现代数据库 ...
- Android数据库Realm实践
Android开发中常用的数据库有5个: 1. OrmLite OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM.支持JDBC连接,Spring以及Android平台. ...
- Android之Realm详解
文章大纲 一.Realm介绍二.Realm实战三.Realm官方文档四.项目源码下载五.参考文章 一.Realm介绍 1. 什么是Realm Realm 是一个手机数据库,是用来替代 SQli ...
- Realm For Android详细教程
目录 1.Realm简介 2.环境配置 3.在Application中初始化Realm 4.创建实体 5.增删改查 6.异步操作 7.Demo地址(https://github.com/RaphetS ...
随机推荐
- qt安装
在以下网页选择一个国内的下载地址即可 http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7. ...
- SharePreferences的用法
1.创建 sharepreferences的方法: 首先创建该对象: 例如:(注意现在后面的模式7.0可以使用的只有 MODE_PRIVATE,其他全过时了 ) SharedPreferences s ...
- C语言实现通用链表初步(三)----单元测试
前两节,我们已经完成了链表的一些操作,快来测试一下吧. 这里使用的单元测试工具名字叫"check". START_TEST(my_slist_1) { struct student ...
- 封装RateLimiter 令牌桶算法
自定义注解封装RateLimiter.实例: @RequestMapping("/myOrder") @ExtRateLimiter(value = 10.0, timeOut = ...
- $.get和$.post实例
get和post用法一样,我只写个$.get的. [HTML] <input type="text" id="myFishName" name=" ...
- HDU 4365——Palindrome graph——————【规律+快速幂】
Palindrome graph Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Weblogic中配置Active Directory Authentication Provider
其要点或者容易出错的关键点是:(<>及其中说明代表需要替换的内容) Host: ads.yourdomain.com Host填AD服务器的域名或IP ...
- linq 两个字段排序
在linq中排序方法有: OrderBy() --对某列升序排序 ThenBy() --某列升序后对另一列后续升序排序 OrderByDescending() --对某列降序排序 ThenBy ...
- vueHistory 模式下,布置到服务器上路由刷新会报nginx404错误
之前写完vue项目后,布置到服务器,用nginx反向代理后,一开始进去,进各种路由都是没问题的,但是一旦f5刷新后就会出现一个nginx404的错误. 经过翻阅vue文档后,发现这是vueHistor ...
- EditText中光标的位置设置
CharSequence text = userName.getText(); if (text instanceof Spannable) { ...