Android获取SD卡中选中图片的路径(URL)示例

Android获取SD卡中选中图片的路径(URL)示例,第1张

概述最近在做一个图片上传的功能,需要提供上传图片在SD卡中的路径,在网上看了些例子,改改调试成功,代码很简单。其布局文件如下:复制代码代码如下:<?xmlversion=\"1.0\"encoding=\"utf-8\"?><LinearLayoutx 最近在做一个图片上传的功能,需要提供上传图片在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);
//按我个人理解 这个是获得用户选择的图片的索引值
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)示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1142496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存