ImageLoader_显示图片

public class MainActivity extends AppCompatActivity {

    private ListView lv;
    private List<Bean.ResultBean.DataBean> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById(R.id.listview);
        try {
//            jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu="+ URLEncoder.encode("西红柿","utf-8")+"" );
            jiexi("http://apis.juhe.cn/cook/query?key=900eb2e99f3c7b21f3914aefa914a327&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void jiexi(final String path){
        new AsyncTask<String ,Void ,String >(){
            @Override
            protected void onPostExecute(String s) {

                if (s!=null){
                    Gson gson=new Gson();
                    Bean bean = gson.fromJson(s, Bean.class);
                    List<Bean.ResultBean.DataBean> list = bean.getResult().getData();
                    MyBaseadapter adapter=new MyBaseadapter(MainActivity.this,list);
                    lv.setAdapter(adapter);
                }
            }

            @Override
            protected String doInBackground(String... params) {
                try {
                    URL url=new URL(params[0]);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(3000);
                    connection.setConnectTimeout(3000);
                    int code = connection.getResponseCode();
                    if (code==200){
                        InputStream is = connection.getInputStream();
                        return  StreamTools.readFromNetWork(is);

                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
        }.execute(path);
    }
}

以上是MainActivity里面的内容

public class MyBaseadapter extends BaseAdapter {
    private Context context;
    private List<Bean.ResultBean.DataBean> list;
    public MyBaseadapter(Context context, List<Bean.ResultBean.DataBean> list) {
        this.context=context;
        this.list=list;
    }

    @Override
    public int getCount() {
        return list!=null?list.size():0;
    }

    @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) {
        convertView=View.inflate(context,R.layout.item,null);
        TextView tv= (TextView) convertView.findViewById(R.id.tv);
        ImageView image= (ImageView) convertView.findViewById(R.id.image);
//ImageLoader.getInstance().displayImage(dataBeanList.get(position).getAlbums().get(0),
      //  ivIcon,MyApplication.getDisplayImageOptions());
        tv.setText(list.get(position).getSteps().get(0).getStep());
        ImageLoader.getInstance().displayImage(list.get(position).getSteps().get(0).getImg(),image,MyAppliction.getDiskImageoptoins());
        return convertView;
    }
}

以上是适配器

 1 public class MyAppliction extends Application{
 2     @Override
 3     public void onCreate() {
 4         super.onCreate();
 5 //        String s = Environment.getExternalStorageDirectory() + "/qqq";
 6 //        File file=new File(s);
 7         ImageLoaderConfiguration config=new ImageLoaderConfiguration.Builder(this)
 8                 .threadPriority(100)
 9                 .threadPoolSize(3)
10                 .memoryCacheExtraOptions(200,200)
11                 .memoryCacheSize(2*1024*1024)
12 //                .diskCache(new UnlimitedDiskCache(file))
13                 .diskCacheSize(50*1024*1024)
14                 .diskCacheFileNameGenerator(new Md5FileNameGenerator())
15                 .build();
16         ImageLoader.getInstance().init(config);
17 
18     }
19     public static DisplayImageOptions getDiskImageoptoins(){
20         DisplayImageOptions options=new DisplayImageOptions.Builder()
21                 .showImageForEmptyUri(R.mipmap.ic_launcher)
22                 .showImageOnFail(R.mipmap.ic_launcher)
23                 .showImageOnLoading(R.mipmap.ic_launcher)
24                 .cacheInMemory(true)
25 //                .cacheOnDisk(true)
26                 .build();
27                 return options;
28     }
29 }

以上是固定Imageloader类

 1  public static String readFromNetWork(InputStream is){
 2 
 3 
 4         try {
 5 
 6             ByteArrayOutputStream baos = new ByteArrayOutputStream();
 7 
 8             byte[] buffer = new byte[1024];
 9             int len = 0;
10             while ((len = is.read(buffer)) != -1){
11 
12                 baos.write(buffer,0,len);
13 
14             }
15 
16             is.close();
17             baos.close();
18             return baos.toString();
19 
20         } catch (Exception e) {
21             e.printStackTrace();
22         }
23 
24         return null;
25 
26     }

以上是gson解析类

原文地址:https://www.cnblogs.com/leshen/p/7367492.html