लागू करता हूं, तो मुझे थोड़ा समस्या है: मैं एंड्रॉइड (ग्रहण का उपयोग करके) पर क्रमबद्धता का परीक्षण करना चाहता था और उदाहरण के लिए यह कैसे पाया गया। मुझे पता है कि मुझे कक्षा में "सीरियलज़ेबल" लागू करने की आवश्यकता है जिसे मैं धारावाहिक बनाना चाहता हूं, मैंने पहले ही ऐसा किया है और हमेशा java.io.NotSerializableException अपवाद प्राप्त करता है।java.io.NotSerializableException अगर मैं "Serializable"
public void Button(View view) throws IOException, ClassNotFoundException {
ser test = new ser();
test.x = 204;
test.y = 2843;
test.speed = 12;
test.direction = 1343;
test.a = 493;
test.b = 2323;
test.c = 29489;
test.d = 394;
byte[] arr = serialize(test);
ser res = (ser) deserialize(arr);
}
public static byte[] serialize(Object o) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(o); //This is where the Exception occurs
out.close();
// Get the bytes of the serialized object
byte[] buf = bos.toByteArray();
return buf;
} catch(IOException ioe) {
Log.e("serializeObject", "error", ioe); //"ioe" says java.io.NotSerializableException exception
return null;
}
}
public static Object deserialize(byte[] b) {
try {
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(b));
Object object = in.readObject();
in.close();
return object;
} catch(ClassNotFoundException cnfe) {
Log.e("deserializeObject", "class not found error", cnfe);
return null;
} catch(IOException ioe) {
Log.e("deserializeObject", "io error", ioe);
return null;
}
}
class ser implements Serializable {
float x, y, speed, direction, a, b, c, d;
}
मुझे आशा है कि आप मेरी मदद कर सकते हैं, मैं क्या मैं गलत किया था पता नहीं है ...
संपादित करें:: कोड यह मेरी आयात कर रहे हैं:
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
एंड्रॉइड पार्ससेलबल्स में देखें, शायद यह आप वास्तव में उपयोग करना चाहते हैं। – blindstuff
जैसा कि उत्तर दिया गया है/नीचे टिप्पणी की गई है, 'बटन (शून्य)' को कॉल करने की अपेक्षा की जा रही है: कोई अपवाद नहीं है और 'res' में सही मान प्राप्त हो रहा है। पर्यावरण होना चाहिए ... –
आप इसका परीक्षण कैसे कर रहे हैं? क्या आप एमुलेटर का उपयोग करते हैं, क्या आप एक वास्तविक डिवाइस पर तैनात हैं? आप एमुलेटर/एंड्रॉइड का किस संस्करण का उपयोग कर रहे हैं? विभिन्न एंड्रॉइड अवतारों (जैसे साइनोजन बनाम स्टॉक एंड्रॉइड इत्यादि) के बीच मतभेद हैं। –