繁体   English   中英

如何创建自适应Android应用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM