微信号:guolin_blog

介绍:Android技术分享平台,在这里不仅可以学到各种Android相关的最新技术,还可以将你自己的技术总结分享给其他人,每周定期更新.

喜大普奔,LitePal 1.3.0 版本发布!

2015-10-22 09:18 郭霖

LitePal作为一款轻量级的Android数据库框架,以其简单易用的特点正被越来越多的开发者所喜爱。并且有很多朋友都向我提出过各种宝贵的建议,来帮助构建出一个更加完善的LitePal。

那么在重多建议当中,其中对于添加约束这个功能的呼声是最强烈的。已经有太多的朋友问过我,在LitePal当中应该怎样给表添加unique约束?很遗憾,之前的版本是做不到这个功能的。但是今天,这个功能已经成为了可能,从LitePal 1.3.0 版本开始将支持唯一、非空、默认值等表约束功能,而升级只需一行代码:

compile 'org.litepal.android:core:1.3.0'

在你的build.gradle文件当中添加上述引用即可。

如果你还是使用的Eclipse,也可以到LitePal的项目主页中去下载1.3.0版本的jar包,直接替换老jar包就OK了。

那么升级好了之后该怎样给表设置约束呢?非常简单,只需要在类的相应字段上设置相应的注解信息就可以了。比如说我们有一个Album类,类中有一个name字段和一个serial字段,name字段要求不能空,serial字符要求不能重复,那么就可以这样写:

public class Album extends DataSupport {    
@Column(nullable = false)
private String name;

@Column(unique = true)
private String serial;

// generated getters and setters. ...
}

非常简单易懂吧!

另外,LitePal之前还有一个小技巧,就是只有private的字段才会被映射到表当中,如果我们有某个字段不想将它映射到表里,只需要把它声明成非private就可以了。

而这个小技巧从1.3.0版本开始被移除了,也就是说现在不管是public、protected、private、还是default的字段都会被映射到表里。

那么如果我们有某个字段不想将它映射该怎么办呢?当然也是使用1.3.0的新特性了,注解!

public class Album extends DataSupport {    

@Column(ignore = true)
private String uselessField;

// generated getters and setters. ...
}

可以看到,只需要将ignore设置为true,那么这个字段就不会被映射到表里了。

另外,1.3.0版本中还加入了一些hack方法,允许开发者操作LitePal的核心数据,对于那些理解LitePal比较深刻的朋友,这些hack方法会相当有用。

当然了,除了添加新功能之外,新版本还修复了一些bug,并且优化了建表和升级表的算法,整个框架将会更加稳定和高效。

关于新版本的更多介绍请参考LitePal的项目主页。点击下方“阅读原文”打开项目主页。

 
郭霖 更多文章 LitePal 1.2.0版本已发布 《见证Android推送时刻》视频系列教程已完结 教你一步一步实现图标无缝变形切换 Android线程,线程池使用及原理博文参考 高薪名企,你想不想来试试呢?
猜您喜欢 容器内应用日志收集方案 在 FreeBSD bhyve 下运行 Windows 开放 协作 创新 ,与中国同创——庆“教育部-IBM高校合作项目”20周年(一) Windows Azure 近期更新详情! 被玩坏的年终奖 | 哪家强?