我正在开发一个有几个屏幕的电子商务应用程序。当没有互联网时,需要显示具有“无互联网可用”消息的特定片段。一旦互联网恢复,这个片段就会消失,并且应该显示先前加载的片段。
这类问题应该采用什么样的设计?
答案 0 :(得分:0)
我不知道它是否是一个模式,但我会使用BaseActivity和一个公共布局来处理所有活动中只有一个片段容器,然后:
答案 1 :(得分:0)
这实际上取决于用户体验/产品人员如何处理它。
两种最常见的方法[当然不是设计模式]是
1)具有BaseActivity / BaseFragment并包含布局。每当您的网络状态发生变化时,您都会从LocalBroadcastManager
中搜索BaseActivity / BaseFragment监听的LocalBroacast。这里根据条件使包含的布局可见或消失。
2)第二种方法是您不主动收听网络状态更改,但在使用api之类的网络请求之前使用ConnectivityManager
Android has a nice article here
public boolean isConnected(){
ConnectivityManager cm =
(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
return isConnected;
}
当isConnected为false时,使用与第1页中相同的方法在任何屏幕中显示错误。