如何在 android 中将 soap 响应放入 gridview?
How to put soap response into gridview in android?
我是 android 的新手,我一直在研究如何将 soap webservice 的响应放入 gridview。我已经成功地使用了 asynctask 并且还使用了内部存储来制作类似会话的方法来防止重复登录,但令人惊讶的是当数据响应显示在日志中时,它是这样的:
anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}》;元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{}; }; }; }; }; }; }; }; diffgram=anyType{NewDataSet=anyType{Table=anyType{itemid=155;用户代码=CSSCWT ;名称=CSSCWT;等级=3;密码=4664538057732345268530826668298694488379 ;电子邮件=;暂停=假;系统用户=真;部门代码=JMB; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=任意类型{itemid=151;用户代码=CSSTKS ; name=TAN KIM SIN ;等级=3;密码=15526725128958598368602650;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=anyType{itemid=156;用户代码=CSSMEL ;名称=CSSMEL ;等级=3;密码=24554526638351588705641272148333949942249;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=anyType{itemid=158;用户代码=CSSWYL ;名字=CSSWYL ;等级=3;密码=13215756980269776576 ;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=任意类型{itemid=167;用户代码=CSSRAY ;名称=CSSRAY;等级=3;密码=24554526928351758705991272155333956942257 ;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=任意类型{itemid=168;用户代码=CINDYLIM ;名字=CINDYLIM ;等级=2;密码=456235079768049738389084786769055893663763886739827878
我之前也尝试过将 gridview 与示例一起使用,但它是在 C# 中,这是使用 java 创建的,我找不到任何方法 putting/formatting 这种肥皂响应进入 gridview。即使不能,我也希望得到一个非常简短的例子来解释如何做,我会尽力去做。或者,如果有人发现我忽略的非常有用的 link,请在此处执行 post。
另外请记住,创建的网络服务仅要求服务器名、数据库和 mssql 命令字符串。任何帮助,将不胜感激。谢谢!
找到方法了。基本上您只需要获取每个 soapobjects 的属性,因为返回的 json 数据就像一棵树。
所以我们应该做的是,我们需要从树中检索每个分支;
SoapObject response = (SoapObject)responseReturned.getProperty("diffgram");
response = (SoapObject)response.getProperty("NewDataSet");
SoapObject result = (SoapObject)response.getProperty(rowIndex); //this is start of the table. Needs to be looped row per row
txtName.setText(result.getProperty(colIndex).toString().trim()); //this is where you get the value from each column.
我是 android 的新手,我一直在研究如何将 soap webservice 的响应放入 gridview。我已经成功地使用了 asynctask 并且还使用了内部存储来制作类似会话的方法来防止重复登录,但令人惊讶的是当数据响应显示在日志中时,它是这样的:
anyType{schema=anyType{element=anyType{complexType=anyType{choice=anyType{element=anyType{complexType=anyType{sequence=anyType{element=anyType{}》;元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{};元素=任何类型{}; }; }; }; }; }; }; }; diffgram=anyType{NewDataSet=anyType{Table=anyType{itemid=155;用户代码=CSSCWT ;名称=CSSCWT;等级=3;密码=4664538057732345268530826668298694488379 ;电子邮件=;暂停=假;系统用户=真;部门代码=JMB; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=任意类型{itemid=151;用户代码=CSSTKS ; name=TAN KIM SIN ;等级=3;密码=15526725128958598368602650;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=anyType{itemid=156;用户代码=CSSMEL ;名称=CSSMEL ;等级=3;密码=24554526638351588705641272148333949942249;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=anyType{itemid=158;用户代码=CSSWYL ;名字=CSSWYL ;等级=3;密码=13215756980269776576 ;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=任意类型{itemid=167;用户代码=CSSRAY ;名称=CSSRAY;等级=3;密码=24554526928351758705991272155333956942257 ;电子邮件=;暂停=假;系统用户=真;部门代码=; post艺术页=假; ldap用户代码=; popagesize=20;毛孔清新剂=5; podatesequence=1;手机号=; pooldmessagedisplay=7; }; Table=任意类型{itemid=168;用户代码=CINDYLIM ;名字=CINDYLIM ;等级=2;密码=456235079768049738389084786769055893663763886739827878
我之前也尝试过将 gridview 与示例一起使用,但它是在 C# 中,这是使用 java 创建的,我找不到任何方法 putting/formatting 这种肥皂响应进入 gridview。即使不能,我也希望得到一个非常简短的例子来解释如何做,我会尽力去做。或者,如果有人发现我忽略的非常有用的 link,请在此处执行 post。
另外请记住,创建的网络服务仅要求服务器名、数据库和 mssql 命令字符串。任何帮助,将不胜感激。谢谢!
找到方法了。基本上您只需要获取每个 soapobjects 的属性,因为返回的 json 数据就像一棵树。
所以我们应该做的是,我们需要从树中检索每个分支;
SoapObject response = (SoapObject)responseReturned.getProperty("diffgram");
response = (SoapObject)response.getProperty("NewDataSet");
SoapObject result = (SoapObject)response.getProperty(rowIndex); //this is start of the table. Needs to be looped row per row
txtName.setText(result.getProperty(colIndex).toString().trim()); //this is where you get the value from each column.