首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉钩
V2EX  ›  Android

Android 如何定制化开发

  •  
  •   stdying · 60 天前 · 1501 次点击
    这是一个创建于 60 天前的主题,其中的信息可能已经有所发展或是发生改变。
    app 不同用户有不同 UI 和功能,这些需求都要在一个 app 内完成,根据配置显示不同的效果,
    有什么好的方案,可以介绍一下
    21 回复  |  直到 2018-10-15 11:32:24 +08:00
        1
    loshine1992   60 天前   ♥ 1
        2
    stdying   60 天前
    @loshine1992 只发布一个 app
        3
    frantic   60 天前
    模块化 共用同一个用户体系,然后判断用户类型跳转不同的模块
        4
    KNOX   60 天前 via Android
    试试组件化
        5
    james2013   60 天前
    一个界面 /控件 a 有 2 种不同的 UI,a_ui 值为 0 隐藏,为 1 则显示一种 UI,为 2 则显示另外一种 UI.
    app 本身放一份默认 UI 和功能 json 配置,在首页请求网络获取当前用户对应角色的 UI 和功能配置 json.
    [{"key":"a_ui","value:1"},{"key":"b_action","value:0"}].当前配置列表有该值,则展示对应值的 UI 或功能,没有,则使用默认值.
        6
    TommyLemon   60 天前
    拆分 package,然后 gradle 执行打包时对应的 package,这样可以用一个工程打出不同包名的多个 APK。

    如果真的就是同一个 APK,那除了判断配置跳到不同界面应该没有别的方法了。
    具体实现可以是原生多套 Activity、内嵌多套网页、多套插件(类似 UC 浏览器的阅读插件等)
        7
    stdying   60 天前
    @frantic 模块里面,同一个功能也会变化,包括 UI 和逻辑
    @KNOX ??
    @james2013 我们目前也是这个打算,涉及的东西很多,包括一下资源文件,后续点击事件怎么处理
    @TommyLemon 之前是打包多个 apk,现在要统一。你说的插件是指插件化吗,应用会涉及到摄像头等调用硬件的需求,不知道插件化会不会有坑
        8
    TommyLemon   60 天前
    @stdying 涉及传感器的最好不要用插件,尤其是浏览器插件,可能会缺少权限,或者驱动有问题。
        9
    xiaohei233   60 天前
    这样搞很容易做出很多 bug 的,还不如直接做两个 app。我们公司之前给客户做 OEM 定制,就是这样。直接用 git 拉分支,需要什么拉什么,改起来很快。
        10
    crayygy   60 天前 via iPhone
    我们公司做的就是这种,用户一个配置文件就能搞定很多的定制化需求,但是代码写起来很痛苦的,要测试的地方太多了
        11
    mauve   60 天前
    Hybrid App 不就完事了,何止 UI 功能,操作系统都行啊
        12
    stdying   60 天前
    @xiaohei233 现在是 5 个分支,后面要做成一个。。
    @crayygy 是怎么实现,,比如一个点击事件,怎么做后续操作,跳转控制
    @mauve 估计不会
        13
    exc   60 天前 via Android
    做过类似的,业务和 ui 都拆成最小粒度,然后根据不同场景(用户)组装
        14
    crayygy   60 天前 via iPhone
    @stdying #12 有专用的 helper 来根据配置走逻辑的,维护真的有点痛苦,尽量别这么干
        15
    akira   60 天前
    h5 外面套个壳?
        16
    stdying   60 天前
    @exc 差不多是这个意思
        17
    MrStark   60 天前
    这就是这两年常说的组件化需求, 根据场景组合对应的模块.
        18
    mmdsun   60 天前 via Android
    我觉得两个 app 会方便一些。
        19
    xiaohei233   59 天前
    @stdying 尝试使用状态模式来优化逻辑吧,不然维护起来很痛苦,后面改需求也很痛苦。
        20
    stdying   57 天前
    @xiaohei233 痛苦是小,运营要是改错了,才是特错打错
        21
    xiaohei233   57 天前
    不是开发的锅就好了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1601 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 18ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1