Android获取SD卡中选中图片的路径(URL)
来源:互联网 发布:战舰世界柯尼斯堡数据 编辑:程序博客网 时间:2024/06/18 09:41
最近在做一个图片上传的功能,需要提供上传图片在SD卡中的路径,在网上看了些例子,改改调试成功,代码很简单。其布局文件如下:
最后别忘记了加上权限啊
<?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" > <Button android:id="@+id/select" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="请选择SD卡中的图片" /></LinearLayout>
其的JAVA文件如下:
package com.lostinai;import java.io.IOException;import android.app.Activity;import android.content.ContentResolver;import android.content.Intent;import android.database.Cursor;import android.graphics.Bitmap;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.util.Log;import android.view.View;import android.widget.Button;public class QueryPictureUrlActivity extends Activity {private Button select;private final String IMAGE_TYPE = "image/*";private final int IMAGE_CODE = 0; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); select = (Button)findViewById(R.id.select); select.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { Intent getAlbum = new Intent(Intent.ACTION_GET_CONTENT); getAlbum.setType(IMAGE_TYPE); startActivityForResult(getAlbum, IMAGE_CODE); } }); } protected void onActivityResult(int requestCode, int resultCode, Intent data){ if (resultCode != RESULT_OK) { //此处的 RESULT_OK 是系统自定义得一个常量// Log.e(TAG,"ActivityResult resultCode error"); return; } Bitmap bm = null; ContentResolver resolver = getContentResolver(); if (requestCode == IMAGE_CODE) { try { Uri originalUri = data.getData(); //获得图片的uri bm = MediaStore.Images.Media.getBitmap(resolver, originalUri); //显得到bitmap图片// 这里开始的第二部分,获取图片的路径: String[] proj = {MediaStore.Images.Media.DATA}; Cursor cursor = managedQuery(originalUri, proj, null, null, null); //按我个人理解 这个是获得用户选择的图片的索引值 int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); //最后根据索引值获取图片路径 String path = cursor.getString(column_index); Log.e("Lostinai",path); }catch (IOException e) { Log.e("Lostinai",e.toString()); } } } }
最后别忘记了加上权限啊
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- Android获取SD卡中选中图片的路径(URL)
- Android获取SD卡中选中图片的路径(URL)
- Android获取SD卡中选中图片的路径(URL)
- android 获取SD卡的图片及其路径
- Android中怎样获取SD卡路径
- Android中获取SD卡下的图片资源
- Android中获取SD卡下的图片资源
- Android中获取SD卡下的图片资源
- Android中获取SD卡下的图片资源
- Android中获取SD卡下的图片资源
- Android中获取SD卡下的图片资源
- Android中获取SD卡下的图片资源
- android 获取外置SD卡的路径
- android 获取加载的SD卡路径
- android获取外置SD卡的路径
- Android中获取内置SD卡和外置SD卡路径的方法
- android 获取SD卡的路径和SD卡内存
- android 获取外置SD卡的路径(非挫版)
- ASP.NET WebForms底层请求处理机制初探
- Windows Installer XML (WiX)
- dede5.7联动枚举类型在分类信息中无法更新问题的解决办法
- 婚期性行为必须警示
- ultraedit不使用引号着色
- Android获取SD卡中选中图片的路径(URL)
- loadrunner11安装出现Microsoft Visual c++2005 sp1安装失败
- oracle管理员常用SQL语句
- 解决Zencart title 标题不显示的问题
- 启动EBS的时候,弹出Java安全警告:“该应用程序要求具有Java的早期版本。是否要继续?”
- iOS学习之Map,定位,标记位置的使用
- 黑马程序员_多线程的总结
- Java多线程Synchronized的注意细节
- AFD与WSS