使用xUtils的DbUtils来操作数据,github地址:https://github.com/zst1303939801/xUtils
示例:
存:
按照对象存储(大量数据使用本地数据库,小数据使用SharedPreferences)
/* 保存到本地数据库 */
private void saveToDb() {
LogUtils.d("WeiListenPlayingActivity",
"###保存下载数据到数据库:栏目id:" + channelProgramInfoDomain.getChannelID() + ",栏目名字:"
+ channelProgramInfoDomain.getChannelName() + ",栏目图片:" + channelProgramInfoDomain.getChannelPic()
+ ",音频id:" + channelProgramInfoDomain.getProgramID() + ",音频大小:" + programTotal);
try {
DbUtils db = DbUtils.create(WeiListenPlayingActivity.this);
// 存栏目表
MyDownloadChannel myDownloadChannel = new MyDownloadChannel();
myDownloadChannel.setChannelID(channelProgramInfoDomain.getChannelID());
myDownloadChannel.setChannelName(channelProgramInfoDomain.getChannelName());
myDownloadChannel.setChannelPic(channelProgramInfoDomain.getChannelPic());
db.saveOrUpdate(myDownloadChannel);//保存和覆盖
//存音频表
MyDownloadProgram myDownloadProgram = new MyDownloadProgram();
myDownloadProgram.setProgramId(channelProgramInfoDomain.getProgramID());
myDownloadProgram.setChannelId(channelProgramInfoDomain.getChannelID());
myDownloadProgram.setProgramName(channelProgramInfoDomain.getProgramName());
myDownloadProgram.setProgramPlayCnt(channelProgramInfoDomain.getProgramPlayCnt());
myDownloadProgram.setProgramUrl(channelProgramInfoDomain.getProgramURL());
myDownloadProgram.setChannelSpace(programTotal);
myDownloadProgram.setProgramLocal(sdTarget);
db.save(myDownloadProgram);//自增长保存
} catch (DbException e) {
e.printStackTrace();
}
}
javaBean对象:自增长加上@Id
package com.huiting.domain.db;
import com.lidroid.xutils.db.annotation.Id;
/**
* 我的下载音频
* @author zst
*
*/
public class MyDownloadProgram {
@Id
private int _id;//自增主键
private String programId;//音频id
private String channelId;//栏目id
private String programName;//音频名字
private long programPlayCnt;//音频播放数
private String programUrl;//音频播放地址
private double channelSpace;// 栏目中音频占用空间
private String programLocal;// 下载的音频本地路径
public String getProgramLocal() {
return programLocal;
}
public void setProgramLocal(String programLocal) {
this.programLocal = programLocal;
}
public String getChannelId() {
return channelId;
}
public void setChannelId(String channelId) {
this.channelId = channelId;
}
public long getProgramPlayCnt() {
return programPlayCnt;
}
public void setProgramPlayCnt(long programPlayCnt) {
this.programPlayCnt = programPlayCnt;
}
public String getProgramId() {
return programId;
}
public void setProgramId(String programId) {
this.programId = programId;
}
public String getProgramName() {
return programName;
}
public void setProgramName(String programName) {
this.programName = programName;
}
public String getProgramUrl() {
return programUrl;
}
public void setProgramUrl(String programUrl) {
this.programUrl = programUrl;
}
public double getChannelSpace() {
return channelSpace;
}
public void setChannelSpace(double channelSpace) {
this.channelSpace = channelSpace;
}
}
------------------
package com.huiting.domain.db;
import com.lidroid.xutils.db.annotation.Id;
import com.lidroid.xutils.db.annotation.NoAutoIncrement;
/**
* 我的下载栏目名
*
* @author zst
*
*/
public class MyDownloadChannel {
@Id
private String channelID;// 栏目id
private String channelPic;// 栏目图片
private String channelName;// 栏目名字
public String getChannelID() {
return channelID;
}
public void setChannelID(String channelID) {
this.channelID = channelID;
}
public String getChannelPic() {
return channelPic;
}
public void setChannelPic(String channelPic) {
this.channelPic = channelPic;
}
public String getChannelName() {
return channelName;
}
public void setChannelName(String channelName) {
this.channelName = channelName;
}
}
取:
按照对象整体来取的
/* 初始化数据 */
private void initData() {
//取出本地数据库的值
DbUtils db = DbUtils.create(getActivity());
List<MyDownloadChannel> myDownloadChannels = null;
try {
myDownloadChannels = db.findAll(MyDownloadChannel.class);//去除对象所有值
LogUtils.d("MineMyWeiListenDownloadFragment", "取出下载栏目列表"+myDownloadChannels);
} catch (DbException e) {
e.printStackTrace();
}
if(myDownloadChannels == null || myDownloadChannels.size() <= 0 ) {
tvNoData.setVisibility(View.VISIBLE);
}else {
listView.setVisibility(View.VISIBLE);
myDownloadAlbumListViewAdapter = new MyDownloadAlbumListViewAdapter(getActivity());
listView.setAdapter(myDownloadAlbumListViewAdapter);
myDownloadAlbumListViewAdapter.setAllList(myDownloadChannels);
myDownloadAlbumListViewAdapter.notifyDataSetChanged();
}
}
其它知识点:
1、待续....