Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

shonegg/NetMonitor

Open more actions menu

Repository files navigation

这是一个运用观察者模式写的网络状态监听库!

注意在清单文件中添加网络权限: < uses-permission android:name="android.permission.INTERNET" />
< uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

用法
1-继承NetApplication,或者在AndroidManifest.xml中声明(套路)

    public class App extends NetApplication {
     @Override
     public void onCreate() {
          super.onCreate();
     }
}

2-如果Activity需要监听网络状态

    private NetObserver mNetObserver = new NetObserver() {
        @Override
        public void notify(NetAction action) {
            if (action.isAvailable()) {
            } else {
            }
        }
    };
   @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.mContext = this;
        NetMonitor.getInstance().addObserver(this.mNetObserver);
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        NetMonitor.getInstance().delObserver(this.mNetObserver);
    }

PS: NetApplication主要是内部初始化广播监听者,如果广播接收者收到了网络变化广播,就会解析当前具体网络类型,然后通知被观察者(Observable),被观察者通知所有观察者网络有变化了和当前网络类型,这里枚举了6种类型: UNKNOWN, WIFI, MOBILE, MOBILE2G, MOBILE3G, MOBILE4G

About

android网络监控下的观察者模式运用

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.