java– 从图库中选择图像并在imageview中显示

java– 从图库中选择图像并在imageview中显示,第1张

概述我需要在手机中打开我的画廊并选择在imageview上打开活动的一张图片..没有什么难…但我有代码和模拟器(genymotion)中的代码运行完美..但在真正的手机小米Mi4什么都没有.打开图库选择项目,没有.我没有更多手机:(我尝试下载这个主题的一些例子,每一个都是一样的…当我选择项目应

我需要在手机中打开我的画廊并选择在imagevIEw上打开活动的一张图片..没有什么难…但我有代码和模拟器(genymotion)中的代码运行完美..但在真正的手机小米Mi4什么都没有.

打开图库选择项目,没有.

我没有更多手机:(

我尝试下载这个主题的一些例子,每一个都是一样的…当我选择项目应用程序什么也不做时,galery打开.

你有一些项目与图库中的选择图像和imagevIEw显示?如果是的话请分享你的代码并上传我的地方.apk试试,因为我…… :(:'(

我的朋友

   apply plugin: 'com.androID.application'androID {    compileSdkVersion 25    buildToolsversion "24.0.2"    defaultConfig {        applicationID "paradox.galopshop"        minSdkVersion 19        targetSdkVersion 25        versionCode 1        versionname "1.0"        testInstrumentationRunner "androID.support.test.runner.AndroIDJUnitRunner"    }    buildTypes {        release {            MinifyEnabled false            proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro'        }    }}dependencIEs {    compile filetree(dir: 'libs', include: ['*.jar'])    androIDTestCompile('com.androID.support.test.espresso:espresso-core:2.2.2', {        exclude group: 'com.androID.support', module: 'support-annotations'        compile 'com.androID.support:appcompat-v7:23.2.1'        compile 'com.androID.support:design:23.2.1'        compile 'com.squareup.picasso:picasso:2.5.2'    })    //Add library    // loaderimage    compile  'com.androID.support:appcompat-v7:25.2.0'    compile  'com.androID.support:design:25.2.0'    compile  'com.Google.firebase:firebase-database:10.2.0'    compile  'com.androID.support.test.espresso:espresso-core:2.2.2'    compile 'com.Google.firebase:firebase-storage:10.2.0'    compile 'com.Google.firebase:firebase-auth:10.2.0'    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'    compile 'com.Google.firebase:firebase-crash:10.2.0'    testCompile 'junit:junit:4.12'}apply plugin: 'com.Google.gms.Google-services'

谢谢.

Intent i = new Intent();            i.setType("image/*");            i.setAction(Intent.ACTION_GET_CONTENT);            startActivityForResult(Intent.createChooser(i, "Select Picture"),SELECT_PICTURE );protected  voID onActivityResult(int requestCode, int resultCode, Intent data){    if(resultCode==RESulT_OK){        if(requestCode==SELECT_PICTURE){            Uri selectedImageUri = data.getData();            if (null != selectedImageUri) {                // Get the path from the Uri                String path = getPathFromURI(selectedImageUri);                Log.i("IMAGE PATH TAG", "Image Path : " + path);                // Set the image in ImageVIEw                ImageVIEw imageVIEw=(ImageVIEw)findVIEwByID(R.ID.imageVIEw2);                imageVIEw.setimageURI(selectedImageUri);                TextVIEw tw=(TextVIEw)findVIEwByID(R.ID.addimage);                tw.setText("Načítané");            }        }    }}private String getPathFromURI(Uri contentUri) {    String res = null;    String[] proj = {MediaStore.Images.Media.DATA};    Cursor cursor = getContentResolver().query(contentUri, proj, null, null, null);    if (cursor!=null) {        if (cursor.movetoFirst()) {            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);            res = cursor.getString(column_index);        }        cursor.close();    } else {        Toast.makeText(this, "Cursor null" + proj, Toast.LENGTH_SHORT).show();    }    return res;}

//////更新

protected  voID onImageVIEwClick(){  //  ImageVIEw imageVIEw=(ImageVIEw)findVIEwByID(R.ID.imageVIEw2);    TextVIEw tw=(TextVIEw)findVIEwByID(R.ID.addimage);    tw.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw vIEw) {            ImagePicker imgpicker= new ImagePicker();            imgpicker.getPickImageIntent(getApplicationContext());                   }    });}            @OverrIDeprotected  voID onActivityResult(int requestCode, int resultCode, Intent data){                Bitmap bitmap = ImagePicker.getBitmapFromresult(this, resultCode, data);                if (null != bitmap && resultCode == RESulT_OK) {                    ImageVIEw imageVIEw=(ImageVIEw)findVIEwByID(R.ID.imageVIEw2);                    imageVIEw.setimageBitmap(bitmap);                    TextVIEw tw=(TextVIEw)findVIEwByID(R.ID.addimage);                    tw.setText("Načítané");                }

///////////////////////编辑2

我发现firebase崩溃的错误..

我确认照片应用程序崩溃了..

arrow_drop_downException java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=4, result=-1, data=Intent { act=inline-data (has extras) }} to activity {paradox.galopshop/paradox.galopshop.All}: java.lang.NullPointerException: uriandroID.app.ActivityThread.deliverResults (ActivityThread.java)androID.app.ActivityThread.handleSendResult (ActivityThread.java)androID.app.ActivityThread.access00 (ActivityThread.java)androID.app.ActivityThread$H.handleMessage (ActivityThread.java)androID.os.Handler.dispatchMessage (Handler.java)androID.os.Looper.loop (Looper.java)androID.app.ActivityThread.main (ActivityThread.java)java.lang.reflect.Method.invoke (Method.java)com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java)com.androID.internal.os.ZygoteInit.main (ZygoteInit.java)arrow_drop_downCaused by java.lang.NullPointerException: uricom.androID.internal.util.Preconditions.checkNotNull (Preconditions.java)androID.content.ContentResolver.openAssetfileDescriptor (ContentResolver.java)androID.content.ContentResolver.openAssetfileDescriptor (ContentResolver.java)paradox.galopshop.ImagePicker.decodeBitmap (ImagePicker.java:116)paradox.galopshop.ImagePicker.getimageResized (ImagePicker.java:139)paradox.galopshop.ImagePicker.getBitmapFromresult (ImagePicker.java:103)paradox.galopshop.All.onActivityResult (All.java:363)androID.app.Activity.dispatchActivityResult (Activity.java)androID.app.ActivityThread.deliverResults (ActivityThread.java)androID.app.ActivityThread.handleSendResult (ActivityThread.java)androID.app.ActivityThread.access00 (ActivityThread.java)androID.app.ActivityThread$H.handleMessage (ActivityThread.java)androID.os.Handler.dispatchMessage (Handler.java)androID.os.Looper.loop (Looper.java)androID.app.ActivityThread.main (ActivityThread.java)java.lang.reflect.Method.invoke (Method.java)com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java)com.androID.internal.os.ZygoteInit.main (ZygoteInit.java)

解决方法:

ImagePicker:请在使用图书馆时向开发者表示感谢

在onActivityResult内部的if语句中,将requestCode更改为requestCode& 0xFFFF的.

许多人在这里没有注意到的是,返回的requestCode将作为十六进制数而不是数字号返回.

在AndroIDManifest.xml中添加以下权限:

<uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.READ_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.CAMERA" /><uses-feature androID:name="androID.harDWare.camera" /><uses-feature androID:name="androID.harDWare.camera.autofocus" />

使用此方法拾取图像:

protected  voID onImageVIEwClick(){  //  ImageVIEw imageVIEw=(ImageVIEw)findVIEwByID(R.ID.imageVIEw2);    TextVIEw tw=(TextVIEw)findVIEwByID(R.ID.addimage);    tw.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw vIEw) {            selectimage();        }    });}private voID selectimage() {    Intent takeImageIntent = ImagePicker.getPickImageIntent(this);    if (takeImageIntent.resolveActivity(getActivity().getPackageManager()) != null) {        startActivityForResult(takeImageIntent, REQUEST_IMAGE_CAPTURE);    }}

然后用它来接收它们:

@OverrIDeprotected voID onActivityResult(int requestCode, int resultCode, Intent data) {    Bitmap bitmap = ImagePicker.getBitmapFromresult(this, resultCode, data);    if (null != bitmap && resultCode == RESulT_OK) {    //do what you want with the bitmap here   }}
总结

以上是内存溢出为你收集整理的java – 从图库中选择图像并在imageview中显示全部内容,希望文章能够帮你解决java – 从图库中选择图像并在imageview中显示所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1100784.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存