2011-05-06 3 views
0

네트워크 장애 발생시 향후 처리를 위해 일부 개체를 저장하려고합니다. 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; 
    }  
} 
+1

NameValuePair에 어떤 변화가 있습니까? 어쩌면 직렬화 할 수없는 값일까요? –

+0

이렇게하는 독립 실행 형 프로그램을 만들어보십시오. 당신이 NameValuePair에 넣는 것과 problrm이있는 것 같습니다. 개체에 포함 된 모든 항목은 Serializable이어야합니다. –

+0

아니, 그들은 모두 한 종류 또는 다른 문자열이야. 내가 찾고 있어야하는 불법적 인 가치가 있니? –

답변

3

객체가 직렬화 가능 ... 그것이 무엇인지 볼 수 없습니다. NameValuePair은 직렬화 가능합니까?

후속 조치 : 후속 조치 : docs을 찾고 NameValuePairSerializable을 구현합니다. 또한 String[]은 직렬화 가능합니다. 예외는 무엇입니까?

+0

아 ... 당신이 말하는 것을 보아요 ... "내"NameValuePair가 아닙니다 ... org.apache.commons.httpClient.NameValuePair이고, 그것이 아니라고 가정해야합니다 ... 내가 가서 복사하기 전에 모든 내부가 정기적 인 해시로, 해시 Serializable 수 있습니까? 나는 벡터가 있다는 것을 알고 있지만 추악하다. –

+0

흠 ... 나는 내 파트를 수정했다. (처리 과정에서 내 질문을 수정했다 ... 개선 없음 ... 같은 장소에서 실패 함 ... String []이 아님. Serializable? 그렇지 않다면 ... 그 다음은 무엇입니까? –

0

파트에 기본 생성자가 필요할 수 있습니다.

+0

매개 변수없는 생성자는 serialization에 필요하지 않습니다. –

관련 문제