Open Mygod opened 8 years ago
谢谢提醒。这个方法我曾看到过,我早前的提交里还用到了相关的,包括和capital portal网络相关的,API23,不过后来去掉了,因为目前没有理清相关逻辑,之后会使用。 至于界面,个人向来不擅长,你说的不好的细节是指动画变色有时会做无用的切换吗,譬如当前离线,却总会从在线变成离线是吗?这个确实是界面缺陷,将来会更改。不知还有别的硬伤请详细指出,如果是软伤就没办法了,因为个人UI设计能力有限
你可以照搬我的 PortalManager
(负责所有 HTTP 请求之类的)和 NetworkMonitor
(监测系统网络,4.x 的传统版在 object 里实现,5.0+ 的 Network API 使用后台 Service 监听)。
界面嘛,ripple 的形状啊,以及好多细节……
@Mygod 我对Android 4.0和5.0也采用了两种监听。其中android 4.0使用的是接受系统网络变化广播,5.0用的是网络请求回调。不过因为某些bug,最新版本中强行全都使用了前者。我的http请求分散在不同的包中,按功能划分包的。如果照搬你的PortalManager更改比较麻烦,谢谢好意。
对你有帮助的一个方法:https://github.com/Mygod/nju-portal-login-android/blob/d0b2286c0b0595fcf624b00e75e83dc6de498ca9/src/main/scala/tk/mygod/portal/helper/nju/PortalManager.scala#L135
Fyi,
app.cm
是ConnectivityManager
。P.S. 界面乍一看不错,不过用了下才发现动画以及一些其他细节还需努力。