`
zhangyf1987hb
  • 浏览: 83996 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 机型适配之本地化

阅读更多

Supporting Different Languages

It’s always a good practice to extract UI strings from your app code and keep them in an external file. Android makes this easy with a resources directory in each Android project.

If you created your project using the Android SDK Tools (readCreating an Android Project), the tools create a res/ directory in the top level of the project. Within this res/ directory are subdirectories for various resource types. There are also a few default files such as res/values/strings.xml, which holds your string values.

Create Locale Directories and String Files


To add support for more languages, create additional values directories inside res/ that include a hyphen and the ISO country code at the end of the directory name. For example, values-es/ is the directory containing simple resourcess for the Locales with the language code "es". Android loads the appropriate resources according to the locale settings of the device at run time.

Once you’ve decided on the languages you will support, create the resource subdirectories and string resource files. For example:

MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-fr/
           strings.xml

Add the string values for each locale into the appropriate file.

At runtime, the Android system uses the appropriate set of string resources based on the locale currently set for the user's device.

For example, the following are some different string resource files for different languages.

English (default locale), /values/strings.xml:

<?xml version="1.0" encoding="utf-8"?><resources><stringname="title">My Application</string><stringname="hello_world">Hello World!</string></resources>

Spanish, /values-es/strings.xml:

<?xml version="1.0" encoding="utf-8"?><resources><stringname="title">Mi Aplicación</string><stringname="hello_world">Hola Mundo!</string></resources>

French, /values-fr/strings.xml:

<?xml version="1.0" encoding="utf-8"?><resources><stringname="title">Mon Application</string><stringname="hello_world">Bonjour le monde !</string></resources>

Note: You can use the locale qualifier (or any configuration qualifer) on any resource type, such as if you want to provide localized versions of your bitmap drawable. For more information, see Localization.

Use the String Resources


You can reference your string resources in your source code and other XML files using the resource name defined by the <string> element's name attribute.

In your source code, you can refer to a string resource with the syntax R.string.<string_name>. There are a variety of methods that accept a string resource this way.

For example:

// Get a string resource from your app's ResourcesString hello =getResources().getString(R.string.hello_world);// Or supply a string resource to a method that requires a stringTextView textView =newTextView(this);
textView.setText(R.string.hello_world);

In other XML files, you can refer to a string resource with the syntax @string/<string_name> whenever the XML attribute accepts a string value.

For example:

<TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world"/>
分享到:
评论

相关推荐

    Termux适配android7以下版本.zip

    描述中的"Termux_v0.72支持安卓7.0以下的机型.apk"提到的是Termux的特定版本v0.72,这个版本能够兼容Android 7.0及以下的操作系统。这非常重要,因为很多较旧的Android设备可能无法接收更新,或者由于硬件限制无法...

    Android高级进阶知识点

    为了保证App的整体稳定性,除了本地化测试和压力测试(例如使用Monkey测试)之外,系统的架构设计和代码编写的细节也非常关键。此外,面试中可能会涉及到自动化测试工具如Gradle和机型适配测试。 二、Android对象...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    市场上相应的检测平台诸如检测通、凡特网等皆为pc端检测网站,并且操作繁琐不够人性化,用户在实地使用中存在很多问题。昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业...

    大数据技术分享 无线客户端 手机移动端 数据实践 数据采集、数据处理、数据加密、数据统计分析 共19页.pdf

    "大数据技术分享 无线客户端 手机移动端 数据实践 数据采集、数据处理、数据加密、数据统计分析" 大数据技术分享 无线客户端 手机移动端 ...风险包括用户隐私的侵犯、苹果的iOS暴政、Android的机型适配、信息泄露等。

    测试大纲和测试报告1

    测试应涵盖数据的本地存储、读取,以及图表的可视化效果和适应性,特别是自定义视图在不同设备上的表现。 测试报告详细列出了测试环境,包括不同品牌和版本的Android设备,如LG G6、华为P8、Samsung Galaxy S7和...

    小米4手机系统精简版miui10开发版20200908cancro_images_8_old.9.13.zip

    小米4作为一款经典机型,适配MIUI10后,能够获得更现代的界面和更多功能。 该压缩包"小米4手机系统精简版miui10开发版20200908cancro_images_8_old.9.13.zip"显然是为小米4准备的MIUI10开发版系统固件更新。"cancro...

    梁公军:移动客户端的速度优化

    此外,在产品还不够成熟时,先适配iOS和主要的Android机型是明智的选择,随后再扩展至更多平台。 梁公军提出的策略不仅涵盖了移动客户端开发的各个阶段,还包含了对未来技术趋势的预判和建议,强调了敏捷开发和快速...

    手机功能测试文档07428@52RD_NOKIA_手机软件测试.

    - 特定语言定制:针对不同语言环境进行测试,确保软件界面和提示信息的本地化适配。 - 附件:测试耳机、蓝牙设备、USB数据线等配件的兼容性和连接稳定性。 - 数据连通:涵盖Wi-Fi、移动网络、蓝牙、红外等多种...

    移动跨平台APP开发框架比较

    解决原生开发中机型适配的难题;提供打包、部署的工具或服务。 Cordova 是一个开源的移动跨平台APP开发框架,优点是开源免费,社区生态成熟,插件丰富,支持离线场景应用,开发工具选择空间大,iOS 和 Android ...

    App开发建议技巧

    2. **机型适配**: - **特定机型问题**:针对特殊机型的问题,可以通过反编译ROM、联系厂商工程师或参考其他应用源码来解决。 - **Android API变化**:关注不同版本API的变化,必要时通过源码分析进行适配。 3. *...

Global site tag (gtag.js) - Google Analytics