LitePal学习总结 (六)

LitePal框架是郭神的开源框架,郭神博客

在上一篇中,我们描述了利用LitePal框架对数据表进行插入数据操作,而在本篇,我们继续开播LitePal框架对数据表内数据的修改操作。

先来瞄一眼update的方法描述。



看完方法介绍,接下来我们来实践一下。

我们假设要修改News表里的第4条数据,没修改前,数据表如图,借用一下上一篇的图。



接下来,我来写代码

	/**
	 * 演示利用LitePal框架进行数据表数据的修改
	 */
	private void updateNewsInfo() {
		ContentValues values=new ContentValues();
		values.put("content", "我是修改后的content");
		values.put("title", "我是修改后的title");
		//我们修改id=4的数据,即第4条数据
		DataSupport.update(News.class, values, 4);
	}

然后去onCreate()方法里去调用。

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		SQLiteDatabase db = Connector.getDatabase();

		// addMyFirstNews();
		// addNewsAndIntroduce();
		// addNewsAndComments();
		// addNewsAndCategories();
		updateNewsInfo();
	}

搞定,完事,so easy。

来看效果图



是不是觉得碉堡。只要知道要操作的数据的id,然后把要修改的值放入ContentValues对象里,然后执行一下update方法就好了。

你要说了,那我要根据条件修改,而不是根据每个id进行操作呢?郭神也为我们封装好啦,来看方法注释。



看完方法介绍,接下来我们来实践一下。

比如说我现在要修改News表中所有评论数=0的数据,把表中的发布时间字段(PubDate)修改成当前时间。

先上没修改的时候的图。



接下来,我们来写代码。

	/**
	 * 利用条件来查询所有相关数据
	 */
	private void updateAllUseConditions() {
		ContentValues values = new ContentValues();
		values.put("publishdate", "201501071418");
		DataSupport.updateAll(News.class, values, "commentcount=?", "0");

	}

然后在onCreate()方法里调用

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		SQLiteDatabase db = Connector.getDatabase();

		// addMyFirstNews();
		// addNewsAndIntroduce();
		// addNewsAndComments();
		// addNewsAndCategories();
		// updateNewsInfo();
		updateAllUseConditions();
	}

好啦,让我们来看看效果图。



好啦,这样,根据条件修改我们也完成啦。

要是你还想说,我想把所有的评论数全部修成成10怎么破?

更简单,直接上代码。

	/**
	 * 把评论数全部修改成10
	 */
	private void updateAllUseConditions2() {
		ContentValues values = new ContentValues();
		values.put("commentcount", "10");
		DataSupport.updateAll(News.class, values);
		
	}

简单不,就是把条件给去了,意思就是给所有的都修改。

然后去onCreate()方法里去调用

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		SQLiteDatabase db = Connector.getDatabase();

		// addMyFirstNews();
		// addNewsAndIntroduce();
		// addNewsAndComments();
		// addNewsAndCategories();
		// updateNewsInfo();
		//updateAllUseConditions();
		updateAllUseConditions2();
	}

最后,我们来看看修改后的结果。



自此,关于利用LitePal来进行数据表数据的修改我们也总结完了。

结尾顺便膜拜一下郭神。




















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值