缓存数据库
来源:互联网 发布:日本对外贸易数据 编辑:程序博客网 时间:2024/05/22 13:34
数据库缓存,,,,,当没有网络时,,,,,拿取数据库
内容,,,,,当刷新数据时,,,,,清空数据库内容,,,,
从新添加;;;;;;
创建数据库类方法
package com.example.administrator.xie.dao;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Administrator on 2017/10/25.
*/
public class MyHelper extends SQLiteOpenHelper {
public MyHelper(Context context) {
super(context, "sxk.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
//创建表
sqLiteDatabase.execSQL("create table user(id integer primary key autoincrement,json text not null,url text not null)");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
sql语句方法Dao类
package com.example.administrator.xie.dao;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
/**
* Created by Administrator on 2017/10/25.
*/
public class Dao {
MyHelper myHelper;
Context context;
public Dao(Context context) {
this.myHelper = new MyHelper(context);
}
/**
* 插入数据的操作
*/
public void insertJson(String json,String url){
SQLiteDatabase database = myHelper.getWritableDatabase();
//现根据url删除json
//database.delete("user","url = ?",new String[]{url});
database.execSQL("delete from user");
//再去添加
/*ContentValues values = new ContentValues();
values.put("json",json);
values.put("url",url);
database.insert("user",null,values);*/
database.execSQL("insert into user (json,url)values(?,?)",new Object[]{json,url});
//关闭
database.close();
}
/**
* 查询数据库的操作....根据传入url获取存的json字符串
*/
public String query(String url){
SQLiteDatabase writableDatabase = myHelper.getWritableDatabase();
//Cursor cursor = writableDatabase.query("user", new String[]{"json"}, "url = ?", new String[]{url}, null, null, null);
Cursor cursor = writableDatabase.rawQuery("select *from user where url=?", new String[]{url});
if (cursor.moveToNext()){
String json = cursor.getString(cursor.getColumnIndex("json"));
return json;
}
return null;
}
}
Fragment类添加和查询方法
package com.example.administrator.xie.fragment;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.example.administrator.xie.R;
import com.example.administrator.xie.adapter.MyAdapter;
import com.example.administrator.xie.bean.Data;
import com.example.administrator.xie.dao.Dao;
import com.example.administrator.xie.util.GetInterFace;
import com.example.administrator.xie.util.NetGetData;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Created by Administrator on 2017/10/25.
*/
public class Fragment1_my1 extends Fragment {
private PullToRefreshListView refresh_list_view;
List<Data.ResultBean.ListBean> list = new ArrayList<>();
private MyAdapter myAdapter;
private ILoadingLayout startLabels;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_fragment_my1, container, false);
refresh_list_view = (PullToRefreshListView) view.findViewById(R.id.refresh_list_view);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Dao dao = new Dao(getActivity());
String query = dao.query("http://v.juhe.cn/weixin/query?key=f11366bfede82a3290d61093fd9c1de6");
if (query!=null){
Gson gson = new Gson();
Data data = gson.fromJson(query, Data.class);
list.addAll(data.getResult().getList());
setadapter();
}else{
getinfo();
}
/*设置pullToRefreshListView的刷新模式,BOTH代表支持上拉和下拉,PULL_FROM_END代表上拉,PULL_FROM_START代表下拉 */
refresh_list_view.setMode(PullToRefreshBase.Mode.BOTH);
startLabels = refresh_list_view
.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在拉");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = refresh_list_view.getLoadingLayoutProxy(
false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
refresh_list_view.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
String path = "http://v.juhe.cn/weixin/query?key=f11366bfede82a3290d61093fd9c1de6";
NetGetData.getinfo(getActivity(), path, new GetInterFace() {
@Override
public void go(String json) {
Log.d("--","数据"+json);
Gson gson = new Gson();
Data data = gson.fromJson(json, Data.class);
list.addAll(0,data.getResult().getList());
setadapter();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date curDate = new Date(System.currentTimeMillis());//获取当前时间
String str = formatter.format(curDate);
startLabels.setLastUpdatedLabel(str);
refresh_list_view.onRefreshComplete();
}
});
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
getinfo();
}
});
}
private void getinfo() {
String path = "http://v.juhe.cn/weixin/query?key=f11366bfede82a3290d61093fd9c1de6";
NetGetData.getinfo(getActivity(), path, new GetInterFace() {
@Override
public void go(String json) {
Dao dao = new Dao(getActivity());
dao.insertJson(json,"http://v.juhe.cn/weixin/query?key=f11366bfede82a3290d61093fd9c1de6");
Log.d("--","数据"+json);
Gson gson = new Gson();
Data data = gson.fromJson(json, Data.class);
list.addAll(data.getResult().getList());
setadapter();
refresh_list_view.onRefreshComplete();
}
});
}
private void setadapter() {
if (myAdapter==null) {
myAdapter = new MyAdapter(list, getActivity());
refresh_list_view.setAdapter(myAdapter);
}
else{
myAdapter.notifyDataSetChanged();
}
}
}
- 数据库缓存
- 数据库缓存
- 数据库缓存
- 数据库缓存
- 数据库缓存
- 数据库缓存
- 缓存数据库
- 数据库缓存
- 缓存数据库表
- 数据库监听与缓存
- 数据库缓存依赖详解
- 数据库缓存依赖
- 数据库缓存依赖详解
- php 数据库缓存
- 数据库缓存依赖
- 数据库缓存的配置
- 数据库缓存类
- MySQL 查询缓存数据库
- ubuntu 按Tab补全报错
- Java_快速排序
- 机器学习算法 原理、实现与实践 —— 距离的度量
- 机器学习评估指标总结
- codeblock手动添加C++11标准
- 缓存数据库
- C++&Python——【USACO 5.4.1】——Canada Tour
- 牛客网错题集锦4
- 【20171025早】alert(1) to win 练习
- Receiver Operating Characteristic(ROC)
- 1001Hello,World!
- Java常用类库
- 创建"Hello World"图形用户界面
- Android通知栏的技术更新