2016-07-28 33 views
0

我正在一个电子商务应用程序有几个屏幕。当没有互联网时,需要显示消息“没有互联网可用”的特定片段。一旦互联网回来,这个片段应该消失,并且应该显示先前加载的片段。没有互联网消息的设计模式

什么样的设计应该用于这种问题?

+0

不断尝试检查与服务器的连接看起来像是电池漏电 –

+0

您必须使用'BroadcastReceiver'。 –

+0

您应该回复/选择对您有意义的评论或评论。 – Ichthyocentaurs

回答

0

我不知道它的模式,但我会用一个BaseActivity和共同的布局,所有的活动,只是在这一个片段容器,然后:

  1. 让您的每一个活动的施展提到容器内的内容。
  2. 用于处理互联网连接/断开的逻辑将在BaseActivity中进行,而反过来,
  3. 将在互联网不存在时替换碎片容器中的当前内容,并在以后切换回去。
0

它实际上取决于用户体验/产品人员如何处理它。

的2种最常用的方法[这些不是设计模式肯定]是

1)有一个BaseActivity/BaseFragment和包括的布局。只要您的网络状态发生变化,您就会从BaseActivity/BaseFragment侦听的LocalBroadcastManager中拍摄LocalBroacast。这里根据条件使包含的布局可见或消失。

2)第二种方法是,你DONOT主动倾听网络状态的变化,但做一个网络请求中的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是假的,显示出任何错误屏幕使用与pt 1相同的方法。