美文网首页Android技术分享交流区基础
Android手机开发时间日期模块的总结

Android手机开发时间日期模块的总结

作者: 如果这都不算帅 | 来源:发表于2016-11-01 16:04 被阅读181次

           程序员要不断写代码和学习才能跟上步伐。现在的我几乎不写代码,跟兄弟们都不是一条路上的人了,所以导致现在app几乎什么都不知道了。由于目前公司做的是手机,下面我就介绍下我的日常工作和负责的模块。每天九点半上班,吃个早餐上个厕所到工作就快十一点了。每天做着没有什么技术含量琐碎的工作,对于我这个菜鸟,有个问题设计到底层的就苦逼了。每个公司都有每个公司的套路,时间久了就好了。公司一般用的是MTK平台的源码支持。现在就以MTK平台为例。不过和其他平台的都大同小异。

    在手机的设置-时间日期界面会有如下显示:

      1、自动更新时间会有两种协议NITZ和NTP。

             NITZ是一种GSM/WCDMA基地台方式,必须插入SIM卡,且需要operator支持;可以提供时间和时区信息。NTP在无SIM卡或operator不支持NITZ时使用,单纯通过网络(GPRS/WIFI)获取时间,只提供时间信息,没有时区信息(因此在不支持NITZ的地区,自动获取时区功能实际上是无效的)。

    2、关于时区的更新

          到网站ftp://ftp.iana.org/tz/releases/下载tzdata*.tar.gz。时区的相关修改一般都是通过更新一个tzdata包来决定的,这个包是MTK提供的。一般需求都可以满足,因为时区一般都是全球统一的。这个tzdata包解压出来是每个大洲的文件,里面包含每个国家对应的时区显示规则。将获得的tzdata放到源码下的固定文件夹下,然后执行一个提供好的脚本编译,在编译过程中可能需要好多文件的权限。最终会生成tzdata二进制文件。将这个文件放到手机里就好ok了。(编译规则不正确可能导致手机无法开机)。

    3、时间日期中资源icu

          个人理解:icu就是全球化标准化的资源文件,是国际的开源工程。http://site.icu-project.org/里面包含时间日期格式,锁屏界面,电池电量等各个模块各个语言下的显示字符,按照一定规则显示出来。icu也是通过脚本编译出来的二进制文件,将直接放到手机里可以查看效果,编译的步骤只是前期需要。下面我总结了androidL和androidM平台的编译方式:

    A. (KK,L)需要建立临时目录,并且在临时目录中编译ICU资源

    1. 在external/icu4c下新建临时目录icubuild,进入icubuild目录

    $mkdir external/icu4c/icuBuild

    $cd external/icu4c/icuBuild

    2. 执行icuConfigureRun Linux命令,生成make文件

    $.././runConfigureICU Linux

    3. 执行make -j2命令,

    $make -j2

    4. 将生成的external/icu4c/icuBuild/data/out/tmp/icudtxxl.dat push到手机测试

    $adb remount

    $adb push external/icu4c/icuBuild/data/out/tmp/ icuxxl.dat system/usr/icu/

    $adb reboot

    KK:icudt51l.dat

    Android L:icudt53l.dat

    (M)无需建立临时目录

    1.进入到$AOSP/external/icu/icu4c/source/目录下的

    2.在该目录下执行 .runConfigureICU Linux命令生成MAKE文件

    3.执行make INCLUDE_UNI_CORE_DATA=1

    B. COPY所需文件

    (KK ,L)将第一步生成的external\icu4c\icubuild\data\out\tmp\icudtxxl.dat复制到external\icu4c\stubdata下并改名为icudtxxl-all.dat,覆盖原来的同名文件。

    KK版本是icudt5l.dat和icudt5l-all.dat

    注意:Android L是没有icudt53l-all.dat文件的,直接把icudt53l.dat拷贝过来替换原来的文件即可。

    总结的比较模糊。最近刚分了个模块,Sensor(传感器),等熟悉了在总结。

    相关文章

      网友评论

      本文标题:Android手机开发时间日期模块的总结

      本文链接:https://www.haomeiwen.com/subject/suymuttx.html