我要開發一個Android應用程序,我以前做過幾次,但現在的技巧是我需要訪問數據庫(不是設備中的sqllite)。我們之前完成了一個網站,其中包含我需要的所有功能。所以我的想法是使用該網站(MVC3)從數據庫獲取信息,並從App發送信息到數據庫。 你們有我的一些想法如何編碼?我需要的是從網站接收數據到應用程序與Json或Gson我猜,那麼我需要從應用程序發佈一些數據到控制器,不知道如果我需要使用網址參數,或者如果我可以使用Jsom這樣呢?從Android應用程序獲取/發佈數據到MVC3網站和視圖
1
A
回答
1
要發送在ASP.NET控制器中的json對象,如: {「name」:「foo」,「age」:5}
控制器的代碼可能是這樣的:
[HttpPost]
public JsonResult MyAction(UserViewModel UserModel)
{
/* do something with your usermodel object */
UserModel.Name = "foo";
UserModel.Age = 5;
return Json(UserModel, JsonRequestBehavior.AllowGet);
}
編輯: 在Android方面,在這裏它是發送請求和接收響應的方法:
public void GetDataFromServer() {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("data_1", "data"));
nameValuePairs.add(new BasicNameValuePair("data_n", "data"));
try {
HttpPost httppost = new HttpPost("http://path_to_the_controller_on_server");
String result = RetrieveDataFromHttpRequest(httppost,nameValuePairs);
// parse json data
JSONObject jObjRoot = new JSONObject(result);
String objName = jObjRoot.getString("Name");
String objName = jObjRoot.getString("Age");
} catch (JSONException e) {
Log.e(TAG, "Error parsing data " + e.toString());
}
}
private String RetrieveDataFromHttpRequest(HttpPost httppost, ArrayList<NameValuePair> nameValuePairs) {
StringBuilder sb = new StringBuilder();
try {
HttpClient httpclient = new DefaultHttpClient();
if (nameValuePairs != null)
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
// convert response to string
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"));
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}
1
您可以使用JSON請求。 ASP.NET MVC 3有一個內置的JsonValueProvider,它允許將JSON請求反序列化爲強類型的視圖模型。例如,讓我們假設你有以下型號:
public class MyViewModel
{
public string Name { get; set; }
public int Age { get; set; }
}
和下面的控制器操作:
[HttpPost]
public ActionResult MyAction(MyViewModel model)
{
...
}
你可以在以下POST
請求發送給它:
POST /mycontroller/myaction
Content-Length: 22
Content-Type: application/json; charset=UTF-8
Host: www.example.com
{"name":"foo","age":5}
相關問題
- 1. android.os.NetworkOnMainThreadException從Android應用程序發佈數據到網站
- 2. 從網站獲取數據Api到Android應用程序
- 3. 如何從網站發送svg數據到android應用程序
- 4. 在從Android應用程序發佈數據到網站的問題
- 5. 如何從Android應用程序接收數據並將其發佈到網站
- 6. 從應用程序獲取Firebase數據到網站?
- 7. 從網站獲取數據到iPhone應用程序
- 8. 如何從網絡獲取數據到android應用程序?
- 9. Android:從webview網站發送圖像URI到應用程序
- 10. android應用程序如何從基於Django的網站獲取視圖和查詢數據庫?
- 11. 在Android應用程序上獲取網站數據
- 12. Android應用程序從SQL Server獲取和發佈數據(安全問題)
- 13. 從網站提取Android應用程序的數據
- 14. 從需要發佈數據的網站獲取數據
- 15. 將數據從iOS應用程序發送到HTML5網站
- 16. 從網站發送數據到Windows應用程序
- 17. 從php網站檢索數據到Android應用程序
- 18. 將表單數據從ASP.Net網站發佈到MVC Web應用程序
- 19. 如何在asp.net mvc3應用程序中獲取網址數據?
- 20. 通過網站發佈應用程序...?
- 21. 從C#Windows應用程序發佈到ASP MVC 4網站
- 22. 從一個網站獲取數據到一個表視圖
- 23. 發佈ASP.NET MVC3網站
- 24. 從Android應用程序發佈數據到PHP Web服務
- 25. 將數據從Android應用程序發佈到PHP頁面
- 26. 從Android應用程序發佈數據到PHP腳本
- 27. Android:通過應用程序發佈數據到一個網站,並在應用程序中查看結果
- 28. 數據庫和應用程序+網站
- 29. android應用程序如何從網絡獲取數據?
- 30. 從Android應用程序獲取網頁上的POST數據?
你如何然後調用這個方法來獲取從mvc控制器到java的信息 - Eclipse? (在代碼中) – 2012-06-08 08:48:20
看看我的消息編輯 – superbre 2012-06-08 21:16:47
謝謝你!得到它的工作,有沒有一種方法來編碼結果?例如:即時通過ÅÄÖ的值,但出來像一些奇怪的字符.., – 2012-06-23 16:23:42