Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get Image from the Gallery and Show in ImageView

I need to get an image from the gallery on a button click and show it into the imageview.

I am doing it in the following way:

    btn_image_button.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View v) {              getImageFromAlbum();         }     }); 

The method Definition is as:

   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());     } } 

The activity result method is

  @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 = cursor.getColumnIndex(filePathColumn[0]);         String picturePath = cursor.getString(columnIndex);         cursor.close();          try {             bmp = getBitmapFromUri(selectedImage);         } catch (IOException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }          image_view.setImageBitmap(bmp);          //to know about the selected image width and height         Toast.makeText(MainActivity.this, image_view.getDrawable().getIntrinsicWidth()+" & "+image_view.getDrawable().getIntrinsicHeight(), Toast.LENGTH_SHORT).show();     }  } 

The Problem

The problem I am facing is when the image resolution is high suppose that if the image size is of 5mp to 13mp. It won't loads up and show up into the image view.

But the images with the low width and height are successfully loading into the image view!

Can somebody tell me any issues with the code and what I am doing wrong? I just want to import the camera images from the gallery and show them in the image view!

like image 363
Android Nerd Avatar asked Jul 13 '16 12:07

Android Nerd


People also ask

How do I take a picture of my Android Gallery?

Run the application on an Android phone. Selecting "Take photo" will open your camera. Finally, the image clicked will be displayed in the ImageView. Selecting "Choose from Gallery" will open your gallery (note that the image captured earlier has been added to the phone gallery).

How do I get pictures from my kotlin gallery?

This example demonstrates how to pick an image from an image gallery on Android using Kotlin. Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project. Step 2 − Add the following code to res/layout/activity_main. xml.


1 Answers

you can try this.

paste this code in your button click event.

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, RESULT_LOAD_IMG); 

and below code is your on activity result

@Override     protected void onActivityResult(int reqCode, int resultCode, Intent data) {         super.onActivityResult(reqCode, resultCode, data);           if (resultCode == RESULT_OK) {             try {                 final Uri imageUri = data.getData();                 final InputStream imageStream = getContentResolver().openInputStream(imageUri);                 final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);                 image_view.setImageBitmap(selectedImage);             } catch (FileNotFoundException e) {                 e.printStackTrace();                 Toast.makeText(PostImage.this, "Something went wrong", Toast.LENGTH_LONG).show();             }          }else {             Toast.makeText(PostImage.this, "You haven't picked Image",Toast.LENGTH_LONG).show();         }     } 

I hope it is helpful for you.

like image 91
Atul Mavani Avatar answered Sep 23 '22 04:09

Atul Mavani