`
mikey.tsu
  • 浏览: 132824 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类

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();
        }
    }
}
 
分享到:
评论

相关推荐

    unity下载服务器图片保存本地并加载(android和ios)

    unity下载服务器图片保存本地并加载(android和ios),判断本地是否存在,不存在就创建文件.

    android从服务器端下载图片并保存在本地sdcard里并在界面滚动显示出来

    android从服务器端下载图片,并将图片保存在本地sdcard里,需要显示图片时,先从本地查找,查询不到时再从服务器端下载,并在界面实现滚动显示图片

    android图片选择,上传,下载,解决内存溢出问题

    下载图片:当项目启动时先看本地有没有图像,没有则加载网络图片 图片过大内存溢出:在图片读取是处理里图片,解决了溢出问题 项目下载后,直接导入就可以运行,是2.2的版本,有个插件android-async-http-1.4.4.jar...

    android studio VideoView本地视频播放.zip

    android studio VideoView本地视频播放

    Android实现图片异步加载并缓存到本地

    在android应用开发的时候,加载网络图片是一个非常重要的部分,很多图片不可能放在本地,所以就必须要从服务器或者网络读取图片。 软引用是一个现在非常流行的方法,用户体验比较好,不用每次都需要从网络下载图片,...

    使用NanoHttpd在Android项目中搭建服务器

    NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 请求,支持文件上传,占用内存很小。

    Android图片三级缓存策略(网络、本地、内存缓存)

    通常情况下,Android应用程序中图片的缓存策略采用“内存-本地-网络”三级缓存策略,首先应用程序访问网络拉取图片,分别将加载的图片保存在本地SD卡中和内存中,当程序再一次需要加载图片的时候,先判断内存中是否...

    Android代码-WebView缓存例子

    ps: 排版和图片再github显示不怎么一致,如果看得不爽请移步csdn: http://blog.csdn.net/qq122627018/article/details/53351781 前言 先讲讲为什么会有这篇blog,话说前几天做个模块,要求是这样的: 做一个webview...

    Android远程获取图片并本地缓存

    对于客户端——服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手机流量就用完了,等用户发现是你的应用...

    Android平台的图像控件,可以异步加载网络图片、项目资源和本地图片,并且支持双指缩放、图片的基本处理.zip

    关于机器学习的项目,新手可作为入门项目学习,欢迎下载使用。关于机器学习的项目,新手可作为入门项目学习,欢迎下载使用。关于机器学习的项目,新手可作为入门项目学习,欢迎下载使用。关于机器学习的项目,新手可...

    Android实现调用系统图库与相机设置头像并保存在本地及服务器

    * 需要判断用户是否挂载了sd卡),然后在服务器上存储一份该图片,当下次再次启动应用时,会默认去sd卡加载该图片,如果本地没有,再会去联网请求 * 2、使用了picasso框架以及自定义BitmapUtils工具类 * 3、记得加上...

    Android-Universal-Image-Loader源码和jar包

    Android开发中我们会经常遇到图片过多或操作不当造成OOM异常,有时虽然是解决了这个问题但却会影响程序的运行效率,例如:当用户在快速滑动滚动条的过程中,我们程序在仍在艰难的加载服务器端的图片,这样给用户造成...

    瀑布流网络加载图片

    瀑布流,网络加载图片,和本地加载图片都有,大家可以记录下来,备份以后备用,图片的下标以及列数都是可以快速得到 的,可以方便做跳转之内。

    Android代码-web资源的本地缓存方案

    CandyWebCache是移动端web资源的本地缓存解决方案,能够拦截webview的请求,并优先使用本地缓存静态资源进行响应,以此来对webview加载页面性能进行优化。 特点: 协议层拦截请求,透明替换响应 静态资源版本控制及...

    选择本地图片

    主要实现了用户头像的上传功能: 1、打开相册或者相机,获取用户选择的图片...2、图片缩放加载进入内存 3、对图片进行压缩并转换为base64编码格式的字符串。 4、根据服务器端提供的接口,简单描述用户头像上传的思路。

    集成目前Android主流优秀第三方组件

    图片异步加载库universal-image-loader Sqlite数据库操作ormlite-android 社会化分享ShareSDK+短信验证码 Zxing二维码库 百度地图定位SDK 谷歌依赖注入库RoboGuice WebService调用库ksoap2 XML解析XStream 动画开源...

    Android开发应用实战详解源代码

    2.8.3 android本地广播 2.9 小结 第3章 设备界面演练 3.1 文字标签处理 3.2 改变屏幕窗口元素的背景颜色 3.3 改变textview的文字颜色 3.4 实现textview文字的替换 3.5 获取手机分辨率 3.6 样式修饰处理 3.7 按钮事件...

    微信小程序实现图片上传

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下/p> 图片上传服务器: wxml <button bindtap='chooseImageTap'>上传图片</button> wxss Page({ /** * 页面的...

Global site tag (gtag.js) - Google Analytics