telefono tarjeta samsung que programacion prime pasar memoria las interno interna imágenes hacer guarden guardar guardan grand fotos externa cómo como cambiar archivos almacenamiento android imageview

samsung - Cómo establecer la imagen seleccionada desde la tarjeta SD en la vista de imagen en Android



cómo hacer que las imágenes se guarden en la tarjeta sd (2)

Supongamos que tiene una actividad llamada ViewActivity que muestra la Imagen seleccionada.

en su AndroidManifest.xml configure su actividad como una Actividad del Visualizador de Imagen agregando esto:

<activity android:name=".ViewActivity"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="image/*"/> </intent-filter> </activity>

en el método onCreate() de ViewActivity de ViewActivity de ViewActivity de ViewActivity haciendo esto:

Intent intent = getIntent(); Uri data = intent.getData(); //Check If data type is Image if (intent.getType().indexOf("image/") != -1) { myImageView.setImageURI(data); }

Soy un principiante del desarrollo de Android. Estoy tratando de desarrollar mi propia galería. Pero estoy enfrentando un problema. Cuando voy a la tarjeta SD en mi memoria y elijo una foto, intento abrir la imagen con la aplicación Image Viewer . Pero cuando selecciono el Visor de imágenes, se solicita otra intención para elegir mi imagen. Pero quiero mostrar directamente la imagen seleccionada en Imageview . Por favor, que alguien me ayude

Mi código:

public class MainActivity extends Activity { private static final int REQUEST_CODE = 1; private Bitmap bitmap; private ImageView imageView; private String selectedImagePath; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.result); pickImage(); } public void pickImage() { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(intent, REQUEST_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { InputStream stream = null; if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) try { // recyle unused bitmaps 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 filePath = cursor.getString(columnIndex); Log.v("roni", filePath); cursor.close(); if(bitmap != null && !bitmap.isRecycled()) { bitmap = null; } bitmap = BitmapFactory.decodeFile(filePath); imageView.setBackgroundResource(0); imageView.setImageBitmap(bitmap); // imageView.setImageBitmap(bitmap); } catch (Exception e) { e.printStackTrace(); } finally { if (stream != null) try { stream.close(); } catch (IOException e) { e.printStackTrace(); } } } private String getPath(Uri uri) { String[] projection={MediaStore.Images.Media.DATA}; Cursor cursor=managedQuery(uri,projection,null,null,null); int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); } }

///// Después de cambiar el código

public class MainActivity extends Activity { private static final int REQUEST_CODE = 1; private Bitmap bitmap; private ImageView imageView; private String selectedImagePath; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.result); Intent i = new Intent( Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, REQUEST_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { InputStream stream = null; if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) try { // recyle unused bitmaps 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 filePath = cursor.getString(columnIndex); Log.v("roni", filePath); cursor.close(); if(bitmap != null && !bitmap.isRecycled()) { bitmap = null; } bitmap = BitmapFactory.decodeFile(filePath); //imageView.setBackgroundResource(0); imageView.setImageBitmap(bitmap); // imageView.setImageBitmap(bitmap); } catch (Exception e) { e.printStackTrace(); } finally { if (stream != null) try { stream.close(); } catch (IOException e) { e.printStackTrace(); } } } private String getPath(Uri uri) { String[] projection={MediaStore.Images.Media.DATA}; Cursor cursor=managedQuery(uri,projection,null,null,null); int column_index=cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); } }


pruebe este Código reemplace toda la clase por favor, si tiene éxito, entonces le explicaré

public class ImageGalleryDemoActivity extends Activity { private static int RESULT_LOAD_IMAGE = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button buttonLoadImage = (Button) findViewById(R.id.buttonLoadPicture); buttonLoadImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent i = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, RESULT_LOAD_IMAGE); } }); } @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(); ImageView imageView = (ImageView) findViewById(R.id.imgView); imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); } } }