【问题标题】:What's the best approach to build the same Android apps for different public?为不同的公众构建相同的 Android 应用程序的最佳方法是什么?
【发布时间】:2010-07-29 18:43:23
【问题描述】:

我正在开发一款供运动队球迷使用的应用。将来,我希望为任何不同的团队使用相同的应用程序。那么,颜色、团队徽标、应用名称等会发生什么变化。

那么,有没有什么技术可以让我为不同的团队构建二进制文件而无需重复资源?

【问题讨论】:

    标签: java android target product


    【解决方案1】:

    也许最好的方法是离开默认的构建系统。这通常意味着编写自定义 Ant 脚本(或者您可以使用某种准备脚本,在调用默认构建之前操作资源)。

    我之前曾用an outline 勾勒出我是如何实现类似目标的。

    【讨论】:

    • 丹,你能检查一下你的大纲链接吗?我想读它,但它似乎只会让我回到这个问题:(
    • 是的,对不起。我不小心替换了剪贴板中的链接。现在应该修好了。
    • 我认为这是唯一好的解决方案。我还没有找到其他可以说服我的东西:S
    【解决方案2】:

    是否可以拥有一个包含所有资源的二进制文件并让用户从应用程序本身中选择他们想要的团队?然后应用可以加载它需要的任何资源。

    【讨论】:

    • 很好...但是,如果有 130 个团队呢?每个团队样式+徽标最多可能占用 1MB,因此在这种情况下,该应用程序对于手机来说将是巨大的。无论如何感谢您的回答。
    • 他们选择团队后,您可以从互联网上获取图片
    【解决方案3】:

    可能有更好的方法来做到这一点,但这里是:

    为第一个团队构建您的应用并制作所有徽标/团队名称/样式/等资源。然后只需为自己编写一个脚本,该脚本允许您删除项目的 res/ 文件夹中的所有项目并用不同的项目替换它们。如果您很聪明,那么大多数字符串之类的团队名称都包含在徽标中,因此您的脚本所要做的就是删除旧的并从硬盘驱动器上的其他位置复制新的。

    最糟糕的是,您必须为样式定义 android-type 文件。让您的脚本将团队主要颜色和次要颜色作为参数并实际生成所有 android 类型的样式文件可能会很好。

    同样,可能有更好的方法,我只是说这种方法可能是一种解决方案。

    【讨论】:

      【解决方案4】:

      我认为构建您的应用程序,它将从互联网/您的服务器加载图像、颜色信息。那么,

      1) 询问用户他们关注的团队名称,并从互联网/服务器下载图像、颜色信息并将其存储为本地。下次不要下载了。

      2) 为每个构建附加任何全局 ID,这将在用户首次安装应用程序时从服务器下载图像、颜色信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多