小编bma*_*mat的帖子

如何处理白标平台移动应用程序的部署?

我正在开发一种可以部署到许多不同组织的产品(理想情况下,数十种).系统的每个部署(由iOS和Android的本机应用程序组成)将涉及以下内容:

  • 特定于组织的品牌(即新皮肤)
  • 与组织的身份验证系统和用户数据库集成
  • 一些自定义功能取决于组织的需求

换句话说,核心功能在所有部署中保持不变,但每个实例看起来都不同,挂钩到不同的身份验证系统,并启用/禁用某些功能.

我的问题:为了最大限度地减少重复并简化部署过程,管理我们的2个移动代码库(iOS和Android)的最佳策略是什么?

我们正在讨论的三个解决方案是:

  1. 创建一个跨所有实例共享的核心库(作为子项目/库项目或git子模块),并在顶部添加一个薄层,其中包含品牌和任何配置详细信息.

  2. 维护具有核心功能的Git分支,并为包含其他代码的每个部署创建新分支.

  3. 做一些完全不同的事情,一些更聪明的人在stackoverflow建议.

哪个听起来最棒?在此先感谢您的任何反馈!!

deployment maintenance android ios

6
推荐指数
0
解决办法
1587
查看次数

Android中的自定义日历视图

我正在为我的Android应用程序构建自定义日历视图,使您可以在几个月之间滑动。我已经创建了自定义日历正方形视图,并将其嵌入到自定义日历视图中,并且一切都可以在1个月的比例上完美运行。

不幸的是,现在我被困住了。现在,我想将自定义日历月视图嵌入到无限视图分页器中,以便可以无限期地前后滚动日历。

我尝试通过使用一个简单的技巧将此水平寻呼机调整为无限滚动。我持有3个日历月视图数组,并根据用户滚动到的位置更新列表。例...

  1. [7月,8月,9月](焦点位于8月,然后用户滑动到9月)
  2. [7月,8月,9月 ](现在是9月)
  3. [ 8月,8月,9月 ](将8月左移一位,覆盖7月)
  4. [8月,9月9月 ](将9月左移一位,覆盖8月)
  5. [8月,9月,9月](将视图设置为9月中旬,因此我们再次居中)
  6. [8月,9月10月 ](用实际的下个月覆盖9月2日)

不过,当我执行此操作时,刷到下个月时屏幕上会出现明显的闪烁。

这是向前滚动的代码(注意:向后滚动有相同的问题)

private void updateViewsForForwardScroll() {
    // Note: INDEX_PREV = 0; INDEX_CURR = 1; INDEX_NEXT = 2
    ((CalendarMonthView) getChildAt(INDEX_PREV)).showMonth(oneMonthPriorTo(currentMonth));
    ((CalendarMonthView) getChildAt(INDEX_CURR)).showMonth(currentMonth);
    setCurrentScreen(INDEX_CURR, false);
    ((CalendarMonthView) getChildAt(INDEX_NEXT)).showMonth(oneMonthAfter(currentMonth));
}
Run Code Online (Sandbox Code Playgroud)

我认为问题在于setCurrentScreen()在showMonth(currentMonth)之前完成,因此在设置屏幕时,INDEX_CURR上的视图仍在更新。我尝试通过使用以下策略来解决此问题...

  1. [7月,8月,9月](焦点位于8月,然后用户滑动到9月)
  2. [7月,8月,9月 ](现在是9月)
  3. [8月,9月 ](7月删除,但将其存储以进行回收)
  4. [8月,9月,10月](回收7月以代替显示10月,并添加视图)

我完全没有触摸当前聚焦的视图,但是仍然有闪光!这次,屏幕从9月闪烁到8月,然后又回到9月。

我在做什么错?有没有办法在用户不知情的情况下做我想做的事情?如果没有,我可以利用现有的课程吗?

(作为附带的问题,我可以通过任何方式直观地自定义Android CalendarView吗?这真的可以解决我的所有问题...)

提前致谢!

android android-layout android-viewpager

5
推荐指数
1
解决办法
4010
查看次数

Android 布局测量时间随着层次结构的每一步增加而增加一倍

我正在 hierarchyviewer 中分析平板电脑 UI,我注意到测量时间中存在以下模式(从树的底部开始向上移动):

... ~40 毫秒 ... ~80 毫秒 ... ~160 毫秒 ... ~320 毫秒 ... ~640 毫秒 ... ~1280 毫秒 ...

我认为问题是带有嵌套权重的 LinearLayouts,因此我删除了整个层次结构中的所有 LinearLayouts 和权重。现在我有这个:

... ~40 毫秒 ... ~80 毫秒 ... ~160 毫秒 ... ~160 毫秒 ... ~160 毫秒 ... ~310 毫秒 ...

更好,但每隔几个级别它仍然会翻倍。可能是什么原因造成的?

这是此路径的完整层次结构(请原谅长度......请随时向我提出您最好的优化技巧):

[generated layouts]
 *RelativeLayout [309 ms]
   FrameLayout [164 ms]
    NoSaveStateFrameLayout [160 ms]
    *RelativeLayout [151 ms]
     *RelativeLayout [77 ms]
       ListView [45 ms]
        GridLayout [46 ms]
         Spinner [4.4 ms]
          TextView [0.1 ms]
Run Code Online (Sandbox Code Playgroud)

*观看时间加倍 …

android android-layout hierarchyviewer

2
推荐指数
1
解决办法
1162
查看次数