搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小蓝xlanll
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
MySQL索引类型——有五种_mysql的索引种类有哪些
2
华为手机发展史
3
【Linux】进程详解一:进程概念_linux 进程
4
锁屏解锁-KeyguardManager
5
凌晨三点学习的你,感到迷茫了吗?
6
qt中如何去掉主窗口标题栏_qt去掉窗口标题栏
7
04.手写服务限流算法: 令牌桶、漏桶、滑动窗口算法_手写令牌桶
8
淘宝扭蛋机小程序:扭出惊喜,乐享购物新体验
9
git把某个文件去除版本控制_git 把target 移除版本控制
10
winform dev lookupedit_dev lookupedit获取选中值
当前位置:
article
> 正文
settings/Date&time/Choose date format中增加自己定义的日期格式_settinzs time f date lizhtinz wehicle
作者:小蓝xlanll | 2024-05-28 08:10:24
赞
踩
settinzs time f date lizhtinz wehicle
settings/Date&time/Choose date format中增加自己定义的日期格式
问题分析:在Choose date format中增加日期格式,增加后的日期格式要在开机桌面中进行显示,增加的日期格式要能被程序识别并进行显示。
思路:V2800原来的日期格式为:Regional(12/31/2016)、12/31/2016、31/12/2016、2016/12/31、Sat,Dec 31,2016、Sat,31 Dec 2016这几种格式,把格式改为:Regional(12/31/2016)、12-31-2016、31-12-2016、2016-12-31、Sat,Dec 31,2016、Sat,31 Dec 2016。首先在String.xml中找到Choose date format字段,然后利用source insight对字段进行搜索找到Date_time_prefs.xml文件(找到小标题Summary字段修改为MM-dd-yyyy样式),然后对Date_time_prefs.xml文件进行搜索找到DateTimeSettings.java文件(要修改的目标文件找到)。代码中找到所有的pattern,对模型进行SimpleDateFormat进行格式化,格式化为想要的格式。
目的:带着问题去学习,起到熟悉工作代码的作用。
DateTimeSettings分析:
DateTimeSettings继承了SettingsPreferenceFragment类,那么在类中主要使用了ListPreference来作为日期的显示。
OnCreate()中addPreferencesFromResource(R.xml.date_time_prefs)加载搜索到的资源文件xml.date_time_prefs,然后调用initUI()。
initUI()中:autoTimeEnabled和autoTimeZoneEnabled查看是否是自动时间设置,自动的日期设置,autoTimeEnabled又分为了三种方式:Use network-provided time、Use-GPS-provided time、Off,然后如果选择不同的方式则进行不同的处理。如果autoTimeZoneEnabled打开表示可以手动选择当前的时区。然后通过findPreference()找到time、24 hour、timezone、date字段,设置相应的值进去,mDateFormat中设置的资源文件的值为date_format_values,利用source insight搜索,找到Array.xml文件,在这里找到了显示的日期格式字段。
<item>MM-dd-yyyy</item>
<item>dd-MM-yyyy</item>
<item>yyyy-MM-dd</item>
<item>EE-MMM-d-yyyy</item>
<item>EE-d-MMM-yyyy</item>
<item>yyyy-MMM-d-EE</item>
<item>yyyy-MMM-d</item>
<item>yyyy-d-MMM</item>
<item>EEEE-MMMM-d</item>
要添加格式在这里添加,修改格式也是对这里进行修改,修改后要能在手机的主界面显示出来。
onResume():设置IntentFilter,注册BroadcastReceiver(),当时间日期发生改变时触发。调用updateTimeAndDateDisplay (),显示时间和日期格式。
updateTimeAndDateDisplay():功能是DateFormat对日期、时间、时区、是否24小时制进行格式化,并且在小标题上显示出日期、时间、时区、是否24小时制。
onDateSet():设置日期的格式,对日期进行设置后调用updateTimeAndDateDisplay()、updateDateFormatEntries()这两个方法。
updateDateFormatEntries():对Array.xml文件中添加的日期格式进行格式化。首先加载资源文件date_format_values.xml,然后把找到的日期格式放入数组中,对MM-dd-yyyy、dd-MM-yyyy、yyyy-MM-dd、yyyy-MMM-d、yyyy-d-MMM、EEEE-MMMM-d利用SimpleDateFormat进行格式化,其余格式利用DateFormat进行格式化显示,编译通过。能够显示出“横线”的形式。
onSharedPreferenceChanged():主要是对桌面文件如何显示进行设置的format文件获得Array.xml中的所有的格式,当format为MM-dd-yyyy、dd-MM-yyyy、yyyy-MM-dd时SimpleDateFormat对其进行格式化,然后显示在屏幕桌面上。完成。
另一种分析思路:
在frameworks/base/core/java/android/text/format/dateformat.java中getDateFormat()得到Value并把value值传给getDateFormatForSetting()。
getDateFormatForSetting()中对格式进行了设置,value中存在dd则用dd,不存在的话使用d,MMMM存在则为MMMM,不存在则判断MMM是否存在,存在则为MMM,不存在判断MM是否存在,一直到M为止,yyyy,EEEE值依次类推。然后对得到的day、year、month、week进行格式化。
frameworks/base/package/keyguard/src/com/android/keyguard/keyguardStatusView.java中对于得到的pattern模式进行处理。
MM-dd-yyyy处理为:MM/dd/yyyy、dd-MM-yyyy处理为dd/MM/yyyy、yyyy-MM-dd处理为yyyy/MM/dd、EE-MMM-d-yyyy处理为EE,MMM d yyyy,EE-d-MMM-yyyy处理为EE,d MMM yyyy,yyyy-MMM- d-EE处理为yyyy、MMM d EE,EEEE-MMMM-d处理为EEEE,MMMM d。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小蓝xlanll/article/detail/636464
推荐阅读
article
OpenWrt
之时区
设置
(
夏令时
设置
)_
openwrt
修改
lease
time
...
OpenWrt
之时区
设置
详解今天遇到一个客户关于
设置
时区问题。涉及到
夏令时
区,查阅一些资料终于搞明白了。记录如下:因为o...
赞
踩
article
TENT
:
FULLY
TEST
-TIME
ADAPTATION
BY
ENTROPY
MINIMI...
在这种完全测试时适应的情况下,模型只有测试数据和自身参数。我们建议通过测试熵最小化(tent)进行适应:我们通过预测熵来...
赞
踩
article
【计算机视觉 |
目标
检测
】RT-
DETR
:
DETR
s Beat YOLOs
on
Real
-tim...
【计算机视觉 |
目标
检测
】RT-
DETR
:
DETR
s Beat YOLOs
on
Real
-
time
Object D...
赞
踩
article
Qt
3D
的研究(三):显示
3D
模型_
qt3d
.
renderer
.
jobs
:
unsupported
...
上一篇文章介绍了如何使用最少的代码创建一个Qt
3D
的应用。和大家最初接触的glut一样,对于
3D
应用来说,需要做的准备...
赞
踩
article
MySQL
数据库
详解_=
'
date
base1
'
!$
c
$
41
:$
c
$42...
在
MySQL
数据库
_=
'
date
base1
'
!$
c
$
41
:$
c
$42=
'
date
base1
'
!$
c
$
41
:$
c
$...
赞
踩
article
【
Kafka
】
Kafka
入门解析(六)_
kafka
replica
.lag.
time
.
max
.ms...
(图片来源于网络,侵删)这一篇博客对于broker的概念做一些归纳整理!废话不多说,那就开始吧!!!【1】TopicKa...
赞
踩
article
Kafka
深度解析_
replica
.
lag
.
time
.
max
.ms...
背景介绍
Kafka
简介[size=16.7999992370605px]
Kafka
是一种分布式的,基于发布/订阅的消...
赞
踩
article
论文笔记_S2D.46_2013-3DV_基于点融合的动态场景实时
三维重建
_
real
-
time
3d...
基本情况题目:Real-
time
3d
reconstruction
in
dynamic
scenes
us
in
g p...
赞
踩
article
阅读笔记:Re
a
l-
time
3D Rec
on
structi
on
in
Dyn
a
mic Scenes...
Re
a
l-
time
3D Rec
on
structi
on
in
Dyn
a
mic Scenes us
in
g Po
in
t-b
a
...
赞
踩
article
JSON
parse
error: Cannot
deserialize
value of
type
...
当你看到 "
JSON
parse
error: Cannot
deserialize
value of
type
`ja...
赞
踩
article
基于TimeQuest
Timing
Analyzer
的时序分析笔记(一)_
setup
time
u...
基于TimeQuest
Timing
Analyzer
的时序分析笔记(一)首先声明英文来自ug-qpp-timing-a...
赞
踩
article
Anaconda/Pycharm下载安装时PIP Error:
Cannot
determine
ar...
代码】ERROR:
Cannot
determine
archive
format
of xxx(pip error)_...
赞
踩
article
pip
安装模块失败问题_
pip
cannot
determine
archive
format
...
问题1:ERROR: Could not find a version that satisfies the requi...
赞
踩
article
解决安装
Tensorflow2
: ERROR
annot
determine
archive
for...
解决安装
Tensorflow2
: ERROR
annot
determine
archive
format
of XXX...
赞
踩
article
pip
install
报错
ERROR
:
Cannot
unpack
file、
Cannot
det...
使用。_cannot
determine
archive
format
cannot
determine
archive
...
赞
踩
article
ERROR
:
Cannot
unpack file
ERROR
:
Cannot
determine
a...
用pip换源命令安装包时报错解决方法,亲测有用_
rouge
-chinese error:
cannot
determin...
赞
踩
article
BiMorphing: A Bi-Directional Bursting DefenseAgain...
2021一方面,攻击者收集客户端和服务器之间传输的加密数据包,提取模式和特征,并通过机器学习技术进行流量分析,试图推断出...
赞
踩
article
Python
时间序列
LSTM
预测系列教程(7)-多变量_
luminol
is a
light
wei...
空气污染预测案例数据格式Noyearmonthdayhourpm2.5DEWPTEMPPREScbwdIwsIsIr12...
赞
踩
article
Centos7
安装
mysql8
遇到启动失败_
centos7
unsupported
redo
lo...
centos安装mysql Unsupported
redo
log
format
_
centos7
unsupporte...
赞
踩
article
conda快速安装;ERROR: Cannot
determine
archive
format
o...
ERROR: Cannot
determine
archive
format
of C:\
Users
\Liu_J\App...
赞
踩
相关标签
linux
服务器
运维
论文阅读
迁移学习
计算机视觉
目标检测
DETR
RT-DETR
YOLO8
qt
3d
数据库
mysql
sql
大数据
kafka
SLAM
Dynamic object
3D Dense Map
2007
java
时序模型
fpga