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

      在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一定要改,不改表不会添加进去。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值