SQlite数据库
来源:互联网 发布:评论系统源码 编辑:程序博客网 时间:2024/06/08 05:33
将网络请求的数据加入数据库,listview展示数据,默认从数据库里显示
首先创建SQlite类
public class SQLite extends SQLiteOpenHelper { public SQLite(Context context) { super(context, "person.db", null, 1);//创建数据库 } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table user(_id Integer primary key autoincrement,title
varchar(20),imageurl varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}
再创建SQLiteDao类,写增加、查询的方法:
public class SQLiteDao { private final SQLiteDatabase db; public SQLiteDao(Context context){ SQLite sqLite = new SQLite(context); db = sqLite.getWritableDatabase(); } public boolean addData(String title,String imageurl){ ContentValues values = new ContentValues(); values.put("title",title); values.put("imageurl",imageurl); long result = db.insert("user", null, values); if (result!=-1){ return true; }else{ return false; } } public ArrayList<Data.DataBean> findData(){ Cursor cursor = db.query(false, "user", null, null, null, null, null, null, null); ArrayList<Data.DataBean> datas = new ArrayList<>(); while (cursor.moveToNext()){ String title = cursor.getString(cursor.getColumnIndex("title")); String imageurl = cursor.getString(cursor.getColumnIndex("imageurl")); Data.DataBean dataBean = new Data.DataBean(); dataBean.setNews_title(title); dataBean.setPic_url(imageurl); datas.add(dataBean); } return datas; }}
然后就在MainActivity里操作:
定义:
private ArrayList<Data.DataBean> datas;private SQLiteDao dao;在onCreate里初始化:
dao=new SQLiteDao(this);lv= (ListView) findViewById(R.id.lv);//listview控件getHttp(); //获取网络数据datas=dao.findData();//调用SqliteDao里的查询方法adapter=new MyBaseAdapter(MainActivity.this,datas);//加载数据库里的数据lv.setAdapter(adapter);//获得适配器private void getHttp() { RequestParams requestParams=new RequestParams("http://api.expoon.com/AppNews/g etNewsList/type/1/p/1");//数据连接 x.http().get(requestParams, new Callback.CommonCallback<String>() { @Override //xutils网络请求 public void onSuccess(String result) { //成功的方法 Data data = new Gson().fromJson(result, Data.class);//解析Gson数据 list=data.getData(); //list集合获取解析后的数据 adapter=new MyBaseAdapter(MainActivity.this,list); lv.setAdapter(adapter);//加载网络数据 if (datas.size()==0){//如果数据库里没数据 for (Data.DataBean lists:list){ boolean b = dao.addData(lists.getNews_title(), lists.getPic_url ());//把请求到的数据添加到数据库 if (b){ Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_ SHORT).show(); }else { Toast.makeText(MainActivity.this, "添加失敗", Toast.LENGTH_ SHORT).show(); } } } } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } });}
阅读全文
0 0
- SQLite---SQLite数据库简介
- Sqlite 数据库
- SQLite数据库
- SQlite 数据库
- SQLite数据库
- SQLite数据库
- SQLite数据库
- SQLite数据库
- SQLite数据库
- SQlite数据库
- sqlite数据库
- SQLite 数据库
- SQLite数据库
- SQLite数据库
- SQLite数据库
- SQLITE数据库
- SQLite数据库
- sqlite数据库
- Servlet之Http协议(二)
- SPFA算法求单源最短路径
- Tomcat启动闪退StandardServer.await: create[8005]
- AES加密解密 附赠 base64
- MongoDB学习笔记(数据操作)
- SQlite数据库
- NY oj
- Leetcode#13: Roman to Integer
- 《Effective C++读书笔记》--条款02尽量以const,enum,inline替换#define
- JAVA 获取IP
- Zabbix搭建笔记[7]--触发器
- 【Struts2】(3)Struts2国际化、Struts2上传下载、Struts2标签使用
- IOS
- 用vue构建项目笔记6(在vue中使用vue resource)