package com.jingle.httpstudy;

 

import org.apache.http.Header;

 

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

 

import com.loopj.android.http.AsyncHttpClient;

import com.loopj.android.http.AsyncHttpResponseHandler;

import com.loopj.android.http.JsonHttpResponseHandler;

import com.loopj.android.http.RequestParams;

 

public
class
MainActivity
extends
Activity
{

    private
String
URL
=
"http://192.168.0.11:8080/NovallService/login.action";

    private
String
userName
=
"15995858188";

    private
String
userPass
=
"aa97eba124ab0c029fb7d5c37a6141b0";

    private
AsyncHttpClient
client;

 

    @Override

    protected
void
onCreate(Bundle
savedInstanceState)
{

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        initButtonLogin();

 

        initButtonOffLine();

    }

 

    private
void
initButtonOffLine()
{

        Button
btnOffline
=
(Button)
findViewById(R.id.getOffLine);

        btnOffline.setOnClickListener(new
OnClickListener()
{

 

            @Override

            public
void
onClick(View
v)
{

                // getOffLine();

 

                getOverRun();

 

            }

        });

    }

 

    private
void
initButtonLogin()
{

        Button
btnLogin
=
(Button)
findViewById(R.id.login);

        btnLogin.setOnClickListener(new
OnClickListener()
{

            public
void
onClick(View
v)
{

                asyncLogin();

            }

        });

    }

 

    private
void
getOverRun()
{

        String
url
=
"http://192.168.0.11:8080/NovallService/getAllOverRun.action";

        String
deviceIds
=
"4";

        String
lastRequestDate
=
"2015-03-1617:40:00";

        RequestParams
params
=
new
RequestParams();

        params.put("deviceIds",
deviceIds);
// 设置请求的参数名和参数值 key-value pair

        params.put("lastRequestDate",
lastRequestDate);// 设置请求的参数名和参数

//        client.setTimeout(5000);

        client.get(url,
new
JsonHttpResponseHandler()
{

 

            public
void
onSuccess(int
statusCode,
Header[]
headers,

                    String
responseString)
{

                Log.d("ace",
">>>>"
+
responseString
+
"<<<<");

            }

 

            @Override

            public
void
onFailure(int
statusCode,
Header[]
headers,

                    String
responseString,
Throwable
throwable)
{

                Log.d("ace",
">>>>"
+
"error"
+
"<<<<");

                throwable.printStackTrace();

            }

        });

        // client.get(url, params, new AsyncHttpResponseHandler() {

        //

        // public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {

        // Log.d("ace", new String(arg2));

        // }

        //

        // public void onFailure(int arg0, Header[] arg1, byte[] arg2,

        // Throwable arg3) {

        // arg3.printStackTrace();

        // }

        // });

 

    }

 

    private
void
getOffLine()
{

        String
url
=
"http://192.168.0.11:8080/NovallService/getAllOffLine.action";

        String
deviceIds
=
"6";

        String
lastRequestDate
=
"2015-03-1617:40:00";

        // 创建请求参数的封装的对象

        RequestParams
params
=
new
RequestParams();

        params.put("deviceIds",
deviceIds);
// 设置请求的参数名和参数值 key-value pair

        // params.put("lastRequestDate", lastRequestDate);// 设置请求的参数名和参数

        client.get(url,
params,
new
AsyncHttpResponseHandler()
{

 

            public
void
onSuccess(int
arg0,
Header[]
arg1,
byte[]
arg2)
{

                Log.d("ace",
new
String(arg2));

            }

            public
void
onFailure(int
arg0,
Header[]
arg1,
byte[]
arg2,

                    Throwable
arg3)
{

                arg3.printStackTrace();

            }

        });

    }

 

    private
void
asyncLogin()
{

        client
=
new
AsyncHttpClient();

        // 创建请求参数的封装的对象

        RequestParams
params
=
new
RequestParams();

        params.put("userName",
userName);
// 设置请求的参数名和参数值 key-value pair

        params.put("password",
userPass);// 设置请求的参数名和参数

        client.post(URL,
params,
new
AsyncHttpResponseHandler()
{

 

            public
void
onSuccess(int
arg0,
Header[]
arg1,
byte[]
arg2)
{

                if
(arg0
==
200)
{

                    Log.i("ace",
new
String(arg2));

                    // tv_result.setText(new String(responseBody)); // 设置显示的文本

                }

            }

 

            public
void
onFailure(int
arg0,
Header[]
arg1,
byte[]
arg2,

                    Throwable
arg3)
{

                arg3.printStackTrace();

 

            }

        });

        // 查看 cookie 信息

        // CookieSpec cookiespec = CookiePolicy.getDefaultSpec();

        // Cookie[] cookies = cookiespec.match(LOGON_SITE, LOGON_PORT, "/",

        // false,

        // client.getState().getCookies());

        // if (cookies.length == 0) {

        // System.out.println("None");

        // } else {

        // for (int i = 0; i < cookies.length; i++) {

        // System.out.println(cookies[i].toString());

        // }

        // }

    }

 

}

AsyncHttpClient的更多相关文章

  1. 异步网络加载开源框架AsyncHttpClient使用

    AsyncHttpClient是异步的,但是有时候我们需要得到请求的结果集来返回给某个函数,由于是异步的,所以不能够直接return会去,所以可以定义一个interface来给调用AsyncHttpC ...

  2. AsyncHttpClient 源码分析

    上一篇文章从功能和用法上对AsyncHttpClient做了个大致介绍,今天我们和以往一样,从内部实现.原理的角度带领大家看看 其工作机制,以便加深理解.写程序越多,我发现每接触一个新东西,都会有强烈 ...

  3. android-async-http AsyncHttpClient介绍

    前一阵子刚搬了家,加上公司要发新版本,所以一直比较忙,文章也好几周没更新了.难得这个周末有空,正好周内偶然间闲逛 发现这个很不错的第三方开源类库,针对Android开发中发送http请求的. 在And ...

  4. FastJson和AsyncHttpCLient

    Android的展示数据,除了上章所讲的本地存储外,大部分数据都来自于网络.首先介绍一下Android APP开发常见的网络操作方式.从网络层面上有底层的tcp/ip,也就是我们常见的socket套接 ...

  5. Android应用中使用AsyncHttpClient来异步网络数据(转载)

    摘要: 首先下载AsyncHttpClient的库文件,可以自行搜索,可以到下面地址下载 http://download.csdn.net/detail/xujinyang1234/5767419 测 ...

  6. asynchttpClient框架关于多文件批量上传的问题,改用xUtil

    RequestParams params = new RequestParams(); params.add("ordernum",ordernum); params.add(&q ...

  7. Asynchttpclient开源框架下载图片和文本,于Volley和Glide开源框架的区别。

    AsyncHttpClient是一款比较流行的Android异步网路加载库,在github上的网址是:https://github.com/loopj/android-async-httpAsyncH ...

  8. android AsyncHttpClient 开源框架的使用

    AsyncHttpClient 1.在很多时候android都需要进行网络的操作,而android自带的HttpClient可以实现,但要进行很多网络连接的时候(如:下载很多图片),就需要线程池来进行 ...

  9. 强大的网络通信框架(不实现缓存)--第三方开源--AsyncHttpClient

    AsyncHttpClient是一款比较流行的Android异步网路加载库,在github上的网址是:https://github.com/loopj/android-async-http但是Asyn ...

随机推荐

  1. maven加载spring包

    <dependencies> <dependency> <groupId>org.springframework</groupId> <artif ...

  2. Jfreechart 乱码

    整个图标分成三部分chart   title,chart 的plot还有chart的   legend三个部分需要对他们分别设置字体就对了. 先看解决方法( 把这几个全部设置了,都搞定了就可以了): ...

  3. 通知栏Notification的学习

    转:http://blog.csdn.net/yczz/article/details/28416893 在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理 ...

  4. Android自动化测试框架对比

    1.Monkeyrunner:优点:操作最为简单,可以录制测试脚本,可视化操作:缺点:主要生成坐标的自动化操作,移植性不强,功能最为局限:2.Rubotium:主要针对某一个APK进行自动化测试,AP ...

  5. Intent和Intent Filter Context

    http://www.android-doc.com/reference/android/content/Intent.html An intent is an abstract descriptio ...

  6. apt-get常用命令

    apt-get常用命令 一,什么的是apt-get 高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器. ...

  7. WinsockExpert+NC抓包上传之拿WEBSHELL

    知识补充: nc上传漏洞在原理上同动网上传漏洞一样,都是利用计算机在读取字符串时,遇到'\0'(00)时,认为字符串结束了,从而丢掉后面的字符串,正如unicode编码特性一样,可被人利用,尽管在这里 ...

  8. MySQL的left join中on与where的区别

    关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒 ON 条件(“A LEFT JOIN B ON 条件表达式”中的ON)用来决定如何从 B 表中检索数据行,即使on中包含有A表中的列 ...

  9. WEB移动应用框架构想(转载)

    iUI.jQTouch.WPTouch.PhoneGap.XUI.iWebkit.Rhodes.gwt-mobile…当我们已经开始惊 叹 web移动应用充斥着各种各样框架与类库的时候,其实各大web ...

  10. [整理]Code::Blocks使用遇到的问题

    在使用其编写C小程序的过程总会遇到些问题,特整理如下: 1.无法调试 注意的是项目所在的文件路径不能包含中文. 2.头文件接口函数申明引用无效 查看头文件是否处于可编译状态,左侧项目文件列表里是文件名 ...