2011-02-15 55 views
2

我有一個asp.net MVC 2.0應用程序。如果我想要走這條路,我也有一個WFC服務。但我並不特別喜歡在Java中解析xml。 (我大約7年沒有在Java中工作過)。這是我第一次使用eclipse,所以請向我解釋一些東西,比如我的android/java noob。用json連接Android到ASP.NET MVC

經過一番研究,我認爲我想用我的MVC網站作爲一種寧靜的服務,在android和服務器之間來回傳遞json。我懂得繞道的Json出控制器:

public ActionResult SomeActionMethod() 
{ 
    return Json(new {foo="bar", hello="World"}); 
} 

如何去連接到該服務,然後我的Android應用程序中翻譯成JSON對象?

回答

2

在高層使用HttpClient從RESTful服務獲取數據並使用JSONObject解析響應。當你得到一些代碼在一起,如果你卡住,我們可以幫助你更多

1

爲了翻譯JSON對象我個人使用傑克遜分析器。在這裏獲取.jar lib:http://jackson.codehaus.org/1.7.3/jackson-all-1.7.3.jar

這裏是我如何使用它的一個例子(有很多的可能請你更多不同的方式查看傑克遜的網站了解更多信息。):

 JsonNode userData = null; 
     ObjectMapper mapper = new ObjectMapper(); 
     try { 
      userData = mapper.readValue(res.getEntity().getContent(), JsonNode.class); 
      String name = (String)userData.get("name").getTextValue(); 
     } catch (Exception e) { 
      alert(R.string.errorGeneral); 
      e.printStackTrace(); 
      return; 
     } 

至於HTTP客戶端即可爲此

HttpResponse res; 
     DefaultHttpClient httpclient = new DefaultHttpClient(); 
     try{ 
      HttpGet get = new HttpGet(URI.create("http://yourlink")); 
      res = httpclient.execute(get); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
1

Android有JSON解析器建立在其SDK - 包是org.json

除了這個,你可以使用庫像GSON包裝了JSON解析簡單到u se API。以下是與WCF相同的簡短教程:Gson example/tutorial

希望以上信息對您的上下文有用。

除此之外,我想提一下關於您決定繼續使用Android本機應用程序和WCF Json服務的簡單意見。如果你發現處理Android開發有點麻煩 - 如果你對.NET MVC和ASP.NET感到滿意,那麼你應該看看像Sencha Touch這樣的框架 - Snecha Touch URL

Sencha Touch是一個JavaScript框架,可以通過您的ASPX頁面 - 該框架生成的外觀與Android和iPhone本機外觀類似。您可以嘗試使用設備上的示例。這將使您可以節省學習新語言和API sdk的工作量,並且可以靈活地使用JavaScript框架(其中JSON支持是本地的)來使用RESTful服務。

這是在我看來 - 我沒有意識到上下文,你會在選擇平臺時最好的評判。

+0

這不是很麻煩,它只是新的。 Java並不是新事物,但它已經很長時間了。我查看了Snecha的東西,無法讓演示在我的手機上的任何瀏覽器中運行,而且這些代價對我們正在做的事情有點過分。 (還是)感謝你的建議。 – Josh 2011-02-15 19:11:21