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

475

被折叠的 条评论
为什么被折叠?



