当前位置: 代码迷 >> Android >> Android 加载当地图片 和 服务器图片
  详细解决方案

Android 加载当地图片 和 服务器图片

热度:73   发布时间:2016-05-01 18:24:58.0
Android 加载本地图片 和 服务器图片

本地图片可以放到 assets 目录下, 也可以在此目录下新建目录,如?assets/foods/apple.png。

代码取本目录下的图片则如下:

String apple = "foods/apple.png";middle = (ImageView)findViewById(R.id.middle);middle.setImageBitmap(BitmapUtils.getLoacalBitmapByAssets(reservation.this, apple));import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;public class BitmapUtils{    /**    * 加载本地图片    * @param url    * @return    */    public static Bitmap getLoacalBitmapByAssets(Context c, String url)    {        Bitmap bitmap = null;        InputStream in = null;        try        {            in = c.getResources().getAssets().open(url);            bitmap = BitmapFactory.decodeStream(in);        }        catch (IOException e)        {            e.printStackTrace();        }        finally        {            closeStream(in, null);        }        return bitmap;    }    /**    * 从服务器取图片    * @param url    * @return    */    public static Bitmap getHttpBitmap(String url)    {        URL myFileUrl = null;        Bitmap bitmap = null;        InputStream in = null;        try        {            myFileUrl = new URL(url);            HttpURLConnection conn = (HttpURLConnection)myFileUrl.openConnection();            conn.setConnectTimeout(0);            conn.setDoInput(true);            conn.connect();            in = conn.getInputStream();            bitmap = BitmapFactory.decodeStream(in);        }        catch (IOException e)        {            e.printStackTrace();        }        finally        {            closeStream(in, null);        }        return bitmap;    }    /**      * 关闭输入输出流     * @param in     * @param out     */    public static void closeStream(InputStream in, OutputStream out)    {        try        {            if (null != in)            {                in.close();            }            if (null != out)            {                out.close();            }        }        catch (IOException e)        {            e.printStackTrace();        }    }}
?
  相关解决方案