ver una todas studio seleccionar quiero mis imagen guardadas google galeria fotos desde descargar cargar app android imageview gallery crop

android - una - quiero ver todas mis fotos



Android: seleccione la imagen de la galería, luego recórtela y muestrela en una vista de imagen (3)

Realmente necesito este código y busqué por 3 horas en Internet, pero no pude encontrar un código completo y simple y probé muchos códigos, pero algunos no funcionaron y otros no fueron buenos. código, edición de agradecimiento: tengo este código para seleccionar una imagen pero, por favor, dame un código completo para todas las cosas que dije en el título porque no puedo parecerme a los códigos.

btn_choose.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent,"Select Picture"),SELECT_PICTURE); alertDialog1.dismiss(); } }); protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == SELECT_PICTURE) { Uri selectedImageUri = data.getData(); selectedImagePath = getPath(selectedImageUri); selectedImagePath1=selectedImagePath; System.out.println("Image Path : " + selectedImagePath); image_capture1.setImageURI(selectedImageUri); }


Espero que este Código te ayude ..

Actividad para seleccionar la imagen de la galería.

import java.io.File; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; public class GalleryUtil extends Activity{ private final static int RESULT_SELECT_IMAGE = 100; public static final int MEDIA_TYPE_IMAGE = 1; private static final String TAG = "GalleryUtil"; String mCurrentPhotoPath; File photoFile = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try{ //Pick Image From Gallery Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, RESULT_SELECT_IMAGE); }catch(Exception e){ e.printStackTrace(); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch(requestCode){ case RESULT_SELECT_IMAGE: if (resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { try{ 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(); //return Image Path to the Main Activity Intent returnFromGalleryIntent = new Intent(); returnFromGalleryIntent.putExtra("picturePath",picturePath); setResult(RESULT_OK,returnFromGalleryIntent); finish(); }catch(Exception e){ e.printStackTrace(); Intent returnFromGalleryIntent = new Intent(); setResult(RESULT_CANCELED, returnFromGalleryIntent); finish(); } }else{ Log.i(TAG,"RESULT_CANCELED"); Intent returnFromGalleryIntent = new Intent(); setResult(RESULT_CANCELED, returnFromGalleryIntent); finish(); } break; } } }

Actividad para recortar la imagen seleccionada:

public class ImageSelecter extends Activity{ private final int GALLERY_ACTIVITY_CODE=200; private final int RESULT_CROP = 400; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); btn_choose.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //Start Activity To Select Image From Gallery Intent gallery_Intent = new Intent(getApplicationContext(), GalleryUtil.class); startActivityForResult(gallery_Intent, GALLERY_ACTIVITY_CODE); } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == GALLERY_ACTIVITY_CODE) { if(resultCode == Activity.RESULT_OK){ picturePath = data.getStringExtra("picturePath"); //perform Crop on the Image Selected from Gallery performCrop(picturePath); } } if (requestCode == RESULT_CROP ) { if(resultCode == Activity.RESULT_OK){ Bundle extras = data.getExtras(); Bitmap selectedBitmap = extras.getParcelable("data"); // Set The Bitmap Data To ImageView image_capture1.setImageBitmap(selectedBitmap); image_capture1.setScaleType(ScaleType.FIT_XY); } } } private void performCrop(String picUri) { try { //Start Crop Activity Intent cropIntent = new Intent("com.android.camera.action.CROP"); // indicate image type and Uri File f = new File(picUri); Uri contentUri = Uri.fromFile(f); cropIntent.setDataAndType(contentUri, "image/*"); // set crop properties cropIntent.putExtra("crop", "true"); // indicate aspect of desired crop cropIntent.putExtra("aspectX", 1); cropIntent.putExtra("aspectY", 1); // indicate output X and Y cropIntent.putExtra("outputX", 280); cropIntent.putExtra("outputY", 280); // retrieve data on return cropIntent.putExtra("return-data", true); // start the activity - we handle returning in onActivityResult startActivityForResult(cropIntent, RESULT_CROP); } // respond to users whose devices do not support the crop action catch (ActivityNotFoundException anfe) { // display an error message String errorMessage = "your device doesn''t support the crop action!"; Toast toast = Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT); toast.show(); } } }


Estoy publicando código de trabajo aquí:

private static final int PICK_FROM_GALLERY = 2; buttonGallery.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); //******call android default gallery intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); //******code for crop image intent.putExtra("crop", "true"); intent.putExtra("aspectX", 0); intent.putExtra("aspectY", 0); try { intent.putExtra("return-data", true); startActivityForResult( Intent.createChooser(intent,"Complete action using"), PICK_FROM_GALLERY); } catch (ActivityNotFoundException e) {} } }); }

dentro onActivityResult

if (requestCode == PICK_FROM_GALLERY) { Bundle extras2 = data.getExtras(); if (extras2 != null) { Bitmap photo = extras2.getParcelable("data"); imgview.setImageBitmap(photo); } }

Por favor, intente esto.


Tengo un enfoque un poco diferente

Uso una biblioteca externa para administrar mis descargas. La biblioteca lo cargará en segundo plano.

esta configuración permite un buen rendimiento para la lista con una gran cantidad de elementos y un desplazamiento rápido :)

DisplayImageOptions options=new DisplayImageOptions.Builder() .cacheOnDisk(true) .imageScaleType(ImageScaleType.EXACTLY) .considerExifParams(true) .bitmapConfig(Bitmap.Config.RGB_565) .imageScaleType(ImageScaleType.EXACTLY) .build(); ImageLoader.getInstance().displayImage(url, imageView, options);