大佬教程收集整理的这篇文章主要介绍了java – Android NotSerializableException为一个对象引发,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的Android应用程序中,我使用文件来存储许可证数据.我使用serialize对象.我创建一个Device对象并将文件详细信息读入该对象. Device类实现serializable.
public class MyDevice implements serializable {}
但是在应用程序开始时,它反序列化并存储在MyDevice对象中.我的deserializeObject方法如下.
public MyDevice deserializeObject() {
File serialFile = new File(GeoTrackerPaths.FILE_PATH);
MyDevice AndDeviceIn = new MyDevice();
if (serialFile.exists()) {
try {
FileInputStream fileIn = new FileInputStream(GeoTrackerPaths.FILE_PATH);
ObjecTinputStream objInput = new ObjecTinputStream(fileIn);
AndDeviceIn = (MyDevicE) objInput.readObject();
objInput.close();
fileIn.close();
} catch (Exception E) {
Log.i("TAG","Exception during deserialization:" + e.getmessage());
e.printStackTrace();
System.exit(0);
}
}
return AndDeviceIn;
}
我的序列化代码
public void serializeObject(Context context,String phoneModel,String androidVersion,String executiveCode,String Key,String modelID,String tempKey,int noLogin,String expireDate,String Status) {
try {
MyDevice AndDeviceOut = new MyDevice(context,phoneModel,androidVersion,new Date(),executiveCode,Key,modelID,tempKey,noLogin,expireDate,Status);
FiLeoutputStream fiLeout = new FiLeoutputStream(
GeoTrackerPaths.FILE_PATH);
ObjectOutputStream objOutput = new ObjectOutputStream(fiLeout);
objOutput.writeObject(AndDeviceOut);
objOutput.flush();
objOutput.close();
fiLeout.close();
} catch (Exception E) {
Log.i("TAG","Exception during serialization:" + e.getmessage());
e.printStackTrace();
System.exit(0);
}
}
而我将其称为如下.
DeviceActivator activate=new DeviceActivator();
activate.serializeObject(Activation.this,txtExe,exeKey,modeilID,Activation_Status);
当我运行应用程序时,会引发异常.
java.io.WriteAbortedException: Read an exception;
java.io.NotserializableException: com.geotracker.entity.MyDevice
我怎样才能解决这个问题?
Context
对象是可序列化的.您可以通过将Context对象声明为瞬态来解决此问题,您可以在JDK规范中阅读此内容:Link.基本上将字段标记为瞬态意味着它不会参与序列化
所以在MyDevice中声明你的字段:
私有瞬态上下文;
你应该好好去!
以上是大佬教程为你收集整理的java – Android NotSerializableException为一个对象引发全部内容,希望文章能够帮你解决java – Android NotSerializableException为一个对象引发所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。