package com.example.textview_imager_wangluo; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; 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.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //控件 lv = (ListView) findViewById(R.id.lv); //网络地址 try { wzdata("http://apis.juhe.cn/cook/query.php?key=81921c6270f37eeec75be4081bd61e91&menu="+ URLEncoder.encode("秘制红烧肉","utf-8")); } catch (Exception e) { e.printStackTrace(); } } //文字异步 private void wzdata(String wz) { new AsyncTask<String, Void, String>() { @Override protected void onPostExecute(String s) { super.onPostExecute(s); if (s != null) { Gson gson = new Gson(); Bean bean1 = gson.fromJson(s, Bean.class); //list得到自己想要的数据 List<Bean.ResultBean.DataBean.StepsBean> list = bean1.getResult().getData().get(0).getSteps(); //My_base base = new My_base(MainActivity.this,list); //绑定适配器 Youhua youhua = new Youhua(list); lv.setAdapter(youhua); } } @Override protected String doInBackground(String... strings) { String url = strings[0]; try { //URL方法 HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); //服务器响应 int code = connection.getResponseCode(); if (code == 200) { InputStream is = connection.getInputStream(); //解析 String shuju = Jiexi.shuju(is); return shuju; } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(wz); } //适配器 class Youhua extends BaseAdapter{ List<Bean.ResultBean.DataBean.StepsBean> list; public Youhua(List<Bean.ResultBean.DataBean.StepsBean> list) { this.list = list; } @Override public int getCount() { if (list != null){ return list.size(); } return 0; } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int postion, View convertView, ViewGroup viewGroup) { if(convertView == null){ convertView = convertView.inflate(MainActivity.this,R.layout.youhua,null); } //适配器控件 ImageView img = (ImageView) convertView.findViewById(R.id.im); TextView tv = (TextView) convertView.findViewById(R.id.tv1); //设置相应控件显示信息 tv.setText(list.get(postion).getStep()); //加载图片 tudata(list.get(postion).getImg(),img); return convertView; } //图片异步 private void tudata(String wz,final ImageView im){ new AsyncTask<String,Void,Bitmap>(){ @Override //返回的Bitmap图片数据 protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); if (bitmap != null){ im.setImageBitmap(bitmap); }else { im.setImageResource(R.mipmap.ic_launcher); } } //解析图片数据 @Override protected Bitmap doInBackground(String... strings) { try { //URL方法 String url = strings[0]; HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); int code = connection.getResponseCode(); if (code == 200){ InputStream im = connection.getInputStream(); return BitmapFactory.decodeStream(im); } } catch (Exception e) { e.printStackTrace(); } return null; } }.execute(wz); } } }