Programming/android2020. 6. 10. 20:22

말은 거창한데 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();

 

[링크 : https://calvinjmkim.tistory.com/16]

'Programming > android' 카테고리의 다른 글

핸드폰으로 만든 앱 올리기  (0) 2020.06.17
안드로이드 문자열 (string.xml)  (0) 2020.06.11
안드로이드 HTTP를 이용한 REST API 호출  (0) 2020.06.10
retrofit 어렵네..  (0) 2020.06.09
Android Logcat  (0) 2020.06.09
안드로이드 could not find method  (0) 2020.06.07
Posted by 구차니

댓글을 달아 주세요