android从网页中读取数据

原创 2015年07月07日 16:31:54
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);
            }
        });
    }
}
运行结果如下(手机助手卸载了,无法截手机,就截控制台打印了)
总结:好了,基本介绍就到这里。通过学习这个框架真的学习到很多东西,争取学习一下国外大神的源代码。

r 直接从网上获取数据

从网上获取数据 如果需要从网上下载多个文件,用函数download.file(),调用格式为: download.file(url, destfile, method, quiet = FALSE, ...
  • F_yuqi
  • F_yuqi
  • 2017年01月15日 16:30
  • 406

无法从传输连接中读取数据: net_io_connectionclosed

我使用C# 的System.Net.Maill发送邮件:方法如下   ///        /// 发送邮件,经过测试gmail和sina邮箱可以发送成功        ///      ...
  • lijin84100
  • lijin84100
  • 2012年04月25日 15:28
  • 11899

android初级之Android获取网页数据的方法总结

转自:http://www.2cto.com/kf/201204/128194.html 本文总结了三种获取网页数据的代码,是自己在用的时候随手整理出来的。此处仅贴出函数段,不贴出i...
  • lianghongge
  • lianghongge
  • 2014年06月26日 22:29
  • 4113

ffmpeg如何从内存读取或者写流数据

一 ffmpeg默认的是从网络或者本地文件读取/写入数据 很多应用工程中,需要从内存读写数据以加快速度,或者由于操作磁盘权限不够等问题。 二 今天来讲讲如何让ffmpeg操作内存 在我的其它博客中讲解...
  • fantasy_ARM9
  • fantasy_ARM9
  • 2018年01月01日 16:37
  • 110

如何从网页上读取数据,将数据写入文件和读出

1.读取网页里面的内容 CInternetSession httpSession ;  CHttpFile * htmlFile=NULL ;   //打开网页  h...
  • wanglu343280746
  • wanglu343280746
  • 2013年01月17日 16:51
  • 1677

网页实现从数据库读取数据并简单分页

大致的思想就是:   1.设置每页要显示的最大记录数。   2.计算出页面总数   3.当前页面跟总页面数比较改变连接的状态   4.用limit控制从数据库中...
  • qq_17121501
  • qq_17121501
  • 2016年03月26日 01:20
  • 557

System.IO.IOException: 无法从传输连接中读取数据: net_io_connectionclosed

今天女友说要根据excel去发送邮件,几千个地址。这个时候咱们程序员男友就应该站起来了!一路-----------------然后发送附近的时候出现标题的错误。百度一下在163上发现一位网友写到。 c...
  • ycf330
  • ycf330
  • 2009年09月07日 16:40
  • 7111

VS2005数据库操作示例

 //**************************************************// *// * Author :   Sophia Wang // *// * Date :...
  • SophiaWang
  • SophiaWang
  • 2007年08月24日 14:47
  • 2268

Android控件之ListView探究--读取静态xml

http://www.2cto.com/kf/201108/101518.html 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应...
  • wyqlxy
  • wyqlxy
  • 2014年01月13日 13:04
  • 2043

关于“无法从传输连接中读取数据: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”错误的解决方法之一

 今天在论坛看到一个问题http://topic.csdn.net/u/20091112/20/4549b0dd-f6b5-4252-8a98-3e7d8f40ee5e.html 原来的代码如下,该页...
  • sdfkfkd
  • sdfkfkd
  • 2009年11月12日 23:04
  • 3037
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android从网页中读取数据
举报原因:
原因补充:

(最多只允许输入30个字)