我要开发一个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