[英]How to create an adaptive Android app
我希望Android应用程序能够根据用户所在的用户组而具有不同的外观和行为。例如,一个用户登录,该应用程序告诉服务器是哪个用户。 服务器返回的信息可能因用户而异,因此我希望该应用程序能够创建与该信息匹配的不同UI元素。
可能会改变的事情是:
抱歉,这很含糊,也许问这个一般问题并不明智,但是我还不知道应用程序的细节,只是轮廓,我想从某个地方开始。
是这样做的唯一方法
if(condition)
//intitialize one GUI element
else if(condition2)
//initialize another GUI element
直到无限,还是有另一种方法?
同事,为什么不使用策略模式?
就我们而言,我建议:
1)在将由具体类实现的接口中分离所需的行为。 例如:
public interface IViewBehavior {
public void setSorting();
public void setFields();
public void setColors();
}
public interface IDataBehavior {
public void setData();
}
2)使用组合,并通过委派以下行为将这些行为集成(添加)到Application对象中:
public class RickardApp extends Application {
IDataBehavior dataBehavior;
IViewBehavior viewBehavior;
public void setDataBehavior(IDataBehavior dataBehavior) {
this.dataBehavior = dataBehavior;
}
public void setViewBehavior(IViewBehavior viewBehavior) {
this.viewBehavior = viewBehavior;
}
}
set * Behavior()方法将动态定义应用程序的行为。 我们只需要在知道细节时创建“行为”类即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.