package com.example.app2; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.view.StandaloneActionMode; 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.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private List<Bean.NewslistBean> list=new ArrayList<>(); private PullToRefreshListView pl; private int page=1; private MyBase base; private SqliteDao dao; private String path="https://api.tianapi.com/wxnew/?key=48a7d7193e11bd2dd4a683b6e2f90a4f&num=10&page=1"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pl = findViewById(R.id.pl); dao = new SqliteDao(new MySqlite(this)); Request(); Init(); } private void Request() { if (NerWorkUtil.isConn(this)){ MyTask task=new MyTask(new MyTask.IcallBack(){ @Override public void updateUiByjson(String string) { dao.insert(path,string); Gson gson=new Gson(); Bean bean = gson.fromJson(string, Bean.class); if (page==1){ list.clear(); } list.addAll(bean.getNewslist()); SetAdap(); pl.onRefreshComplete(); } }); task.execute(path); } else { Toast.makeText(this,"没有网络,从数据库查询",Toast.LENGTH_SHORT).show(); String select = dao.select(path); Gson gson=new Gson(); Bean bean = gson.fromJson(select, Bean.class); if (page==1){ list.clear(); } list.addAll(bean.getNewslist()); SetAdap(); pl.onRefreshComplete(); } } private void SetAdap() { if (base==null){ base = new MyBase(this,list); pl.setAdapter(base); } else { base.notifyDataSetChanged(); } } private void Init() { pl.setMode(PullToRefreshBase.Mode.BOTH); pl.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) { page=1; Request(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) { page++; Request(); } }); } }
数据库调用于Pulltorefresh+网络判断
最新推荐文章于 2019-01-20 20:55:08 发布