package com.bawei.day04.fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.bawei.day04.HttpUtil;
import com.bawei.day04.R;
import com.bawei.day04.adapter.MyAdapter;
import com.bawei.day04.bean.JsonBean;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
/**
-
@Author:Lenovo
-
@E-mail:
-
@Date:2019/2/15 19:33
-
@Description:描述信息
*/
public class Frag01 extends Fragment {
String strUrl=“http://gank.io/api/data/福利/10/1”;
private ListView listView;@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//第一步 :权限
//第二部:找空间
View view=inflater.inflate(R.layout.frag01,container,false);
listView = view.findViewById(R.id.list_view);
return view;
}@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//第三部:数据( 网络请求数据 使用handler+子线程)
new Thread(){
@Override
public void run() {
super.run();
//第四部:判断网络
Boolean isNet= HttpUtil.isNet(getActivity());
String s="";
if (isNet){
//第五步:如果有网络就加载网络数据
s=HttpUtil.requestString(strUrl);
//得到数据后发送给handler进行解析
}else{
//如果没网就就加载数据库
}
//第六步 把数据发送给主线程
Message message=new Message();
message.what=0;
message.obj=s;
handler.sendMessage(message);
}
}.start();
//适配器
}
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0:
//第七步:得到数据并解析
String s= (String) msg.obj;
//解析
Gson gson=new Gson();
JsonBean jsonBean=gson.fromJson(s,JsonBean.class);
List<JsonBean.ResultsBean> list = jsonBean.getResults();
//第八步:展示数据到listview上
listView.setAdapter(new MyAdapter((ArrayList<JsonBean.ResultsBean>) list,getActivity()));
break;
}
}
};
}