litepal数据库开源框架简单用法和我的感悟

来源:互联网 发布:泉州金蝶软件 编辑:程序博客网 时间:2024/06/06 13:21

      在android开发中只要涉及到数据存储,我想大部分人想到的是数据库,比起SharedPreferences和文件更加条理清晰,比起内容提供者更能能存储更多的数据,比起网络有简单了不少,并且网络需要流量,耗时又耗钱,但是传统的安卓数据库  ,在创建数据库,创建表和增删改查上代码很复杂,而且其中有些写sql语句的容易出错,对于初学者或许能得到锻炼,但是对于正在工作需要效率的人来说却是一大缺点,所幸android是开源的于是有许多开源框架横空出世,其中关于数据库的我觉得好用的一个框架便是litepal了。

首先我们先做准备工作首先我们在项目的libs包中放入:

再右键点击build Path再add build path 项目中会添加这个,就可以使用这个包了。

再创建个类继承DataSupport,类的内容主要是放表的列名:

public class News extends DataSupport{private int id; private String Key; private String Title; private String Type; private String Story; private String Rating; private String Language; private String RunningTime;
和get,set方法。

然后在项目的assets中创建litepal.xml文件,其中内容:

其中demo是数据库名,News是表名。

然后创建表在需要创建数据库的地方添加代码:

SQLiteDatabase db = Connector.getDatabase();

1.在表中添加数据:

首先创建一个继承了DataSupport的类的对象,通过对象调用set方法添加数据后,通过对象调用save()方法,比如:

News news=new News();String topic=et_addtopic.getText().toString().trim();news.setTopic(topic);news.save();

2.在表中删除数据(这里我只说删除一条数据,至于为什么?因为我用的多):

删除数据更加简单,用DataSupport类调用delete方法即可其中delete方法有两个参数delete(数据库类.class,id(long类型的));

3.查询表中的全部数据:

DataSupport.findAll(数据库类.class);获取到一个List<数据库类>,然后通过for循环,用get方法来获取。

以上这些是网上都有的 比我的更加详细更加清晰,在此我画蛇添足说一个litepal中百度上没有提到的一个比较简单的地方:

那就是如何添加多张表,这个我查了百度有个《《Android数据库高手秘籍》》的 这个是介绍litepal最详细的,我没有发现我的问题如何解决,于是我摸索了下发现也比较简单:

创建第二张表我们还是创建个类继承DataSupport,再写列名参数,和set,get方法。然后在litepal.xml中修改和添加:

    <dbname value="demo" ></dbname>        <version value="4" ></version>        <list>          <mapping class="com.example.selecttopic.db.News"></mapping>         <mapping class="com.example.selecttopic.db.News1"></mapping>         <mapping class="com.example.selecttopic.db.News2"></mapping>         <mapping class="com.example.selecttopic.db.News3"></mapping>     </list>  

version这个参数后面的value一定要改,不改表不会添加进去。





0 0
原创粉丝点击