【问题标题】:bind sql xml to gridview in Android在Android中将sql xml绑定到gridview
【发布时间】:2012-02-17 04:37:17
【问题描述】:

我有一个基本的 Andriod 应用程序,上面有一个按钮和一个网格视图。单击按钮时,应用程序调用 Web 服务并从中检索 sql-xml 字符串(C#,Dataset.GetXML()),这一切都很好。我需要知道如何将 GridView 控件绑定到此 sql:xml 以显示数据。我知道这与某种适配器有关,但我无法弄清楚。

非常感谢任何帮助!

@lyricsboy: 这是从 Web 服务返回的 XML 副本(请记住,这是我在 .NET 中构建的 Web 服务,因此如果需要对其进行任何更改,他们可以):

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

【问题讨论】:

    标签: android xml android-widget


    【解决方案1】:

    首先,您需要将 XML 解析为可以提供给适配器的内容。如果数据集大小合理,您可以使用自己设计的模型对象来保存数据。创建它们的 ArrayList,并将它们传递给 ArrayAdapter 或您自己设计的子类(或您自己的自定义适配器,如果需要)。

    基于示例 XML,我将创建一个 Contact 类,其中包含可用于存储您为每个项目发送的所有数据的字段。然后编写一些代码,使用XmlPullParser (docs) 将您的XML 转换为Contact 实例并将它们放入ArrayList。将该列表传递给ArrayAdapter,然后再传递给GridView

    【讨论】:

    • 哇...对这一切都是新手,执行一项简单的任务似乎很多(顺便说一句,不要怀疑你的方法)。那么来自 Web 服务的任何 xml 都会出现这种情况吗?听起来没有办法获取您可能不知道内容的 XML 文件并将其显示在 GridView 中,对吗?
    • 至少没有内置 API。可能有一些第三方代码可以做到这一点,但很难以通用方式实现,而且在 Android 支持的各种设备上也具有高性能。
    • 那么这是处理来自数据库的数据(显示在 GridView 中)的首选方法还是有更好/更首选的方法?在我使用的数据集中,95% 的数据集返回
    • 对于大型数据集,可能更常见的是将数据存储在本地设备上类似的数据库模式中。使用 Web 服务调用和封送代码填充数据库,然后查询本地数据库以填充 UI。如果你愿意,这样你就可以利用整个CursorContentProvider 生态系统。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2011-08-05
    • 1970-01-01
    相关资源
    最近更新 更多