简介:NetStatusBus 简化了网络监听的流程,使代码更加简洁高效
标签:
NetStateBus 是一个可以无缝进行网络状态监听的框架,使用简单,具有强解耦,高性能等特性。
快速体验
如果二维码图片不可见,点我下载 Demo 体验
通过以下方式来使用 NetStatusBus
- 通过 Gradle 添加依赖:
implementation ‘com.sunchen:netstatusbus:0.1.5’
- Application 中初始化 NetStatusBus:
// 尽可能早的进行这一步操作, 建议在 Application 中完成初始化操作
NetStatusBus.getInstance().init(this);
- 根据你的生命周期来注册和注销订阅者,例如:
@Override
public void onStart() {
super.onStart();
NetStatusBus.getInstance().register(this);
}
@Override
public void onStop() {
super.onStop();
NetStatusBus.getInstance().unregister(this);
}
- 声明你的订阅方法,在该方法中可以监听到网络状态的变更: 比如想要监听 wifi 连接的情况
@NetSubscribe(mode = Mode.WIFI_CONNECT)
public void doSometing() {
tvTips.setText(“已连接到 wifi”);
}
注意事项
订阅方法可以选填一个NetType
参数,可以通过NetType
的值来判断当前网络类型。
@NetSubscribe
中可以指定 mode
用来设置订阅的模式,mode 类型如下:
Mode.AUTO
这是默认值,任何网络状态发生变化,该类型订阅者都会被调用。
//所有网络变化都会被调用,可以通过 NetType 来判断当前网络具体状态
@NetSubscribe(mode = Mode.AUTO)
public void netChange(NetType netType) {
Log.d(Constrants.LOG_TAG, netType.name());
}
Mode.WIFI
由 WIFI 改变引发的网络状态变化的情况下(wifi 连接和断开),该类型订阅者会被调用。
// 当 wifi 连接和失去连接时都被调用
@NetSubscribe(mode = Mode.WIFI)
public void wifiChange(NetType netType) {
Log.d(Constrants.LOG_TAG, netType.name());
}
Mode.WIFI_CONNECT
仅在 WIFI 成功连接后,该类型订阅者会被调用。
结尾
最后,针对上面谈的内容,给大家推荐一个Android资料,应该对大家有用。
首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)
泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶
注解原理丶注解原理丶序列化
Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)
代码框架结构优化(数据结构丶排序算法丶设计模式)
APP性能优化(用户体验优化丶适配丶代码调优)
热修复丶热升级丶Hook技术丶IOC架构设计
NDK(c编程丶C++丶JNI丶LINUX)
如何提高开发效率?
MVC丶MVP丶MVVM
微信小程序
Hybrid
Flutter
接下来是资料清单:(敲黑板!!!)
1.数据结构和算法
2.设计模式
3.全套体系化高级架构视频;七大主流技术模块,视频+源码+笔记
4.面试专题资料包(怎么能少了一份全面的面试题总结呢~)
不论遇到什么困难,都不应该成为我们放弃的理由!共勉~
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
Tv-1714938206438)]
不论遇到什么困难,都不应该成为我们放弃的理由!共勉~
如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。
[外链图片转存中…(img-eMH70jPT-1714938206438)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!