Android_Volley
Volley 이용하여 네트워크 통신해보기
네트워크 통신 - Client/Server
- 요청 기술
Volley
-
동작원리
-
사용방법
-
Manifest에 아래와 같은 캐그로 Internet권한을 설정한다.
-
gradle의 dependencies에 라이브러리를 추가한다.
-
-
소스 적용시키기
-
전체소스
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 { Button btnRequest; TextView tvResult; EditText edtURL; RequestQueue queue; StringRequest request; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edtURL = findViewById(R.id.editURL); tvResult = findViewById(R.id.tvResult); btnRequest = findViewById(R.id.btnRequest); queue = Volley.newRequestQueue(MainActivity.this); btnRequest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String URL = "https://" + edtURL.getText().toString(); request = new StringRequest( Request.Method.GET, URL, new Response.Listener<String>() { @Override public void onResponse(String response) { tvResult.setText(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_SHORT).show(); } } ); queue.add(request); } }); } }
-
-
소스 해석
-
요청과 응답에 대한 객체 선언
RequestQueue queue; StringRequest request;
- RequestQueue : Request 객체를 서버로 요청 보내는 역할
- StringRequest : 요청과 응답에 대한 결과를 문자열로 받는 객체
-
StringRequest 객체 생성 및 초기화
request = new StringRequest( Request.Method.GET, URL, new Response.Listener<String>() { @Override public void onResponse(String response) { tvResult.setText(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_SHORT).show(); } } );
-
new StringRequest(데이터전송방식, 요청주소, 응답리스너, 에러리스너)
-
데이터 전송방식 : GET or POST
-
요청주소 : 요청할 수조
ex)http:~ or https:~ -
응답 리스너 : 서버에서 응답이 왔을 때 실행하는 리스너
public void onResponse(String response) { tvResult.setText(response); }
긍정적인 응답이 왔을 경우 실행시킬 내용을 추가하면 된다.
-
오류 리스너 : 요청 or 응답에서 오류가 발생했을 때 실행하는 리스너
public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_SHORT).show(); }
부정적인 응답이 왔을 경우 실행시킬 내용을 추가하면 된다.
-
-
서버에 요청을 보내는 메소드
queue.add(request);
-
-
실행화면
Author And Source
이 문제에 관하여(Android_Volley), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dfdf/Android-dm3yt8oh저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)