package com.appc.weekxx3; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.hardware.camera2.params.StreamConfigurationMap; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; 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.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; 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.net.URLConnection; import java.util.ArrayList; import java.util.List; public class Fragment1 extends Fragment { String url = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10"; private List<com.appc.weekxx3.bean.NewslistBean> list = new ArrayList<>(); private ListView lv1; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_fragment1, container, false); lv1 = view.findViewById(R.id.lv1); intodata(); return view; } private void intodata() { new Ac().execute(url); } class Ac extends AsyncTask<String, View, String> { private String data; @Override protected String doInBackground(String... params) { String param = params[0]; try { URL url = new URL(param); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); if (urlConnection.getResponseCode() == 200) { InputStream inputStream = urlConnection.getInputStream(); Log.e("SSSS", "dsdffgfd"); StringBuilder stringBuilder = new StringBuilder(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String temp = ""; while ((temp = bufferedReader.readLine()) != null) { stringBuilder.append(temp); temp = ""; } //这个是网络获取的数据 data = stringBuilder.toString(); Log.e("SSSS", data + "dsdffgfd"); } } catch (Exception e) { e.printStackTrace(); } return data; } @Override protected void onPostExecute(String s) { Gson gson = new Gson(); bean bean = gson.fromJson(s, bean.class); List<com.appc.weekxx3.bean.NewslistBean> newslist = bean.getNewslist(); list.addAll(newslist); Log.e("SSSS+list", list.toString() + "dsdffgfd"); adapter adapter = new adapter(); lv1.setAdapter(adapter); } } class adapter extends BaseAdapter { @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = View.inflate(getActivity(), R.layout.item1, null); TextView tv = view.findViewById(R.id.tv1); ImageView im = view.findViewById(R.id.im1); tv.setText(list.get(position).getTitle()); String picPath = list.get(position).getPicUrl(); new MyPicTask(im).execute(picPath); return view; } } class MyPicTask extends AsyncTask<String, Void, Bitmap> { private ImageView img; public MyPicTask(ImageView img) { this.img = img; } @Override protected Bitmap doInBackground(String... params) { try { URL url = new URL(params[0]); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); if (connection.getResponseCode() == 200) { InputStream stream = connection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(stream); return bitmap; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); img.setImageBitmap(bitmap); } } }
fragment 展示条目图片
最新推荐文章于 2022-06-30 10:51:15 发布