Skip to content

Android开发依赖包,主要封装网络请求、权限请求、组件通信、控件注解以及常用工具类,基本上满足大部分APP开发需要

Notifications You must be signed in to change notification settings

michaellee123/AntiLib

Repository files navigation

AntiLib

在使用时需要在Application中初始化一些东西,包括AntiImageLoader(网络图片加载),AntiNetworkManager(网络请求)。

dependencies {
    implementation 'dog.abcd:antilib:1.4.1'
    implementation 'com.android.volley:volley:1.1.0'
    implementation 'com.squareup.okhttp3:okhttp:3.12.0'
    implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.11.0'
}

调用示例

网络请求的调用

网络网络请求的初始化

        AntiNetworkManager.init(this, 0, new IDefaultParams() {
            @Override
            public Map<String, String> getDefaultParams() {
                return null;
            }

            @Override
            public Map<String, String> getDefaultHeaders() {
                return null;
            }
        }, new IDefaultListener() {
            @Override
            public boolean success(AntiNetwork network, NetworkResponse result) {
                return false;
            }

            @Override
            public boolean error(AntiNetwork network, AntiNetworkException error) {
                return false;
            }
        });

网络请求的调用

异步调用

        AntiNetwork.builder(this)
                .setMethod(AntiNetwork.Method.GET)
                .setTAG(MainActivity.class.getSimpleName())
                .setUrl("http://www.baidu.com")
                .putParam("key","value")
                .putHeader("key","value")
                .setListener(new AntiNetworkListener() {
                    @Override
                    public void success(AntiNetwork network, NetworkResponse result) {
                        textView.setText(AntiNetworkConvert.convertResponceToString(result));
                    }

                    @Override
                    public void error(AntiNetwork network, AntiNetworkException error) {
                        AstiAlert.builder(MainActivity.this)
                                .setTitle("错误信息")
                                .setMessage(error.getMessage())
                                .setTAG(MainActivity.class.getSimpleName())
                                .create().show();
                    }
                })
                .create()
                .start();

或者

        AntiNetwork.builder(this)
                .setMethod(AntiNetwork.Method.GET)
                .setTAG(MainActivity.class.getSimpleName())
                .setUrl("http://www.baidu.com")
                .putParam("key","value")
                .putHeader("key","value")
                .create()
                .start(new AntiNetworkListener() {
                    @Override
                    public void success(AntiNetwork network, NetworkResponse result) {
                        textView.setText(AntiNetworkConvert.convertResponceToString(result));
                    }

                    @Override
                    public void error(AntiNetwork network, AntiNetworkException error) {
                        AstiAlert.builder(MainActivity.this)
                                .setTitle("错误信息")
                                .setMessage(error.getMessage())
                                .setTAG(MainActivity.class.getSimpleName())
                                .create().show();
                    }
                }));

同步调用

        NetworkResponse response =
        AntiNetwork.builder(getContext())
                   .setMethod(AntiNetwork.Method.GET)
                   .setTAG(MainActivity.class.getSimpleName())
                   .setUrl("https://www.baidu.com")
                   .putParam("key", "value")
                   .putHeader("key", "value")
                   .create()
                   .perform();

加载网络图片

网络图片加载的初始化

        AntiImageLoader.init(this);
        //AntiImageLoader.init(this,加载中的图片,加载图片为空时的图片,加载失败的图片);
        //AntiImageLoader.init(this,自定义图片加载配置);

加载网络图片

        AntiImageLoader.getInstance().display("http://img.weixinyidu.com/151212/c96ee601.jpg", imageView);

控件注入

已弃用

权限请求

发起权限请求并设置回调

        AntiPermissionUtil.getInstance().requestPermission(this, new AntiPermissionListener() {
            @Override
            public void onPermissionRequestFinish(String[] success, String[] failed, String[] refuse) {
                if (success.length == 2) {
                    //都允许了
                }
            }
        }, Manifest.permission.CAMERA, Manifest.permission.CALL_PHONE);

重写onRequestPermissionsResult方法

        @Override
        public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
            AntiPermissionUtils.getInstance().handlePermission(requestCode, permissions, grantResults);
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }

组件通信

接受消息的类

需要实现AntiChangedListener,并在onCreate的时候调用AntiWatcher.register(this),在onDestroy的时候调用AntiWatcher.unregister(this)方法

public class BlankFragment extends Fragment implements AntiChangedListener {

    View view;

    ImageView imageView;


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_blank, container, false);
        imageView = view.findViewById(R.id.image);
        AntiWatcher.register(this);
        return view;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        AntiWatcher.unregister(this);
    }

    @Override
    public void onWatcherChanged(String changedKey) {
        if (changedKey.equals("image")) {
            AntiImageLoader.getInstance().display(AntiWatcher.getString(changedKey), imageView);
        }
    }
}

发送消息的类

只需要调用AntiWatcher.put***方法即可

                AntiWatcher.putString("image", "http://imgsrc.baidu.com/forum/w%3D580/sign=0e56606c48fbfbeddc59367748f1f78e/df67e62a6059252d80d3ec57379b033b5ab5b93f.jpg");

Demo

Demo已经上传到GitHub

About

Android开发依赖包,主要封装网络请求、权限请求、组件通信、控件注解以及常用工具类,基本上满足大部分APP开发需要

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages