android查询数据库的封装库,Android数据库存储LitePal与封装调用

本篇博文主要讲解如何利用Android数据库本地搭建存储机制,以及根据某个方法地址,获取到存储的所有节点。

做移动开发时,数据库存储是不可避免的。很多需求可以用到数据库。如:登陆的id,password,图表chart的温度,Mac地址等;

因此我们就需要去了解Android原生是如何去实现此功能,又几种方式可以实现。

接下来就具体的看代码:

LitePalSupport数据库操作。

一:声明《TmpBean.类文件》

import org.litepal.crud.LitePalSupport;

public class TmpBean extends LitePalSupport {

public String getTmp() {

return tmp;

}

public void setTmp(String tmp) {

this.tmp = tmp;

}

public String getMax() {

return max;

}

public void setMax(String max) {

this.max = max;

}

public String getMac() {

return mac;

}

public void setMac(String mac) {

this.mac = mac;

}

public String getUnit() {

return unit;

}

public void setUnit(String unit) {

this.unit = unit;

}

public String getBat() {

return bat;

}

public void setBat(String bat) {

this.bat = bat;

}

public Long getTime() {

return time;

}

public void setTime(Long time) {

this.time = time;

}

private String tmp;//温度

private String max;//最大值

private String mac;//地址

private String unit;//单位

private String bat;//电量

private Long time;//时间

}

二:声明《DadaModel类文件》

import com.dt.db.TmpBean;

import com.dt.utils.DateUtil;

import com.dt.utils.NormalShared;

import com.dt.utils.NormalUtil;

import java.util.Date;

public class DataModel {

/**

* 存储温度数据到数据库中

*/

public static void saveTmpData(String data,NormalShared normalShared){

String unit;

String []allData = data.split(",");

String mac = allData[4];

String []macs = mac.split(":");

String allmac = "S/N:0"+macs[0]+macs[1]+macs[2]+macs[3]+macs[4]+macs[5];

allmac = allmac.toUpperCase();

//计算时间

Long time = DateUtil.getDateToLong(new Date(System.currentTimeMillis()));

TmpBean tp = new TmpBean();

tp.setMac(allmac);

//当前温度--最大值--符号--低电量--MAC地址

tp.setBat(allData[3]);

tp.setTime(time);

tp.save();

//存储单位值

normalShared.saveString("unit"+allmac,unit);

}

}

此上方法,是获取到底层传递过来的数据信息,如数组《0,1,2,3,4》,在此方法中解析并且进行相对应的存储。

数据库已经实现,接下面就是存储:引入Model:

import com.dt.ui.model.DataModel;

import com.dt.utils.NormalShared;//存储

我这里假设底层给了我这样的值;这样就得到了想存储的数据!

String datbse = “Dtemname,22,-89.3,23”;

displayTempData(datbse);

private void displayTempData(String data){

if(data!=null){

//存储温度数据到数据库

DataModel.saveTmpData(data,normalShared);//这个方法就是存储到Model的数据库中

}

}

接下来就是获取到数据的信息操作:如下所示:

建立数组Arraylist

private List tmpList = new ArrayList<>();

三:ChartModel类文件

import android.annotation.SuppressLint;

import android.util.Log;

import android.widget.TextView;

import com.dt.db.TmpBean;

import com.dt.utils.DateUtil;

import com.dt.utils.NormalUtil;

import org.litepal.LitePal;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

public class ChartModel {

/**

* 获取当前的时间的100个数据

* @param mac

* @return tmpList

*/

public static List findTmpDataList(String mac){//存储的数据

List tmpList = LitePal.where("mac like ?",mac).order("time").limit(100).find(TmpBean.class);

List tmpListtwo = new ArrayList <>();

for(int j = 0; j

TmpBean tp = tmpList.get(j);

Log.i( "uasdfygska", tp.getTmp());

if(!tp.getTmp().equals("999")&&!tp.getTmp().equals("-999")&&!tp.getTmp().equals("1111")){

tmpListtwo.add(tp);

}

}

//return tmpList;

return tmpListtwo;

}

}

根据当前地址信息,时间time,获取到存储的值

tmpList = ChartModel.findTmpDataTimeList(mac, bt, et);//这个就是存储数据库中的数据,时间段获取前100个数据;

LitePal数据库的引入,存储,获取信息,就讲解到此,相信各位看官会看懂,很简单的。

最后,谢谢各位的阅读,若有不懂的可以留言咨询本博主,如有不对之处,欢迎多多指点迷津,相互学习,共同进步。

~~~嘤嘤嘤,貌似今天圣诞节呀,祝各位圣诞节嗨皮,欢乐圣诞。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值