एक बाइट के लिए यह कन्वर्ट नहीं देता का उपयोग कर बिटमैप तक पहुँचने का प्रयास इससे पहले कि आप इसे इरादे में जोड़ दें, इसे भेजें, और डीकोड करें।
byte[] byteArray = getIntent().getByteArrayExtra("image");
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
संपादित
सोचा मैं सबसे अच्छा अभ्यास के साथ इस अद्यतन करना चाहिए:
अपना पहला गतिविधि में, आप को बचाने के लिए करना चाहिए
//Convert to byte array
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
Intent in1 = new Intent(this, Activity2.class);
in1.putExtra("image",byteArray);
फिर गतिविधि 2 में
डिस्क पर बिटमैप फिर इसे अगली गतिविधि में लोड करें। कचरा संग्रहण के लिए प्रधानमंत्री इसे करने के लिए पहली गतिविधि में अपने बिटमैप पुनरावृत्ति करने के लिए सुनिश्चित करें:
गतिविधि 1:
try {
//Write file
String filename = "bitmap.png";
FileOutputStream stream = this.openFileOutput(filename, Context.MODE_PRIVATE);
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
//Cleanup
stream.close();
bmp.recycle();
//Pop intent
Intent in1 = new Intent(this, Activity2.class);
in1.putExtra("image", filename);
startActivity(in1);
} catch (Exception e) {
e.printStackTrace();
}
गतिविधि 2 में, बिटमैप लोड:
Bitmap bmp = null;
String filename = getIntent().getStringExtra("image");
try {
FileInputStream is = this.openFileInput(filename);
bmp = BitmapFactory.decodeStream(is);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
चीयर्स!
स्रोत
2012-06-13 08:03:24
यह आपके कोड की प्रति नहीं है, क्योंकि मुझे कम से कम दो टाइपो दिखाई देते हैं। – Christine
@ क्रिस्टीन: यह वास्तव में मेरा कोड है, लेकिन मेरे पास यह कई ट्यूटोरियल से था ... XP –
तो आप बिटमैप बीएमपी 2 कैसे बनाते हैं, और आप इसे setImageBitmap (bmp) के साथ सेट करते हैं? और निश्चित रूप से, R.Id.imageView1 काम नहीं करता है। यह R.id.imageView1 होना चाहिए। – Christine