Android 应用程序中的动态屏幕

Dynamic screens in Android application

我正在编写一个 android 应用程序,可供不同的业务 and/or 用户使用,每个用户都可以有自己的配置。

每个企业将在后台站点(数据将保存在数据库中)中设置其所需的配置(屏幕、文本等)。

在初始屏幕上,我将从服务器获取一个 Json 字符串,它 包含此业务特定配置。 从现在开始,应用程序应该基于此 json 工作。

我的问题:

  1. 是否推荐这样搭建?
  2. 使用工作流管理器 class 来处理屏幕转换是否是一种好习惯。
  3. 你能推荐一个你会采用的策略吗?

这是一个处理屏幕转换的函数

public static void startNext(String FromActivity, Context context)
{
    try
    {
        Intent intent = new Intent(context, Class.forName(context.getPackageName() + getNextActivity(FromActivity)));
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }
    catch (ClassNotFoundException ex)
    {
        Log.e("test", ex.getMessage());
    }
}

getNextActivity 函数 return 根据 json 字符串,下一个应该打开的 class。 以及从 activity 1 移动到下一个 activity

的调用示例
FlowManager.startNext(this.getLocalClassName(),getApplicationContext());

当您有这样的定制时,最好制作一个构建脚本,该脚本将从 github/svn 或类似的地方下载特定发布者的最新代码。它还应该下载发布者特定的字符串、启动器图标、应用程序的名称和最终包的包名、版本、用于签署应用程序的证书、资产、重命名所有出现的默认包...确保排除任何不必要的库一些出版商不需要并注释掉与该图书馆相关的内容。您可以在代码中定义 start/end 标签,然后搜索开始标签,将其替换为 /* ,然后将结束标签替换为 */ 有效地注释掉它们之间的所有内容。最后脚本 运行s gradle 包装器。首先 运行 清理然后构建。也可以定义apk的结束输出位置,方便查找。

构建这样的构建脚本的最简单方法是使用 bash 脚本。他们 运行 在 linux/mac 上,如果你以正确的方式进行,甚至两者兼而有之。整个想法应该 运行 在像 Jenkins

这样的构建服务器上

构建完成后,最好将最终的 *.apk 上传到发布者可以下载最新 apk 的服务器,然后将其上传到 Google Play 商店。

编码愉快!