Creative Skillz
Creative Skillz

Reputation: 43

Take multiple images with camera and insert into multiple diffefent imageViews

public void onClick(View v) {
    // TODO Auto-generated method stub

    switch (v.getId()) {

    case R.id.image1:
        i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(i, cameraData);

        break;
    case R.id.image2:
        ii = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(ii, cameraData);
    }
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        bmp = (Bitmap) extras.get("data");
        view1.setImageBitmap(bmp);
        view2.setImageBitmap(bmp);
    }
}

I would like to take two images with a camera and display these images into two separate ImageViews.I took a picture but it shows the same image in both ImageViews.Please help i'm really stuck.

Upvotes: 1

Views: 4334

Answers (3)

niks_ahlawat
niks_ahlawat

Reputation: 111

private String uploadFile() {
        String responseString = null;

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 75, bos);
        bitmap = Bitmap.createScaledBitmap(bitmap, 300, 300, true);
        byte[] data = bos.toByteArray();

        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(Apis.Base);


        try {
            AndroidMultiPartEntity entity = new AndroidMultiPartEntity(
                    new AndroidMultiPartEntity.ProgressListener() {

                        @Override
                        public void transferred(long num) {
                            publishProgress((int) ((num / (float) totalSize) * 100));
                        }
                    });


            ByteArrayBody bab = new ByteArrayBody(data, "bt.jpg");
            entity.addPart("gallery", bab);
            entity.addPart("action", new StringBody("update_photos"));
            entity.addPart("user_id", new StringBody(SaveSharedPreference.getUserID(GalleryFragment.this)));


            totalSize = entity.getContentLength();
            httppost.setEntity(entity);

            // Making server call
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity r_entity = response.getEntity();

            statusCode = response.getStatusLine().getStatusCode();
            responseString = EntityUtils.toString(r_entity);
            jsonObject = new JSONObject(responseString);
            Log.e("respon", "" + responseString);

            if (statusCode == 200) {
                // Server response
                SaveSharedPreference.setUserIMAGE(GalleryFragment.this, "https://pickpamphlet.com/PropertyApp/uploads/profile_pic/" + jsonObject.getJSONObject("data").getString("profile_pic"));

            } else if (statusCode == 201) {
                // Server response

                SaveSharedPreference.setUserIMAGE(GalleryFragment.this, "https://pickpamphlet.com/PropertyApp/uploads/profile_pic/" + jsonObject.getJSONObject("data").getString("profile_pic"));


            } else {
                responseString = "Error occurred! Http Status Code: " +
                        EntityUtils.toString(r_entity) + statusCode;
            }

        } catch (ClientProtocolException e) {
            responseString = e.toString();
        } catch (Exception e) {
            responseString = e.toString();
        }

        return responseString;
    }

Make a function something like this to upload image to the server and resize it.

Upvotes: 0

Amitabh Sarkar
Amitabh Sarkar

Reputation: 1311

Try this:

public void onClick(View v) {
        // TODO Auto-generated method stub

        switch (v.getId()) {
i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        case R.id.image1:

            startActivityForResult(i, 101);

            break;
        case R.id.image2:

            startActivityForResult(i, 102);
      }
}


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);

        if (if (requestCode == 101 && resultCode == RESULT_OK)) {
            Bundle extras = data.getExtras();
            bmp = (Bitmap) extras.get("data");
            view1.setImageBitmap(bmp);

}
        if (if (requestCode ==102 && resultCode == RESULT_OK)) {
            Bundle extras = data.getExtras();
            bmp = (Bitmap) extras.get("data");

            view2.setImageBitmap(bmp);
}

Upvotes: 1

Sanober Malik
Sanober Malik

Reputation: 2805

YOU CAN TRY SOMETHING LIKE:

public void onClick(View v) { // TODO Auto-generated method stub

    switch (v.getId()) {

    case R.id.image1:
        i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(i, 1);

        break;
    case R.id.image2:
        ii = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(ii, 2);
  }
}

and then,

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    super.onActivityResult(requestCode, resultCode, data);
    switch(requestCode){
    case 1:
       if(resultCode == RESULT_OK){
          Bundle extras = data.getExtras();
          bmp = (Bitmap) extras.get("data");
          view1.setImageBitmap(bmp);
       }
       break;
    case 2:
       if(resultCode == RESULT_OK) {
            Bundle extras = data.getExtras();
            bmp = (Bitmap) extras.get("data");
            view2.setImageBitmap(bmp);
        }
       break;
     }
}

Upvotes: 3

Related Questions