-
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
'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