안드로이드 Volley를 이용하여 데이터 가져오기
Importing data with Android Volley
안드로이드도 웹에서 데이터를 가져와야 하는데 대부분 Json을 통하여 데이터를 가져온다...아마도?
아무튼 이 때 많은 라이브러리중 나는 Volley를 이용하여 데이터를 가져왔다.
Volley는 구글에서 어떤 회사를 인수하면서...만든 라이브러리라고 어디서 본거 같은데 역사는 중요치 않다.
아무튼 요즘에는 RetroFit인가를 많이 사용한다고 하는데 이건 아직 사용해보지 않았다.
Android also needs to get data from the Web, but most of them get it through Jason...Maybe?
Anyway, out of many libraries, I used Volley to bring the data.
Volley took over a company from Google...History is not important, as I think I saw it somewhere.
Anyway, I heard that you use retroFit a lot these days. I haven't used this yet.
Importing data with Android Volley
Volley를 사용하려면 일단 Volley 라이브러리를 추가시켜주어야 한다.
To use Volley, you must add the Volley library first.
<uses-permission android:name="android.permission.INTERNET"/>
인터넷을 사용해야 하기 때문에 매니페스트에 INTERNET 권한을 등록시켜주어야 한다.
Because you need to use the Internet, you need to register the INTERNET authority in the manifest.
public void VolleyTest() {
String url = "url here";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//Log.d("test", response.toString());
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray arrayTest = jsonObject.getJSONArray("result");
movie_List = new ArrayList<>();
Movie_List_Fragement1 fragement1;
for (int i = 0, j = arrayTest.length(); i < j; i++) {
JSONObject obj = arrayMovie.getJSONObject(i);
movieListDTO = new MovieListDTO();
movieListDTO.setReservation_grade((obj.getString("reservation_grade")));
movie_List.add(movieListDTO);
fragement1 = new Movie_List_Fragement1(movieListDTO);
adapter.addItem(fragement1);
}
movie_Pager.setAdapter(adapter);
} catch (Exception e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("test", error.toString(), error);
}
});
queue.add(stringRequest);
}
위 코드는 내가 공부용으로 영화 API를 이용해서 공부한건데, 크게 다르지 않다고 생각된다.
일단 여기서 Volley를 이용하면 해당 url에 요청을 하는데 요청된 데이터를 가져오기만 하면 된다.
Volley에 많은 기능이 있을지도 모르지만 나는 그저 요청의 용도로만 사용했다.
DTO나 JSon은 여기서 신경 안써도 된다. 일단은 Volley가 주인공이기 때문에
로그로 response를 가져오는지 확인을 하면 된다.
일단 Volley를 이용하면 error이 아닌 제대로된 response만 보여지면 된다.
거기서 Json을 이용하여 데이터를 가져오기만 하면 된다.
사실 Volley보다 JSon이 더 중요해보인다.
The above code is that I studied using movie API for study, but I think it is not much different.
Once you use Volley here, you only need to import the requested data to make a request to the url.
There may be a lot of features in Volley, but I just used them for requests.
DTO or JSon don't have to care here. First of all, since she's the main character,
You can check to see if you are importing response into the log.
Once you use Volley, you only need to see a proper response, not an error.
All you have to do is use Jason to get the data from there.
In fact, JSon seems more important than Volley.