json을 통해 백엔드 서버 데이터 가져오기
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.protocol.HTTP;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
public class NetworkConnect {
// URL
private String base_url = "http://10.1.1.1:8080/Service/";
private static final String TAG = "API";
// object
public JSONObject getJSONObject(String function,
List<NameValuePair> nameValuePairs) {
JSONObject json = null;
String resultStr = getRequest(base_url + function, nameValuePairs);
if (resultStr == "" || resultStr == null) {
return null;
}
try {
json = new JSONObject(resultStr);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return json;
}
protected String getRequest(String url, List<NameValuePair> nameValuePairs) {
String result = "";
int statusCode = 0;
BasicHttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 3000);
HttpConnectionParams.setSoTimeout(httpParams, 3000);
HttpClient client = new DefaultHttpClient(httpParams);
HttpPost getMethod = new HttpPost(url);
try {
getMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Log.d(TAG, "do the getRequest,url=" + url + "");
try {
HttpResponse httpResponse = client.execute(getMethod);
// statusCode == 200
statusCode = httpResponse.getStatusLine().getStatusCode();
Log.d(TAG, "statuscode = " + statusCode);
// httpResponse
result = retrieveInputStream(httpResponse.getEntity());
} catch (Exception e) {
Log.e(TAG, e.getMessage());
} finally {
getMethod.abort();
}
return result;
}
protected String retrieveInputStream(HttpEntity httpEntity) {
int length = (int) httpEntity.getContentLength();
if (length < 0)
length = 10000;
StringBuffer stringBuffer = new StringBuffer(length);
try {
InputStreamReader inputStreamReader = new InputStreamReader(
httpEntity.getContent(), HTTP.UTF_8);
char buffer[] = new char[length];
int count;
while ((count = inputStreamReader.read(buffer, 0, length - 1)) > 0) {
stringBuffer.append(buffer, 0, count);
}
} catch (Exception e) {
}
return stringBuffer.toString();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
캐디를 사용한 안전한 HTTP/3 실험저는 을 쓰고 있는데 사이트를 HTTP/3(QUIC 위에서 실행됨)로 사용할 수 있으면 좋겠다고 생각했습니다. 이것은 비교적 새로운 프로토콜이므로 몇 가지 친숙한 문제에 부딪혔습니다. 도구: 내가 사용하고 있는 웹 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.