从imageview

时间:2015-09-03 17:35:12

标签: java parse-platform

您好,请帮我在图片视图中上传当前图片

我需要在电话中上传图像捕获     `public class MainActivity extends Activity {     按钮按钮;     private static final int CAMERA_REQUEST = 1888;     私人ImageView imageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Get the view from main.xml
    setContentView(R.layout.main);

    this.imageView = (ImageView)this.findViewById(R.id.imageView1);
    Button photoButton = (Button) this.findViewById(R.id.button1);
    photoButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_REQUEST);
        }
    });
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        imageView.setImageBitmap(photo);
    }

//找到main.xml中的按钮         button =(Button)findViewById(R.id.uploadbtn);

    // Capture button clicks
    button.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {
            // Locate the image in res > drawable-hdpi
            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();

            // Show a simple toast message
            Toast.makeText(MainActivity.this, "Image Uploaded",
                    Toast.LENGTH_SHORT).show();
        }
    });


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}`

1 个答案:

答案 0 :(得分:0)

为什么不在onActivityResult方法上完成大部分工作?

Button take_picture = (Button) findViewById(R.id.addPicButton);
    take_picture.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            dispatchTakePictureIntent();
        }
    });

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
byte[] image_byte_array;
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
    Bitmap photo = (Bitmap) data.getExtras().get("data");
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    photo.compress(Bitmap.CompressFormat.PNG, 100, stream);
    image_byte_array = stream.toByteArray();
    imageView.setImageBitmap(photo);
    ParseFile pf = new ParseFile("Picture", image_byte_array);
    pf.saveInBackground();
}

我用解析器搞砸了一段时间并制作了一个应用程序,检查了这个回购...也许你会找到一些有用的代码。 https://github.com/Aquaballin/HackingVeggies/tree/master/ProduceList/src/com/parse/starter

祝你好运兄弟!