`

获取系统中的图片资源

 
阅读更多
public class Main extends Activity {
	private final String TAG = "org.fighter.image";
	
	private final int LOAD_IMAGE = 101;
	private Button btnLoadPicture;
	private ImageView imgView;

	private OnClickListener btnListener;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.mian);

		this.initWidget();
		this.initParam();
		this.initBtnListener();
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.mian, menu);
		return true;
	}

	/*
	 * 当应用使用了startActivityForResult(Intent,int) 方法时, 执行完Intent后,回调
	 * onActivityResult 方法
	 */
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		// 如果用户选择的条件为是,则有数据返回...
		if (RESULT_OK == resultCode && requestCode == LOAD_IMAGE
				&& null != data) {
			Uri selectedImageUri = data.getData();
			Log.i(TAG, "选择图片的路径为:" + selectedImageUri.toString());
			// 列表
			String[] filePathColumn = {MediaStore.Images.Media.DATA };
			// 使用游标 指定了列表,可以加快效率
			Cursor imageData = getContentResolver().query(selectedImageUri, filePathColumn, null, null, null);
			// 将游标指向第一行
			imageData.moveToFirst();
			
			{
				// 获取列表的条数
				int rows = imageData.getCount();
				for (int i = 0; i < rows; i++) {
					Log.i(TAG,"游标中的数据" + imageData.getString(i));
				}
			}
			// 获取当前游标在的列的数据
			int columnIndex = imageData.getColumnIndex(filePathColumn[0]);
			
			String imagePath = imageData.getString(columnIndex);
			Bitmap selectedImage = BitmapFactory.decodeFile(imagePath);
			this.imgView.setImageBitmap(selectedImage);
		}
	}

	/* 初始化部件 */
	private void initWidget() {
		this.btnLoadPicture = (Button) findViewById(R.id.btnLoadPicture);
		this.imgView = (ImageView) findViewById(R.id.imgView);
	}

	/* 初始化变量 */
	private void initParam() {
		this.btnListener = new BtnOnClickListenerImpl();
	}

	private void initBtnListener() {
		this.btnLoadPicture.setOnClickListener(this.btnListener);
	}

	class BtnOnClickListenerImpl implements OnClickListener {

		@Override
		public void onClick(View v) {
			switch (v.getId()) {
			case R.id.btnLoadPicture:
				btnLoadPicture((Button) v);
				break;

			default:
				break;
			}
		}

		/*
		 * 打开图片选择器,最后选择后图片返回
		 */
		private void btnLoadPicture(Button btn) {
			Intent intent = new Intent(
					Intent.ACTION_PICK,
					android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
			startActivityForResult(intent, LOAD_IMAGE);
		}

	}
}

 

分享到:
评论

相关推荐

    获取系统图片资源及归类

    在IT行业中,管理和获取系统图片资源是至关重要的任务,特别是在开发图形用户界面或者设计应用程序时。本主题将深入探讨如何高效地获取系统图片资源并进行有效归类,以提高工作效率和资源管理的便利性。 首先,我们...

    Android多媒体——图片资源获取的5种姿势

    在Android开发中,图片资源的获取是至关重要的,无论是在创建用户界面、处理用户上传的图片,还是在显示网络上的图像,都需要灵活有效地获取图片。本文将深入探讨五种主要的图片资源获取方法:相册图片、拍照图片、...

    图片资源获取

    总之,“图片资源获取”是Android开发中的一项基本技能,通过Asset目录,开发者可以在运行时动态地读取和加载图片,这对于处理动态内容或自定义资源的场景非常有用。通过学习和实践,你可以更有效地管理应用中的图片...

    ContentProvider获取系统的图片视频和音频

    要获取系统的图片资源,首先需要知道对应的URI。对于图片,我们可以使用MediaStore.Images.Media.EXTERNAL_CONTENT_URI,这个URI指向了设备上所有的图片。然后,通过ContentResolver调用query方法,传入URI和选择...

    leyou 的图片资源

    开发者可能需要将这些图片资源配置到项目中,以便在运行时能够正确地访问和加载。 在上传图片资源时,通常会有一套既定的步骤,这可能涉及到创建一个专门的资源目录结构,将图片文件放入相应的子目录中。例如,将...

    android 中图片资源的加密

    在Android开发中,为了增强应用的安全性,保护敏感图片资源不被未经授权的用户访问或篡改,我们可以对图片资源进行加密。以下是对标题"android 中图片资源的加密"的详细解释,以及如何实现这一功能。 1. **图片资源...

    winForm C#图片管理系统,图片查看软件

    本文将深入探讨一个基于C# WinForm的图片管理系统,该系统实现了图片的本地预览、数据库上传以及幻灯片播放功能,是初学者和开发者提升技能的宝贵资源。 首先,我们要理解C# WinForm的基本概念。C#是微软推出的一种...

    获取dll,exe 中的资源图片源代码

    总结起来,这个代码集合提供了一种方法,从`.dll`和`.exe`文件中提取图片资源,并将它们转换和保存为`.ico`和`.bmp`格式。通过理解Windows API以及提供的源代码,开发者可以学习如何与二进制资源交互,这对于开发...

    c#图片资源管理模块

    在C#编程环境中,开发一个图片资源管理模块是常见的需求,尤其在开发涉及大量图片处理的应用程序时。这个模块的设计和实现旨在有效地组织、存储、检索以及操作图片资源。以下是对这一主题的详细阐述。 首先,我们...

    获取网络图片资源并显示

    在Android开发中,获取网络图片资源并将其显示在ImageView中是一项常见的任务。这个过程涉及到多个技术点,包括网络请求、数据解析以及UI渲染。这里我们将深入探讨这些知识点。 首先,我们要明白Bitmap是Android...

    61个等待中gif动态图片资源

    标题 "61个等待中gif动态图片资源" 涉及到的是一个包含61个图形交换格式(GIF)动态图像的集合,这些图片主要用于表示“等待”或“加载”状态。在网页设计、应用程序开发或者用户界面设计中,GIF动态图片经常被用作...

    android从网络获取图片资源,图片放大、缩小、触摸等操作。

    在Android开发中,从网络获取图片资源并进行显示、缩放和触摸操作是常见的需求。以下将详细讲解这个过程中的关键技术点。 首先,从网络异步加载图片资源是为了避免阻塞主线程,确保用户界面(UI)的流畅性。Android...

    Unity3d图片资源

    "Unity3d图片资源"这个主题包含了在Unity3D中使用和管理图片资源所需的关键知识点。 1. 图片格式支持:Unity3D支持多种图像格式,如PNG、JPG、TIF、BMP和GIF等。其中,PNG和JPG是最常见的,前者无损压缩,后者有损...

    Qt遍历本地文件中的所有图片资源

    【Qt遍历本地文件中的所有图片资源】 在开发数码相框的应用时,有时需要自动挂载U盘并将其中的图片展示出来。为了实现这一功能,我们需要遍历指定目录下的图片文件。在Qt框架中,我们可以利用QDir和QFileInfo类来...

    VC显示图片资源

    将图片文件导入到这些资源中,系统会自动将其转换为二进制数据并嵌入到exe文件中。 代码实现时,EasyX库提供了`DrawBitmap`函数来显示图片。首先,你需要通过资源ID获取图片的内存指针。在VC++中,可以使用`Find...

    获取IOS系统相册中的图片源码

    本示例项目“获取iOS系统相册中的图片源码”提供了一个简单的解决方案,通过Swift语言实现,展示了如何利用系统提供的Photos框架来获取相册中的图片,并在一个UITableView中展示。下面我们将详细探讨这一过程中的...

    Android应用源码Gallery从SD卡中获取图片,并显示.zip

    - `ImageView`:每个图片通常会包装在一个`ImageView`中,`ImageView`可以使用上述的图片加载库来设置图片资源。 4. 权限管理: 自Android 6.0(API级别23)起,运行时权限成为强制性的。访问SD卡上的文件需要...

    CSS中图片批量获取工具

    总的来说,"CSS中图片批量获取工具"是一个实用的辅助工具,能够帮助开发者和设计师快速有效地管理CSS文件中的图片资源。通过自动化图片的提取和下载过程,它减少了手动操作,提高了工作效率,是网页开发流程中不可或...

    图片网站系统 php

    压缩包中的CMSwareGallery可能是一个完整的图片管理系统源码,包含上述所有功能。开发者在使用前应详细阅读其文档,了解系统架构、安装步骤和配置选项。同时,确保系统的安全性,如及时更新补丁,避免SQL注入和XSS...

Global site tag (gtag.js) - Google Analytics