• 请求网络[置顶] Android网络请求库——androidasynchttp请求网络


    发一下牢骚和主题无关:

        在iOS开辟中有赫赫有名的ASIHttpRequest库,用来处置网络请求作操,天今要分析的是一个在Android上一样大强的网络请求库android-async-http,现在非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个步异网络请求处置库,网络处置均基于Android的非UI线程,通过回调方法处置请求结果。

        其主要征特如下:

        

    • 处置步异Http请求,并通过匿名内部类处置回调结果
    • Http请求均位于非UI线程,不会塞阻UI作操
    • 通过线程池处置并发请求
    • 处置文件上传、载下
    • 响应结果动自打包JSON格式
    • 动自处置连接断开时请求重连

        

    应用android-async-http也非常简略,到官网http://loopj.com/android-async-http/载下赖依jar包,导入程工中libs文件夹下并添加到程工径路便可。通过面下的代码来建创一个步异请求:
    AsyncHttpClient client = new AsyncHttpClient();
    				client.get("http://www.baidu.com", new AsyncHttpResponseHandler() {
    					
    				    @Override
    				    public void onSuccess(String response) {
    				        System.out.println(response);
    				        textView.setText(response);
    				    }
    				    
    				    @Override
    				    public void onStart() {
    				    	super.onStart();
    				    	System.out.println("onStart");
    				    }
    				    
    				    @Override
    				    public void onFinish() {
    				    	super.onFinish();
    				    	System.out.println("onFinish");
    				    }
    				    
    				}


    通过Get请求指定的URL并通过回调函数处置请求结果,同时,请求方法还持支POST和PUT,请求的同时还持支数参传递,面下看看如何通过JSON字符串作为数参拜访服务器:
    try {
    					JSONObject jsonObject = new JSONObject();
    					jsonObject.put("username", "ryantang");
    					StringEntity stringEntity = new StringEntity(jsonObject.toString());
    					client.post(MainActivity.this, "http://api.com/login", stringEntity, "application/json", new JsonHttpResponseHandler(){
    
    						@Override
    						public void onSuccess(JSONObject jsonObject) {
    							super.onSuccess(jsonObject);
    							
    						}
    						
    					});
    				} catch (JSONException e) {
    					e.printStackTrace();
    				} catch (UnsupportedEncodingException e) {
    					e.printStackTrace();
    				}

    官方推荐的应用方法,应用一个静态的请求象对,我们来看看官方例举的一个拜访Twitter的API的例子:

        

    应用方法:

        


        


        

    由于及涉网络请求,最后别忘了添加权限:
    <uses-permission android:name="android.permission.INTERNET" />

    其他功能例如上传、载下文件等大家可以去官网看查,我就不赘述了!

        


        

    入加我们的QQ群或微信大众账号请看查:Ryan's zone大众账号及QQ群

    同时迎欢注关我的浪新微博和我交流:@唐韧_Ryan


    文章结束给大家分享下程序员的一些笑话语录: 火车
    一个年轻的程序员和一个项目经理登上了一列在山里行驶的火车,他们发现 列车上几乎都坐满了,只有两个在一起的空位,这个空位的对面是一个老奶 奶和一个年轻漂亮的姑娘。两个上前坐了下来。程序员和那个姑娘他们比较 暧昧地相互看对方。这时,火车进入山洞,车厢里一片漆黑。此时,只听见 一个亲嘴的声音,随后就听到一个响亮的巴掌声。很快火车出了山洞,他们 四个人都不说话。
    那个老奶奶在喃喃道, “这个年轻小伙怎么这么无礼, 不过我很高兴我的孙女 扇了一个巴掌”。
    项目经理在想,“没想到这个程序员居然这么大胆,敢去亲那姑娘,只可惜那 姑娘打错了人,居然给打了我。”
    漂亮的姑娘想,“他亲了我真好,希望我的祖母没有打疼他”。
    程序员坐在那里露出了笑容, “生活真好啊。 这一辈子能有几次机会可以在亲 一个美女的同时打项目经理一巴掌啊”

  • 相关阅读:
    nyoj592 spiral grid
    ny788 又见Alice and Bob
    hdoj 1166 敌兵布阵 线段数和树状数组
    nyoj228 士兵杀敌(5)插线问线
    nyoj576 集齐卡片赢大奖(一)
    ny269 VF
    AC Again hdoj 1582 搜索
    nyoj123 士兵杀敌(四)树状数组 插线问点
    CRAVAT: Cancer-Related Analysis of VAriants Toolkit
    第二代无创胎儿基因组分析结果
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3031648.html
Copyright © 2020-2023  润新知