`

android > ImageView 加载本地/服务器图片

 
阅读更多

先是布局 . xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView 
        android:id="@+id/image"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
	

    
</LinearLayout>

 

然后是一个 加载 本地 / 服务器  图片 的 class 里面有2 个方法 一个加载本地 的 一个加载 服务器 的 参数有URL

 

 

package b22.com;

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();  
	        }  
	    }  
}

 

然后是 主 activity 调用 加载图片的 class 方法 然后 里面的图片根路径是 assets 文件夹 

 

 

package b22.com;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ImageView;

public class B22Activity extends Activity {
    /** Called when the activity is first created. */
	
	private ImageView imageLayout;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        imageLayout = (ImageView)findViewById(R.id.image);
        
        String imagePath = "rdt_right.png";        
        imageLayout.setImageBitmap(BitmapUtils.getLoacalBitmapByAssets(B22Activity.this, imagePath));
        
        
    }
    
    
}
 

 

分享到:
评论

相关推荐

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

    在Android开发中,将网络上的图片加载到ImageView控件中是一项常见的需求。本文将详细介绍如何通过URL获取网络图片并将其显示在ImageView上。我们将使用一个简单的示例来演示这一过程,该示例是从百度官网获取其logo...

    android 从服务器加载图片

    在Android开发中,从服务器加载图片是一个常见的需求,特别是在构建应用程序时,比如社交应用、电商应用等。这个过程涉及到网络编程、图片处理和优化等多个方面。以下是对这一主题的详细阐述: 1. **网络请求**:...

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

    这个控件的核心特性包括异步加载网络图片、加载项目资源中的图片以及处理本地存储的图片,并且还支持双指缩放操作,以提供优秀的用户体验。 1. **异步加载** 在Android应用中,直接在主线程加载大图或网络图片可能...

    Android-CaptchaImageView自定义ImageView生成验证码图片

    6. **高效图片加载**:考虑到Android性能和内存管理,`CaptchaImageView` 可能会采用优化的图像加载策略,如延迟加载、缓存策略等,以避免资源浪费和应用卡顿。 在实际使用`CaptchaImageView` 时,开发者可以按照...

    Android中ImageView使用网络图片资源的方法

    以下是一个详细介绍如何在Android中使用ImageView加载网络图片的实例。 首先,加载网络图片涉及到网络编程,因此需要处理URL和HTTP连接。在Android中,我们可以使用java.net包下的类来实现这个功能。例如,URL类...

    Android ImageView圆角图片 + 剪切

    这样,当图片加载到这个自定义的`ImageView`中时,会自动按照设定的圆角大小进行裁剪显示。 2. **使用`Shape Drawable`**:创建一个XML文件,定义一个`shape`为`rectangle`,并设置`corners`属性为需要的圆角半径。...

    Android选择本地图片上传

    &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&gt; ``` 接下来,我们可以使用Intent来启动系统图库,让用户选择图片。创建一个方法,例如`selectPhotos()`,并启动一个用于选择图片的...

    android listview从mysql加载数据和图片

    在`getView()`方法中,当接收到图片URL时,调用图片加载库的方法,传入ImageView和URL。这样,图片会在后台加载并在准备好后自动显示在ListView项上。为了优化用户体验,可以设置占位符和错误图片,以防在网络不稳定...

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

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

    android软件服务器获取图片等资源

    &lt;uses-permission android:name="android.permission.INTERNET" /&gt; ``` 同时,在运行时需要检查并请求用户授权。 总结: 在Android软件中获取服务器图片和其他资源涉及多个方面,包括选择合适的网络库、图片加载库...

    Android框架Volley之利用Imageloader和NetWorkImageView加载图片的方法

    android:text="ImageRquest加载图片"/&gt; android:id="@+id/ImageLoader" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="ImageLoader加载图片"/&gt; android:id=...

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

    在Android应用开发中,高效的图片加载对于用户体验至关重要,特别是在数据量大、页面滑动频繁的场景,如使用GridView展示图片。本项目针对这种情况,利用Android Studio进行开发,实现了分页缓存图片加载器,旨在...

    android 子线程URL加载网络图片

    - Glide是一款非常流行的图片加载库,专为Android优化,支持加载、缓存网络图片和本地资源。 - Glide提供链式调用API,使得代码简洁易读,同时具有强大的图片处理能力,如裁剪、调整大小、转换格式等。 6. **...

    faker:Kotlin扩展,可在android上异步加载图像

    骗子Kotlin扩展,可在android上异步加载图像特征异步将随机图像加载到任何ImageView 加载一个完全适合该imageView大小的随机图像通过传递一个简单的URL来加载任何图像非常适合图像占位符以启动项目安装只需在应用...

    Android从Json文件异步加载图片

    在Android应用开发中,从Json文件异步加载图片是一项常见的任务,它涉及到网络请求、数据解析、线程管理和UI更新等多个关键知识点。以下是对这些概念的详细解释。 首先,Json(JavaScript Object Notation)是一种...

    Android实现异步从网络加载图片列表和上拉加载更多、下拉刷新列表(使用xListView框架)

    - 使用Glide、Picasso或Fresco等图片加载库将网络图片异步下载并显示在ListView的ImageView中。这些库能够自动处理内存和磁盘缓存,优化图片加载性能,避免内存溢出。 3. **下拉刷新**: - xListView提供了...

    Android加载网络图片

    Android SDK提供了基本的`ImageView`,但现代的图片加载库如`Glide`和`Picasso`提供了更强大的功能,如动画过渡、占位符、错误图以及对`Drawable`的更好支持。 6. **错误处理**: 在实际应用中,网络请求可能会...

    Android延迟加载综合案例

    ImageView是显示图片的组件,对于网络图片或者大尺寸本地图片,直接加载可能会引起内存问题。延迟加载在ImageView上的实现通常采用“异步加载”(Async Loading)。当ImageView需要显示图片时,不是立即加载,而是在...

    android异步加载图片缓存释放

    在Android开发中,异步加载图片并进行缓存管理是一个重要的优化策略,它能有效提升用户体验,避免因为图片加载导致的界面卡顿。本话题主要围绕"android异步加载图片缓存释放"展开,我们将深入探讨如何实现这个功能...

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

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

Global site tag (gtag.js) - Google Analytics