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

android 获取网页代码

activity_main.xml

html页面异步加载js文件

一般直接引入第三方的js,如果第三方速度比较慢,会阻塞页面的渲染,用户等待的时候,会看到一片的空白,这样的用户体验不太好。因此一些不用马上运行的js,可以用异步进行加载。加载方法有两种,如下scrip...
  • graceup
  • graceup
  • 2016年08月17日 16:51
  • 843

网页读取数据,以及输入输出流的代码收集

本人第一篇博客,简陋之处敬请谅解!!! 本篇主要讨论一下 InputStream 和 OutputStream的用法,和如何利用HttpURLConnection获取网页数据 最近经常会遇到json...

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

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

Android NDK下读取数据文件的方法

方法1:数据文件放在assert目录,java层获得assert句柄,传给NDK,NDK用AAssetManager、AAsset_read去读文件。比较晦涩。 方法2:数据文件放在libs/arme...

android 通过usb 读取数据

背景介绍:                       老大忽然跟我说:今天你做一个东西,能确保我们的usb外设发送的数据能被接受到。            然而,作为一个android 零基础 的小...

android往文件中保存和读取数据

android往文件中保存和读取数据 博客分类: android—File   有了数据存储 API,您可以使用内部存储器存储数据。信息可以是私有的,您可以有选择地让其...

android开发 使用Properties读取数据

android开发 使用Properties读取数据 项目中遇到数据保存,使用的Properties(还是Java同事给我说的,之前没用过)存取,第一次使用,留下记录,话不多说,直接上代码 ...

Android利用Spinner从数据库中读取数据并实现2级互动

package org.jian.database; import android.content.Context; import android.database.sqlite.SQLiteDat...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android从网页中读取数据
举报原因:
原因补充:

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