Android修改默认语言时区

Android修改默认语言时区

文章目录

时区展锐MTKRK

知识扩展时区的表示

时区

不同平台或芯片,修改目录不一样,

展锐

可在SDK下的device/sprd/目录下搜索TIMEZONE 修改值为Asia/Shanghai

diff --git a/device/sprd/sharkl5/test/VendorConfig.mk b/device/sprd/sharkl5/test/VendorConfig.mk

old mode 100644

new mode 100755

index 6ccb333149..de786a8dde

--- a/device/sprd/sharkl5/test/VendorConfig.mk

+++ b/device/sprd/sharkl5/test/VendorConfig.mk

-PRODUCT_TIMEZONE=America/Mexico_City

+PRODUCT_TIMEZONE=Asia/Shanghai

+

+DEFAULT_LOCALE=zh-CN

修改build/make/tools/buildinfo.sh 添加 echo “ro.product.locale= zh-CN”

build/make/target/product/languages_default.mk 把zh_CN提到PRODUCT_LOCALES最前面

PRODUCT_LOCALES := \

+ zh_CN \

MTK

修改如下

device/mediateksample下搜索关键字DEFAULT_TIMEZONE, DEFAULT_LOCALE patch如下, DEFAULT_TIMEZONE前面会跟平台相关的前缀,比如TEST_DEFAULT_TIMEZONE修改PRODUCT_LOCALES,把要的时区放到最前面

diff --git a/device/mediateksample/test/ProjectConfig.mk b/device/mediateksample/test/ProjectConfig.mk

index 6fe066b58d..4c2896ce19 100755

--- a/device/mediateksample/test/ProjectConfig.mk

+++ b/device/mediateksample/test/ProjectConfig.mk

@@ -702,11 +702,11 @@ TEST_W_INTO_GOOGLE_SMS=yes

#功能:设置默认时区

-TEST_DEFAULT_TIMEZONE=Africa/Johannesburg

+TEST_DEFAULT_TIMEZONE=Asia/Shanghai

TEST_CUSTOM_CLIENT_ID=android-navtech

-TEST_DEFAULT_LOCALE=en-ZA

+TEST_DEFAULT_LOCALE=zh-CN

diff --git a/device/mediateksample/test/full_test.mk b/device/mediateksample/test/full_test.mk

index f11b689800..a8b5d374c4 100755

--- a/device/mediateksample/test/full_test.mk

+++ b/device/mediateksample/test/full_test.mk

@@ -15,7 +15,7 @@ $(call inherit-product, $(LOCAL_PATH)/device.mk)

include $(LOCAL_PATH)/ProjectConfig.mk

# set locales & aapt config.

-PRODUCT_LOCALES := en_US zh_CN zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB hy_AM zh_HK et_EE ja_JP kk_KZ sr_RS sl_SI ca_ES

+PRODUCT_LOCALES := zh_CN en_US zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB hy_AM zh_HK et_EE ja_JP kk_KZ sr_RS sl_SI ca_ES

RK

device/对应mk配置文件中添加 默认语言为中文, 时区为北京时间

PRODUCT_PROPERTY_OVERRIDES += \

+ persist.sys.language=zh \

+ persist.sys.country=CN

PRODUCT_PROPERTY_OVERRIDES += \

+ persist.sys.timezone=Asia/Shanghai

知识扩展

在安卓开发中,时区是一个重要的概念,它会影响到日期和时间的显示与计算。下面从时区的表示、获取当前时区、设置时区以及时区对日期时间的影响等方面进行详细介绍。

时区的表示

在 Java(安卓开发常用语言)中,时区通常使用 java.util.TimeZone 类或者 Java 8 引入的 java.time.ZoneId 类来表示。

java.util.TimeZone:是 Java 早期用于处理时区的类,它提供了一些静态方法来获取不同的时区实例,例如 TimeZone.getTimeZone(String ID),其中 ID 是时区的标识符,如 “Asia/Shanghai”。java.time.ZoneId:是 Java 8 及以上版本引入的新的时区类,它更加简洁和易用,并且遵循 ISO 8601 标准。可以使用 ZoneId.of(String zoneId) 方法来获取时区实例。 获取当前设备的时区 使用 java.util.TimeZone

import java.util.TimeZone;

public class TimeZoneExample {

public static void main(String[] args) {

TimeZone currentTimeZone = TimeZone.getDefault();

System.out.println("当前时区: " + currentTimeZone.getID());

}

}

使用 java.time.ZoneId

import java.time.ZoneId;

public class ZoneIdExample {

public static void main(String[] args) {

ZoneId currentZoneId = ZoneId.systemDefault();

System.out.println("当前时区: " + currentZoneId.getId());

}

}

在安卓应用中,你可以在 Activity 或者其他组件中使用类似的代码来获取当前设备的时区。 作者:帅得不敢出门 CSDN原创谢绝转载

相关文章

手把手教你折漂亮的糖果、坚果盒子,超级简单又好看
beat365体育亚洲网址

手把手教你折漂亮的糖果、坚果盒子,超级简单又好看

🌱 07-04 💬 278
世界游泳錦標賽
旧版彩票365下载

世界游泳錦標賽

🌱 06-29 💬 455