//封装一个判断网络类
public class HttpNet {
public static boolean isNetConnected(Context context) {
boolean isNetConnected;
// 获得网络连接服务
ConnectivityManager connManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connManager.getActiveNetworkInfo();
if (info != null && info.isAvailable()) {
isNetConnected = true;
} else {
isNetConnected = false;
}
return isNetConnected;
}
}
//有网络时,网上加载数据,没网时,加载本地的数据
public class Frag21 extends Fragment {
private PullToRefreshListView pulllistview;
private int num = 1;
private String Url = "http://www.xieast.com/api/news/news.php?page=";
private HttpUtils httpUtils;
private ArrayList<User.DataBean> list = new ArrayList<>();
//private DbUtils dbUtils;
private MyAdapter myAdapter;
private DbUtils dbUtils;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_frag21, container, false);
//初始化控件
pulllistview = view.findViewById(R.id.pulllistview);
dbUtils = new DbUtils(getActivity());
//设置模型
pulllistview.setMode(PullToRefreshBase.Mode.BOTH);
//设置适配器
myAdapter = new MyAdapter(getActivity(), list);
pulllistview.setAdapter(myAdapter);
//设置监听
pulllistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
Toast.makeText(getActivity(), "fd", Toast.LENGTH_SHORT).show();
list.clear();
getmData(1);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
Toast.makeText(getActivity(), "上拉", Toast.LENGTH_SHORT).show();
num++;
getmData(num);
}
});
getmData(1);
return view;
}
//获取数据
public void getmData(int num) {
boolean flag = new HttpNet().isNetConnected(getActivity());
// Toast.makeText(getActivity(),""+b,Toast.LENGTH_SHORT).show();
if (flag) {
//实例化对象
httpUtils = new HttpUtils();
httpUtils.getpath(Url + num);
httpUtils.gethttpUtils(new HttpUtils.SetDate() {
@Override
public void getData(String str) {
Gson gson = new Gson();
User user = gson.fromJson(str, User.class);
//把数据缓存到本地数据库
dbUtils.insert(str);
list.addAll(user.getData());
myAdapter.getList(list);
pulllistview.onRefreshComplete();
}
});
} else {
Toast.makeText(getActivity(), "亲,没网啦", Toast.LENGTH_SHORT).show();
String query = dbUtils.query();
Toast.makeText(getActivity(), query.toString(), Toast.LENGTH_SHORT).show();
User userdata = new Gson().fromJson(query, User.class);
List<User.DataBean> dataBeanList = userdata.getData();
list.addAll(dataBeanList);
myAdapter.getList(list);
}
}
}