簡體   English   中英

如何通過從Android中的JSON中的ASP Web服務檢索數據來顯示自定義列表視圖

[英]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平台開發應用程序,則可以遵循以下建議。

  1. 要從ASP Web服務檢索數據,請使用“ Ksoap2”庫。 它是用於android本機應用程序開發中的SOAP Web服務客戶端庫。

  2. 然后要解析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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM