📝네트워크로 정보 가져올때 프로그래스바 사용하기
네트워크를 가져오는 동안 로딩중같은 동그란 표시를 나타내기 위해 ProgressBar를 추가했다
프로그래스바 만들때 visibility을 gone으로 설정한다
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:indeterminateTint="#3F51B5"
android:visibility="gone" />
아래코드처럼 네트워크를 호출할때 progressBar.setVisibility(View.VISIBLE);으로 입력해 progressBar를 보이게하고,
네트워크로부터 데이터를 가져왔을때와 가져오지못해 에러가 발생했을때 부분에
progressBar.setVisibility(View.GONE);으로 입력해 progressBar를 보이지 않게 한다
// 네트워크 통신해서 데이터 가져오기
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
JsonObjectRequest request = new JsonObjectRequest(
Request.Method.GET, URL + "/posting.json", null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
progressBar.setVisibility(View.GONE);
// 리스트 데이터 가져오기
try {
JSONArray responseData = response.getJSONArray("data");
for ( int i = 0; i < responseData.length(); i++ ) {
JSONObject data = responseData.getJSONObject(i);
int userId = data.getInt("userId");
int id = data.getInt("id");
String title = data.getString("title");
String body = data.getString("body");
Posting posting = new Posting(userId, id, title, body);
postingList.add(posting);
}
} catch (JSONException e) {
return;
}
adapter = new PostAdapter(MainActivity.this, postingList);
recyclerView.setAdapter(adapter);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressBar.setVisibility(View.GONE);
}
}
);
// 네트워크 호출할때 프로그래스바 보이게한다
progressBar.setVisibility(View.VISIBLE);
queue.add(request);
'Android Studio' 카테고리의 다른 글
[Android Studio] 이미지 로딩하기 위한 Glide 라이브러리 사용하기 (0) | 2023.02.07 |
---|---|
[Android Studio] ActionBar 백버튼(←) 생성하기 (0) | 2023.02.07 |
[Android Studio] Floating Action Button 사용하기 (0) | 2023.02.06 |
[Android Studio] ActionBar 아이콘 추가하기(Menu 사용하기) (0) | 2023.02.06 |
[Android Studio] Json 데이터 파싱하기(+JsonArray를 RecyclerView로 처리하기) (0) | 2023.02.03 |
댓글