Android 测试框架(Android Testing Framework)为 Android 开发环境的一个组成部分,可以用来测试 Android 的各个方面,从单元测试到框架测试到 UI 测试等。
测试也是开发过程中一个重要组成部分,Android 开发环境集成一个测试框架可以用来测试 Android 应用的各个方面,单元测试,UI 测试等。本教程基于 Android 开发教程英文版。
到這裡基本介紹了 Android 開發的一些基本知識,在開發實際應用時最常用的幾個參考是:The Developer’s GuideAndroid ReferencesAndroid Resources最後一個是Google.com :-)寫好應用後,在設備上測試後,最後一步是發布你的應用。和 Java ME 平台類似的,Android 應用也需要進行數字簽名後才能發布。
在前面的例子中,我们忽略了一个重要的原则,在代码和 Layout 中,直接使用了字符串常量,比如:<Button android:text=”Pattern” android:id=”@+id/btnPattern” android:layout_width=”wrap_content” android:textColor=”@color/black” android:checked=”true” android:layout_height=”wrap_content”></Button>
在例子 Android 簡明開發教程十七:Dialog 顯示圖像中我們留了一個例子 DrawMap()沒有實現,這個例子顯示在線地圖,目前大部分地圖伺服器都是將地圖以圖片存儲以提高響應速度。 一般大小為256X256個像素。具體可以參見離線地圖下載方法解析。比如: URL http://www.mapdigit.com/guidebeemap/maptile.php?
Android 中 BroadCast Receiver 可以用来侦听广播事件。在使用 Broadcast 之前,必须使用代码或是在 AndroidManifest.xml 进行注册。下面的例子实现使用短信来触发 AndroidGraphics2DTutorial 中的示例。短信格式为:@demo:xxxx ,xxxx为 示例名称,比如, 启动 Colors 示例, 则向手机发送: @demo:Colors .
Android 中使用线程 Thread 的方法和 Java SE 相同。和大多数 OS 系统一样,Android 中也有称为 UI Thread 的主线程。UI Thread 主要用来给相应的 Widget 分发消息,包括绘制(Drawing)事件。UI Thread 也是用来处理用户交互事件的线程。
Android 自带的 AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog 可以用于简单的对话框显示。当还是有这些对话框不能满足应用需要的时候,这时就可以使用一些自定义的对话框。有多种方法可以实现自定义对话框。
Dialog 一般指可以显示在 Activity 前面的小窗口,当前的 Activity 失去焦点(Focus),Dialog 将接受用户输入,一般可以用来显示消息或接受用户输入等等。使用 Dialog 时一般不需要直接创建 Dialog 类的实例。而是可以使用AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog。最常用的是AlertDialog。
将 RadioButton 换成 Button ,类似的在 res\layout 中新建 brush.xml: <?xml version=”1.0″ encoding=”utf-8″?><LinearLayout xmlns:android=”[http://schemas.android.com/apk/res/android](http://schemas.android.
这个例子是绘制多边形,多义形和路径,采用单选钮 RadioButton 来选择 Polys 和 Path 示例:UI 设计为 上部分用来显示绘图内容,下部分为两个单选按钮 Polys ,Path。这样 layout 就和main.xml 不一样,main.xml 只含一个 com.pstreets.graphics2d.GuidebeeGraphics2DView。因此需在 res\layout 下新建一个 polys.xml:<?xml version=”1.0″ encoding=”utf-8″?>
上下文相关菜单(Context Menu)类同 PC 上按鼠标右键显示的菜单,在 Android 平台上是长按来激活Context Menu,Context Menu 一般用来显示和当前UI内容相关的菜单。Context Menu 的用法和 Option Menu 非常类似:首先是创建 菜单资源,在 res\menu 下新建 menu_context_shape.xml,用来显示 Oval,Pear,Shape2D:<?xml version=”1.0″ encoding=”utf-8″?><
引路蜂二维图形画笔(Pen)示例含有四个示例,Lines ,Dashes ,LineJoin 和 LineCap。打算采用Option Menu(主菜单)的方式来选择不同示例。首先要对 GuidebeeGraphics2DView,和 Graphics2DActivity做些改动,从这个示例开始,GuidebeeGraphics2DView 需要动态绘制不同图形(可以通过菜单,或是 Thread)。
AndroidGraphics2DTutorial 定义了应用的主 Activity,下面就可以开始写每个具体的二维绘图示例。不同的例子将尽量采用不同的 UI 控件:Menu,Content Menu,Dialog,Custom Dialog,Button 等等。
在介绍数据绑定时,我们使用了系统自带的 SimpleAdapter。Android 允许自定义 Adapter ,理论上可以使用任意的 View(Layout)来显示数据。下图是对 AndroidGraphics2DTutorial 做改动,使用自定义 Adapter 来显示示例 Activity 列表。
前面提到 AndroidGraphics2DTutorial 说过它是 ListActivity 派生出来的。ListActivity 中显示的是 ListView,ListView 和 Gallery ,Spinner 有一个共同点:它们都是 AdapterView 的子类。AdapterView 的显示可以通过数据绑定来实现,数据源可以是数组或是数据库记录,数据源和AdapterView 是通过 Adapter 作为桥梁。
Android 简明开发教程八说明了程序需要实现的功能,就可以创建 Android 项目了。请参见 Android简明开发教程三:第一个应用 Hello World ,创建一个新项目 AndroidGraphics2DTutorial。今天先介绍创建的程序的框架。然后再项目添加如下类定义:添加第三方库文件AndroidGraphics2DTutorial 调用了引路蜂二维图形库,因此需要在项目中添加第三方库引用(libgisengine.
有了前面对 Android 平台的介绍,基本上可以开始编写 Android 应用了,这里将以绘制二维图形为例,对 Android 开发的一般方法做过介绍,其中涉及到自定义 Application 类,扩展 View,Intent 定义,发送消息,Data Binding(Adapter),和基本 UI 设计。
Android 应用中的三个核心组件:Activities,Services 和 broadcast receivers 都是通过称为“Intent”的消息来激活的。
Activity 是 Android 应用用户界面的基本组成部件。但 Activity 本身并不提供用户界面(User Interface)。从程序结构层次上来说,一个 Android 应用是类 android.app.Application 的一个实例, Application 中可以包含多个 android.app.Activity 实例。每个 Activity 带一个Window 类,这个类在 Android 平台上没有提供太多功能,主要可以用来控制标题栏(屏幕顶端)。
关注时代Java