말은 거창한데 Retrofit2 사용하려다가 (못해먹겠어서)
간단하게 부르기만 하고
JSON 결과받아오지 않기 때문에 파싱을 하지 않아도 되기 때문에
wget이나 curl 처럼 단순하게 호출만 하는 녀석을 찾아 봄
AsyncTask 라는걸 쓰니 간단하게 구현이 가능하다.
import android.os.AsyncTask;
import android.util.Log;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class RestAPITask extends AsyncTask {
// Variable to store url
protected String mURL;
// Constructor
public RestAPITask(String url) {
mURL = url;
}
// Background work
@Override
protected Object doInBackground(Object[] objects) {
String result = null;
try {
// Open the connection
URL url = new URL(mURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
InputStream is = conn.getInputStream();
// Get the stream
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF_8"));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
// Set the result
result = builder.toString();
}
catch (Exception e) {
// Error calling the rest api
Log.e("REST_API", "GET method failed: " + e.getMessage());
e.printStackTrace();
}
return null;
}
}
아래는 호출하는 쪽. 경고가 발생하는데 일단 무시중
new RestAPITask("http://192.168.219.201:3000/api/ws").execute();
'Programming > android' 카테고리의 다른 글
핸드폰으로 만든 앱 올리기 (0) | 2020.06.17 |
---|---|
안드로이드 문자열 (string.xml) (0) | 2020.06.11 |
retrofit 어렵네.. (0) | 2020.06.09 |
Android Logcat (0) | 2020.06.09 |
안드로이드 could not find method (0) | 2020.06.07 |