2013-07-12 3 views
0

android의 공유 환경 설정에 맞춤 배열을 추가하려고합니다.android의 공유 환경 설정에 맞춤 배열 추가

나는 세트 데이터 (문자열과 NodeList를가), 데이터가 난에 "ObjectSerializer"클래스를 사용해야합니다라는 해결책을 발견 한 ArrayList<XMLDataArrayStructure> menuItems = new ArrayList<XMLDataArrayStructure>(); 다음과 같은 이름을 가진 배열에 저장되는 포함 된 사용자 지정 ArrayList를이 데이터를 저장하십시오. 난 단지 것 같은 모든이 시점까지 잘 작동, 내가

W/System.err(32052): java.io.NotSerializableException: package.XMLDataArrayStructure 
W/System.err(32052): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364) 
W/System.err(32052): at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671) 
W/System.err(32052): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517) 
W/System.err(32052): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481) 
W/System.err(32052): at java.util.ArrayList.writeObject(ArrayList.java:644) 
W/System.err(32052): at java.lang.reflect.Method.invokeNative(Native Method) 
W/System.err(32052): at java.lang.reflect.Method.invoke(Method.java:511) 
W/System.err(32052): at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1053) 
W/System.err(32052): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1404) 
W/System.err(32052): at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671) 
W/System.err(32052): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517) 
W/System.err(32052): at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481) 
W/System.err(32052): at package.ObjectSerializer.serialize(ObjectSerializer.java:17) 
W/System.err(32052): at package.GatherXMLData.getData(GatherXMLData.java:94) 
W/System.err(32052): at package.Splash$gatherData.doInBackground(Splash.java:63) 
W/System.err(32052): at package.Splash$gatherData.doInBackground(Splash.java:1) 
W/System.err(32052): at android.os.AsyncTask$2.call(AsyncTask.java:287) 
W/System.err(32052): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
W/System.err(32052): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
W/System.err(32052): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
W/System.err(32052): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
W/System.err(32052): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
W/System.err(32052): at java.lang.Thread.run(Thread.java:864) 

그것은하시기 바랍니다 다음

public static String serialize(Serializable obj) throws IOException { 
    if (obj == null) 
     return ""; 
    ByteArrayOutputStream serialObj = new ByteArrayOutputStream(); 
    ObjectOutputStream objStream = new ObjectOutputStream(serialObj); 
    objStream.writeObject(obj); 
    objStream.close(); 
    return encodeBytes(serialObj.toByteArray()); 
} 

수있는 사람의 도움에 실패하고 다음과 같은 오류를 얻을, 이건 정말 나에게 많은 도움이 될 것이다 하나의 네트워크를 호출하십시오.

감사

편집 여기

는 직렬화 구현 않습니다하지만 난 여전히

CODE

public class XMLDataArrayStructure implements Serializable{ 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 
    String title, date, start_time, end_time, venue, image, sponsor_logo; 
    NodeList people; 
    Spanned description; 

    public void setPeople(NodeList people) { 
     this.people = people; 
    } 

    public void setTitle(String title) { 
     this.title = title; 
    } 

    public void setDate(String date) { 
     this.date = date; 
    } 

    public void setStartTime(String start_time) { 
     this.start_time = start_time; 
    } 

    public void setEndTime(String end_time) { 
     this.end_time = end_time; 
    } 

    public void setVenue(String venue) { 
     this.venue = venue; 
    } 

    public void setDescription(Spanned spanned) { 
     this.description = spanned; 
    } 

    public void setImage(String image) { 
     this.image = image; 
    } 

    public void setSponsorLogo(String sponsor_logo) { 
     this.sponsor_logo = sponsor_logo; 
    } 

    public NodeList getPeople() { 
     return people; 
    } 

    public String getTitle() { 
     return title; 
    } 

    public String getDate() { 
     return date; 
    } 

    public String getStartTime() { 
     return start_time; 
    } 

    public String getEndTime() { 
     return end_time; 
    } 

    public String getVenue() { 
     return venue; 
    } 

    public Spanned getDescription() { 
     return description; 
    } 

    public String getImage() { 
     return image; 
    } 

    public String getSponsorLogo() { 
     return sponsor_logo; 
    } 

} 
을 다음과 같은 오류가 점점 오전의 XMLDataArrayStructure 클래스의 코드

ERROR 모든 가능성에

W/System.err(1380): java.io.NotSerializableException: android.text.SpannableStringBuilder 
W/System.err(1380):  at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:979) 
W/System.err(1380):  at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:368) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1074) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1404) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481) 
W/System.err(1380):  at java.util.ArrayList.writeObject(ArrayList.java:644) 
W/System.err(1380):  at java.lang.reflect.Method.invokeNative(Native Method) 
W/System.err(1380):  at java.lang.reflect.Method.invoke(Method.java:511) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1053) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1404) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1517) 
W/System.err(1380):  at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1481) 
W/System.err(1380):  at package.ObjectSerializer.serialize(ObjectSerializer.java:17) 
W/System.err(1380):  at package.GatherXMLData.getData(GatherXMLData.java:89) 
W/System.err(1380):  at package.Splash$gatherData.doInBackground(Splash.java:63) 
W/System.err(1380):  at package.Splash$gatherData.doInBackground(Splash.java:1) 
W/System.err(1380):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
W/System.err(1380):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
W/System.err(1380):  at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
W/System.err(1380):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
W/System.err(1380):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
W/System.err(1380):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
W/System.err(1380):  at java.lang.Thread.run(Thread.java:864) 

답변

0

, 클래스 XMLDataArrayStructureSerializable 비입니다. 두 가지 이유가있을 수 있습니다.

  1. 클래스 자체에는 Serializable이 구현되지 않습니다.

  2. 클래스가 Serializable 인터페이스를 구현하는 경우에도 Serializable이 아닌 개체를 참조하는 문이 포함되어 있습니다.

가능한 경우 클래스 코드를 게시하십시오.

+0

질문을 수정했습니다. –

+0

NodeList와 Spanned는 무엇입니까? 그들은 Serializable 있습니까? – NINCOMPOOP

+0

NodeList에는 xml 데이터의 데이터 집합이 들어 있고 Spanned는 html 데이터 집합입니다. 그들이 Serializable인지 어떻게 알 수 있습니까? –

1
Class XMLDataArrayStructure implements Serializable 
+0

그 클래스에 대한 설명서가 있습니까? 나는 그것이 그것이 OP에 의해 사용되는 주문의 종류 다라고 생각했다. – NINCOMPOOP

관련 문제