안 드 로 이 드 의 새로운 인터넷 방식 볼 리 의 사용 (1) 그림 과 제 이 슨 을 불 러 옵 니 다.

3507 단어 Volley
최근 에 안 드 로 이 드 를 처음 만 났 는데 예전 에 wp 를 했 는데 비교 해 보면 안 드 로 이 드 가 왜 이렇게 귀 찮 지?인터넷 은 반드시 다시 라인 을 열 어야 한다.그리고 인터넷 사진 불 러 오기 도 귀 찮 고...네트워크 그림 을 불 러 오 는 listview 에 오래 걸 려 고민 하고 있 습 니 다.
 
하지만 오늘 새로운 인터넷 방식 을 발 견 했 습 니 다. 구 글 에 감 사 드 립 니 다Volley  
문득 예전 의 그런 것들 을 발견 하 다 HttpClient 나 HttpUrlConnection 다 죽 어.니 가 잘 써.
사용법 
ImageVIEW 그림 불 러 오기
핵심 이미지 요청
먼저 
private RequestQueue mQueue;       
2 OnCreate 방법 에서 초기 화
mQueue = Volley.newRequestQueue(this); 
3   ImageRequest 대상 을 만 들 고 mQueue 에 추가 합 니 다.
public void readBitmapViaVolley(String imgUrl, final ImageView imageView) {

		ImageRequest imgRequest = new ImageRequest(imgUrl,

				new Response.Listener<Bitmap>() {

					@Override

				 public void onResponse(Bitmap arg0) { // TODO Auto-generated method stub imageView.setImageBitmap(arg0); } },   //                 

				300, 

				200, 

				Config.ARGB_8888, 

				new ErrorListener() {

					@Override

					public void onErrorResponse(VolleyError arg0) {

						

					}

				});  //         。

		mQueue.add(imgRequest); //   mQueue ,    。
 }

 
위 에서 볼 수 있 듯 이 ImageRequest 의 구조 함수 에서 우 리 는 Bitmap 에 관 한 인 자 를 직접 전달 할 수 있 습 니 다. 예 를 들 어 길이 등 정 보 를 전달 한 다음 에 돌아 오 는 Response. Listener 에서 되 돌아 오 는 결 과 를 얻 을 수 있 습 니 다. 바로 Bitmap 입 니 다. 그리고 onResponse 함수 에서 ImageView 를 설정 하고 마지막 으로 mque 에 추가 할 수 있 습 니 다.
위의 코드 httpclient 와 HttpUrlConnection 다 중 스 레 드 에서 그림 을 방문 하 는 효 과 는 같 지만 코드 가 많이 간결 해 졌 습 니 다.하하, 구 글 에 다시 한 번 감 사 드 립 니 다.
ImageVIEW 로 딩 JSon
일단 그대로.
private RequestQueue mQueue;
mQueue = Volley.newRequestQueue(this); 
 
public void getWeatherInfo(){

	JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(WEATHER_LINK, null, 

			new Response.Listener<JSONObject>() {

				@Override

				public void onResponse(JSONObject arg0) {

					list.clear();

					Iterator<String> it = arg0.keys();

					while(it.hasNext()){

						String key = it.next();

						JSONObject obj = null;

						try {

							 obj = arg0.getJSONObject(key);

						} catch (JSONException e) {

							// TODO Auto-generated catch block

							e.printStackTrace();

						}

						if (obj != null) {

							Iterator<String> objIt = obj.keys();

							while (objIt.hasNext()) {

								String objKey = objIt.next();

								String objValue;

								try {

								objValue = obj.getString(objKey);

								HashMap<String, String> map = new HashMap<String, String>();

								map.put("title", objKey);

								map.put("content", objValue);

								Log.v(TAG, "title = " + objKey + " | content = " + objValue);

								list.add(map);

								} catch (JSONException e) {

									// TODO Auto-generated catch block

									e.printStackTrace();

								}

							}

						}

					}

					Log.v(TAG, "list.size = " + list.size());

				}			

			}, new Response.ErrorListener() {

				@Override

				public void onErrorResponse(VolleyError arg0) {

				}

			});

	mQueue.add(jsonObjectRequest);


  
 제 이 슨 데이터 에 따라 ,사용 가능 JsonArrayRequest  아니면 Json Object Request.

좋은 웹페이지 즐겨찾기