任何人指导我如何添加一些图像到模拟器图库?
我需要通过按钮单击从库中获取图像并将其显示在imageview中.
我是按照以下方式进行的:
btn_image_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getImageFromAlbum();
}
});
Run Code Online (Sandbox Code Playgroud)
方法定义如下:
private void getImageFromAlbum(){
try{
Intent i = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}catch(Exception exp){
Log.i("Error",exp.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
活动结果方法是
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex …Run Code Online (Sandbox Code Playgroud) 我正在创建一个应用程序,它从库中上传所选图像并将其上传到Web服务.Web服务需要所选图像的文件名以及文件内容的base64编码.我已设法通过硬编码文件路径实现此目的.但是,我正在努力获得图像的真实文件路径.我已经在网上阅读并拥有此代码,但它对我不起作用:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Uri selectedImageUri = data.getData();
String[] projection = {MediaStore.Images.Media.DATA};
try {
Cursor cursor = getContentResolver().query(selectedImageUri, projection, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(projection[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Log.d("Picture Path", picturePath);
}
catch(Exception e) {
Log.e("Path Error", e.toString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
编辑
忘了提我正在使用Kitkat.看起来我的问题与KitKat有关.我发现这个(见下文)帮助我让我的应用程序正常工作:
我有一个显示图像数组的图库,点击它们时会显示在图像视图中.我希望能够分享当前在意图选择器中显示的图像.我无法弄清楚如何选择当前图像.
图库代码:
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mImageIds[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
Run Code Online (Sandbox Code Playgroud)
意图选择代码:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/png");
share.putExtra(Intent.EXTRA_STREAM,
Uri.parse("android.resource://com.appinfluence.fanapp.v1/drawable/" + Integer.toString(R.drawable.alright)));
startActivity(Intent.createChooser(share, "Share Image"));
Run Code Online (Sandbox Code Playgroud)
在哪里说R.drawable.alright我需要它以某种方式成为当前图像的变量.有任何想法吗?
这是我的代码,我正在尝试打开图库..我收到错误,如上所述
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import java.io.ByteArrayOutputStream;
public class ChangeUserImageActivity extends Activity {
private static final int SELECT_PICTURE = 1;
private static final int CAMERA_PIC_REQUEST = 1337;
private Bitmap thumbnail = null;
String img = "";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.changeuserimage);
}
public void camera_click(View view) {
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
public void gallery_click(View v) {
// select …Run Code Online (Sandbox Code Playgroud) 我正在创建一个应用程序,其中我需要将库中的所有图像放入我的应用程序中,其中包含girdview.我希望所有文件夹中的所有图像都出现在gridview中.
String[] proj = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID };
actualimagecursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj,
null, null, MediaStore.Images.Media.DEFAULT_SORT_ORDER);
actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID);
actualimagecursor.moveToPosition(position);
String i = actualimagecursor.getString(actual_image_column_index);
Run Code Online (Sandbox Code Playgroud)
我已将此代码添加到我的代码中,但我只获得了SD卡图像,没有获得其他文件夹图像.如何从画廊中获取所有图像?
提前致谢.
我想从Gallery中选择图像并将其复制到SDCard中的其他文件夹中.
从图库中选择图像的代码
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, REQUEST_CODE_CHOOSE_PICTURE_FROM_GALLARY);
Run Code Online (Sandbox Code Playgroud)
我在content://media/external/images/media/681onActivityResult上获得了这个URI.
我想复制图片,
形成 path ="content://media/external/images/media/681
到 path = "file:///mnt/sdcard/sharedresources/ SD卡中的Android这条道路.
这该怎么做?
android android-intent android-gallery android-contentprovider android-file
任何机会,有谁知道如何访问手机的照片库?我正在制作一个应用程序,用于拍摄植物叶片并分析图像以确定是否确定.我们希望我们可以为用户提供两种选择,即拍摄叶子的图片或使用用户已经拍摄的叶子图像.但是,我们拍摄了照片,但我们不知道如何访问照片库.
为Android N编译我遇到了一个问题FileProvider.我需要让用户从相册中选择图像/用相机拍照然后将其裁剪成方形.
我已经成功实现了FileProvider用相机拍摄图像,但是从图库中选择图像时遇到了严重的问题.问题是在库中有很多来自不同地方的文件,例如我有Exception:
java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/6133-3766/DCIM/100ANDRO/DSC_0035.JPG
Run Code Online (Sandbox Code Playgroud)
所以问题是,我可以把什么放到file_paths.xml来访问任何地方/storage/.我不能依赖于确切的路径,因为可能有来自WhatsApp和类似应用程序的图片,例如WhatsApp图像获取此路径:
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20160821-WA0000.jpg
Run Code Online (Sandbox Code Playgroud)
我已设法解决空路径:
<external-path name="external_storage" path=""/>
其类似于Environment.getExternalStorageDirectory()根据文档.
但仍然无法弄清楚如何处理存储在其中的图像/storage/SOME_DIR/.请帮忙.
我想知道是否可以创建一个Intent,使画廊裁剪器显示壁纸突出显示.Honeycomb已经引入了这个功能.要了解我正在寻找的东西,请查看图像上的平板电脑(三个蓝色矩形).
我看了一下ICS gallery应用程序的源代码,但我找不到我想要的东西.
