studio programacion móviles manejo libro galeria desarrollo curso camara aplicaciones android parse.com android-imageview image-uploading android-image

programacion - Cómo subir una imagen a Parse en android?



manual de programacion android pdf (3)

leyendo tu respuesta:

Ya seguí el código que tienes antes. Pude subir la imagen para analizar. pero no sé cómo cambiar la fuente dibujable para que sea mi imagen de cámara / galería o vista de imagen. - stanley santoso

a :

Abhishek Bansal

Entiendo que tu problema no es analizar tu imagen

Para tratar de responder a tu pregunta:

No sé cómo cambiar la fuente dibujable para que sea mi imagen de cámara / galería o vista de imagen.

1 - R.drawable.androidbegin parece ser tu problema, pero el hecho es que ya tienes tu bitmap para analizar en tu código:

de la galería ->

mImageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

de la cámara ->

Bitmap photo = (Bitmap) data.getExtras().get("data");

2 - Entonces, sugeriría declarar una variable de tipo Bitmap al comienzo de su código

private Bitmap yourbitmap;

3 - luego asigne el mapa de bits para la galería y la cámara en su código y úselo para analizarlo.

... yourbitmap = BitmapFactory.decodeFile(picturePath); ... yourbitmap = (Bitmap) data.getExtras().get("data"); ...

4 - finalmente puedes usar tu mapa de bits así:

// Bitmap bitmap = BitmapFactory.decodeResource(getResources(), // R.drawable.androidbegin); // Convert it to byte ByteArrayOutputStream stream = new ByteArrayOutputStream(); // Compress image to lower quality scale 1 - 100 yourbitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] image = stream.toByteArray(); ...

Pude tomar una fotografía con una cámara o sacarla de una galería y mostrarla en una ImageView utilizando este código. Lo que necesito hacer ahora es usar esa imagen y subirla a Parse. He estado buscando en Google aquí y allá para hacer esto, y no he encontrado la manera correcta de hacerlo. ¿Puede alguien ayudarme con esto? ¿Es posible cargar la imagen desde ImageView? Gracias.

protected Button mFromCamera; protected Button mFromGallery; protected ImageView mImageView; private static final int CAMERA_REQUEST = 1888; private static final int SELECT_PHOTO = 100; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Initialize ImageView mImageView = (ImageView) findViewById(R.id.ImgPrev); //Initialize Camera mFromCamera = (Button) findViewById(R.id.FromCamera); //use camera mFromCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(cameraIntent, CAMERA_REQUEST); } //use camera end }); //initialize button mFromGallery = (Button) findViewById(R.id.FromGallery); //pick a photo mFromGallery.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); photoPickerIntent.setType("image/*"); startActivityForResult(photoPickerIntent, SELECT_PHOTO); } });//pick a photo end } //previewing Image @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { //from the gallery case SELECT_PHOTO: if (requestCode == SELECT_PHOTO && 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(); mImageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); } break; //from the camera case CAMERA_REQUEST: if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) { Bitmap photo = (Bitmap) data.getExtras().get("data"); mImageView.setImageBitmap(photo); } break; } }//Preview Image End


Haga clic aquí para obtener la biblioteca AsyncHttpClient y subir su imagen. son las grasas para subir su imagen.

public void uploadImage(Bitmap img_bit) { AsyncHttpClient imgupload = new AsyncHttpClient(); RequestParams params = new RequestParams(); if (img_bit != null) { byte[] imagebyte; ByteArrayOutputStream bao = new ByteArrayOutputStream(); img_bit.compress(Bitmap.CompressFormat.PNG, 100, bao); imagebyte = bao.toByteArray(); params.put("image", new ByteArrayInputStream(imagebyte), "test"+ System.currentTimeMillis() + ".png"); } imgupload.post("url",params, new AsyncHttpResponseHandler() { @Override public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { System.out.println("Image Upload successfully"); } @Override public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { System.out.println("faile the data"); } }); }


hay buenos tutoriales disponibles en internet. Esencialmente siguiente es lo que necesitas hacer

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.androidbegin); // Convert it to byte ByteArrayOutputStream stream = new ByteArrayOutputStream(); // Compress image to lower quality scale 1 - 100 bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] image = stream.toByteArray(); // Create the ParseFile ParseFile file = new ParseFile("androidbegin.png", image); // Upload the image into Parse Cloud file.saveInBackground(); // Create a New Class called "ImageUpload" in Parse ParseObject imgupload = new ParseObject("ImageUpload"); // Create a column named "ImageName" and set the string imgupload.put("ImageName", "AndroidBegin Logo"); // Create a column named "ImageFile" and insert the image imgupload.put("ImageFile", file); // Create the class and the columns imgupload.saveInBackground();

fuente: este tutorial

también vea esta pregunta Cómo subir una imagen en el servidor de análisis mediante la API de análisis en Android