如何为我们的网站创建休息api,我想用我的android应用程序使用休息api连接服务器。如何连接这些休息api与我的android应用程序,这些背后的方式是什么。如何创建Rest api,以及如何使用android应用程序来使用其余api
1
A
回答
1
在这里,你有一个很好的REST API,与基本做HTTP POST和GET:
public class RestClient {
private ArrayList<NameValuePair> params;
private ArrayList<NameValuePair> headers;
private String url;
private String response;
private int responseCode;
public String GetResponse()
{
return response;
}
public int GetResponseCode()
{
return responseCode;
}
public RestClient(String url)
{
this.url = url;
params = new ArrayList<NameValuePair>();
headers = new ArrayList<NameValuePair>();
}
public void AddParam(String name, String value)
{
params.add(new BasicNameValuePair(name, value));
}
public void AddHeader(String name, String value)
{
headers.add(new BasicNameValuePair(name, value));
}
public void Execute(RequestType requestType) throws Exception
{
switch(requestType)
{
case GET:
{
String combinedParams = "";
if (!params.isEmpty())
{
combinedParams += "?";
for (NameValuePair p : params)
{
String paramString = p.getName() + "=" + URLEncoder.encode(p.getValue(),"UTF-8");
if (combinedParams.length() > 1)
combinedParams += "&" + paramString;
else
combinedParams += paramString;
}
}
HttpGet request = new HttpGet(url + combinedParams);
for (NameValuePair h: headers)
request.addHeader(h.getName(),h.getValue());
ExecuteRequest(request, url);
break;
}
case POST:
{
HttpPost request = new HttpPost(url);
for (NameValuePair h : headers)
{
request.addHeader(h.getName(), h.getValue());
}
if(!params.isEmpty()){
request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
}
ExecuteRequest(request, url);
break;
}
}
}
public void ExecuteRequest(HttpUriRequest request, String url)
{
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse;
try
{
httpResponse = client.execute(request);
responseCode = httpResponse.getStatusLine().getStatusCode();
HttpEntity entity = httpResponse.getEntity();
if (entity != null)
{
InputStream in = entity.getContent();
response = ConvertStreamToString(in);
in.close();
}
}
catch (ClientProtocolException e) {
client.getConnectionManager().shutdown();
e.printStackTrace();
} catch (IOException e) {
Log.e("REST_CLIENT", "Execute Request: " + e.getMessage());
client.getConnectionManager().shutdown();
e.printStackTrace();
}
}
private String ConvertStreamToString(InputStream in)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder sb = new StringBuilder();
String line = null;
try
{
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
in.close();
}
catch (IOException e)
{
Log.e("REST_CLIENT", "ConvertStreamToString: " + e.getMessage());
e.printStackTrace();
}
}
return sb.toString();
}
}
+0
谢谢老兄,但我是休息的初学者,你可以给我一些链接,我必须开始学习创建REST,@丹尼尔 – 2013-04-20 05:40:46
+0
只是谷歌它,并没有结婚的Android进行搜索时,因为休息来了很多之前比Android – Daniel 2013-04-20 05:43:56
+0
伙计我搜索很多,但我没有得到正确的解决方案,以了解起始水平休息,如果你知道。让我@丹尼尔 – 2013-04-20 05:53:08
相关问题
- 1. 如何使用Django REST API创建Android应用程序
- 2. 如何使用magento soap或rest API创建phonegap应用程序
- 3. 如何使用Android REST api
- 4. 如何使用电报API创建一个Android应用程序?
- 5. 如何使用nodejs创建POST rest api?
- 6. 如何使用REST API在android应用程序中实现dropbox
- 7. 如何注册应用程序以使用Office 365 Outlook REST API?
- 8. 如何使用vue.js和wp rest API来渲染WordPress的其余api数据
- 9. 如何使REST API被注册的应用程序使用
- 10. Kapacitor如何通过其余api使用模板创建任务?
- 11. 我可以使用ammap api来构建android应用程序
- 12. 如何为Ruby应用程序创建REST API?
- 13. 如何使用API创建quickblox应用程序?
- 14. 如何使用流畅API创建Azure AD应用程序?
- 15. 如何使用HTML5 WebSocket API创建Spring WebSocket应用程序?
- 16. 在Python中使用Parse.com REST API创建应用程序
- 17. 使用REST API在Openshift上创建应用程序
- 18. O365创建使用REST API
- 19. 使用PHP创建REST API
- 20. 如何以及在何处使用Firebase实现REST API
- 21. 如何从离子应用程序中使用REST API
- 22. 如何在Rails 3.1应用程序中使用REST API?
- 23. 如何使用rest api在Bonita BPM上创建扩展api
- 24. 如何使用内部API或隐藏的API来开发android应用程序?
- 25. 如何使用REST API
- 26. Silverlight:如何使用REST API?
- 27. 如何使用REST API
- 28. 如何使用Magento Rest API
- 29. 如何使用TFS REST API
- 30. 如何使用REST API
有很多教程在互联网上公布。请搜索。我们不是导师。 – 2013-04-20 05:33:26
其实我花了很多的东西,我没有得到适当的,如果你知道请帮助我。@ SankarV – 2013-04-20 05:34:45