摘要:
第4章 本地化Android系统会在很多地区的不同设备上运行。为了能够将应用提供给更多的用户,你的应用应该以不同的方式处理文本、音频文件、数字、货币和图形,以适合于你应用使用的地点。本文档描述了本地化Android应用最好的实例。原则上允许你用Eclipse、Ant-based tools、或者其他任何搭载ADT的IED来开发Android应用。你应该已经有了一些Java的工作经验并熟悉Android资源的加载,熟悉在XML中声明用户界面元素,了解一些开发的知识(如Activity的生命周期),了解国际化和本地化的基本原则。4.1 概览:Android的资源切换资源包括文本的字符串、布局文件、 阅读全文
摘要:
第3章 处理运行时改变一些设备配置在运行过程中可能会发生改变(例如屏幕横向布局、键盘可用性和语言)。当这样的变化发生时,Android会重新启动这个正在运行的Activity(onDestroy()方法会被调用,然后调用onCreate()方法)。这个重启的动作是为了通过自动往你的应用程序中载入可替代资源,从而使你的应用适应新的配置。为了正确执行一次重启,你的Activity在整个平凡的生命周期中重新保存它之前的状态是很重要的,Android是通过在销毁你的Activity之前调用onSaveInstanceState()方法来保存关于应用之前状态的数据。然后你就可以在onCreate()方法 阅读全文
摘要:
第2章 资源访问一旦你在你的应用程序中提供了一个资源(在上一章资源提供中讨论过),你可以通过引用它的资源ID来调用它。所有在工程项目中R类中定义的资源ID都是能过aapt自动生成的。当你的应用程序被编译时,aapt生成了R类,其中包含了res/路径下所有资源的资源ID。对于每种类型的资源,都有的一R类的子类(如:R.drawable对应绘图资源)并且对于每一种资源类型,都有一个静态整型常量(如,R.drawable.icon)。这个整型常量就是可以被用来调用资源的资源ID。虽然资源ID是在R类中指定的,但你并不需要去那儿找资源ID。一个资源ID总是由以下部分组成:◆资源类型:每一个资源都是以某 阅读全文
摘要:
第1章 资源提供你应该经常外部化你应用程序代码中的资源,比如图片、字符串等,这样有利于你独立处理这些资源。你也应该根据特定的设备配置提供一些可替代的资源,并且把他们分组保存在指定的路径名下。运行时,Android可以根据当前的配置使用适当的资源。比如,你也许会根据不同的屏幕尺寸提供不同的UI布局或是不同的语言设定提供不同的字符串。一旦你外部化了应用程序中的资源,你就能通过项目中的R类生成的ID来调用他们。本章将向你展示怎么样分类你Android项目中的资源,以及怎么样给特定的设备配置提供可替代的资源。1.1 资源类型分组你应该把每一种类型的资源分别放在你的项目中res/中特定的子路径下。这是一 阅读全文
摘要:
第12章 自定义组件Android平台提供了一套完备的、功能强大的组件化模型用于搭建用户界面,这套组件化模型以View和ViewGroup这两个基础布局类为基础。平台本身已预先实现了多种用于构建界面的View子类和ViewGroup子类,他们被分别称为widget和layout。界面工具集(widget)包括Button、TextView、EditText、ListView、CheckBox、RadioButton、Gallery、Spinner等这些常用部件以及有着专门用途的AutoCompleteTextView、ImageSwitcher和TextSwitcher。布局(layout)包 阅读全文
摘要:
第11章 样式和主题style是用于指定View或window的外观和格式的一系列属性的集合。style可以指定高(height)、填补(padding)、字体颜色、字体大小、背景颜色等等属性。style定义在不同于用来设置布局的XML资源中。Android中的Syles与网页设计中的层叠样式表有着相似的原理——允许你将设计从内容中分离出来。例如,使用一个style,你可以将下面这个布局:变成这样:所有与style相关的属性从XML布局中移出,放到一个名为CodeFont的style定义中,通过style属性应用。你将在以下章节中看到此类style的定义。theme是一个应用于整个Activi 阅读全文
摘要:
第10章 拖放使用Android的拖放框架,允许用户通过一个图形化的拖放动作,把数据从当前布局中的一个视图上转移到另一个视图上。这个框架包含了一个拖动事件类,拖动监听器和一些辅助的方法和类。虽然这个框架主要是为了数据的移动而设计的,但是你可以将这些移动的数据提供给其他的UI操作使用。例如:你可以创建一个当用户把一个彩色图标拖到另一个彩色图标上时,将颜色混合起来的应用。接下来本文将描述关于这个拖放框架的数据移动的内容。10.1 概述当用户执行一些被当作是开始拖动数据的信号的手势时,一个拖放动作就开始了。作为回应,你的应用程序告诉系统拖动动作开始了。系统回调你的应用程序获取一个代表数据正在被拖动的 阅读全文