Android NotSerializableException aumenta para un objeto

En mi aplicación android uso un archivo para almacenar datos de licencia . Y yo uso Serialize objetos . Creo un objeto Dispositivo y leo los detalles del archivo en el objeto. La clase de dispositivo implementa Serializable .

public class MyDevice implements Serializable {} 

Pero al inicio de la aplicación se deserializa y se almacena en un objeto MyDevice. Mi método deserializeObject es como a continuación.

 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; } 

Mi código de serialización

 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); } } 

Y lo llamo como a continuación.

 DeviceActivator activate=new DeviceActivator(); activate.serializeObject(Activation.this, phoneModel, androidVersion, txtExe, exeKey, modeilID, tempKey, noLogin, expireDate, Activation_Status); 

Cuando ejecuto la aplicación, se generan las siguientes excepciones.

 java.io.WriteAbortedException: Read an exception; java.io.NotSerializableException: com.geotracker.entity.MyDevice 

¿Cómo puedo arreglar esto?

No parece que el objeto Context Android sea serializable. Puede resolver esto declarando el objeto Context como transitorio, que puede leer aquí en la especificación JDK: Enlace . Básicamente marcar un campo como transitorio significa que no participará en la serialización

Así que declare su campo como esto en MyDevice :

private transient Context context;

Y usted debe ser bueno para ir!

  • Serializar una ArrayList
  • Ventajas de Parcelable sobre JSON
  • Serializar un objeto Drawable en Android
  • Serializar objeto para enviar dentro de Intent en Android
  • Problemas de serialización java con JVM diferentes
  • Serializar objetos entre Android y PC (Dalvik vs JVM)
  • Leer / escribir un objeto en un archivo
  • ¿Cómo puedo serializar un objeto y guardarlo en un archivo de Android?
  • ¿Cómo puedo inyectar un objeto en Android Priority Job Queue con Dagger 2?
  • ¿Se limpia la actividad de Android instanceState durante la actualización de la aplicación?
  • Java.lang.RuntimeException: Paralleable encontró IOException escribiendo objeto serializable en Android que pasa el objeto ArrayList
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.