上传照片解析(android)

时间:2015-02-20 16:52:30

标签: android image parse-platform

我是一个新的 parse.com 用户,我想上传用户选择的图片。

用户选择图像,然后选择图像名称,然后按上传按钮

但是当我点击按钮上传程序崩溃时:(

这是我的尝试

   Button btn;
    ImageView Pic;
    ParseObject shop;
    final int PHOTO_SELECTED = 1;
    ParseFile file;
    ParseFile photoFile;
    final Context context = this;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.openshop);  

        btn = (Button) findViewById(R.id.button1);
        Pic = (ImageView) findViewById(R.id.imageView1);
        final int PHOTO_SELECTED = 1;


        Pic.setOnClickListener(new View.OnClickListener() {
            public void onClick(View arg0) {

                Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);    
                startActivityForResult(i,PHOTO_SELECTED); 

            }
        });

    } 

    @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);

         if (requestCode == PHOTO_SELECTED && 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]);
             final String picturePath = cursor.getString(columnIndex);
             cursor.close();

            final Bitmap bitmap = BitmapFactory.decodeFile(picturePath);
             Pic.setImageBitmap(bitmap);


             btn.setOnClickListener(new View.OnClickListener() {
                @SuppressLint("NewApi")
                public void onClick(View arg0) {
                     EditText name = (EditText) findViewById(R.id.sname);

                    shop = new ParseObject("imagetest");

                     // Bitmap bitmap =BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), Pic);

                        // 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(name.getText().toString()+".png", image);

                        // Upload the image into Parse Cloud
                        file.saveInBackground();


                        //Create
                        shop.put("name", name.getText().toString());
                        shop.put("UserOpen",ParseUser.getCurrentUser());
                        shop.put("Image", file);

                        shop.saveInBackground();


                        // Show a simple toast message
                        Toast.makeText(getApplicationContext(), "Created",
                                Toast.LENGTH_SHORT).show();
                }

             });

         }
    }

}

三江源

0 个答案:

没有答案
相关问题