android使用ImageView加载本地SdCard图片和加载网络图片  

例子1:android加载自己文件夹的图片,使用R类

 

main.xml文件

<?xml version="1.0" encoding="utf-8"?>
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
     android:id="@+id/iv1"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:src="@drawable/longshuai"     
   />

注意:强调一下,资源文件的图片命名规则比较严格,由[a-z]和数字和“_”组成,而且不能数字开头,我就常犯傻,命名老是数字或者大写字母开头,这种错误——囧。。

我们要把longshuai.png导入到res中,最简单的方式就是直接找到这个文件夹,复制进去

之后右键更新,我们就可以在res中看到自己的图片了

 

不用写代码。。直接用自动生成的代码。。

     public void onCreate(Bundle savedInstanceState)

    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

      }

效果如下:

 

 

2、加载本地图片(其实主要是SdCard中图片)

关于SdCard的使用,可以参见http://longshuai2007.blog.163.com/blog/static/1420944142011611103950500/

 

xml文件同上面的是一样的,并不需要修改

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        ImageView image1 = (ImageView) findViewById(R.id.iv1);  //获得ImageView对象
         /*为什么图片一定要转化为 Bitmap格式的!! */
        Bitmap bitmap = getLoacalBitmap("/sdcard/tubiao.jpg"); //从本地取图片(在cdcard中获取)  //
        image1 .setImageBitmap(bitmap); //设置Bitmap
      }

 

    /**
    * 加载本地图片
    * @param url
    * @return
    */
    public static Bitmap getLoacalBitmap(String url) {
         try {
              FileInputStream fis = new FileInputStream(url);
              return BitmapFactory.decodeStream(fis);  ///把流转化为Bitmap图片        

           } catch (FileNotFoundException e) {
              e.printStackTrace();
              return null;
         }
    }

 

显示效果如下:

    3、获取网络上的图片 mian.xml文件和1中一样,并不需要修改!   代码:     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        ImageView image1 = (ImageView) findViewById(R.id.iv1);
        Bitmap bitmap =getHttpBitmap("http://images.missyuan.com/attachments/day_071123/20071123_b2bfefe1ec56e2df6582vCGIZG81gbyM.png");                          //从网上取图片
        image1 .setImageBitmap(bitmap); //设置Bitmap
}       /**
    * 从服务器取图片
    * @param url
    * @return
    */
    public static Bitmap getHttpBitmap(String url) {
         URL myFileUrl = null;
         Bitmap bitmap = null;
         try {
              myFileUrl = new URL(url);
         } catch (MalformedURLException e) {
              e.printStackTrace();
         }
         try {
              HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();
              conn.setConnectTimeout(0);
              conn.setDoInput(true);
              conn.connect();
              InputStream is = conn.getInputStream();
              bitmap = BitmapFactory.decodeStream(is);
              is.close();
         } catch (IOException e) {
              e.printStackTrace();
         }
         return bitmap;
    }
    注意:由于需要使用网络,所以 AndroidManfest.xml 文件需要添加使用网络权限!!!       这也是我为什么一直错,而且一直找不到原因,它就是不显示图片,什么错误都没有,坑爹啊!!  

更多相关文章

  1. 浅谈如何在Eclipse下的Android工程配置Git的.gitignore文件
  2. 源码分析android 系统framework(二)之view的布局加载流程
  3. Android遍历本地视频文件加过滤
  4. Android生成pdf文件之PdfDocument及踩过的坑
  5. Android(Java):jni写文件打印调试信息
  6. Android中的WebView进行直接加载网页(要注意解决权限问题)
  7. Android OpenCV实现图片叠加,水印
  8. Android配置----DDMS 连接真机(己ROOT),用file explore看不到data/
  9. 浅析Android下的Android.mk文件

随机推荐

  1. 3分钟掌握思科路由器密码破解
  2. 【原创】关于交换机端口链路类型Access、
  3. CVE-2019-16097 Harbor权限提升漏洞分析
  4. 商业电子邮件诈骗损失已达260亿美元!如何
  5. CCNA最实用的复习知识点(1)
  6. CCNA最实用的复习知识点(2)
  7. CCNA最实用的复习知识点(4)
  8. CCNA最实用的复习知识点(5)
  9. CVE-2019-12922:phpMyAdmin 0 Day漏洞
  10. Session会话与Cookie简单说明