Android volley library
description
Transcript of Android volley library
서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111 호 _ 070.7450.6572 _ [email protected]
AndroidVolley Library
Jellycoaster Inc.Dev.team
Volley Library 란 ?
Google 에서 제공하는 네트워크 라이브러리로써 ,
Google I/O 2013 에서 발표된 Session 내용 중
가장 좋은 반응을 받은 세션 중
하나라고 합니다 .
2013 Jellycoaster Inc. Dev.team
Volley Library 를 활용한 앱
2013 Jellycoaster Inc. Dev.team
play 스토어 인앱 결제
특징
* requestQueue 를 이용한 동시요청 처리
* 요청 우선순위 설정 가능
( A 요청이 B 요청보다 먼저 응답을 받아야 할 경우 )
* 요청 취소 가능
* JSON Object request, response 기능
* NetworkImageView 제공 ( imageView 에 바로 호출할 url 설정
)
* MemoryCache, diskcache 지원
2013 Jellycoaster Inc. Dev.team
초기화 & 호출
2013 Jellycoaster Inc. Dev.team
private RequestQueue mQueue;private ImageLoader mImageLoader;
mQueue = Volley.newRequestQueue(context);mImageLoader = new ImageLoader(mQueue, new BitmapCache());
ImageRequest imageRequest = new ImageRequest("http://...(URL)", listener, 0, 0, Config.ARGB_8888, error);mQueue.add(imageRequest);
ImageRequest 객체를 생성해서 RequestQueue 에 넣어준 후 ,호출할 url 은 ImageRequest 에 설정한 후 , 리턴은 설정한 listener 에서 받아 처리합니다 .
응답 받는 코드
2013 Jellycoaster Inc. Dev.team
ImageView imageView = (ImageView) findViewById(R.id.image_view);
Response.Listener<Bitmap> listener = new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap result) { // On success imageView.setImageBitmap(result); }};
성공적으로 리스너가 리턴받는 경우 위 코드처럼 ImageView 에 리턴받은 bitmap 을 설정할 수 있습니다 . ( 이 부분을 이용하여 리턴받은 bitmap 크기를 변경하거나 용량을 줄여 적용할 수 있습니다 . )
Get 방식 호출
2013 Jellycoaster Inc. Dev.team
Listener<String> listener = new Listener<String>() { @Override public void onResponse(String result) { // some action } };String uri = String.format("http://somesite.com/some.php", object);StringRequest myReq = new StringRequest(
Method.GET, uri, listener, errorListener);mQueue.add(myReq);
GET 방식으로 호출하는 경우 , StringRequest method type 을 Method.GET 으로 설정하고 , 리턴받을 listener 와 errorListener 를설정하고 , RequestQueue 에 추가합니다 .
Post 방식 호출
2013 Jellycoaster Inc. Dev.team
StringRequest myReq = new StringRequest(Method.POST, "http://somesite.com/some_endpoint.php", listener, errorListener) { @Overrideprotected Map<String, String> getParams() throws com.android.volley.AuthFailureError { Map<String, String> params = new HashMap<String, String>(); params.put("param1", num1); params.put("param2", num2); return params; };}; mQueue.add(myReq);
Post 방식으로 호출하는 경우 StringRequest 의 getParams() 함수 안에서Map<String, String> params 변수에 params.put("param1", num1); 과 같이 ,파라미터를 추가하여 호출할 수 있습니다 .
Volley Library 샘플 앱 화면
2013 Jellycoaster Inc. Dev.team
참고 자료
2013 Jellycoaster Inc. Dev.team
공식 발표 자료 : http://www.youtube.com/watch?v=yhv8l9F44qo
Volley 샘플 앱 : https://github.com/ogrebgr/android_volley_examples
서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111 호 _ 070.7450.6572 _ [email protected]
감사합니다 !
Jellycoaster Inc.Dev.team