<Volley>
- Volley는 Android 앱의 네트워킹을 더 쉽고, 무엇보다도 더 빠르게 하는 HTTP 라이브러리
<Volley 동작원리>
<Volley 동작순서>
<Volley 실습 - 간단한 요청/응답>
<MainActivity>
package com.example.ex_0715;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
public class MainActivity extends AppCompatActivity {
EditText txt_url;
Button btn_req;
TextView txt_result;
// Volley 사용시 꼭 필요한 객체 선언!
RequestQueue requestQueue; // 요청을 서버에 전달(보내주는) 기능
StringRequest request; // 요청과 응답에 대한 정보를 담는 기능
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt_url = findViewById(R.id.txt_url);
btn_req = findViewById(R.id.btn_req);
txt_result = findViewById(R.id.txt_result);
// requestQueue 객체 초기화 하기!
requestQueue = Volley.newRequestQueue(MainActivity.this);
btn_req.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 요청하고자 하는 url 주소 가져오기
String url = txt_url.getText().toString();
// 1. 전송방식 -> GET/POST
// 2. 요청할 주소
// 3. 응답에 성공시 수행할 로직을 작성
// 4. 응답 실패시 수행할 로직 잘성
request = new StringRequest(
Request.Method.GET,
url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// 응답 성공시 진행할 로직 작성
txt_result.setText(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// 응답 실패시 진행할 로직 작성
Toast.makeText(getApplicationContext(),
error.toString(),
Toast.LENGTH_SHORT).show();
}
}
);
// 서버에 전달하기 위한 작업 ★★★
requestQueue.add(request);
}
});
}
}
<AndroidManifest.xml>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.ex_0715">
<!-- Volley 사용시 필요한 인터넷 권한 지정하기 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- url의 주소가 http / https -->
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Ex_0715"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
'안드로이드' 카테고리의 다른 글
Thread란? (0) | 2022.07.19 |
---|---|
안드로이드-이클립스 서버 통신 (0) | 2022.07.15 |
Adapter View (0) | 2022.07.14 |
데이터 나열 및 삭제 (0) | 2022.07.13 |
Adapter View (0) | 2022.07.13 |