最近看到了郭神封装的litePal框架,而且现在也正在练习的项目中使用,感觉太方便了,查询全部的信息,一句代码即可实现,里面的很多功能博客中都有详细的介绍。以下是郭神litePla博客的地址:
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/40153833
很多时候从数据表中查询都需要按条件来查询,郭神的博客中也有详细的介绍,最近在使用模糊查询的功能,博客中没有详细的介绍,以下是菜鸟自己的见解:
创建数据库、表博客中介绍的很清楚,这里就不说了,写了一个列子,
1,有张产品表(Product),里面有相应的字段,为了简单就加了几个字段,根据自己的需要可以添加。废话不多说。
/** id **/
private int id;
/** 产品名 **/
private String productName;
/** 产品价格 **/
private float price;
/** 产品编码 **/
private int code;
/** 生产时间 **/
private int createTime;
/**
* get(),set()方法
*/
2,往表中添加几条测试数据,这里使用了for循环,所以添加的数据都会是笔记本1,笔记本2...等;
// 初始化数据
private void initData() {
// 添加几条测试数据
addData1();
addData2();
}
// 循环添加数据
private void addData2() {
Product pro = null;
for (int i = 0; i < 4; i++) {
pro = new Product();
pro.setId(2 + i);
pro.setProductName("笔记本" + i);
pro.setCode(32343213 + i);
pro.setPrice(8888 + i);
pro.setCreateTime(201555 + i);// 这里为了方便就直接把时间设置成int类型了
pro.save();
}
}
// 循环添加数据
private void addData1() {
Product pro = null;
for (int j = 0; j < 4; j++) {
pro = new Product();
pro.setId(1 + j);
pro.setProductName("笔记本电脑" + j);
pro.setCode(32343213 + j);
pro.setPrice(9999 + j);
pro.setCreateTime(201313 + j);// 这里为了方便就直接把时间设置成int类型了
pro.save();
}
}
3,页面上,根据输入的内容点击查询按钮查询相关信息,并在TextView上显示,为了方便我把list集合转换长json字符串了,需要用到GSON包。
。
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.nameBtn:// 根据产品查找
showText.setText("");//清空上一次的显示数据
// 获取输入框中的值
String name = editText_name.getText().toString();
// 匹配数据表中产品名称的字段
product = DataSupport.where("productName like ?", "%" + name + "%")
.find(Product.class);
result = gson.toJson(product);
showText.setText(result);
break;
case R.id.timeBtn: // 根据时间模糊查询
showText.setText("");//清空上一次的显示数据
// 获取输入框中的值
String time = editText_time.getText().toString();
// 匹配数据表中时间字段
product = DataSupport.where("createTime like ?", "%" + time + "%")
.find(Product.class);
result = gson.toJson(product);
showText.setText(result);
break;
}
效果图:
这就和sql语句一样了,可根据自己的需要来选择相应的查询方式
product = DataSupport.where("productName like ?", "_" + name + "%")
.find(Product.class);
product = DataSupport.where("productName like ?", name + "%")
.find(Product.class);
product = DataSupport.where("productName like ?", "___" + name + "%")
.find(Product.class);
好了,菜鸟就介绍到这里了,要感觉郭大虾提供这么好的框架,但框架好用,基础最重要!
源码地址:http://download.csdn.net/detail/sunjianhua360/9180771