ÀÖÓãµç¾º





½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

AndroidÅàѵʵս½Ì³ÌÖ®Volley¿ò¼Ü½øÐÐÍøÂçͨѶ

¸üÐÂʱ¼ä:2015Äê12ÔÂ28ÈÕ14ʱ59·Ö À´Ô´:ÀÖÓã²¥¿ÍAndroidÅàѵѧԺ ä¯ÀÀ´ÎÊý:

ʲôÊÇVolley?

ÔÚ2013ÄêGoogle I/O´ó»áÉÏÍÆ³öÁËÒ»¸öеÄÍøÂçͨÐÅ¿ò¼Ü——Volley¡£Volley¿ÉÒÔ˵ÊǰÑAsyncHttpClientºÍUniversal-Image-LoaderµÄÓŵ㼯ÓÚÁËÒ»Éí£¬¼È¿ÉÒÔÏñAsyncHttpClientÒ»Ñù·Ç³£¼òµ¥µØ½øÐÐHTTPͨÐÅ£¬Ò²¿ÉÒÔÏñUniversal-Image-LoaderÒ»ÑùÇáËɼÓÔØÍøÂçÉϵÄͼƬ¡£

×¼±¸¹¤×÷

ʹÓÃGIt½«VolleyÔ´ÂëÏÂÔØÏÂÀ´£¬µ¼ÈëEclipse£¬µ¼³öΪjar°ü
 
Ô´ÂëÏÂÔØµØÖ·£ºhttps://android.googlesource.com/platform/frameworks/volley
jar°üÏÂÔØµØÖ·£ºhttp://download.csdn.net/detail/nobcdz/6482641

°¸Àý·ÖÎö

½ÓÏÂÀ´£¬ ÎÒÃÇͨ¹ýÒ»¸ö¼òµ¥µÄ°¸Àý£¬À´Á˽âÒ»ÏÂVolleyµÄʹÓ÷½Ê½¡£

Ò»£®´´½¨Demo³ÌÐò

ʹÓÃeclipse´´½¨AndroidÏîÄ¿VolleyDemo£¬½«Volley.jar°üµ¼Èëµ½ÏîÄ¿ÖУ¬ÈçÏÂͼËùʾ£º
 Í¼1-1  VolleyDemo

¶þ£®¿ìËÙ¿ªÊ¼

1.ÔÚMainActivityµÄOncreate()·½·¨ÖлñÈ¡RequestÇëÇó¶ÓÁжÔÏó
 
@Override
protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         //»ñÈ¡ÇëÇó¶ÓÁжÔÏó
         RequestQueue queue = Volley.newRequestQueue(this);
}
 
Volley.newRequestQueue(this)»ñÈ¡ÇëÇó¶ÓÁУ¬RequestQueue¿ÉÒÔ»º´æËùÓеÄHTTPÇëÇó£¬È»ºó°´ÕÕÒ»¶¨µÄËã·¨²¢·¢µØ·¢³öÕâЩÇëÇó£¬ËùÒÔRequestQueue·Ç³£ºÏÊʸ߲¢·¢¡£
 
2.¶Ôactivity_mian.xml½øÐмòµ¥²¼¾Ö
             
ͼ1-2  ½çÃæ
3.JsonObjectRequest Ó÷¨
 
private void jsonObjectRequestGET() {
         JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.GET,
                  "http://m.weather.com.cn/data/101030100.html", 
                  null, 
                  new Response.Listener<JSONObject>() {
                  @Override
                  public void onResponse(JSONObject response) {
                           //Á¬½Ó³É¹¦£¬»ñÈ¡·µ»ØÊý¾Ý
                           Log.i("JSONObjectRequest", response.toString());
                           data.setText(response.toString());
                  }                          
                  }, 
                  new Response.ErrorListener() {
                  @Override
                  public void onErrorResponse(VolleyError error) {
                           //Á¬½Óʧ°Ü£¬»ñȡʧ°ÜµÄÐÅÏ¢
                           Log.e("JSONObjectRequest", error.getMessage(),error);
                           data.setText(error.getMessage());
                  }
                  }){
                  @Override
                  public com.android.volley.Request.Priority getPriority() {
                           //ÉèÖÃÓÅÏȼ¶
                           return Priority.HIGH;
                  }
                  };
         queue.add(jsonObjectRequest);//½«RequestÌí¼Óµ½ÇëÇó¶ÓÁÐÖÐ
}
 
new JsonObjectRequest±íʾ´´½¨Ò»¸öJsonRequestÇëÇ󣬯äÖÐÐèÒª¼¸¸ö²ÎÊý£ºMethod.GET±íʾ·ÃÎÊ·½Ê½£»http://m.weather.com.cn/data/101030100.htmlΪ·ÃÎÊ·¾¶£¬´Ë·¾¶ÎªÖйúÌìÆøÍø»ñÈ¡ÌìÆøµÄ·¾¶£»nullΪ·ÃÎʲÎÊý,ʹÓÃJSONObject ·â×°£¬ÎÒÕâÀïûÓÐÓõ½£¬ËùÒÔÖÃΪnull£»ListenerΪ·ÃÎʳɹ¦»Øµ÷µÄ·½·¨£¬¿ÉÔÚ´Ë·½·¨µÄonResponseÖлñÈ¡·µ»ØµÄÊý¾Ý£»ErrorListenerΪ·ÃÎÊʧ°Ü»Øµ÷µÄ·½·¨£¬ÔÚonErrorResponse·½·¨Öпɻñȡʧ°ÜµÄÐÅÏ¢£»getPriority·½·¨ÓÃÀ´ÉèÖÃÇëÇóÔÚÇëÇó¶ÓÁÐÖеÄÓÅÏȼ¶£¬queue.add(jsonObjectRequest)Êǽ«ÇëÇóÌí¼Óµ½ÇëÇó¶ÓÁÐÖС£
 
ÔËÐгÌÐò£¬µã»÷jsonRequst°´Å¥£¬µÃ³ö·µ»Ø½á¹û£¬ÈçÏÂͼËùʾ£º
ͼ1-3  JsonObjectRequestÖ´Ðнá¹ûͼʾ
 
4.StringRequest µÄÓ÷¨
 
private void stringRequestPost() {
         StringRequest stringRequest = new StringRequest(Method.POST, 
                  "http://app.ihome86.com/php/index.php/register/get_code", 
                  new Response.Listener<String>() {
                           @Override
                           public void onResponse(String response) {
                                    data.setText(response.toString());
                           }
                  }, new Response.ErrorListener() {

                           @Override
                           public void onErrorResponse(VolleyError error) {
                                    data.setText(error.getMessage());
                           }
                  }){
                  @Override
                  protected Map<String, String> getParams()throws AuthFailureError {
                           Map<String, String> map = new HashMap<String, String>();
                           map.put("tel", "13121646499");
                           return map;
                  }
                  };
         queue.add(stringRequest);
}
 
StringRequestÇëÇóµÄʹÓ÷½Ê½ºÍJsonObjectRequest ʹÓ÷½Ê½ÏàËÆ£¬ÆäÖÐgetParams()·½·¨ÓÃÓÚÉèÖÃpost·ÃÎÊʱµÄ·ÃÎʲÎÊý¡£
 
ÔËÐгÌÐò£¬µã»÷StringRequest°´Å¥£¬µÃ³ö·µ»Ø½á¹û£¬ÈçÏÂͼËùʾ£º
 
         
 
ͼ1-4  StringRequestÖ´Ðнá¹ûͼʾ
 
5.ImageRequestµÄÓ÷¨
 
private void imageRequest() {
         ImageRequest imageRequest = new ImageRequest(
         "http://a.hiphotos.baidu.com/image/w%3D2048/sign=d2ebf5336963f6241c5d3e03b37ceaf8/902397dda144ad347976f98dd2a20cf430ad85ea.jpg", 
                  new Response.Listener<Bitmap>() {
                           @Override
                           public void onResponse(Bitmap bitmap) {
                                             imageView.setImageBitmap(bitmap);
                           }
         }, 0, 0, Config.ARGB_8888, new Response.ErrorListener() {
                           @Override
                           public void onErrorResponse(VolleyError error) {
                                    data.setText(error.toString());
                           }
         });
         queue.add(imageRequest);
}
 
ImageRequestµÄÓ÷¨ºÍJsonRequest¡¢StringRequest»ù±¾Ò»Ö£¬ÆäÖУºµÚÒ»¸ö²ÎÊýΪͼƬµÄµØÖ·£¬µÚ¶þ¸ö²ÎÊýΪÁ¬½Ó³É¹¦»Øµ÷·½·¨£¬µÚÈý¸ö²ÎÊýΪͼƬ×î´ó¿í¶È£¬µÚËĸö²ÎÊýΪͼƬ×î´ó¸ß¶È£¬µÚÎå²ÎÊýΪͼƬµÄÉ«²Êģʽ£¬µÚÁù¸ö²ÎÊýΪÁ¬½Óʧ°Ü»Øµ÷µÄ·½·¨
 
ÔËÐгÌÐò£¬µã»÷ImageRequest°´Å¥£¬µÃ³ö·µ»Ø½á¹û£¬ÈçÏÂͼËùʾ£º
 
 
ͼ1-4  ImageRequestÖ´Ðнá¹ûͼʾ
 

×ܽá

ͨ¹ýÑÝʾµÄÀý×Ó£¬ÎÒÃÇ¿ÉÒÔ¿´³öÀ´£¬JsonObjectReqeust¡¢StringRequest¡¢ImageReqeustµÄÓ÷¨»ù±¾ÉÏÊÇÒ»Ñù£¬VolleyµÄÒ×ÓÃÖ®´¦Ò²ÌåÏÖÔÚÕâÀÆäËûµÄÇëÇó·½Ê½ÎҾͲ»ÔÙÈ¥½²½âÁË¡£Volley¼ò»¯ÁËÍøÂçͨÐŵÄһЩ¿ª·¢£¬ÏÖÔÚÒ²Ô½À´Ò²¶àµÄÓ¦Óõ½ÏîÄ¿ÖÐÈ¥£¬ËüµÄÉè¼ÆÄ¿±ê¾ÍÊǷdz£ÊʺÏÈ¥½øÐÐÊý¾ÝÁ¿²»´ó£¬µ«Í¨ÐÅÆµ·±µÄÍøÂç²Ù×÷£¬È±µã¶ÔÓÚ´óÊý¾ÝÁ¿µÄÍøÂç²Ù×÷£¬±ÈÈç˵ÏÂÔØÎļþµÈ£¬VolleyµÄ±íÏ־ͻá·Ç³£Ôã¸â£¬»¹ÊÇÐèҪʹÓÃԭʼµÄ·½·¨¡£


±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍAndroidÅàѵѧԺËùÓУ¬»¶Ó­×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍAndroidÅàѵѧԺ
Ê×·¢£ºhttp://www.itcast.cn/android/
0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿