从SD卡读图并显示(一)

本节,我们做一个很简单的Demo,实现从SD卡读取一张图片,并把它显示在APP中。

分三步:

1.设置权限。

在Manifest文件中添加三行权限信息。

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

2.配置MXL视图。

可以参考:

<?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/myView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />
</LinearLayout>

3.Java代码编写部分。

大体上就两个步骤:获取图片文件,显示图片

(详细过程见代码,注释)

package com.example.showimage;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.widget.ImageView;
public class MainActivity extends Activity {

 private ImageView myView = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        myView = (ImageView)findViewById(R.id.myView);
        String path = Environment.getExternalStorageDirectory() + "/";//Get the SD card default path
        String name = path + "image.jpg";//Get the image File‘s path+name
        BitmapFactory.Options option = new BitmapFactory.Options();
        option.inSampleSize = 10;//Set the different pixel.The bigger,the lower
        Bitmap bm = BitmapFactory.decodeFile(name,option);//Decode the image file according to the pathName and the pixel
        myView.setImageBitmap(bm);//Let the ImageView myView equal to the bitmap

    }
}

注意:myView.setImageBitmap(bm); 是在代码中设置xml中的id属性。(因为此刻图片资源并不来自app本身(或者说R资源),是来自SD卡。)

点击这里下载源代码

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-28 20:12:25

从SD卡读图并显示(一)的相关文章

SD卡在电脑中显示RAW格式该怎么修复?

为什么SD卡在电脑显示RAW格式,无法打开,那该如何提取里面的数据?还能找回来吗?请继续阅读本篇文章. 当SD卡电脑读取后,发现SD卡RAW故障现象出现,这样的情况有可能是SD卡内部扇区或者芯片损坏导致的,显示该卡需要格式化,否则无法使用?SD卡接入电脑后无法识别的话,点击桌面上的"我的电脑"或是"计算机"右键,弹出的菜单选择"管理"跳出新窗口后,点击左下的"磁盘管理"然后看右下位置有没有找到一个可移动介质,如果没有说明完全识

单片机SD 卡读写

1.迄今为止看到的最详细的关于SD卡SPI mode的分析和代码 http://elm-chan.org/docs/mmc/mmc_e.html 2.转载http://blog.csdn.net/ming1006/article/details/7281597 现在我们手机的内存卡多为Micro SD卡,又叫TF卡,所以Micro SD卡比SD卡常见.自己曾经也想写写SD卡的读取程序,但又不想特地再去买个SD卡,这时想起手机内存卡不是和SD卡很像吗?在网上查了以后发现SD卡和Micro SD卡其

第36章 SDIO—SD卡读写测试

第36章     SDIO-SD卡读写测试 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>以及SD简易规格文件<Physical Layer Simplified Specificatio

Android相机、相册获取图片显示(压缩)并保存到SD卡

做过类似需求的同学都知道,在Activity中通过如下代码可以启动相机,然后在重写的onActivityResult方法中可以获取到返回的照片数据: Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(openCameraIntent, TAKE_PICTURE); 在onActivityResult方法里通过Intent的getData方法获取的数据转换成bi

关于读、写SD卡的操作

1.点击按钮将assets文件夹中的内容复制到SD卡中. private void copyToSD() { // 检测SD卡是否挂载  Environment.MEDIA_MOUNTED 表示被挂载 // Environment.getExternalStorageState() 将返回sd卡的状态 if(! Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { Toast.makeText(thi

C++ opencv快速例子学习——读图显示

1.关键函数 1. 读入图片 imread(图片或位置,显示格式)默认为:IMREAD_COLOR 显示格式: IMREAD_UNCHANGED =-1    // 8bit, color or not IMREAD_GRAYSCALE    = 0    // 8bit, gray IMREAD_COLOR           = 1    //  color IMREAD_ANYDEPTH      = 2   // any depth, IMREAD_ANYCOLOR     = 4   

Android中向SD卡读写数据,读SD卡和手机内存

package com.example.sdoperation; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import android.support.v7.app.Actio

安卓 SD卡写入文件后不能立即显示被写入的文件解决方法

每次通过输出流往SD卡写入文件,连接上电脑,用MTP的方式模拟一个移动磁盘,打开磁盘却没有这样一个文件,而通过adb的方式查看就有,造成这个现象的原因是,每次写入之后,MTP的数据库并没有更新,因为更新一次MTP数据库需要的带价比较大,所以只有在重启,挂载和用户手动发送Intent出发,故存入文件后需要手动发送Intent广播,出发一下MTP数据库的更新. /** * 出发扫描 mtp下的文件,在保存文件到 sd卡下后,不能显示,故这里触发一下扫描机制,让手机连上电脑后,就可以读出文件了 * @

MVP+RXJAVA+RecyclerView实现sd卡根目录下的所有文件中的照片加载并显示

初学Rxjava,目前只能遍历加载指定目录下的所有文件夹中的照片,文件夹中如果还嵌套有文件夹目前还没找到实现方法. 先看mvp目录结构: 很抱歉,没有model. 接下来是view层的接口代码和presenter层的接口代码 public interface IImgsView { void onImgsLoadCompleted(ArrayList<String> imgs); } public interface IImgsPresenter { void getImages(File[]