package com.bw.asus.myapplication;
import android.annotation.SuppressLint;
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.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.Toast;
import com.bw.asus.myapplication.adapter.MyAdapter;
import com.bw.asus.myapplication.bean.Data;
import com.bw.asus.myapplication.bean.JsonData;
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.util.ArrayList;
public class Fragment_01 extends Fragment {
String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
String urlBitmap = "https://img-my.youkuaiyun.com/uploads/201407/26/1406383265_8550.jpg";
private ListView listView;
private ArrayList<Data> data;
@SuppressLint("HandlerLeak")
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==1){
data = (ArrayList<Data>) msg.obj;
MyAdapter myAdapter = new MyAdapter(data,getActivity());
listView.setAdapter(myAdapter);
}
}
};
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_01,container,false);
listView = view.findViewById(R.id.frag_01_listView);
new Thread(){
@Override
public void run() {
super.run();
try {
URL url = new URL(urlString);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
int code = httpURLConnection.getResponseCode();
if(code==200 ){
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String temp = "";
StringBuilder builder = new StringBuilder();
while ((temp=reader.readLine()) != null){
builder.append(temp);
}
Gson gson = new Gson();
JsonData jsonData = gson.fromJson(builder.toString(), JsonData.class);
ArrayList<Data> data = jsonData.getData();
Log.e("++++++++++++++++++","++++++++++++++"+data.toString());
Message message = handler.obtainMessage();
message.what = 1;
message.obj = data;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
return view;
}
}
HttpURLConnection+Handle
最新推荐文章于 2019-10-03 19:19:27 发布