सेटअपClassNotFoundException शुरू
मैं एक गतिविधि है कि केवल OnCreate(), onResume (ओवरराइड करता है) है, और onSaveInstanceState()।
@Override
public void onSaveInstanceState(Bundle state) {
super.onSaveInstanceState(state);
state.putSerializable("obj", myObj); // myObj is of class MyClass state.putLong("long", longVar);
}
MyClass मूल रूप से गतिविधि वर्ग के भीतर एक आंतरिक वर्ग था, लेकिन डिबगिंग के लिए, मैं भी यह एक अलग फाइल में ले जाया गया:
public class MyClass implements Serializable {
private static final long serialVersionUID = 0x98ED2F00;
....
}
onSaveInstanceState() में, मैं एक serializable वस्तु में डाल कदम:
- हमेशा की तरह कार्यक्रम शुरू करें, यह ठीक चलाता है।
- लॉन्चर पर वापस जाने के लिए होम बटन पर क्लिक करें।
java.lang.RuntimeException: गतिविधि ComponentInfo प्रारंभ करने में अक्षम {com.example
- ग्रहण से, प्रक्रिया डिवाइस पैनल
प्रारंभ कार्यक्रम से फिर से लांचर से, इस समय मैं निम्नलिखित रोक .Reports}: java.lang.RuntimeException Parcelable ClassNotFoundException एक serializable वस्तु को पढ़ने का सामना करना पड़ा {नाम = com.example.MyClass}
की वजह से: java.lang.ClassNotFoundException: लोडर dalvik.System.PathClassLoader में com.examp.MyClass [।]
सुराग और टिप्पणियों:
सबसे महत्वपूर्ण सुराग है: अगर मैं onSaveInstanceState में myObj नहीं सहेजते हैं(), तो सब कुछ ठीक है। और, किसी भी आदिम प्रकार को बंडल में डालना ठीक है, लेकिन मेरी वस्तुओं नहीं।
अपवाद मेरी कोड के बाहर फेंक दिया जाता है, यह OnCreate() और onResume के बीच हुआ()। यह एंड्रॉइड के अंदर हुआ।
त्रुटि संदेश में वर्ग के नाम सही है: com.example.MyClass। मूल रूप से यह गतिविधि के अंदर एक आंतरिक वर्ग था, लेकिन समस्या को अलग करने के लिए, मैंने इसे एक अलग फ़ाइल में ले जाया, इसका कोई फायदा नहीं हुआ।
मेरा मानना है कि Serializable के कार्यान्वयन सही है, क्योंकि यह कार्यक्रम के अन्य भागों में एक फ़ाइल से/धारावाहिक जा सकता है।
क्या किसी के पास इसके किसी भी संभावित कारण का कोई विचार है? बहुत सराहना की! (क्षमा करें, मैं यहां विस्तृत कोड नहीं डाल सकता, क्योंकि सबकुछ यहां और वहां पर केंद्रित है। मैं केवल उतना ही अलग कर सकता हूं।)
वापस आने और आपके समाधान की रिपोर्ट करने के लिए बहुत बहुत धन्यवाद। मैं कल्पना नहीं कर सकता कि इसे समझने में कितना समय लगेगा, यह बिल्कुल स्पष्ट नहीं है – HXCaine