네트워크 장애 발생시 향후 처리를 위해 일부 개체를 저장하려고합니다. Serializeable 클래스에 NameValuePairs 배열이 있습니다 ... 그 밖의 모든 것을 제거하고 여전히 NotSerializeableException 받고 있어요 ... 전에 serializeable 개체를 작성하려고 시도한 적이없는 ... 전에 ' 내가 멍청한 짓을하고 있어요 확신하지만 Serializable
를 구현하고 비 transient 및 비 static 필드의 모든 직렬화 경우이 Serializable 시도에서 내가 뭘 잘못하고있다
public void store(){
FileOutputStream fos = null;
ObjectOutputStream out = null;
try {
Log.d(TAG, "Upload failed, saving file to " + path + "/" + fileName);
File f = new File(path);
if(!f.exists()){
try{
(new File(path)).mkdirs();
}catch(Exception e){
Log.d(TAG, "failed to create directory " + path);
}
}
f = new File(path + "/" + fileName);
fos = new FileOutputStream(f);
out = new ObjectOutputStream(fos);
Parts p = new Parts(parts);
out.writeObject(p); //THIS IS THE LINE WHERE IT DIES WITH THAT EXCEPTION
out.flush();
out.close();
} catch (IOException e) {
Log.d(TAG, "FAILED TO SAVE file: " + path + "/" + fileName);
Log.d(TAG, "error:" + e);
} catch(Exception e){
Log.d(TAG, "error:" + e);
}
}
private class Parts implements Serializable{
private static final long serialVersionUID = -7603433209073871781L;
@SuppressWarnings("unused")
public NameValuePair [] p;
public Parts(NameValuePair [] parts){
this.p = parts;
}
}
NameValuePair에 어떤 변화가 있습니까? 어쩌면 직렬화 할 수없는 값일까요? –
이렇게하는 독립 실행 형 프로그램을 만들어보십시오. 당신이 NameValuePair에 넣는 것과 problrm이있는 것 같습니다. 개체에 포함 된 모든 항목은 Serializable이어야합니다. –
아니, 그들은 모두 한 종류 또는 다른 문자열이야. 내가 찾고 있어야하는 불법적 인 가치가 있니? –