我要開發一個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. 從網站獲取數據Api到Android應用程序
- 2. 如何從Android應用程序接收數據並將其發佈到網站
- 3. Android:從webview網站發送圖像URI到應用程序
- 4. 在Android應用程序上獲取網站數據
- 5. 從網站提取Android應用程序的數據
- 6. 將表單數據從ASP.Net網站發佈到MVC Web應用程序
- 7. 如何在asp.net mvc3應用程序中獲取網址數據?
- 8. 發佈ASP.NET MVC3網站
- 9. 將數據從Android應用程序發佈到PHP頁面
- 10. 從Android應用程序發佈數據到PHP腳本
- 11. Android:通過應用程序發佈數據到一個網站,並在應用程序中查看結果
- 12. 從Android應用程序獲取網頁上的POST數據?
- 13. android應用程序如何從網絡獲取數據?
- 14. Jsoup庫,試圖使一個Android應用程序,從HTML網站讀取數據
- 15. Android - 從網站獲取數據
- 16. 如何從沒有API的網站提取數據到Android應用程序?
- 17. 如何從網站發送信息到Android應用程序
- 18. 發佈網絡應用程序和網站
- 19. 發佈網站和網絡應用程序
- 20. Windows應用程序從包含XML數據的網站獲取XML數據
- 21. ASP.net mvc3從視圖獲取數據到控制器C#
- 22. 從網站加載圖像到Android應用程序
- 23. Android應用程序從第三方JSP和Servlet獲取數據
- 24. 網站是否必須發佈android應用程序?
- 25. 從example.wordpress.com獲取數據/帖子到Android應用程序
- 26. 如何發佈mvc3應用程序?
- 27. 獲取用於iPhone應用程序的Wordpress發佈數據
- 28. 從網站訪問android應用程序?
- 29. 從網站啓動Android應用程序
- 30. 從Android應用程序的網站拉數據
你如何然後調用這個方法來獲取從mvc控制器到java的信息 - Eclipse? (在代碼中) – 2012-06-08 08:48:20
看看我的消息編輯 – superbre 2012-06-08 21:16:47
謝謝你!得到它的工作,有沒有一種方法來編碼結果?例如:即時通過ÅÄÖ的值,但出來像一些奇怪的字符.., – 2012-06-23 16:23:42