litepal数据库的简单配置使用

前言

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

简单的开始-添加依赖

现在一般都是Android Studio 的开发者,所以直接在项目的build.gradle中添加下面的代码


dependencies {
compile 'org.litepal.android:core:1.3.0'
}

配置litepal文件

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

文件内容如下










其中dbname标签的value值为数据库名
version标签的value值为当前的数据库版本号
升级时只需版本号 +1
标签中

配置liteAppliaction


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">

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

也可以继承自己的Application

映射模型类

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

(抄一段)

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

我的建类如下


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;
}
}

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

添加数据

  1. 声明一个数据类
  2. 设置该类的属性值
  3. 调用方法save()
    示例:

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

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

增加数据

其实和新增差不多
先进行数据赋值,然后对特定条件下的数据进行修改更新。
代码示例如下:


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

删除数据

查询数据

相关参考

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

总结

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

你可能感兴趣的:(litepal数据库的简单配置使用)