Android 异步 HTTP 库 android-async-http-cached

码农软件 · 软件分类 · 网络工具包 · 2019-02-26 12:13:32

软件介绍

android-async-http (android-async-http-cached)是基于 Android Asynchronous HTTP Library (https://github.com/loopj/android-async-http)  实现。

1.增加响应数据本地缓存功能。
2.便于JSON-RPC,XML-RPC方式调用。  

用法:

public class TestActivity extends Activity {

    private static final int REQUEST_GET_ID = 0;
    private static final int REQUEST_POST_ID = 1;
    private static final int REQUEST_POST_JSON_ID = 2;
    private static final int REQUEST_POST_XML_ID = 3;

    private RequestManager mRequestManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.mRequestManager = RequestManager
                .getInstance(getApplicationContext());

        get();
        postParams();
        postJSONObject();
        postXML();
    }

    /**
     * get by url
     */
    private void get() {
        this.mRequestManager
                .get("http://app.shafa.com/api/push/download/52a093cf3bf55d361e000477?response-content-type=application%2fvnd.android.package-archive",
                        null, requestListener, true, REQUEST_GET_ID);
    }

    /**
     * post by RequestParams
     */
    private void postParams() {
        final RequestParams params = new RequestParams();
        params.put("key1", "value1");
        params.put("key2", "value2");
        this.mRequestManager.post("http://server.winfirm.net/memoServer",
                params, requestListener, REQUEST_POST_ID);
    }

    /**
     * post by JSONObject
     */
    private void postJSONObject() {
        final JSONObject json = new JSONObject();
        try {
            json.put("key1", "value1");
            json.put("key2", "value2");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        this.mRequestManager.post("http://server.winfirm.net/memoServer", json,
                requestListener, REQUEST_POST_JSON_ID);
    }

    /**
     * post by xml
     */
    private void postXML() {
        final String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><key1>value1</key1><key2>value2</key2>";
        this.mRequestManager.post("http://server.winfirm.net/memoServer", xml,
                requestListener, REQUEST_POST_XML_ID);
    }

    /**
     * request listener
     */
    private RequestListener requestListener = new RequestListener() {
        @Override
        public void onStart() {

        }

        @Override
        public void onCompleted(int statusCode, byte[] data,
                String description, int actionId) {
            try {
                System.out.println(new String(data, "UTF-8"));
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (REQUEST_GET_ID == actionId) {
                if (RequestListener.OK == statusCode) {
                    // sucess
                } else {
                    // handler error case
                }
            } else if (REQUEST_POST_ID == actionId) {

            } else if (REQUEST_POST_JSON_ID == actionId) {

            } else if (REQUEST_POST_XML_ID == actionId) {

            }
        }

        @Override
        public void onProgress(int bytesWritten, int totalSize, int actionId) {
            System.out.println(bytesWritten + "/" + totalSize);
        }
    };

}

本文地址:https://codercto.com/soft/d/169.html

疯狂XML讲义

疯狂XML讲义

李刚 / 电子工业出版社 / 2009-11 / 65.00元

《疯狂XML讲义》主要以XML为核心,深入地介绍了XML的各种相关知识。《疯狂XML讲义》作为疯狂Java体系图书之一,依然保持该体系图书系统、全面的特点:不仅详细介绍了XML,文档的各种知识,还通过案例示范了实际开发中如何应用XML知识。 《疯狂XML讲义》主要分为五个部分。第一部分介绍了XML、DTD、XML Schema等基础知识,这些知识主要教读者如何定义有效的XML文档,这部分内容......一起来看看 《疯狂XML讲义》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具