litepal数据库的简单配置使用

前言

说真的安卓原生的数据操作是真的复杂,对于我这种渣渣来说确实是个门槛,所以准备先从郭霖大神的开源项目litepal学起,后期再填坑,看了多篇文章显示litepal的性能可能稍微弱一点,但是对于一些小的应用APP,那种差距简直是微不足道的,况且这个开源库可读性,效率都提高了。废话不多说,下面开始。

简单的开始-添加依赖

现在一般都是Android Studio 的开发者,所以直接在项目的build.gradle中添加下面的代码
<pre>
dependencies {
compile 'org.litepal.android:core:1.3.0'
}
</pre>

配置litepal文件

在assets文件中添加litepal.xml文件(一般assets文件夹新建 并和 src 同目录很重要)

文件内容如下
<pre>
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="litepal" ></dbname>
<version value="1" ></version>
<list>
<mapping class="com.example.xxx.testlitepal.Book"></mapping>
</list>
</litepal>
</pre>

其中dbname标签的value值为数据库名
version标签的value值为当前的数据库版本号
升级时只需版本号 +1
<list>标签中<mapping class="这里是完整的类的路径"></mapping>

配置liteAppliaction

<pre>
<application
android:name="org.litepal.LitePalApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</pre>

在AndroidManifest.xml添加 android:name="org.litepal.LitePalApplication"

也可以继承自己的Application

映射模型类

自己需要先建一个数据模型类 然后就可以对数据库进行映射

(抄一段)

LitePal的映射规则是非常轻量级的,不像一些其它的数据库框架,需要为每个模型类单独配置一个映射关系的XML,LitePal的所有映射都是自动完成的。根据LitePal的数据类型支持,可以进行对象关系映射的数据类型一共有8种,int、short、long、float、double、boolean、String和Date。只要是声明成这8种数据类型的字段都会被自动映射到数据库表中,并不需要进行任何额外的配置。

我的建类如下
<pre>
public class Book extends DataSupport{
private int id;
private String author;
private int pages;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public int getPages() {
return pages;
}
public void setPages(int pages) {
this.pages = pages;
}
}
</pre>

继承DataSupport可以进行curd操作,不继承则无法操作。。。
貌似private 声明的属性才能映射到数据库中,可以据此选择是否需要映射到数据库中

添加数据

  1. 声明一个数据类
  2. 设置该类的属性值
  3. 调用方法save()
    示例:
    <pre>
    Book book=new Book();
    book.setAuthor("dfdf");
    book.setPages(12);
    if(book.save())Toast.makeText(MainActivity.this,"yes",Toast.LENGTH_SHORT).show();
    else Toast.makeText(MainActivity.this,"no",Toast.LENGTH_LONG).show();
    </pre>

同时你也看到了 save()方法是有返回值的。

增加数据

其实和新增差不多
先进行数据赋值,然后对特定条件下的数据进行修改更新。
代码示例如下:
<pre>
ContentValues values = new ContentValues();
//更新内容
values.put('author','aaa');
//设置对应的数据进行更新
DataSupport.update(Book.class,values,3);
//这种代码是默认对id=3 的 数据项进行更新,当然不止这种方式进行更新。
//下面是对应的条件进行更新。。下面用法我就不赘述了,也很简单
DataSupport.updateAll(Book.class, values, "author = ?", "你好");
//还有一种方法
Book book = new Book();
book.setAuthor("haha")
updateBook.update(2);
</pre>

删除数据

查询数据

相关参考

郭霖大神的数据库相关博客
http://blog.csdn.net/guolin_blog/article/details/38461239
简书其他大佬的
http://www.jianshu.com/p/557682e0a9f0
还有很多,大家多谷歌。

总结

这个开源库虽然使用很简单,但是稍微牺牲了一些性能,所以这个大家平时写项目时候效率很高,但是原生的Sql一定要学。就酱紫。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容