如何在Android中将图像上传到Parse?

前端之家收集整理的这篇文章主要介绍了如何在Android中将图像上传到Parse?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已经能够使用相机拍摄照片或从画廊中取出并使用此代码ImageView中显示它.我现在需要做的是使用该图片并将其上传到Parse.我一直在谷歌上搜索,我没有找到正确的方法来做到这一点.有人可以帮我这个吗?是否可以从ImageView上传图像?谢谢.

  1. protected Button mFromCamera;
  2. protected Button mFromGallery;
  3. protected ImageView mImageView;
  4. private static final int CAMERA_REQUEST = 1888;
  5. private static final int SELECT_PHOTO = 100;
  6. @Override
  7. protected void onCreate(Bundle savedInstanceState) {
  8. super.onCreate(savedInstanceState);
  9. setContentView(R.layout.activity_main);
  10. //Initialize ImageView
  11. mImageView = (ImageView) findViewById(R.id.ImgPrev);
  12. //Initialize Camera
  13. mFromCamera = (Button) findViewById(R.id.FromCamera);
  14. //use camera
  15. mFromCamera.setOnClickListener(new View.OnClickListener() {
  16. @Override
  17. public void onClick(View v) {
  18. Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
  19. startActivityForResult(cameraIntent,CAMERA_REQUEST);
  20. } //use camera end
  21. });
  22. //initialize button
  23. mFromGallery = (Button) findViewById(R.id.FromGallery);
  24. //pick a photo
  25. mFromGallery.setOnClickListener(new View.OnClickListener() {
  26. @Override
  27. public void onClick(View arg0) {
  28. Intent photoPickerIntent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
  29. photoPickerIntent.setType("image/*");
  30. startActivityForResult(photoPickerIntent,SELECT_PHOTO);
  31. }
  32. });//pick a photo end
  33. }
  34. //previewing Image
  35. @Override
  36. protected void onActivityResult(int requestCode,int resultCode,Intent data) {
  37. super.onActivityResult(requestCode,resultCode,data);
  38. switch (requestCode) {
  39. //from the gallery
  40. case SELECT_PHOTO:
  41. if (requestCode == SELECT_PHOTO && resultCode == RESULT_OK && null!= data) {
  42. Uri selectedImage = data.getData();
  43. String[] filePathColumn = { MediaStore.Images.Media.DATA };
  44. Cursor cursor = getContentResolver().query(selectedImage,filePathColumn,null,null);
  45. cursor.moveToFirst();
  46. int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
  47. String picturePath = cursor.getString(columnIndex);
  48. cursor.close();
  49. mImageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
  50. }
  51. break;
  52. //from the camera
  53. case CAMERA_REQUEST:
  54. if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
  55. Bitmap photo = (Bitmap) data.getExtras().get("data");
  56. mImageView.setImageBitmap(photo);
  57. }
  58. break;
  59. }
  60. }//Preview Image End
最佳答案
阅读你的答案:

I already followed the code that you have before. I was able to upload the image to parse. but I dont know how to switch the drawable source to be my image from camera/gallery or imageview. – stanley santoso

至 :

Abhishek Bansal

我明白你的问题不是解析你的形象?

试着回答你的问题:

I dont know how to switch the drawable source to be my image from camera/gallery or imageview.

1 – R.drawable.androidbegin似乎是你的问题但事实是你已经在你的代码中解析了你的位图:

来自画廊 – >

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

来自相机 – >

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

2 – 所以我建议在代码的开头声明一个Bitmap类型的变量

  1. private Bitmap yourbitmap;

3 – 然后在代码中为库和相机分配位图,并使用它来解析它.

  1. ...
  2. yourbitmap = BitmapFactory.decodeFile(picturePath);
  3. ...
  4. yourbitmap = (Bitmap) data.getExtras().get("data");
  5. ...

4 – 最后你可以这样使用你的位图:

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

猜你在找的Android相关文章