ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OkHttp 접속 전송 RestfulApi
    Search: Android Android 2022. 8. 8. 13:44

    android 환경에서 웹서버와 http 접속 전송 등 처리하는 OkHttp

     

    http://square.github.io/okhttp/

     

    사용준비

    AndroidManifest.xml

    <uses-permission android:name="android.permission.INTERNET"/>
    android:usesCleartextTraffic="true"

    build.gradle

    implementation 'com.squareup.okhttp3:okhttp:4.10.0'

     

    코드

    package com.example.okhttpex1;public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
    		// ...
            
            try {
                run();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
    
        }
    
    
        void run() throws IOException {
    
            OkHttpClient client = new OkHttpClient();
    
            Request request = new Request.Builder()
                    .url("https://google.com")
                    //.get()
                    .build();
    
            qv("enqueue");
    
            client.newCall(request).enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                    MainActivity.this.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            qv("fail ec: " + e.toString());
                        }
                    });
                    call.cancel();
                }
    
                @Override
                public void onResponse(Call call, Response response) throws IOException {
                    MainActivity.this.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            qv("onresponse");
                        }
                    });
    
                    final String myResponse = response.body().string();
    
                    MainActivity.this.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            qv(myResponse);
                        }
                    });
    
                }
            });
        }
    
        public void qv(String s1) {
            TextView tv = (TextView)findViewById(R.id.tv1);
            tv.setText(tv.getText() + "\n" + s1);
        }
    }

     

    결과

    암호: infos

    OkhttpEx1.7z
    0.09MB

    'Android' 카테고리의 다른 글

    Http 파일 전송(Multipart)과 File Explorer  (0) 2022.08.13
    OkHttp 파일 전송(Multipart)  (0) 2022.08.08
    Android 권한 요청 하기  (0) 2022.08.08
    usesCleartextTraffic  (0) 2022.08.08
    File 선택 화면 (deprecated startActivityForResult)  (0) 2022.08.07
    File 선택 화면  (0) 2022.08.07
    RxAndroid  (0) 2022.08.05
    설치된 앱 목록 얻기  (0) 2022.08.02

    댓글