2012-01-23 4 views
1

버튼과 gridview가있는 기본 Andriod 앱이 있습니다. 버튼을 클릭하면 응용 프로그램에서 웹 서비스를 호출하고 SQL-XML 문자열 (C#, Dataset.GetXML())을 검색합니다.이 문자열은 모두 잘 작동합니다. GridView 컨트롤을이 sql : xml에 바인딩하여 데이터를 표시하는 방법을 알아야합니다. 나는 그것이 일종의 어댑터와 관련이 있다고 알고 있지만 그것을 이해할 수는 없다.Android에서 gridview에 sql xml을 바인딩하십시오.

도움을 주시면 대단히 감사하겠습니다.

@lyricsboy : 다음은 웹 서비스에서 제공되는 XML 사본입니다. .NET에서 작성한 웹 서비스이므로이 변경 사항을 변경해야 할 수도 있습니다.) :

<?xml version="1.0" encoding="UTF-8"?> 
<string xmlns="RemoteWebService"> 
<AllContacts> 
    <Table> 
    <ContactID>7</ContactID> 
    <ContactName>Support</ContactName> 
    <EmailAddress>[email protected]</EmailAddress> 
    <CCEmail>[email protected]</CCEmail> 
    <Visible>true</Visible> 
    <Description>If you have concerns you can use this email. </Description> 
</Table> 
<Table> 
    <ContactID>8</ContactID> 
    <ContactName>Training</ContactName> 
    <EmailAddress>[email protected]</EmailAddress> 
    <CCEmail /> 
    <Visible>true</Visible> 
    <Description>This email is designated for Training issues.</Description> 
</Table> 
</AllContacts> 
</string> 

답변

0

먼저 XML을 사용자가 어댑터에 제공 할 수있는 것으로 구문 분석해야합니다. 데이터 세트가 합리적인 크기 인 경우, 자신의 설계의 모델 오브젝트를 사용하여 데이터를 보유 할 수 있습니다. 그것들의 ArrayList를 생성하고 ArrayAdapter 또는 자신의 디자인의 하위 클래스 (또는 필요한 경우 사용자 정의 어댑터)로 전달합니다.

샘플 XML을 기반으로 각 항목에 대해 보내는 모든 데이터를 저장하는 데 사용할 수있는 필드가있는 Contact 클래스를 만듭니다. XmlPullParser (docs)을 사용하여 XML을 Contact 인스턴스로 바꾸고 ArrayList에 넣는 코드를 작성하십시오. 해당 목록을 ArrayAdapter으로 전달한 다음 GridView으로 전달하십시오.

+0

와우 ...이 모든 것을 처음 접했을 때, 단순한 작업을 수행하는 것만 큼 (방법 btw는 의심스럽지 않은 것 같습니다). 그래서 이것은 웹 서비스에서 오는 XML의 경우일까요? 내용을 인식하지 못하고 GridView에 표시하는 XML 파일을 가져 오는 방법이없는 것처럼 들리십니까? – Robert

+0

적어도 기본 제공 API가 없습니다. 이를 수행 할 수있는 제 3 자 코드가있을 수 있지만, 안드로이드가 지원하는 광범위한 장치 전반에서 고성능이었던 일반적인 방식으로하기가 어려울 수 있습니다. – lyricsboy

+0

데이터베이스에서 데이터를 처리 (GridView에 표시)하는 것이 더 좋은 방법입니까 아니면 더 선호되는 방법이 있습니까? 내가 작업하는 데이터 세트 중 95 %가 <1000 개의 레코드를 반환합니다. 나는 하나의 방법으로 고양이를 피부에 맞히고 있지만 가장 일반적인 방법을 찾고있다. – Robert

관련 문제