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
retrofit 어렵네..  (0) 2020.06.09
Android Logcat  (0) 2020.06.09
안드로이드 could not find method  (0) 2020.06.07
Posted by 구차니