android - Android 本地化的工作原理

标签 android localization android-source

我想知道,Android 本地化是如何在内部代码(AOSP 代码级别。它会在哪一层)

例如:我们将在 res 文件夹中有很多字符串文件(如 values、values-en、values-au) 根据手机语言android会自动取相应的字符串文件夹。 我想知道 Android 是如何检测到的?他们在 AOSP 中编写该代码的位置。

我看过 AOSP 代码,但不幸的是我没有得到代码。任何人都可以分享正确的代码链接。

提前致谢。

最佳答案

Java 类

  1. android.content.res.Resources
  2. android.content.res.ResourcesImpl
  3. android.content.res.AssetManager

原生

  1. frameworks/base/libs/androidfw/AssetManager.cpp

当你加载资源时,Resources 会将配置(包括语言环境)+ 资源 ID 转发给原生 AssetManager。 Native AssetManager 将查找可恢复资源以选择正确的资源。

关于android - Android 本地化的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59386889/

相关文章:

java - 无法在服务中未在 locationManager 上调用 Looper.prepare() 的线程内创建处理程序

php - 本地化 Laravel

android - 使用Gradle构建应用程序构建AOSP项目

xml - 使用 MSXML 以 UTF-8 格式保存 XML

android - 从 Android Rom 中完全删除 WiFi(包括设置布局)

android - 如何避免: ndk-build adds lib prefix to shared libraries

android - 为什么我在 Eclipse 中调试时看不到局部变量?

android - 将现有 fragment 置于最前面

javascript - 除非手动触发一次,否则 HTML5 音频无法通过 Javascript 播放

c# - 从 LINQ to SQL 调用 SQL Server 存储过程时无法将 nvarchar 转换为日期时间