2011-09-08 7 views
0

Loose object mapping tutorial에 따라 Simple XML framework을 사용하여 XML 파일에 연락처 목록을 쓰려고합니다. 그리고 만 얻을,이추가 모드에서 XML 파일 작성 방법

<ContactsList> 
    <Contact id="1"> 
     <name>John Doe</name> 
     <address>Somewhere</address> 
    </Contact> 
    <Contact id="2"> 
     <name>Homer Simpson</name> 
     <address>Somewhere</address> 
    </Contact> 
    <Contact id="3"> 
     <name>Flash McQueen</name> 
     <address>Somewhere</address> 
    </Contact> 
</ContactsList> 

같은 내 Contact.java

public class Contact { 
    @Attribute(name = "id") 
    public int id;  

    @Element(name="Nom")     
    String name;   

    public void setName(String name) { 
     this.name = name; 
    } 

    public void setId(int id){ 
     this.id = id; 
    } 
} 

입니다이 원하는 내가 모든 연락처

Serializer serializer = new Persister(); 
ContentResolver cr = c.getContentResolver(); 
Cursor cu = cr.query(URI, null, null, null, null); 

taille = cu.getCount();   
if (taille > 0) {        
// Loop over all contacts 
Contact [] contact = new Contact[taille]; 
int k = 0; 
while (cu.moveToNext()) { 
    name = cu.getString(cu.getColumnIndex(DNAME)); 
    id = cu.getString(cu.getColumnIndex(ID)); 

    contact[k] = new Contact(); 
    contact[k].setName(name); 
    contact[k].setId(id);   
    serializer.write(contact[k], xmlFile); 
    k++; 
    } 
} 

문제가에 대한 호출을하는 방법이있다 마지막으로 저장 한 연락처가 파일이 루핑되는 동안 짓 눌린 것처럼 보입니다. 지금은 추가 모드에서 xmlFile으로 쓰는 방법을 찾고 있습니다. serializer.write 메서드로 추가 모드로 쓸 수있는 방법을 찾을 수 없습니다. 아니면 내가 원하는 것을 할 수있는 더 좋은 방법이 있습니까?

+0

한 조각의 코드가 누락되었습니다. 개체 직렬 변환기는 어디서 구할 수 있습니까? –

+0

이것이 필연적으로 문제가되는지는 모르지만 XML 문서에는 루트 요소가 하나만 있어야한다고 생각합니다. – Mike

+0

@Giuseppe 무엇을 의미합니까? 'Serializer serializer = new Persister();는'contentResolver' 호출 바로 앞에 있습니다. 첫 번째 게시물을 수정했습니다. –

답변

0

귀하의 목적에 맞는 Java 라이브러리를 사용하는 것이 좋습니다.
안드로이드 프로그래밍이 가능한지를 확인하기 위해 독립형 자바 애플리케이션에서이 코드를 사용했음을 기억하십시오. 문서가 너무 아니라면 DOM librariy, SAX 도서관, STAX 라이브러리
: 일반 말하기
는 자바 (내가 알고있는 경우) 3 개 가지 방법을 가지고있는 XML을 검색 및/또는 쓸 수있는 몇 가지 방법이 있습니다 긴 돔은 목적에 적합합니다. 그렇지 않으면 메모리 사용량이 적은 이벤트 중심 라이브러리 인 색소폰이나 스탁스를 사용합니다 (휴대 기기 용으로 개발 했으므로 좋을 것 같습니다).
호프 도움이