Android学习之加载SD卡里的文件

本文介绍了如何在Android程序中加载SD卡上的文件,重点讲解使用BitmapFactory.decodeFile(fileName)方法读取图片文件,并将其显示在ImageView上。内容源于《Google Android SDK开发范例大全》一书。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

本文的内容和例子都是来自一本《Google Android SDK开发范例大全》一书,因为我是下的电子书,所以,就自己动手敲了里面的例子来学习,并记录下来,给自己以后学习作参考。希望你看到也能对你有所帮助。

在Android程序里资源的存放有两处地方,一个就是在res文件夹下,并通过相应的R.来引用,还有一种就是存放在存储卡里面,那么如果要引用里面的文件又要怎样得操作呢。本文就主要讲解这方面的知识。

Android API中提供了 Bitmap与BitmapFactory对象,可以读取和存储卡或手机文件系统里的图片文件。

程序中一BitmapFactory.decodeFile(fileName)来去的bitmap对象,并将bitmap对象以setImageBitmap()来设置给ImageView.

package com.hdf.file;

import java.io.File;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import com.hdf.R;

public class ImageDemo extends Activity {
	private ImageView iv;
	private String filepath = "data/data/com.hdf/hua.jpg";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.file);
		iv =(ImageView)findViewById(R.id.image);
		iv.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				File file = new File(filepath);
				if(file.exists()){
					Bitmap bm = BitmapFactory.decodeFile(filepath);
					iv.setImageBitmap(bm);
				}else{
					Toast.makeText(getApplicationContext(), "文件不存在", Toast.LENGTH_LONG).show();
				}
			}
		});
	}	
}
通过点击ImageView 来更换他的背景图,并且是来自SD卡的图片。
另外,BitmapFactory还提供了其他方法,如BitmapFactory.decodeResource();BitmapFactory.decodeStream()等等...

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值