`
AnhuiOSS技术分享
  • 浏览: 34102 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Android 支持不同(本地化、屏幕、版本)设备

阅读更多

Android 支持不同(本地化、屏幕、版本) 设备


    不同的制造商、屏幕分辨率、操作系统版本等的多样性导致不同Android设备之间存在一定的差异性。如果希望一个App可以尽可能多的支持不同Android设备,那么开发者必须对这种设备间的差异性做出相应的处理。

 

    截至到目前为止的Android版本(http://developer.android.com/guide/topics/manifest/uses-sdk-element.html)
API Level和版本对应关系

 

1、支持本地化
    随着全球化的发展,地域界限越来越模糊,一个App不仅仅局限在一个小的地域内被使用。这就要求App可以支持多种语言,并尊重相应地域的文化和习俗等。Android已经为我们考虑到这一点,我们需要做的仅仅是根据它的规范,做相应的简单处理即可。
    本地化不仅仅只是语言,还包括图片,布局,声音,动画等。本文仅以字符串为例,其它内容可参考Android开发者网站(http://developer.android.com/guide/topics/resources/localization.html)。


    1.1创建本地字符串文件:
    如果你希望自己的App支持汉语和法语,并且假定汉语为默认语言,我们需要做些什么呢?
    在处理这个问题前,我们先了解一下现在的情况时什么?
    在res/values文件夹下有个 strings.xml文件,里面可以保存默认语言的字符串,在本例中,里面的字符串都是汉语字符串。 接下来我们需要做的就是在res文件夹下创建 values-fr的文件夹,然后再该文件夹下创建 用于保存法语字符串的strings.xml文件


    1.2使用本地字符串:
        1.2.1在XML文件中通过 @string/<string_name>形式使用:

<TextView android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/hello_world" />

        1.2.2在代码中使用:
            1.2.2.1通过getResource()方法使用:

String hello = getResource().getString(R.string.hello_world);

            1.2.2.2通过R.string.string_name引用:

 TextView tv = new TextView(this);
              tv.setText(R.string.hello_world);

    对于 图片,布局,声音,动画等资源的本地化操作方式类似,在此不再赘述。

 

2、支持多屏幕
    Android允许开发者根据设备的不同分辨率设定布局文件和图片文件来支持对于多屏幕的支持。
    本文仅以布局文件的设定为例:
    在res/layout文件夹下有一个my_activity.xml文件,用于某个Activity的布局设计,现在希望可以支持较大屏幕设备,我们该如何处理呢?
    很简单,在res文件夹下创建layout-large文件夹,然后在该文件夹下创建 my_activity.xml文件,用于对较大屏幕设备的布局设计即可。 使用时通过R.layout.my_activity.xml引用即可,示例如下:

@Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}

 

    如果你愿意,你还可以根据方向做布局上的设定:

布局设置

    更多多屏幕的操作,参考Android开发者网站(http://developer.android.com/training/multiscreen/index.html)。

 

3、支持多版本
    最新版本的Android系统,为App的开发提供了尽可能多的API和新的功能,然而我们同样要保持对低版本的支持,直到那些低版本已经升级到高版本。这要求开发者根据不同的版本,有区别的对代码做相关处理。也许你会说,如果可以获得系统版本就好了,那样我就可以根据不同的版本做不同的代码处理了。是的,Android提供了访问系统版本的接口,下面让我们看看如何获得系统版本吧。通过Build.VERSION.SDK_INT就可以获得当前版本的API Level的整型表示。

    示例:比如想根据不同的版本使用不同的UI元素,此时就需要根据不同的版本做不同的UI处理。这种情况还有很多,相信大家在遇到时都可以灵活的运用。:)

 

4、多说一句: 上述仅仅是对于 支持不同(本地化、屏幕、版本)Android设备的一些比较常规的做法,当然我们可以有可以达到预期效果,而又有别于常规的做法,这就需要我们灵活的运用了哦。

 

  • 大小: 14.4 KB
  • 大小: 61.5 KB
分享到:
评论
1 楼 moliyll 2012-10-22  
很有用处!

相关推荐

    c#开发Android应用实战

    《C#开发Android应用实战——使用Mono for Android和.NET/C# 全面透彻地讲解Android应用编程知识,分析如何结合...◆ 列出通过国际化和本地化支持功能来实现应用程序全球化的技巧 ◆ 介绍如何使用Android 4开发平板应用

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    Android程序设计基础

    你甚至可以将Android内置的组件替换为自己改进后的版本。这将在移动领域掀起新一轮的创造风潮。  众多开箱即用的内置服务。基于位置的服务使用GPS或手机发射塔三角测量法,让你可根据所处位置来定制用户体验。凭借...

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

    Viewport 移动设备上的Viewport就是设备的屏幕上能用来显示网页的一块区域,即浏览器上用来显示网页的那部分区域。Viewport不局限于浏览器可视区域的大小,可能比浏览器的可视区域要大,也可能比浏览器的可视区域要...

    iTestin自动化APP脚本录制工具part1

     全球首款支持Android系统的自动化脚本工具,采用黑盒测试,为移动开发者提供基于批量终端的功能测试、脚本录制回放,及测试记录的功能。支持多功能点的应用、手游的脚本录制,支持长按、划屏、输入账号、密码等的...

    精通ANDROID 3(中文版)1/2

    6.6.5 为各种设备配置自定义布局  6.7 使用Hierarchy Viewer调试和优化布局  6.8 参考资料  6.9 小结  第7章 使用菜单  7.1 Android菜单  7.1.1 创建菜单  7.1.2 使用菜单组  7.2 响应菜单项  7.3...

    iTestin自动化测试录制脚本工具part2

     全球首款支持Android系统的自动化脚本工具,采用黑盒测试,为移动开发者提供基于批量终端的功能测试、脚本录制回放,及测试记录的功能。支持多功能点的应用、手游的脚本录制,支持长按、划屏、输入账号、密码等的...

    Munin-for-Android:在 Android 设备上观看受 munin 监控的服务器

    此外,如果应用程序不可用或完全翻译成您的母语,您可以通过克隆来编辑项目中的本地化文件,或! 翻译状态: 当克隆项目并在您的设备上运行它(在 Android Studio 中)时,Android 版 Munin 将与您当前版本的应用...

    精通Android 3 (中文版)2/2

    第1章 Android计算平台简介  1.1 面向新PC的全新平台  1.2 Android的历史  1.3 Dalvik VM剖析  1.4 理解Android软件栈  1.5 使用Android SDK开发最终用户应用程序  1.5.1 Android模拟器  1.5.2 ...

    安卓电子书阅读器 FBReader 3.0.34 中文多语免费版.zip

    FBReader 是一种快速且高度可定制的电子书阅读器,适用于运行 Android OS 的设备(支持 1.5 或更高版本,建议 2.0 或更高版本)。 FBReader Premium App 的免费版本是标准版本,具有付费版本的所有功能。唯一的区别...

    FBReader_Premium_v3.1_beta_19.apk

    此外,该阅读器已针对34种语言进行了本地化,并包括24种语言的连字符模式。该应用程序是开源(GPL)。 什么是新的 2.7.2: *修复了“返回”项目的行为(在“后退”按钮菜单中) *修复了Android 4.0 / 4.1上...

    医疗和生物医学移动应用框架mHealhDroid.zip

    框架中包含了数据采集、数据管理、远程存储、信号处理和多维数据可视化等众多模块,其核心定义是在Android系统上运行,但在某种程度上,它可以与任何便携式设备配合使用。此外,mHealthDroid框架的核心模块和组件是...

    3C_All-in-One_Toolbox_Pro_v2.2e.apk

    ★监视和记录所有应用程序活动和电池消耗,组件状态(连接,本地化和电话)。还允许使用图形添加状态栏通知以及使用Xposed框架删除原始电池图标 ★高度可配置的小部件都可调整大小,从简单的仪表到更复杂的数据...

    SURE Smart Universal Remote Control Pro 4.21.119.apk

    如果您正在为三星或LG智能电视,Roku TV,Kodi和其他智能媒体设备寻找遥控器,那么SURE Universal™是您的一体化解决方案。亚马逊Alexa功能的新版本! ★SURE Universal™让您的智能家居 变得简单★ SURE通用遥控器...

    JQuery.Mobile.chm 中文

    2兼容于所有的主流移动设备:iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, bada, MeeGo . 3轻量级 压缩后只12k,对图片的依赖程度非常低,保证了速度 4页面和行为均基于html5标记的驱动...

    3C Toolbox Pro 1.9.9.7.6C.apk

    ◊GPS,WiFi本地化 ◊WiFi,BT,BT可发现,APN,NFC,飞机 ◊网络共享(USB,WiFi,BT) ◊亮度,屏幕超时,保持清醒,手电筒 ◊振铃,振动,同步,背景数据 ◊调试(通过WiFi),未知来源,USB存储,重启 ►终端...

    V Recorder Editor 2.7.2.apk

    V Recorder是一款稳定流畅的屏幕录像机/游戏录像机/录像机,适用于Android,也是一款功能强大的一体化视频编辑器。VideoShow Recorder由VideoShow应用程序团队创建,拥有超过4亿用户。它是世界上500万用户选择的最...

    V_Recorder_Editor_Pro_v3.6.0.apk

    —数千份完全许可的音乐:您可以在线下载音乐或从设备添加本地歌曲。您甚至可以录制自己的声音,或使用我们的声音效果(例如卡通人物/机器人)使您的视频更酷。 —免费的视频编辑器:轻松剪切/合并/修剪/分割/反向/...

Global site tag (gtag.js) - Google Analytics