在使用时需要在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);
@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已经上传到GitHub