android图片获取图片路径
Ⅰ android 怎么获取相册路径
android手机4.2版本之前是一个方法,大于4.2版本又是一个方法。
注意:现在手机市场android版本2015面上半年平均4.4,现在是平均5.0了。
before
你网络一下,都能查到,很简单.
after
private void startPickPhotoActivity() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.setType("image/*"); // Or 'image/ jpeg '
startActivityForResult(intent, RESULT_PICK_PHOTO_NORMAL);
}
// 获得图片返回的路径
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == RESULT_PICK_PHOTO_NORMAL) {
if (resultCode == RESULT_OK && data != null) {
//选中图片路径
mFileName = MainActivity.getPath(getApplicationContext(),
data.getData());
if ("".equals(mFileName)) {
return;
}
Intent intent = new Intent(this, EditActivity.class);
intent.putExtra("pathName", mFileName);
startActivity(intent);
}
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
public static String getPath(final Context context, final Uri uri) {
final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
// DocumentProvider
if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
// ExternalStorageProvider
if (UriUtils.isExternalStorageDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
if ("primary".equalsIgnoreCase(type)) {
return Environment.getExternalStorageDirectory() + "/"
+ split[1];
}
}
// DownloadsProvider
else if (UriUtils.isDownloadsDocument(uri)) {
final String id = DocumentsContract.getDocumentId(uri);
final Uri contentUri = ContentUris.withAppendedId(
Uri.parse("content://downloads/public_downloads"),
Long.valueOf(id));
return UriUtils.getDataColumn(context, contentUri, null, null);
}
// MediaProvider
else if (UriUtils.isMediaDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
Uri contentUri = null;
if ("image".equals(type)) {
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
} else if ("video".equals(type)) {
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
} else if ("audio".equals(type)) {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
}
final String selection = MediaColumns._ID + "=?";
final String[] selectionArgs = new String[] { split[1] };
return UriUtils.getDataColumn(context, contentUri, selection,
selectionArgs);
}
}
// MediaStore (and general)
else if ("content".equalsIgnoreCase(uri.getScheme())) {
// Return the remote address
if (UriUtils.isGooglePhotosUri(uri))
return uri.getLastPathSegment();
return UriUtils.getDataColumn(context, uri, null, null);
}
// File
else if ("file".equalsIgnoreCase(uri.getScheme())) {
return uri.getPath();
}
return null;
}
Ⅱ android小程序,从数据库中读取图片路径然后进行显示,不是背景图片
感觉这样应该可以,
先从数据库里面获得
这个图片的绝对路径
然后
使用UIL类
URL
url=new
URL(file:///路径);
然后得到这个文件的输入流InputStream
in=url.openStream();
然后得到此图片的位图Bitmap
bitmap=BitmapFactory.decodeStream(in);
ImageView
img=new
ImageView(this);
img.setImageBitmap(bitmap);
从网络上的话是这样,但是手机上是不是这样就不清楚了你可以试一下。
那个图片应该是要放在手机上。
Ⅲ 安卓手机的相机照片存在哪个文件里
安卓手机查看相机照片的文件夹路径方法如下:
1.首先在桌面上找到【相册】这个应用图标,点击该图标进入相册管理页面。
Ⅳ Android 在知道文件路径以及文件名称读取SD卡上的图片该怎么做
不知道你是想读取出来干嘛,
但是读取sd卡的图片文件第一步要获取图片的绝对路径,
Environment.getExternalStorageDirectory().toString()就是获取sd卡的绝对路径,由于android各个版本不同,返回的路径也可能不相同,
String imgFilePath = Environment.getExternalStorageDirectory().toString()
+ “/DCIM/device.png
得到图片的绝对路径以后,可以通过流读取这个文件,如果你只是想显示到界面的话,那可以使用BitmapFactory来构建一个Bitmap对象,这个对象是可以直接应用于imageView的
创建方法BitmapFactory.decodeFile("图片路径")
Ⅳ 安卓照片在哪个文件夹
问题一:安卓手机相片保存在哪个文件夹啊? 内存卡,DCIM,CAMERA文件夹内
问题二:安卓手机的相机照片存在哪个文件里
问题三:安卓手机的微博客户端保存图片在哪个文件夹? sdcard/sina/weibo
问题四:安卓手机QQ拍的照片在哪个文件夹。 你给别人发的照片在SD卡中的tencent文件夹中的mobileQQ文件夹中photo里,别人给你发的在mobileQQ中有你QQ号的那个文件夹的photo里,你必须采纳
问题五:安卓手机相机拍下的相片在SD卡的那个文件夹里? 根据手机的不同存储位置也有所不同,但是安卓手机拍照应该存在以下两个位置:
1、SD卡根目录下DCIM文件夹下;
2、SD卡根目录下picture文件夹下;
问题六:安卓手机的截图放在哪个文件夹里的? 下载es文件管理器
收藏---图片--就能看到路径
问题七:安卓的照片存放在哪里 一般都是一个文件名为“DCIM”的文件夹,手机本身的sd卡或外置的sd卡上都有。
问题八:手机照的相片存放在哪个文件夹? 手机拍摄的一般是在“DCIM”的文件夹下,里面还有一层海件夹,不同的相机名称不一,里面就是照片了
复制到手机的,保存到你的文档,图片文件夹,或者自行建立个新文件夹就可以
问题九:安卓系统手机删除的相片在哪个文件夹 删除的相片需要使用数据恢复软件来恢复。
安卓机的相片是保存在内置SD卡的。误删相片后应立即停止对内置SD卡的写入操作,防止覆盖文件导致不能完整恢复。
用数据线连接手机和电脑,在手机上设置连接模式为USB存储/大容量存储/U盘模式,这样在”我的电脑/计算机/这台电脑“中就会出现可移动磁盘。用数据恢复软件恢复可移动磁盘中的误删文件。
我有四款数据软件破解版,先发一款(见附件,提问者下载免费)。追问我继续发
问题十:安卓手机相片在什么位置 在照相机里面有个播放照片的功能键啊,定点进去就行了。 如果你没有找到,也可以到文件管理器里面去看,文件夹的名称是DCIM,进去之后有个Camera的文件夹 ,你照的就在里面了
Ⅵ android中怎么跳转到相册获取照片并得到url
方法/步骤
1
如下图所示,需要根据URL地址获取图片加载到图中Anroid机器人所在的位置,这是运行前的效果:
2
首先需根据URL地址获取图片,如下所示,urladdr即为图片地址,返回Drawable对象:
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
// TODO Auto-generated method stub
Drawable drawable = null;
try{
//judge if has picture locate or not according to filename
drawable = Drawable.createFromStream(new URL(urladdr).openStream(), "image.jpg");
}catch(IOException e){
Log.d("test",e.getMessage());
}
if(drawable == null){
Log.d("test","null drawable");
}else{
Log.d("test","not null drawable");
}
return drawable;
}
3
获取到图片后,需要更新主线程UI资源,考虑到时间以及界面反应延迟等,所以采用线程加以处理,如下图所示:
// image
new Thread(new Runnable(){
Drawable drawable = loadImageFromNetwork(urladdress);
@Override
public void run(){
//post() is quite important,update pictures in UI main thread
image.post(new Runnable(){
@Override
public void run(){
//TODO Auto-generated method stub
image.setImageDrawable(drawable);
}
});
}
//download image from network using @urladdress
private Drawable loadImageFromNetwork(String urladdr) {
//... 略(如 1 中所示)
}
}).start(); //线程启动
4
说明:在上述示例代码中,image是ImageView类的一个对象,也就是APP中的一个显示图像组件,利用获取到的图片drawable去更新image,运行效果如下所示:
Ⅶ android怎么从sd卡指定的文件夹中获取所有图片的路径URL,谢谢~感谢各位大神了
直接调用文件管理器选择图片即可。
1、调用系统提供的图片选择器,代码如下:
//注意,在Android4.4系统下建议使用 Intent.ACTION_OPEN_DOCUMENT方式
if (Utility.isKK()) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image
public static String getDataColumn(Context context, Uri uri, String selection,
String[] selectionArgs) {
Cursor cursor = null;
final String column = "_data";
final String[] projection = {
column
};
处理返回结果:
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PIC_RESULT://选择图库
case PIC_RESULT_KK:
imageFileUri = intent.getData();//获取选择图片的URI
break;
}
}
2、除此自外,系统还提供一种选择器,这个图片选择器可以屏蔽掉那个auto backup的目录.所以就开始打算用这个图片选择器来选图片了.
Intent intent=new Intent(Intent.ACTION_GET_CONTENT);//ACTION_OPEN_DOCUMENT
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/jpeg");
if(android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.KITKAT){
startActivityForResult(intent, SELECT_PIC_KITKAT);
}else{
startActivityForResult(intent, SELECT_PIC);
}
为什么要分开不同版本呢?其实在4.3或以下可以直接用ACTION_GET_CONTENT的,在4.4或以上,官方建议用ACTION_OPEN_DOCUMENT,主要区别是他们返回的Uri.4.3返回的是带文件路径的,而4.4返回的却是content://com.android.providers.media.documents/document/image:3951这样的,没有路径,只有图片编号的uri.可以通过以下方式,处理URI。
参考:Android 4.4从图库选择图片,获取图片路径并裁剪
public static String getPath(final Context context, final Uri uri) {
final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
// DocumentProvider
if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
// ExternalStorageProvider
if (isExternalStorageDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
if ("primary".equalsIgnoreCase(type)) {
return Environment.getExternalStorageDirectory() + "/" + split[1];
}
// TODO handle non-primary volumes
}
// DownloadsProvider
else if (isDownloadsDocument(uri)) {
final String id = DocumentsContract.getDocumentId(uri);
final Uri contentUri = ContentUris.withAppendedId(
Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
return getDataColumn(context, contentUri, null, null);
}
// MediaProvider
else if (isMediaDocument(uri)) {
final String docId = DocumentsContract.getDocumentId(uri);
final String[] split = docId.split(":");
final String type = split[0];
Uri contentUri = null;
if ("image".equals(type)) {
contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
} else if ("video".equals(type)) {
contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
} else if ("audio".equals(type)) {
contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
}
final String selection = "_id=?";
final String[] selectionArgs = new String[] {
split[1]
};
return getDataColumn(context, contentUri, selection, selectionArgs);
}
}
// MediaStore (and general)
else if ("content".equalsIgnoreCase(uri.getScheme())) {
// Return the remote address
if (isGooglePhotosUri(uri))
return uri.getLastPathSegment();
return getDataColumn(context, uri, null, null);
}
// File
else if ("file".equalsIgnoreCase(uri.getScheme())) {
return uri.getPath();
}
return null;
}
public static String getDataColumn(Context context, Uri uri, String selection,
String[] selectionArgs) {
Cursor cursor = null;
final String column = "_data";
final String[] projection = {
column
};
try {
cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs,
null);
if (cursor != null && cursor.moveToFirst()) {
final int index = cursor.getColumnIndexOrThrow(column);
return cursor.getString(index);
}
} finally {
if (cursor != null)
cursor.close();
}
return null;
}
public static boolean isExternalStorageDocument(Uri uri) {
return "com.android.externalstorage.documents".equals(uri.getAuthority());
}
public static boolean isDownloadsDocument(Uri uri) {
return "com.android.providers.downloads.documents".equals(uri.getAuthority());
}
public static boolean isMediaDocument(Uri uri) {
return "com.android.providers.media.documents".equals(uri.getAuthority());
}
public static boolean isGooglePhotosUri(Uri uri) {
return "com.google.android.apps.photos.content".equals(uri.getAuthority());
}
3、使用其它开源组件如PhotoView。