나는 웹 서비스에 초보자입니다. 안드로이드에 웹 서비스 (REST)를 통합하고 싶습니다. 누구든지 좋은 자습서를 제안 할 수 있습니까? 당신에 refrence에 대한안드로이드에 RESTful 웹 서비스를 통합하는 방법
1
A
답변
4
무엇 백엔드
? JAVA 인 경우 REST with Java (JAX-RS) using Jersey을 사용할 수 있습니다.
Android 측에서는 this simple RestClient을 사용하여 해당 REST 서비스를 사용할 수 있습니다.
JSON <의 경우> 양면 개체 매핑 (Android, Java 백엔드)의 경우 GSON을 사용할 수 있습니다.
1
다른 링크 내가 HTTP POST를 위해 한 [[mkyong]1
샘플 코드 및 HTTP GET
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import android.os.AsyncTask;
import android.util.Log;
public class HttpConnectionHandler {
public static final String TAG = HttpConnectionHandler.class.getSimpleName();
private ServerRequestCommand requestCommand;
private HttpPost httpPost;
private HttpGet httpGet;
private HttpClient httpClient;
private HttpResponse httpResponse;
public HttpConnectionHandler(){
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 5000);
HttpConnectionParams.setSoTimeout(httpParameters, 5000);
this.httpClient = new DefaultHttpClient(httpParameters);
//this.httpClient = new DefaultHttpClient();
}
private void doNetworkConnection(){
new AsyncServerConnector().execute();
}
class AsyncServerConnector extends AsyncTask<String, String, String>{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... arg0) {
try {
if (Utility.isWifiPresent()
|| Utility.isMobileConnectionPresent()) {
//Establish network connection here and set the response to request; if successful
//check GET or POST
if(requestCommand.getPostData() != null){
//means its POST
httpResponse = httpClient.execute(prepareHttpPost());
}else{
//its GET method
httpResponse = httpClient.execute(prepareHttpGet());
}
if(httpResponse != null){
int statusCode = httpResponse.getStatusLine().getStatusCode();
if(statusCode == HttpStatus.SC_OK){
InputStream inputStream = httpResponse.getEntity().getContent();
String serverResponse = formatServerResponse(inputStream);
requestCommand.setServerResponse(serverResponse);
requestCommand.setState(RequestCommand.STATE_SUCCESS);
}else{
requestCommand.setState(RequestCommand.STATE_SERVER_FAILURE);
}
}else{
requestCommand.setState(RequestCommand.STATE_SERVER_FAILURE);
}
}
//No network
else{
requestCommand.setState(RequestCommand.STATE_NETWORK_FAILURE);
}
}
catch (IOException e) {
Log.i(TAG, "IOException during hitting for service: "+requestCommand.getServerUrl()+" and ID "+requestCommand.getRequestId());
requestCommand.setState(RequestCommand.STATE_SERVER_FAILURE);
}
catch (Exception e) {
Log.i(TAG, "Error during hitting for service: "+requestCommand.getServerUrl()+" and ID "+requestCommand.getRequestId());
requestCommand.setState(RequestCommand.STATE_SERVER_FAILURE);
}
return null;
}
protected void onPostExecute(String file_url) {
Log.i(TAG, "Get response for service: "+requestCommand.getServerUrl()+" and ID "+requestCommand.getRequestId());
NetworkHandler.receiveResponseFromServer(requestCommand);
requestCommand = null;
}
}
public HttpPost prepareHttpPost() throws UnsupportedEncodingException {
this.httpPost = new HttpPost("your url");
httpPost.setHeader("Content-Type", "application/json");
httpPost.setEntity(new ByteArrayEntity(requestCommand.getPostData()
.getBytes("UTF8")));
return httpPost;
}
public HttpGet prepareHttpGet() {
this.httpGet = new HttpGet(requestCommand.getServerUrl());
return httpGet;
}
private String formatServerResponse(InputStream inputStream) throws IOException {
String serverResponse = null;
StringBuffer responseBuffer = new StringBuffer();
byte[] data = new byte[256];
int len = 0;
int size = 0;
while (-1 != (len = inputStream.read(data))) {
responseBuffer.append(new String(data, 0, len, "UTF-8"));
size += len;
}
serverResponse = responseBuffer.toString();
return serverResponse;
}
}
+0
이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – eugen
관련 문제
- 1. 안드로이드에 Twilio를 통합하는 방법
- 2. Lotus Notes에서 RESTful 웹 서비스를 사용하는 방법
- 3. RESTful 웹 서비스를 원격으로 호출하는 방법
- 4. RESTful 웹 서비스를 구현하려면 어떻게해야합니까?
- 5. RESTful webservice를 php 및 ajax와 통합하는 방법
- 6. JAXRSClientFactory와 OpenAM RESTful 서비스를 통합하는 데 약간의 도움이 필요합니다.
- 7. TIBCO GI를 사용하여 RESTful 웹 서비스를 호출하는 방법은 무엇입니까?
- 8. 안드로이드 : 여러 알림 아이콘을 안드로이드에 통합하는 방법
- 9. 안드로이드에 Foxit PDF Reader를 통합하는 방법?
- 10. 통합하는 방법 안드로이드에 Azure 미디어 플레이어
- 11. POJO를 RESTful 웹 서비스를 사용하여 서버에 저장하기
- 12. WCF로 RESTful 웹 서비스를 사용하는 방법은 무엇입니까?
- 13. RESTful 웹 서비스를 가로 채기위한 도구
- 14. Spring에서 RestFul 웹 서비스를 만드는 방법은 무엇입니까?
- 15. RestFul 웹 서비스를 비동기식으로 호출하는 방법은 무엇입니까?
- 16. 는 POST와 RESTful 웹 서비스를 호출
- 17. SOAP 웹 서비스를 RESTful 호출처럼 호출하고 있습니까?
- 18. 페이팔 웹 서비스를 사용하여 iphone 앱에서 페이팔을 통합하는 방법
- 19. Struts 2와 함께 안정적인 웹 서비스를 통합하는 방법
- 20. RESTful 웹 서비스를 사용하여 계약 방식으로 코드 작성하는 방법
- 21. 잭슨과 JaxB 직렬화로 내 RESTful 웹 서비스를 설계하는 방법
- 22. .net 2.0에서 HTTP POST를 사용하여 RESTFul 웹 서비스를 사용하는 방법
- 23. 브라우저 기술을 사용하여 RESTful 웹 서비스를 사용하는 방법
- 24. 아이폰의 RESTful 웹 서비스
- 25. 컨트롤러에서 웹 서비스를 호출하는 방법?
- 26. 서비스를 사용하거나 안드로이드에
- 27. 안드로이드에 firebase 분석을 통합하는 방법은 무엇입니까?
- 28. 런타임시 웹 페이지와 RESTful 웹 서비스를 구별 할 수 있습니까?
- 29. 커스텀 서비스를 아파치 knox에 통합하는 방법 0.9.1
- 30. XSS 공격으로부터 RESTful 서비스를 막는 방법
PHP/.NET에서 웹 서비스를 개발하고 싶거나 Android에 통합하고 싶습니까? –
http://stackoverflow.com/tags/rest/info –
안녕하세요 Paresh Mayani, 답장을 보내 주셔서 감사합니다. 안드로이드에 RESTful 웹 서비스를 통합하고 싶습니다. –