一.首先我对数据库的操作基于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();