xlistview 数据库

来源:互联网 发布:win10优化用什么软件好 编辑:程序博客网 时间:2024/06/05 22:59
package com.exbawei.liteli.zilian;import android.content.ContentValues;import android.database.sqlite.SQLiteDatabase;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConnection;import java.util.List;public class MainActivity extends AppCompatActivity {    int page=1;    int pageSize=5;    Myadapter adapter;    XListView xlv;    SQLiteDatabase db;    boolean tag=true;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         xlv= (XListView) findViewById(R.id.xlv);        xlv.setPullLoadEnable(true);        xlv.setPullRefreshEnable(true);         adapter = new Myadapter(MainActivity.this);        xlv.setAdapter(adapter);        MyHelper helper = new MyHelper(MainActivity.this);         db = helper.getWritableDatabase();        xlv.setXListViewListener(new XListView.IXListViewListener() {            @Override            public void onRefresh() {            page=1;             add();               xlv.stopLoadMore();                xlv.stopRefresh();            }            @Override            public void onLoadMore() {           page++;                add();                xlv.stopLoadMore();                xlv.stopRefresh();            }        });        add();    }    public  void add(){        MyTesk tesk = new MyTesk();        tesk.execute("");    }    class  MyTesk extends AsyncTask<String,Integer,String>{        @Override        protected String doInBackground(String... strings) {            String path="http://gank.io/api/history/content/"+pageSize+"/"+page;            try {                URL url = new URL(path);                HttpURLConnection connection = (HttpURLConnection) url.openConnection();                int code = connection.getResponseCode();                if (code==200) {                    InputStream inputStream = connection.getInputStream();                    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));                    String str="";                StringBuilder builder = new StringBuilder();                    while ((str=reader.readLine())!=null) {                        builder.append(str);                    }                    return builder.toString();                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            Bean bean = gson.fromJson(s, Bean.class);            if (bean!=null) {                List<Bean.ProBean> results = bean.results;                if (results !=null) {                    if (page > 1) {                        adapter.addData(results);                        insert(results);                    } else {                        adapter.update(results);                        if (tag) {                            insert(results);                            tag=false;                        }                    }                }            }        }    }    public void insert(List<Bean.ProBean> list){        for (int i=0;i<list.size();i++) {            Bean.ProBean bean = list.get(i);            ContentValues values = new ContentValues();            values.put("created_at",bean.created_at);            values.put("title",bean.title);            db.insert("test",null,values);        }    }}
原创粉丝点击