关闭

android从网页中读取数据

标签: androidc#ui
229人阅读 评论(0) 收藏 举报
C#作业获得网页数据
      这次的作业主要是学习开源项目android-async-http,这是个很有意思的开源框架,主要是用于网络的异步或者非异步链接,以前没使用这个框架之前,一直使用自己写的链接方式,非常不方便,而使用这个框架可以大大节约开发时间,几行代码就可以实现网络链接,链接后台,或者网络数据,或者下载并缓存网络图片,我非常喜欢这个框架。那下面就介绍一下这个框架的使用方法,并完成一个小demo。
    首先在build.gradle的dependencies中添加依赖。代码如下
dependencies {
  compile 'com.loopj.android:android-async-http:1.4.5'
}
然后就是去到总配置文件那里设置网络链接权限了
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.loopj.android.http">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application/>

</manifest> 

ok,然后就可以开始使用了,是不是很简单!
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.baidu.com", new AsyncHttpResponseHandler() {

    @Override
    public void onStart() {
        // called before request is started
    }

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] response) {
        // called when response HTTP status is "200 OK"
    }

    @Override
    public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
        // called when response HTTP status is "4XX" (eg. 401, 403, 404)
    }

    @Override
    public void onRetry(int retryNo) {
        // called when request is retried
	}
});
编辑代码,这就是一个异步请求,get方法中第一个参数就是要获得内容的地址,第二个参数就是处理链接的句柄。分别有链接开始,链接失败,链接成功,还有重连。
他还有处理json的方法,代码如下:
import org.json.*;
import com.loopj.android.http.*;

class TwitterRestClientUsage {
    public void getPublicTimeline() throws JSONException {
        TwitterRestClient.get("statuses/public_timeline.json", null, new JsonHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                // If the response is JSONObject instead of expected JSONArray
            }
            
            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONArray timeline) {
                // Pull out the first event on the public timeline
                JSONObject firstEvent = timeline.get(0);
                String tweetText = firstEvent.getString("text");

                // Do something with the response
                System.out.println(tweetText);
            }
        });
    }
}
运行结果如下(手机助手卸载了,无法截手机,就截控制台打印了)

总结:好了,基本介绍就到这里。通过学习这个框架真的学习到很多东西,争取学习一下国外大神的源代码。
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11930次
    • 积分:378
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:0篇
    • 译文:0篇
    • 评论:18条
    文章分类
    最新评论