[英]How to display a custom listview by retriving data from asp web service in json in android
我想在android中顯示自定義listview。
這是我的Web服務,用於使用產品排名來過濾產品。
public class Record
{
public string city { get; set; }
public string description { get; set; }
public string mobile { get; set; }
}
[WebMethod]
public string filter(int flt)
{
string cmdStr = "select * from add_product where prod_pos ='" + flt.ToString() + "'";
SqlDataReader rd = con.Getdata(cmdStr);
List<Record> records = new List<Record>();
while (rd.Read())
{
records.Add(new Record()
{
city = rd.GetString(1).ToString(),
description = rd.GetString(3).ToString(),
mobile = rd.GetString(5).ToString(),
});
}
var oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string sJSON = oSerializer.Serialize(records);
rd.Close();
return "data"+sJSON;
}
通過在服務器上發布Web服務來測試它時Web服務的輸出。當我們通過int flt =“ 5”時
<string>
data[
{"city":"Aurangabad","description":"desktops dell prize 3000","mobile":"9850888129"},
{"city":"Pune","description":"gg","mobile":"8600525858"}
]
</string>
以下是我的add_product表條目。
[id_prod data type int] // auto increment... primary key
[city data type varchar(50)]
[category data type varchar(50)]
[description data type varchar(MAx)]
[prod_pos data type int]
[mobile datatype varchar(20)]
[image datatype text]
提前致謝...
據我了解,您想通過在Listview中綁定JSON數據來顯示。.我假設您沒有在綁定Listview,這就是為什么您無法獲得顯示的原因
要將您的Json Data與List視圖綁定,您必須編寫一些類似於以下內容的腳本
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "YourPage.aspx/YourWebServiceName",
data: "{}",
dataType: "json",
success: function(data) {
for (var i = 0; i < data.d.length; i++) {
$("#<%= YourListViewID.ClientID %>").append("<tr><td>"
+ data.d[i].city+ "</td><td>"
+ data.d[i].description+ "</td><td>"
+ data.d[i].mobile+ "</td></tr>");
}
},
error: function(result) {
alert("Error");
}
});
});
</script>
如果您是使用android native平台開發應用程序,則可以遵循以下建議。
要從ASP Web服務檢索數據,請使用“ Ksoap2”庫。 它是用於android本機應用程序開發中的SOAP Web服務客戶端庫。
然后要解析json響應,請使用org.json。*包中的JSONArray和JSONObject類。
例如。 JSONArray jsArray =新的JSONArray(jsonResponse);
JSONObject jsRecObjt = null; List<Record> mRecodsLst = new ArrayList<Record>(); for (int i = 0; i < jsArray .length(); i++) {
jsRecObjt = jsArray.getJSONObject(i);
String city= jsRecObjt.getString("city"); String description = jsRecObjt.getString("description"); String mobile= jsRecObjt.getString("mobile"); Record rec = new Recode(); rec.setCity(); rec.setDesc(); rec.setMobile(); mRecodsLst.add(rec); }
然后將此記錄列表傳遞到自定義列表視圖以顯示它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.