📝안드로이드 네트워크 통신 발리 라이브러리 사용하기
※ 공식홈페이지 확인(https://developer.android.com/training/volley)
우선 라이브러리를 사용하기위해 임포트 해준다
build.gradle파일의 dependencies에 아래 코드 입력 (공식 홈페이지에서 깃허브에 있는 버전 확인해서 사용하기)
implementation 'com.android.volley:volley:1.2.1'
실행할 액티비티로 돌아와 아래 코드처럼 입력해 사용해준다
// Volley로 네트워크 통신
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
// 요청해서 받아오는 정보가 제이슨객체{}이므로 JsonObjectRequest로 받아온다
// [] 이면 JsonArrayRequest로 받아온다
JsonObjectRequest request = new JsonObjectRequest(
// 가져올 방식
Request.Method.GET,
// URL은 많이 사용하니 상수처리해서 사용한다
URL + "/posts/1",
// 보낼 데이터가 없으니 널
null,
// 성공했을때 받아온 데이터 처리하기
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.i("NETWORK_APP", response.toString());
// response에 데이터가 있으니 이 데이터를 Parsing 한다
try {
int userId = response.getInt("userId");
int id = response.getInt("id");
String title = response.getString("title");
String body = response.getString("body");
// 문제가 없다면 화면에 셋팅
// 화면 셋팅을 try 밖에서 할 경우 변수처리도 try 밖에서 해야한다
txtUserId.setText(userId+"");
txtId.setText(id+"");
txtTitle.setText(title);
txtBody.setText(body);
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(MainActivity.this,"파싱에러",Toast.LENGTH_SHORT).show();
return;
}
}
},
// 에러났을때 처리
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}
);
// 이 코드가 있어야 네트워크를 실행한다
queue.add(request);
'Android Studio' 카테고리의 다른 글
[Android Studio] ActionBar 아이콘 추가하기(Menu 사용하기) (0) | 2023.02.06 |
---|---|
[Android Studio] Json 데이터 파싱하기(+JsonArray를 RecyclerView로 처리하기) (0) | 2023.02.03 |
[Android Studio] 안드로이드 네트워크 통신을 위해 앱의 권한 설정하기(+에뮬레이터용 네트워크 통신) (0) | 2023.02.03 |
[Android Studio] xml 화면구성 visibility로 아이콘 숨기기 (0) | 2023.02.03 |
[Android Studio] EditText TextWatcher 사용하기 (0) | 2023.02.03 |
댓글