package com.example.word_day0608; import android.os.Bundle; 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 com.google.gson.Gson; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.List; public class FragmentOne extends Fragment { private String path="https://www.zhaoapi.cn/quarter/getJokes?source=android&appVersion=101"; private ListView listview; private List<ConnectionBean.DataBean> data; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view= inflater.inflate(R.layout.fragmentone,container,false); listview= view.findViewById(R.id.listview); new Thread(){ @Override public void run() { super.run(); try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); if (connection.getResponseCode() == 200) { InputStream inputStream = connection.getInputStream(); String s = StreamToString(inputStream); Log.i("TAG",s); Gson gson = new Gson(); ConnectionBean bean = gson.fromJson(s, ConnectionBean.class); data = bean.getData(); Log.i("TAG", data.size()+""); //在线程中更改主线程的UI getActivity().runOnUiThread(new Runnable() { @Override public void run() { ///创建适配器 MyBase myBase = new MyBase(getActivity(), data); listview.setAdapter(myBase); } }); } } catch (Exception e) { e.printStackTrace(); } } }.start(); return view; } private String StreamToString(InputStream inputStream) { InputStreamReader streamReader = new InputStreamReader(inputStream); BufferedReader reader = new BufferedReader(streamReader); String b= null; StringBuilder builder = new StringBuilder(); try { while ((b=reader.readLine())!=null){ builder.append(b); } reader.close(); } catch (IOException e) { e.printStackTrace(); } return builder.toString(); } }