判断有网无网,有网(PullToRefresh+添加数据库+异步处理+展示),无网(查询数据库+展示)

package wss.com.day15;

import android.content.ContentValues;
import android.database.Cursor;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;

import java.util.ArrayList;
import java.util.List;

import wss.com.day15.adapter.MyAdapter;
import wss.com.day15.dao.Dao;

public class MainActivity extends AppCompatActivity {

private PullToRefreshListView listview;
private String urlString="http://api.tianapi.com/meinv/?key=3304a8bc9414f97e30928b80163cf098&num=10";
private ArrayList<ShowBean.NewslistBean> list = new ArrayList<>();
private MyAdapter mylist;
int a=0;
private Dao dao;
private long insert;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    dao = new Dao(MainActivity.this);
    //获取资源id
    listview = findViewById(R.id.main_listview);
    listview.setMode(PullToRefreshBase.Mode.BOTH);


    if(NetWorkUtils.requestIntenttype(MainActivity.this)){
        Toast.makeText(MainActivity.this,"有网",+0).show();
        //设置适配器
        mylist = new MyAdapter(MainActivity.this,list);
        listview.setAdapter(mylist);
        getData(0);
        listview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                list.clear();
                getData(a);
                a=0;
            }
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                a++;
                getData(a);
            }
        });

    }else{
        Toast.makeText(MainActivity.this,"没网",+0).show();

        //查询数据库
        Cursor query = dao.query("day15", null, null, null, null, null, null);
        if (query.moveToFirst()) {
            do {
                 /*private String ctime;
                    private String title;
                    private String description;
                    private String picUrl;
                    private String url;*/
                String ctime = query.getString(query.getColumnIndex("ctime"));
                String title = query.getString(query.getColumnIndex("title"));
                String description = query.getString(query.getColumnIndex("description"));
                String picUrl = query.getString(query.getColumnIndex("picUrl"));
                String url = query.getString(query.getColumnIndex("url"));
                ShowBean.NewslistBean bean=new ShowBean.NewslistBean();

                bean.setCtime(ctime);
                bean.setTitle(title);
                bean.setDescription(description);
                bean.setPicUrl(picUrl);
                bean.setUrl(url);
                list.add(bean);
                mylist = new MyAdapter(MainActivity.this,list);
                listview.setAdapter(mylist);
            }while (query.moveToNext());
        }
        query.close();
        mylist.notifyDataSetChanged();
    }
}

private void getData(int a) {
    new MyAsTask().execute(urlString+a);
}
class MyAsTask extends AsyncTask<String,Void,String>{

    @Override
    protected String doInBackground(String... strings) {
        return NetWorkUtils.getJson(strings[0]);
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        Gson gson= new Gson();
        ShowBean showBean = gson.fromJson(s, ShowBean.class);
        List<ShowBean.NewslistBean> newslist = showBean.getNewslist();
        for (int i = 0; i < newslist.size(); i++) {
            ContentValues values = new ContentValues();
        /*private String ctime;
            private String title;
            private String description;
            private String picUrl;
            private String url;*/

            values.put("ctime",newslist.get(i).getCtime());
            values.put("title",newslist.get(i).getTitle());
            values.put("description",newslist.get(i).getDescription());
            values.put("picUrl",newslist.get(i).getPicUrl());
            values.put("url",newslist.get(i).getUrl());
            insert = dao.insert("day15", null, values);
        }
        Toast.makeText(MainActivity.this,""+insert,+0).show();
        list.addAll(newslist);
        mylist.notifyDataSetChanged();
        listview.onRefreshComplete();
    }
}

}

猜你喜欢

转载自blog.csdn.net/weixin_43894237/article/details/85011395