`
mikey.tsu
  • 浏览: 133967 次
  • 性别: 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-Android使用RN加载本地js

    综上所述,"Android-Android使用RN加载本地js"涵盖了Android应用中集成React Native以及加载和执行本地JS代码的全过程。从集成框架到运行和调试,再到性能优化和社区支持,每个环节都需要开发者深入理解和实践。

    android客户端上传图片到服务器的简单实现

    在Retrofit中,你可以定义一个上传图片的接口方法,使用@Multipart和@Part注解分别指定请求类型和图片参数。 3. **文件处理**:在上传图片前,需要读取图片文件。Android提供了多种方式读取文件,如FileInputStream...

    Android 异步加载图片缓存优化.rar

    总的来说,Android异步加载图片缓存优化是通过合理利用内存和磁盘资源,配合高效的异步处理,为用户提供流畅的图片浏览体验,同时避免了由于大图加载引发的内存问题。开发者可以通过学习这个压缩包中的源码和文档,...

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

    除了网络和项目资源,控件还允许加载设备上的本地图片,例如从相册选择的照片或者应用存储的文件。这使得开发者可以灵活地处理用户生成的内容或者应用程序内部生成的图片。 5. **双指缩放** 支持双指缩放手势的...

    异步加载图片(网络、本地)

    本话题将深入探讨网络和本地图片的异步加载策略。 一、网络异步加载图片 网络异步加载图片通常涉及到HTTP或HTTPS请求。在Android中,我们可以使用`HttpURLConnection`或第三方库如`Volley`、`OkHttp`、`Retrofit`...

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

    综上所述,"android从服务器端下载图片并保存在本地sdcard里并在界面滚动显示出来"这个过程涉及了网络请求、文件操作、图片缓存、异步处理、UI显示优化等多个技术点,需要综合运用多种Android开发技巧和第三方库。...

    Android选择本地图片上传

    在Android应用开发中,用户经常需要从设备的相册中选择图片进行上传,例如在社交媒体应用、论坛或者个人资料编辑...同时,根据实际需求,可能还需要处理图片的裁剪、压缩等操作,以优化上传性能和降低服务器存储压力。

    android上传图片+服务器接收图片

    本资源提供了一个完整的示例,涵盖了Android客户端如何上传图片以及服务器如何接收和处理这些图片的全过程。以下是关于这个过程的一些关键知识点: 1. **Android图片选择与预处理**: - 使用`Intent`调用系统图库...

    Android 分页缓存图片加载器,gridview显示

    综上所述,这个项目展示了如何在Android环境中实现一个高效、智能的图片加载系统,结合了内存和磁盘缓存、分页加载以及视图回收等技术,以提供流畅的用户体验。通过深入理解这些技术,开发者可以为自己的Android应用...

    Android上传图片到服务器

    在Android应用开发中,将本地图片上传到服务器是一项常见的任务,尤其在社交、电商或个人云存储类应用中。这个“Android上传图片到服务器”的小demo涵盖了这一过程的关键步骤,让我们一起深入了解一下。 首先,我们...

    Android网络图片缓存(网络cache和本地)

    "Android网络图片缓存(网络cache和本地)"是这个过程的核心,它涉及到如何优化图片加载速度,减少网络流量消耗,以及改善用户体验。下面将详细介绍网络缓存和本地缓存的概念及其在Android中的实现。 **网络缓存** ...

    Android webview打开相册选择图片并上传到服务器,(亲测可用)

    本文将详细讲解如何在Android的WebView中实现打开本地相册选择图片,并将其上传到服务器的功能。 首先,我们需要理解WebView的基本用法。WebView是Android SDK中的一个类,它提供了一个用于加载和显示网页的控件。...

    android安卓通过url获取网络图片并显示在imageview中

    首先,我们需要引入能够处理网络请求和图片加载的库。Android本身并不直接支持从网络加载图片到ImageView,所以我们通常会借助第三方库,如Glide、Picasso或Volley。这里我们以Glide为例,因为它是目前最流行的...

    android 子线程URL加载网络图片

    在Android应用开发中,由于主线程负责用户界面的更新与交互,因此对于耗时操作,如网络请求和图片加载,必须在子线程中执行,以免阻塞UI导致应用无响应(ANR)。本主题主要关注如何在Android中利用子线程加载URL上的...

    android服务器获取图片学习视频

    以上就是Android服务器获取图片的基础流程和关键知识点。通过这个学习视频,你将能够掌握如何在Android应用中实现这一功能,并理解其背后的原理。记住,实践是检验知识的最好方式,动手编写代码并不断调试优化,才能...

    Android 加载广告图片以及广告轮播

    本篇文章将深入探讨如何在Android中高效地加载广告图片和实现轮播效果。 首先,我们需要理解广告图片的加载流程。通常,我们会通过HTTP或HTTPS协议从服务器获取广告图片的URL,然后使用网络库(如Volley、OkHttp或...

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

    在Android应用开发中,远程图片的获取和本地缓存是一个重要的优化策略,旨在提升用户体验,避免因长时间等待网络加载而导致的无响应异常。通常,Android系统会在UI线程执行耗时操作超过5秒时抛出ANR(Application ...

    arcgis for android 读取加载sqlite数据库.rar

    ArcGIS for Android 提供了集成SQLite数据库的能力,允许开发者在Android设备上进行空间数据的本地存储和检索。这有助于减少网络通信,提高应用性能,尤其是在离线场景下。 3. **JDBC连接SQLite**: 虽然SQLite不...

    android studio使用NanoHTTPD 创建 http 服务器打开html并使用webView打开页面

    在Android开发中,有时我们需要在应用内部展示网页内容或者实现简单的本地服务器功能,这就涉及到`Android Studio`、`NanoHTTPD`以及`WebView`的综合使用。本篇将详细讲解如何利用`Android Studio`集成`NanoHTTPD`来...

Global site tag (gtag.js) - Google Analytics