Android读取sdcard上的图片是非常简单的事情,下面用一个例子来说明这个问题。

首先,在sdcard上有一张已经准备好的img25.jpg

下面,需要做的是把这张图片读取到app中显示。做到如下的效果:

1、首先你要在AndroidManifest.xml申请读取sdcard的权限,加入一条语句之后,AndroidManifest.xml如下:

package="com.sdcardread"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="8"

android:targetSdkVersion="18" />

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name="com.sdcardread.MainActivity"

android:label="@string/app_name" >

2、之后在res\values\strings.xml修改这个app名称为“图片读取”,这步可以不做,只是为了程序更加美观。

图片读取

Settings

3、其次在res\layout\activity_main.xml中布置一个带id的Textview,一会儿的提示信息将写入这个Textview中,同时布置一个带id的线性布局。一会儿图片将会添加到这个线性布局里面去。

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="24sp" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="24sp" />

android:id="@+id/linearLayout1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" >

4、整个程序的核心在MainActivity.java,代码如下,获取组件之后,先用Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);判断sdcard是否存在,之后使用Environment.getExternalStorageDirectory().getAbsolutePath();获取sdcard的绝对路径供Java的File类读取。最后创建一个ImageView对象,将其加载到线性布局linearLayout1之中。

package com.sdcardread;

import java.io.File;

import android.os.Bundle;

import android.os.Environment;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.TextView;

import android.app.Activity;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

public class MainActivity extends Activity {

private TextView textView1;

private LinearLayout linearLayout1;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

textView1 = (TextView) findViewById(R.id.textView1);

linearLayout1 = (LinearLayout) findViewById(R.id.linearLayout1);

boolean isSdCardExist = Environment.getExternalStorageState().equals(

Environment.MEDIA_MOUNTED);// 判断sdcard是否存在

if (isSdCardExist) {

String sdpath = Environment.getExternalStorageDirectory()

.getAbsolutePath();// 获取sdcard的根路径

textView1.setText("sd卡是存在的。以下是sdcard下的img25.jpg!");

String filepath = sdpath + File.separator + "img25.jpg";

File file = new File(filepath);

ImageView imageView = new ImageView(this);//创建一个imageView对象

if (file.exists()) {

Bitmap bm = BitmapFactory.decodeFile(filepath);

// 将图片显示到ImageView中

imageView.setImageBitmap(bm);

linearLayout1.addView(imageView);

}

} else {

textView1.setText("sd卡不存在!");

}

}

}

以上这篇Android 读取sdcard上的图片实例(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。

android 读取sdcard图片 不显示,Android 读取sdcard上的图片实例(必看)相关推荐

  1. android 代码添加图片不显示,Android开发 从代码里设置Drawable图片不显示的问题

    问题描述 我们从代码里获得Drawable在设置给View时会发现,图片不显示的问题.比如如下代码: Drawable drawable = getResources().getDrawable(R. ...

  2. android图片解码显示,android 图片解码显示流程

    问题来源 android 可以在 gallery 里面显示内部存储的图片,支持 jpeg,png,gif,bmp 等,甚至文件类型和图片后缀名不一致,只要是图片文件就能显示,然后 git 只会显示第一 ...

  3. php获取服务器上的图片不显示,php 读取服务器图片

    php 读取服务器图片 内容精选 换一换 本文介绍如何将开源框架的网络模型,例如Caffe.TensorFlow等框架训练好的模型,通过OMG(Offline Model Generator:离线模型 ...

  4. android 图片百分比显示,Android编程实现等比例显示图片的方法

    本文实例讲述了Android编程实现等比例显示图片的方法.分享给大家供大家参考,具体如下: 在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘 ...

  5. android 怎么播放gif图片不显示,android 播放gif动态图片

    android不推荐使用gif图片,一般都是png的,对于gif的图片解析比较消耗资源,但是对于一些动态gif图片的播放,如果比较小的话还是可以的,要是大的话,建议还是把gif图片转换成一帧一帧的pn ...

  6. android程序怎么导入图片不显示,android – ImageViewZoom中不显示图像

    我想在 ImagePagerActivity中使用 ImageViewZoom和 Universal Image Loader. 那么,我做了什么: >我将imageviewtouch.jar添 ...

  7. android将控件镜像显示,Android重写ImageView实现图片镜像效果

    前两天朋友问我一个问题,如何实现从手机系统相册加载一张图片,实现拖拽.缩放功能并且能以屏幕中间为分界线镜像显示,当时我的第一反应是继承ImageView,重写onDraw方法,下面就按照这个思路逐步实 ...

  8. android文字多行滚动显示,Android TextView多行文本滚动实现

    Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局.只要在l ...

  9. android 在相对布局水平居中显示,Android手机开发 使用线性布局和相对布局实现Button垂直水平居中...

    居中呢,这里分两种不同布局方式的居中!分别是 linearlayout 和relativelayout. 一.首先说的是linearlayout布局下的居中: 注意:android:layout_wi ...

  10. Android App开发实战项目之购物车(附源码 超详细必看)

    需要源码请点赞关注收藏后评论区留言~~~ 一.需求描述 电商App的购物车可谓是司空见惯了,可以知道购物车除了底部有一个结算行,其余部分主要是已加入购物车的商品列表,然后每个商品左边是商品小图,右边是 ...

最新文章

  1. 从Storm和Spark 学习流式实时分布式计算的设计
  2. when to book didi?
  3. Zabbix SQL注入漏洞威胁预警通告
  4. 华为今年不会发布鸿蒙系统的手机,谷歌终于放下心了,华为:今年不会有鸿蒙系统的手机开售...
  5. linux下hg无法运行_在 Windows 里也可以访问 Linux 子系统文件了
  6. 首个JDK 10(18.3)发行候选版(内部版本43)展示了新的版本控制方案
  7. 根据字符串自动构造对应类
  8. [k8s]kubeadm k8s免费实验平台labs.play-with-k8s.com,k8s在线测试
  9. 文件管理英文html,Directory Opus
  10. 系统架构设计师-软件水平考试(高级)-理论-项目管理
  11. [转]WINDOW进程通信的几种方式
  12. subprocess模块(了解)
  13. caxa线切割怎样画链轮_CAD画链轮的方法
  14. 佛珠的颗数有什么讲究
  15. 是什么让一个优秀的派对服饰
  16. java实现随机输出26个小写字母
  17. JavaScript 解析json例子
  18. 李宏毅机器学习2021作业6(又名辉夜大小姐与辉夜大筒木的关系)
  19. 微信小程序预约挂号系统丨可以android studio运行
  20. 【Git】本地仓库强制覆盖远程仓库

热门文章

  1. 微软MSDN Webcast系列视频教程集锦整理
  2. java魂斗罗_向经典致敬--跟我用Java写魂斗罗
  3. 基于JavaEye-API实现的Gerry-聊天QQ版v2.0
  4. 中科院读芯术python答案_Python调用中科院NLPIR(ICTCLAS2015)详解 刘超(lch614730@163.com)...
  5. MATLAB中字体大小颜色设置
  6. Linux copy命令 omitting directory
  7. #4【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃鸡!(未完成)
  8. ios键盘横屏_iOS强制转换横竖屏和键盘方向控制
  9. linux 不小心删除ls,浅谈Linux系统误删除文件恢复方法
  10. 依赖多个项目,重复jar包不同版本冲突解决