LitePal用法详解

一.首先我对数据库的操作基于LitePal的,是基于面向对象思想的,所以首先我先讲怎么使用LitePal

1.在build.garde(Module:app)里面的

1 dependencies{
2 //添加的依赖
3 compile ‘org.litepal.android:core:1.3.2‘
4  }

导入以上的依赖,其中1.3.2是我当前使用的版本,你们可以自己去找最新的

2.配置litepal.xml文件。右击app/src/main目录->New->Directory,创建一个assets目录,然后

在assets目录下再新建一个litepal.xml文件,接着编辑litepal.xl文件中的内容,如下

1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <litepal>
3 3     <dbname value="Person"></dbname>
4 4     <version value="1"></version>
5 5     <list>
6 6     <mapping class="cct.login.Person"></mapping>
7 7     </list>
8 8 </litepal>

<dbname>标签用于指定数据库名,<version>标签用于指定数据库版本号,<list>标签用于指定所有的

映射模型,以后就会用到,。<maping class=" ">这里面是你要生成数据库的类,因为会直接把你的类的

属性名变成数据库对应数据表的列名。如果要多一张表,就多一个mapping,里面写上对应的类,更新数据

库的话,只要每次在version 的value那边的值加1就可以了。

3.最后还需要配置一下LitePalApplication,修改AnndroidManifest.xml中的代码,如下

 1 1 <application
 2  2       //只需要加下面一句就行了,其他的不用替换
 3  3         android:name="org.litepal.LitePalApplication"
 4  4         android:allowBackup="true"
 5  5         android:icon="@mipmap/ic_launcher"
 6  6         android:label="@string/app_name"
 7  7         android:supportsRtl="true"
 8  8         android:theme="@style/AppTheme">
 9  9          ......
10 10 </application>

以上就是LitePal的配置工作

二.LitePal的粗略的增删改查的操作

1.创建数据库:

只需  Connector.getDatabase();

2.创建数据库中的表:

你的类要继承DataSupport,例如我需要一张Person的表

如果你在Person表里需要name和age俩个列

public class Person extends DataSupport{
private String name;
private String age;
 public String getName() {
        return useName;
    }
    public void setName(String name) {
        this.name = name;
    }
 public String getAge() {
        return useName;
    }
    public void setAge(String age) {
        this.age =age;
    }
}

3.添加数据

1 Person person =new Person ();
2 person.setName("Tom");
3 person.setAge("10);
4 //保存数据必须要save方法
5 person.save();

4.更新数据

1 Person person =new Person ();
2 person.setName("Jane");
3 person.setAge("12");4//就会把上面的Tom和10,改为Jane和12
5 person.updateAll(" name=? and age=?","Tom","10");

5.删除数据

1 DataSupport.deleteAll(Person.class,"age<?","10");//会把符合条件的数据删除掉

2 DataSupport.deleteAll()//如果不约束条件,你就要删除表中所有数据

6.查询数据

我们把查询到的数据通过日志打印出来,当然可以使用ListView了,不过出于

简便,使用日志打印

1 //findAll()返回值是一个Person类型的List集合
2 List<Person> persons=DataSupport.findAll(Person.class);
3 for(Person person:persons)
4 {
5 Log.d("MainActivity",person.getName());
6 Log.d("MainActivity",person.getAge());
7 }
1 //select()方法用于指导查询哪几列的数据,比如只查询name这列的数据
2 List<Person> persons=DataSupport.select("name).find(Book.class)
3 //where()方法用于指定查询的约束条件
4 List<Person>persons=
5 DataSupport.where("age>?","10").find(Book.class)
6 当然还有order,limit,offset方法了,具体我就不做介绍有兴趣的自己查阅
7 这五个方法还可以一起连缀使用8 你还可以用原生态的Cursor c=DataSupport.findBySql();
时间: 2024-10-25 14:41:15

LitePal用法详解的相关文章

js的offsetParent属性用法详解

js的offsetParent属性用法详解:此属性是javascript中较为常用的属性,对于它的良好掌握也是非常有必要的,下面就通过代码实例介绍一下它的用法,希望能够给需要的朋友带来一定的帮助.一.基本介绍:此属性可以返回距离指定元素最近的采用定位(position属性值为fixed.relative或者absolute)父级元素,如果父级元素中没有采用定位的元素,则返回body对象的引用.语法结构: obj.offsetParent 二.代码实例: <!DOCTYPE html> <

python处理word文件:win32com用法详解

目标:用python处理doc文件 方法:引入win32com模块 ************************************************************************** 一.安装 ************************************************************************** 首先要先下载安装win32com模块(起先在linux下装不成功,后在windows下面成功了...) 下载地址:http

jQuery 事件用法详解

jQuery 事件用法详解 目录 简介 实现原理 事件操作 绑定事件 解除事件 触发事件 事件委托 事件操作进阶 阻止默认事件 阻止事件传播 阻止事件向后执行 命名空间 自定义事件 事件队列 jquery中文文档 简介 jquery 之所以成为最受欢迎的前端库,很大一部分是得益于它的事件具有良好的语义,优秀的兼容性,并且便于管理和扩展. 在这里我会介绍 jquery 事件的一些比较基础的用法. 实现原理 jquery 事件脱胎于浏览器的 addEventListener (W3) 和 attac

(转)ProgressDialog用法详解

转载自: ProgressDialog用法详解 ProgressDialog的基本用法 ProgressDialog为进度对话框.android手机自带的对话框显得比较单一,我们可以通过ProgressDialog来自己定义对话框中将要显示出什么东西. 首先看看progressDialog里面的方法 setProgressStyle:设置进度条风格,风格为圆形,旋转的.  setTitlt:设置标题  setMessage:设置提示信息:  setIcon:设置标题图标:  setIndeter

BigDecimal用法详解(转)

BigDecimal用法详解    http://www.cnblogs.com/linjiqin/p/3413894.html 一.简介Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal.BigDecimal所创建的是对象

mapminmax的用法详解 _MATLAB

============外一篇 有关mapminmax的用法详解 by faruto==================================转自:http://www.ilovematlab.cn/thread-47224-1-1.html几个要说明的函数接口:[Y,PS] = mapminmax(X)[Y,PS] = mapminmax(X,FP)Y = mapminmax('apply',X,PS)X = mapminmax('reverse',Y,PS) 用实例来讲解,测试数据

Nmap用法详解

nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息.nmap支持很多扫描技术,例如:UDP.TCP connect().TCP SYN(半开扫描).ftp代理(bounce攻击).反向标志.ICMP.FIN.ACK扫描.圣诞树(Xmas Tree).SYN扫描和null扫描.从扫描类型一节可以得到细节.nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫

CSS中伪类及伪元素用法详解

原文:CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的读者可以自己尝试: :active  大致效果为用鼠标点击时,元素增加特效,鼠标松开时,特效消失.多用在按钮的点击上. 写法: 这里id为box的是一div块,在css中首先设置了他的基本样式,下面为加入:active伪类后需要修改的样式. 未点击时: 点击之后: :active.:hover.:

C# ListView用法详解

一.ListView类 1.常用的基本属性: (1)FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. (2) GridLines:设置行和列之间是否显示网格线.(默认为false)提示:只有在Details视图该属性才有意义. (3)AllowColumnReorder:设置是否可拖动列标头来对改变列的顺序.(默认为false)提示:只有在Details视图该属性才有意义. (4)View:获取或设置项在控件中的显示方式,包括D