Realm开启同步事务
增删改查-查
引用计数
引用技数
数据模型
异步事务执行块
手动开启同步事务
手动开启同步事务
- 所有会使数据发生变化的操作都必须在事务中进行
- 事务分为同步事务和异步事务
- 两种事务有三种写法
1.获取布局中的控件,设置用户名
2.修改密码功能
- 获取修改页面的三个InputView控件,设置修改按钮点击事件
- 点击事件
在点击事件中获取三个控件的值
3.UserUtils中
新增修改密码方法changePassword()
首先需要进行输入数据验证
- 原密码是否输入?
- 新密码是否输入并且新密码与确定密码是否相同
- 原密码输入是否正确?
然后利用Realm模型自动更新的特性完成密码修改
增删改查之-查
增删改查之增
数据模型
一个模型表示一张表,模型中的字段表示表中的列
模型需要继承RealmObject类
模型实时、自动更新
2019-06-12
①Realm是直接在移动设备中运行的数据库,不只可以在Android中使用,还可以在苹果手机、Windows Phone上面使用。
②Realm并没有基于任何的现成数据库,它是一个重新研发的数据库。
③Realm数据库不需要使用sql语句就可以操控它。
④同时支持Java,Object-C,swift,Javascript,.net等开发语言,支持IOS,Android,JavaScript,Xamarin等平台。
orm框架本质上就是使用某种存储引擎的一个第三方程序库,它可以提供一个现代的、功能多样的方式来访问你的数据层,从而降低我们实际书写sql语句的复杂度,但这种第三方库仍然需要把本地数据结构转化为某种数据格式从而执行背后的sql查询,然后把数据转化为sql表一行。如果使用的是成熟的om库,那么它几乎总是在进行大量的后台运行操作,orm会持续地将你的对象转化为中间格式,然后运行sql语句来与SQLLITE打交道,orm所做的工作就是把这些复杂的操作隐藏在简单的api之下,所以我们使用orm的时候,它会大量地消耗掉CPU和磁盘的性能,这就是使用orm框架去进行数据库操作时所花费的时间永远会比使用sql语句花费的时间长的原因。
而对于Realm数据库来说,它会直接把一个对象存储在一个磁盘中,所以说能从内存到磁盘非常快速地去操作对象,并且Realm是一个直接存储的对象,它不需要再把数据转化成对象操作,所以对于Realm来说,它也不需要去使用orm框架,其本身就可以执行类似于orm的操作。
手动开启同步事务的方式:
realmHelp.close();
RealmQuery<User> query = realm.where(User.class); //筛选同 query = query.equalTo("name", "name"); //筛选不同 query = query.notEqualTo("name", "name"); //筛选数组 query = query.in("name", string[]); RealmResults<User> result = query.findAll();
引用计数
内存管理机制,系统将资源(对象、内存、磁盘空间)的被引用次数保存起来,当被引用次数为0时,系统将这块资源的内存进行释放的一个过程
Real实例使用引用计数的方式
生成的realm实例需要手动close
Realm的查找信息
MD5加密密码
①Realm是直接在移动设备中运行的数据库,不只可以在Android中使用,还可以在苹果手机、Windows Phone上面使用。
②Realm并没有基于任何的现成数据库,它是一个重新研发的数据库。
③Realm数据库不需要使用sql语句就可以操控它。
④同时支持Java,Object-C,swift,Javascript,.net等开发语言,支持IOS,Android,JavaScript,Xamarin等平台。
orm框架本质上就是使用某种存储引擎的一个第三方程序库,它可以提供一个现代的、功能多样的方式来访问你的数据层,从而降低我们实际书写sql语句的复杂度,但这种第三方库仍然需要把本地数据结构转化为某种数据格式从而执行背后的sql查询,然后把数据转化为sql表一行。如果使用的是成熟的om库,那么它几乎总是在进行大量的后台运行操作,orm会持续地将你的对象转化为中间格式,然后运行sql语句来与SQLLITE打交道,orm所做的工作就是把这些复杂的操作隐藏在简单的api之下,所以我们使用orm的时候,它会大量地消耗掉CPU和磁盘的性能,这就是使用orm框架去进行数据库操作时所花费的时间永远会比使用sql语句花费的时间长的原因。
而对于Realm数据库来说,它会直接把一个对象存储在一个磁盘中,所以说能从内存到磁盘非常快速地去操作对象,并且Realm是一个直接存储的对象,它不需要再把数据转化成对象操作,所以对于Realm来说,它也不需要去使用orm框架,其本身就可以执行类似于orm的操作。