Skip to content

Android网络请求,基于OkHttp与Gson还有一个第三方Cookie库封装的网络请求库.支持Cookie数据.

Notifications You must be signed in to change notification settings

873764182/HttpNetworkRequest

Repository files navigation

HttpNetworkRequest

android下一个基于OkHttp与Gson还有一个第三方Cookie库封装的网络请求库,为项目提供快速网络访问支持。

使用时用androidstudio直接导入httpLibrary即可(如果不需要修改源码,可以直接导入httpLibrary/pixel-http.jar与httpLibrary/libs下的三个jar包即可)

    // 打开Cookie支持 (不需要Cookie可以不调用,如需要Cookie支持推荐在Application的onCreate中调用。)

       Http.getInstance().openCookie(this.getApplicationContext());

    // 发送GET请求
    Http.getInstance().GET("http://www.baidu.com", new RequestCallBack<String>() {
        @Override
        public void onSuccess(String result) {
            Log.e("MainActivity", result);
        }
    }, null);

    // 发送POST请求
    Http.getInstance().POST("http://www.baidu.com", new HashMap<String, String>() {
        {
            put("username", "大雄");
            put("password", "123456");
        }
    }, new RequestCallBack<String>() {
        @Override
        public void onSuccess(String result) {
            Log.e("MainActivity", "服务端返回:" + result);
        }
    }, new ProgressDialog(this));

    // 下载文件
    Http.getInstance().DOWNLOAD("http://sw.bos.baidu.com/sw-search-sp/software/573f5db9b1f6a/QQ_8.5.18600.0_setup.exe",
            Environment.getExternalStorageDirectory().getPath() + "/qq_setup.exe", new ProgressDialog(MainActivity.this),
            new RequestCallBack<Long>() {
                @Override
                public void onSuccess(Long result) {
                    Log.e("MainActivity", "下载用时(毫秒):" + result + " ms");
                }

                @Override
                public void onProgress(Long downProgress, Long contentLength, Boolean isComplete, Integer percentage) {
                    Log.e("MainActivity", "下载进度:" + percentage + " %");
                }
            });
    
    // 上传文件 支持多文件一起上传
    Http.getInstance().UPLOAD(url, params, new String[]{"文件名.jpg"}, new File[]{null}, new RequestCallBack<String>() {
        @Override
        public void onSuccess(String result) {

        }
    });
    
    如果需要直接返回对象可以使用如下方式,UserEntity是一个普通实体,需要服务端返回的json数据格式与UserEntity对应。
    // 发送GET请求
    Http.getInstance().GET("http://www.baidu.com", new RequestCallBack<UserEntity>() {
        @Override
        public void onSuccess(UserEntity result) {
            Log.e("MainActivity", result.toString());
        }
    }, null);
    
    最后一个参数是一个对话框(等待框),需要在每次请求时显示一个等待对话框可以使用如下方式,具体对话框的样式可以自己定义,只要是从Dialog派生的都可以。请求库会自动打开与关闭等待对话框。
    // 发送GET请求
    Http.getInstance().GET("http://www.baidu.com", new RequestCallBack<UserEntity>() {
        @Override
        public void onSuccess(UserEntity result) {
            Log.e("MainActivity", result.toString());
        }
    }, new ProgressDialog(MainActivity.this));
    
    代码中都有详细注释,需要自己定义可以直接修改代码。

About

Android网络请求,基于OkHttp与Gson还有一个第三方Cookie库封装的网络请求库.支持Cookie数据.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages