我正在开发客户端 - 服务器应用程序。服务器端是asp.net web api。我做了简单的web api应用程序和简单的android客户端。当我设置web api时,它有效。我得到了json。但我如何从我的clietn应用程序中获取数据?我连接了我的Android设备并试图通过我的网络API从WI-FI获取数据。对于web api,我创建了一个seld hosting。
protected Boolean doInBackground(String... urls) {
BufferedReader in = null;
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://124.18.240.169:3890/api/values/1/");
HttpResponse response = client.execute(request);
in = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
String page = sb.toString();
System.out.println(page);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return true;
}
这是我的网络API static void Main(string [] args) {
var config = new HttpSelfHostConfiguration("http://124.18.240.169:3890");
config.Routes.MapHttpRoute(
"API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
using (HttpSelfHostServer server = new HttpSelfHostServer(config))
{
server.OpenAsync().Wait();
Console.WriteLine("Press Enter to quit.");
Console.ReadLine();
}
}
where
124.18.240.160 is my IP whcih i found in ipconfig. What I should to do (I tried to do like
http://localhost) but it not wrok for Android app
答案 0 :(得分:0)
您应该考虑使用库来帮助处理异步回调。这对此非常有帮助。
这是我经常使用的那个:
<强> LoopJ's Async HTTP Callback Library 强>
这将处理GET和POST请求,具有许多很酷的功能,如自定义超时,JSON格式,onSuccess()和onFailure()方法等。这个库也有很多工作示例。我已经在我的所有应用程序中使用它并且还没有任何问题!
希望这有帮助。