मैं कैमरे का उपयोग करके एक तस्वीर ले सकता हूं या गैलरी से ले सकता हूं और इसे इस कोड का उपयोग करके एक छवि दृश्य में दिखा सकता हूं। मुझे अब क्या करना है उस तस्वीर का उपयोग करना और इसे पार्स पर अपलोड करना है। मैं ऐसा करने के लिए यहां और वहां जा रहा हूं, और मुझे ऐसा करने का सही तरीका नहीं मिला है। क्या कोई भी मेरी इस के साथ मदद कर सकता है? क्या ImageView से छवि अपलोड करना संभव है? धन्यवाद।एंड्रॉइड में पार्स में छवि कैसे अपलोड करें?
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
बहुत बहुत धन्यवाद। यह काम। मुझे एहसास नहीं हुआ कि वे मेरी छवियों का स्रोत हैं क्योंकि प्रारूप बहुत अलग दिखता है। मैं नीचे दिए गए ATActivityForResult के अंदर मामले के तहत अपलोडिंग कोड डाल सकता था। क्या यह एक्टिविटीफॉर रिसेट पर बाहर करना संभव है? मुझे लगता है कि मुझे इसे चालू करने की ज़रूरत है ताकि मैं एक क्लिक में अन्य जानकारी (उपयोगकर्ता नाम और सामान) को पार्स कर सकूं ताकि वे उसी ऑब्जेक्ट/क्लास पर जा सकें। और इस कोड का अर्थ है, अगर मैंने गैलरी से एक छवि ली है, तो मेरे दिमाग को बदले में एक तस्वीर लेने के लिए बदल दिया है, मैं 2 छवियों को अपलोड कर दूंगा। मैं इसे कैसे कर सकता हूं इसलिए मैं केवल 1 छवि अपलोड करता हूं? –
नमस्ते, हाँ आप अपने कोड में अपलोडिंग कोड का उपयोग कर सकते हैं, फिर आप जहां भी चाहें इसे संदर्भित कर सकते हैं। उदाहरण के लिए: निजी myUploading() {// इसे बाइट ByteArrayOutputStream स्ट्रीम = नया ByteArrayOutputStream() में कनवर्ट करें; // कम गुणवत्ता वाले पैमाने पर छवि को संपीड़ित करें 1 - 100 yourbitmap.compress (बिटमैप.कॉमप्रेसफॉर्मैट.पीएनजी, 100, स्ट्रीम); बाइट [] image = stream.toByteArray(); ...} और आपके ब्रेक से पहले एक्टिविटी रिसेट में; आप अपलोड करने के लिए एक कॉल करते हैं: myUploading(); Voilà। – mourad
मेरा जवाब भी था? मैं इतना हरा निशान चाहता था। – mourad