第 1 章初识 Android 系统 Android 是 Google 于 2007 年 11 月 5 日发布基于 Linux 内核的移动软件, 主要使用于便携设备 该平台由操作系统 中间件 用户界面和应用软件组成, 是一个真正开放的移动开发平台 本章将介绍 Android 系统的发展 特点 应用程

Size: px
Start display at page:

Download "第 1 章初识 Android 系统 Android 是 Google 于 2007 年 11 月 5 日发布基于 Linux 内核的移动软件, 主要使用于便携设备 该平台由操作系统 中间件 用户界面和应用软件组成, 是一个真正开放的移动开发平台 本章将介绍 Android 系统的发展 特点 应用程"

Transcription

1

2 第 1 章初识 Android 系统 Android 是 Google 于 2007 年 11 月 5 日发布基于 Linux 内核的移动软件, 主要使用于便携设备 该平台由操作系统 中间件 用户界面和应用软件组成, 是一个真正开放的移动开发平台 本章将介绍 Android 系统的发展 特点 应用程序框架以及开发环境的搭建, 让读者对 Android 平台有一定的了解 之后将开发第一个 Android 程序 Hello Android, 并通过对该程序进行简单的分析介绍, 带领读者步入 Android 开发的大门

3 1.1 什么是 Android Android 操作系统最初主要支持手机, 现在它的应用逐渐扩展到平板电脑及其他领域上, 主要竞争对手是苹果公司的 ios 以及 RIM 的 Blackberry OS 那么 Android 是如何发展的, 又有什么优点使它成长的如此迅速呢

4 1.1.1 Android 的发展 Andy Rubin 创建了 Android 公司, 并开发了 Android 平台 2005 年 Google 收购了成立仅 22 个月的高科技企业 Android, 其以后的发展如图 1.1 所示 图 1.1 Android 的发展

5 1.1.2 Android 的架构及特点 Android 的系统采用分层架构, 从高层到低层分为四层, 分别是应用程序层 应用程序框架层 系统运行库层和 linux 核心层

6 1.2 Android 开发平台的搭建 下载 JDK 安装 JDK 配置 Java 环境变量 Eclipse 的安装 Android SDK 的安装与配置 Android ADT 的安装 虚拟设备的创建与模拟器的运行

7 1.2.1 下载 JDK 在浏览器地址栏中输入 Oracle 官方网址 打开 Oracle 官方网站 该网站提供 JDK 包下载 在主页面找到相关链接进行下载

8 1.2.2 安装 JDK JDK 下载完成后, 双击安装程序 jdk-7u3-windowsx64.exe, 使用安装向导进行安装,

9 1.2.3 配置 Java 环境变量 JDK 安装完成后, 需要进行环境变量的配置 这是因为程序执行时有些 Java 组件不知道安装在哪里, 如果在环境变量里设置了, 程序就会到那里查找要执行的方法的路径

10 1.2.4 Eclipse 的安装 在浏览器的地址栏中输入 进入 Eclipse Downloads 页面

11 1.2.5 Android SDK 的安装与配置 SDK 为开发者提供了库文件以及其他开发所用到的工具, 是整体开发中所用到的工具包 它的安装与配置步骤如下 (1) 在地址栏中输入 进入 Android SDK Android developers 页面, 在该网站内下载 SDK (2) 将下载好的 SDK 压缩包解压到 C 盘 Android 文件中 (3) 配置 SDK 的环境变量过程如图 1.9 所示

12 1.2.6 Android ADT 的安装 在 Eclipse 编译环境中,ADT 为 Android 开发提供开发工具的升级或者变更 它的安装与配置的步骤如下 (1) 双击 eclipse.exe 运行 Eclipse, 启动后依次单击菜单 Help Install New Software 选项, 弹出 Install 对话框 (2)ADT 安装完成后, 会重启 Ecipse 软件 重新启动后, 依次选择 Window Preferences 命令, 弹出 Preferences 对话框

13 1.2.7 虚拟设备的创建与模拟器的运 行 前几小节已经完成了 Eclipse 集成环境的搭建工作, 但在运行模拟器前还需要创建 AVD(Android Virtual Device,Android 虚拟设备 ) AVD 实质上是用来描述模拟器的属性的工具, 有了 AVD 开发人员可以为自己的模拟器进行必要的设置, 如屏幕尺寸 内存等 本节将运用之前搭建好的 Eclipse 环境创建虚拟设备并运行模拟器, 具体步骤如下 (1) 按住 Windows 键 +R 键, 弹出 运行 对话框, 在打开下拉列表框中输入 cmd, 单击 确定 按钮, 进入命令行 在命令行输入相关命令, (2) 如果安装和配置正确的话, (3) 除了使用命令行方式来创建 AVD, 还可以使用 Eclipse 自带的 AVD Manager 来创建 在 Eclipse 中单击 Window AVD Manager 菜单打开 AVD 管理界面 在 AVD 管理界面中不仅可以创建 AVD, 还可以对已经存在的 AVD 进行管理,

14 1.3 HelloAndroid 我的第一个 Android 程序 前面已经对 Android 的开发环境和模拟器进行了配置, 本节将构建第一个 Android 应用程序 HelloAndroid 并对该程序进行简单的讲解

15 1.4 小结 本章介绍了 Android 系统的发展与优点, 详细讲解了 Android 开发平台的搭建, 开发了第一个 Android 程序 HelloAndroid, 并简单的说明了其中各个目录和文件的作用 通过本章的学习, 读者应重点掌握环境变量的配置及 AVD 的创建, 对 Android 平台下应用程序的开发步骤有初步的了解

16 第 2 章 Android 布局设计 本章要介绍的主要内容是 Android 程序开发中非常必要的布局文件, 是应用界面开发的重要一环 它是用户对程序的第一印象, 界面开发的优劣, 直接影响用户对程序认可与否

17 2.1 布局介绍 布局文件主要是规范和设计 UI 界面, 它采用 XML 格式开发, 与程序的逻辑代码分离开来, 使程序的开发变得清晰 明了

18 2.1.1 什么是布局 Android 界面通常由容器和控件构成 为了规范控件在容器中的显示, 设计人员通常需要规定控件在界面中的显示方式, 这就是布局 1. 布局的作用 在布局中, 通过设置控件或者容器的属性来规定控件的显示方式 2. 布局的实现 布局文件 在 Android 应用程序中, 界面通常都是通过布局文件设定 该文件采用 XML 文件格式 每个应用程序默认包含一个主界面的布局文件 该文件位于项目文件中 res 目录下的 layout 子目录中 双击打开该文件, 首先可以看到界面设计面板 单击 activity_main.xml 选项卡, 可以查看该界面对应的布局文件

19 新建的 Android 应用程序, 默认布局文件为相对布局 因此, 在开发时如果需要使用其他布局, 则需要进行布局修改

20 2.1.2 布局的类型 Android 布局分为 : 相对布局 线性布局 表格布局 帧布局 网格布局五种, 如图 2.3 所示 因为 Android 设备多样, 分辨率不统一, 用绝对布局往往在不同的机型上会有很差的效果, 所以, 不推荐用绝对布局来布局 UI

21 2.1.3 布局文件常见概念 布局文件是每个 Android 程序开发的必要文件, 以下是布局文件中共用的属性 1. 布局文件的命名空间 布局文件的命名空间由系统自动生成, 固定包含 xmlns:android 和 xmlns:tools 两部分 2. 布局中的单位 布局中的距离单位 :dp px sp dp: 即 dip,device independent pixels( 设备独立像素 ), 不同设备有不同的显示效果, 这个和设备硬件有关, 一般我们为了支持 WVGA HVGA 和 QVGA 推荐使用这个, 不依赖像素 ; px: pixels( 像素 ), 不同设备显示效果相同, 一般我们用 HVGA 代表 320x480 像素, 这个用的比较多 ; sp: scaled pixels( 放大像素 ), 主要用于字体显示 如果设置表示长度 高度等属性时可以使用 dp 但如果设置字体大小, 需要使用 sp 当我们在 Eclipse 中开发程序时,Eclipse 默认采用相对布局 (RelativeLayout) 相对布局包括相对容器布局和相对控件布局

22 2.2.1 相对容器布局 子控件相对于父容器的相对布局, 主要是相对父容器的四周边框而言, 如图 2.4 所示 例如, layout_alignparentleft 表示子控件以父容器的左边缘为参照标准 ;layout_marginleft 表示子控件左边缘与父容器左边缘之间的空隙距离, 单位为 dp 如果控件距离左右边框相等, 可以直接使用 layout_centerhorizontal 设置水平居中 ; 同理, 如果控件距离上下边框相等, 可以直接使用 layout_centervertical 设置垂直居中 ; 如果控件距离上下边框相等, 并且同时距离左右边框也相等, 就可以使用 layout_centerinparent, 设置该控件在整个父容器中居中

23 相对父容器布局的语法如下所示 :

24 整个语法包括以下几部分 : xmlns:android 和 xmlns:tools 为命名空间, 由系统自动产生 ; layout-width 和 layout-height 分别为布局的宽度和高度, 参数有 fill-content match-content wrap-content 三种 ; layout_centerhorizontal, 表示 widget 在父容器中水平居中 ; 还有 layout_centervertical, 表示 widget 在父容器中垂直居中 ;layout_centerinparent, 表示 widget 位于父容器中央位置

25 2.2.2 相对控件布局 相对于控件的相对布局, 是指一个控件以另外一个控件为参照物进行布局 首先要确定出该控件的位置, 通过 ID 唯一标识某一具体控件 Layout_above 表示其他控件相对位于该控件的上方 Layout_ aligntop, 表示其他控件以该控件上边缘为参考标准 Layiout_marginTop, 表示当前控件上边缘与已知控件之间的空隙距离, 单位为 dp

26 相对其他控件布局的语法如下所示 :

27 整个语法包括以下几部分 : xmlns:android 和 xmlns:tools 为命名空间, 由系统自动产生 ; layout-width 和 layout-height 分别为布局的宽度和高度, 参数有 fill-content match-content wrap-content 三种 ; android:id 唯一标识某一具体控件 ; layout_torightof, 表示 widget 位于已知 widget 右侧 ; 还有 layout_toleftof, 表示 widget 位于已知 widget 左侧 ; layout_above, 表示 widget 位于已知 widget 上方 ; layout_below, 表示 widget 位于已知 widget 下方 参数为已知 widget 的 id

28 2.3 线性布局 线性布局是 Android 布局设计中较为常用的布局 它主要是以水平或者垂直的方式来显示界面中添加的控件,

29 2.3.2 线性布局语法 Android 为线性布局提供了一个标签 <LinearLayout> 整个语法包括以下四部分 : xmlns:android 和 xmlns:tools 为命名空间, 由系统自动产生 ; layout-width 和 layout-height 分别为布局的宽度和高度, 参数有 fill-content match-content wrap-content 三种 ; orientation 属性可以控制线性布局的显示方式, 有 vertical ( 垂直 ) 和 horizontal( 水平 ) 两种, 默认为水平方式 ; 控件代码由开发者完成

30 2.3.3 创建线性布局 使用 Eclipse 创建 Android 项目, 默认使用相对布局 如果要使用线性布局, 就需要改变项目的布局方式 操作方法为 : 打开 activity_main.xml 的 Graphical Layout 视图, 在 Outline 面板中, 右击 RelativeLayout 分支, 从弹出的菜单中选择 Change Layout 命令进行布局修改

31 2.4 表格布局 什么是表格布局 表格布局就是以表格的形式来显示界面中添加的控件 表格的每行为一个 TableRow, 每有一个控件添加在 TableRow 中, 就构成一个单元格, 每行可以有 0 个或多个单元格, 一个单元格可以跨越多个列 如图 2.9 所示, 是一个三行两列的表格布局 第一行和第二行分别添加了 3 个 TextView 控件, 第三行添加了一个 TextView 控件

32 2.4.2 表格布局语法 表格布局针对列的设置, 提供了 3 个特有的属性 : stretchcolumns shrinkcolumns collapsecolumns 整个语法包括以下几部分 : xmlns:android 和 xmlns:tools 为命名空间, 由系统自动产生 ; layout-width 和 layout-height 分别为布局的宽度和高度, 参数有 fill-content match-content wrap-content 三种 ; stretchcolumns 属性指定该列被拉伸, 列号从 0 开始 ; shrinkcolumns 属性指定该列被收缩, 列号从 0 开始 ; collapsecolumns 属性指定该列被隐藏, 列号从 0 开始 ; <TableRow></ TableRow> 这对标签代表表格布局中的行

33 2.5 帧布局 帧布局 (FrameLayout) 是 Android 中最简单的布局, 在我们平常的程序开发中很少用到

34 2.5.1 什么是帧布局 帧布局为每个加入其中的控件创建一个空白的区域 ( 称为一帧 ), 所有每个控件占据一帧 采用帧布局设计界面后, 只能在屏幕左上角显示单个控件, 如果添加多个控件, 则会按顺序叠加在屏幕的左上角重叠显示, 但会透明显示出之前控件的文本内容 如图 2.11 所示, 界面中添加了三个 Button 按钮, Button1 是第一个添加的大按钮,Button2 是第二个添加的较小按钮,Button3 是最后添加的小按钮, 三者叠加在屏幕左上角, 但三个按钮的文本内容都可以显示出来

35 2.5.2 帧布局的语法 整个语法包括以下几部分 : xmlns:android 和 xmlns:tools 为命名空间, 由系统自动产生 ; layout-width 和 layout-height 分别为布局的宽度和高度, 参数有 fill-content match-content wrapcontent 三种 ; id 可唯一标识该帧布局 <widgets > 标签, 代表任意可添加都界面中的控件

36 2.6 GridLayout 和 Space 网格布局 (GridLayout) 是 Android4.0 版本中新增加的布局 它实现了控件的交错显示, 避免使用之前布局嵌套, 对手机性能的影响大大减小, 更有利于自由编辑布局的开发

37 2.6.1 什么是网格布局 网格布局 GridLayout 用一组无限细的直线将它的绘图区域分割成行 列 单元 然后, 指定控件显示的区域和控件在该区域的显示方式

38 2.6.2 网格布局语法 网格布局是新增的一个功能比较强大的布局方式, 属性设置较多

39 整个语法包括以下几部分 : xmlns:android 和 xmlns:tools 为命名空间, 由系统自动产生 ; layout-width 和 layout-height 分别为布局的宽度和高度, 参数有 fillcontent match-content wrap-content 三种 ; columncount 和 rowcount 指定网格布局的行数和列数 ; orientation 控制网格布局的显示方式, 有 vertical( 垂直 ) 和 horizontal( 水平 ) 两种, 默认为水平方式 ; <widgets > 标签, 代表任意可添加都界面中的控件 ; layout_raw 和 layout_column 表示控件处于网格中的哪行哪列, 即哪个单元格中 ; layout_columnspan 表示控件跨越的列数, 还有 layout_rpwspan 表示控件跨越的行数 ; layout_gravity 指定控件所在区域的什么位置 假设 widget 的显示区域为九宫格, 则使用不同的参数, 其显示效果不同

40 2.6.3 创建网格布局 由于使用 Eclipse 创建 Android 项目, 默认为相对布局, 所以要使用网格布局, 就需要改变项目的布局方式 具体操作方法参考线性布局的修改

41 2.6.4 什么是 Space Space 是一个轻量级的视图子类, 用于分隔不同的控件, 其中形成一个空白的区域, 创建通用布局中的组件之间的差距

42 整个语法包括以下几部分 : layout_column,layout_row 表示 Space 所在的行号和列号 ; layout_gravity 指定 Space 应该处于它所在区域的什么位置 minheight 表示 Space 的最小高度, 还有 minwidth 表示 Space 的最小宽度 ; layout_columnspan 表示 Space 跨越的列数, 还有 layout_rowspan 表示 Space 跨越的行数 示例 2-8 下面演示 Space 的使用 以下是图 2.16 的布局文件代码

43 2.7 小结 本章主要讲解 Android 的常用布局 内容包括相对布局 RelativeLayout 线性布局 LinearLayout 表格布局 TableLayout 帧布局 FrameLayout 和 Android 4.0 中新增的网格布局 GridLayout 布局控件 Space 其中, 读者需要重点掌握的有相对布局 线性布局 表格布局 本章的难点是 GirdLayout 和 Space, 需要读者多多练习掌握 下一章我们将要学习到 Android 的基本控件

44 第 3 章 Android 基本控件 控件是界面的主要组成元素 它是用户界面功能实现的表现 Android 基本控件是开发 Android 程序必要的工具类 它包括 button 类控件, 文本类控件,ImageView, 日期时间类控件等 本章将详细讲解这类控件

45 3.1 控件概述 Android 系统的界面控件分为定制控件和系统控件 定制控件是用户独立开发的控件, 或通过继承并修改系统控件后所产生的新控件 能够为用户提供特殊的功能或与众不同的显示需求方式 系统控件是 Android 系统提供给用户已经封装的界面控件 提供在应用程序开发过程中常见功能控件 系统控件更有利于帮助用户进行快速开发, 同时能够使 Android 系统中应用程序的界面保持一致性

46 3.1.1 控件的构成 Android 的控件, 一般是在 res/layout 下的布局文件中声明 每个控件都有自己的 id, 还有在布局中, 显示的宽度 (layout_width) 和高度 (layout_height) 除此之外, 每个控件还有自己特有的属性, 更进一步的规范了控件在布局中的显示效果 控件就是通过这些属性的设置来实现的

47 3.1.2 属性使用 控件的属性也是在布局文件中设置的 设置控件的属性有两种方法, 一种是在布局文件中设置参数, 另一种是在代码中, 调用对应方法实现 对比以下两段代码, 想要设置 TextView 的文本内容, 一是在布局文件中设置 TextView 的 text 属性 ; 另一种是在代码中, 调用 TextView.setText() 方法

48 3.1.3 方法和事件的使用 控件在布局文件中声明后, 然后需要在 Activity 中, 通过使用 super.setcontentview(r.layout. 某布局 layout 文件名 ) 来加载布局文件 在 Activity 中获取控件的引用, 需要使用 super.findviewbyid(r.id. 控件的 ID), 接着就可以使用这个引用对控件进行操作, 例如添加监听, 设置内容等 Activity 是 Android 中最常用的组件, 在一个 Android 应用中, 一个 Activity 就是一个单独的界面 每一个 Activity 被给予一个窗口, 在上面可以添加任意控件 窗口通常充满屏幕, 但也可以小于屏幕而浮于其它窗口之上

49 3.2 文本类控件 文本类控件是 Android 程序开发中, 最常用的控件之一 主要包含两大类 TextView 和 EditText, 它们都可以用来显示文本

50 3.2.1 文本框 TextView TextView 是一种用于显示字符串的控件 它本身不具备可编辑属性, 但可以在代码中, 通过调用对应方法, 编辑文本内容 TextView 控件中包含很多可以在 XML 文件中设置的属性, 这些属性同样可以在代码中动态声明, 如表 3-1 所示

51 3.2.2 编辑框 EditText EditText 是用来输入和编辑字符串的控件, 它是一个具有编辑功能的 TextView EditText 是 TextView 的子类, 除了 TextView 的一些属性外,EditText 还有一些属性, 如表 3-2 所示

52 3.3 Button 类控件 Button 类控件在 Android 程序开发中, 也是较为常用的一类控件 主要包括 Button,ImageButton, ToggleButton,RadioButton 和 CheckBox 等

53 3.3.1 按钮 Button Button 是 TextView 的子类, 具有 TextView 的所有属性 用户可以通过单击 Button 来触发一系列事件, 然后为 Button 注册监听器, 来实现 Button 的监听事件 为 Button 注册监听有两种方法, 一种是在布局文件中, 为 Button 控件设置 OnCilck 属性, 然后在代码中添加一个 public void 参数值 {} 方法 ; 另一种是在代码中绑定匿名监听器, 并且重写 onclick 方法

54 3.3.2 图片按钮 ImageButton ImageButton 控件与 Button 控件的主要区别是 ImageButton 中没有 text 属性, 即按钮中将显示图片而不是文本, 如图 3.9 所示 ImageButton 控件中, 设置按钮显示的图片可以通过 android:src 属性, 也可以通过 setimageresource(int) 方法来设置

55 3.3.3 开关按钮 ToggleButton ToggleButton( 开关按钮 ) 是 Android 系统中比较简单的一个组件, 它带有亮度指示, 具有选中和未选中双状态, 并且需要为不同的状态设置不同的显示文本

56 3.3.4 单选按钮 RadioButton 单选按钮 RadioButton 在 Android 平台上也应用的非常多, 比如一些选择项的时候, 会用到单选按钮 它是一种单个圆形单选框双状态的按钮, 可以选择或不选择 在 RadioButton 没有被选中时, 用户能够按下或点击来选中它 但是, 在选中后, 通过点击无法变为未选中 单选按钮由两部分组成,RadioButton 和 RadioGroup RadioGroup 是单选组合框, 用于将 RadioButton 框起来 在多个 RadioButton 被 RadioGroup 包含的情况下, 同一时刻只可以选择一个 RadioButton, 并用 setoncheckedchangelistener 来对 RadioGroup 进行监听

57 3.3.5 多选按钮 CheckBox 复选按钮 CheckBox, 顾名思义是一种可以进行多选的按钮, 默认以矩形表示 与 RadioButton 相同, 它也有选中或者不选中双状态 我们可以先在布局文件中定义多选按钮, 然后对每一个多选按钮进行事件监听 setoncheckedchangelistener, 通过 ischecked 来判断选项是否被选中, 作出相应的事件响应

58 3.4 图片控件 ImageView ImageView 是一个图片控件, 负责显示图片 图片的来源可以是系统提供的资源文件, 也可以是 Drawable 对象或 Bitmap 对象

59 3.5 动画 Animation 本节要介绍的内容是 Android 平台下的动画播放技术 动画播放技术主要有两种 : 补间动画 (Tween Animation) 和帧动画 (Frame Animation) 补间动画主要包括对位置 角度 尺寸 透明度等属性的变换, 而帧动画则是通过若干帧图片的轮流显示来实现的

60 3.5.1 补间动画 Tween Animation 补间动画 (Tween Animation) 就是对场景里的对象不断的进行图像变化来产生动画效果, 可以对对象进行旋转 平移 放缩和渐变等操作 补间动画的 XML 文件位于程序的 res/anim 目录下, 在 XML 文件中可以指定进行何种变换 何时进行变换以及持续多长时间 当需要在 XML 文件中定义多个变换时, 需要将多个变换包含在一组 <set></set> 标记中

61 3.5.2 帧动画 Frame Animation 帧动画 (Frame Animation) 就如同电影一样, 通过顺序播放一系列事先加载好的静态图片产生动画效果 定义帧动画的 XML 文件将存放在项目的 res/anim 目录下 XML 文件中指定了图片帧出现的顺序以及每个帧的持续时间 这些属性都包含在 animation-list 根节点中的 item 子节点中

62 3.6 时钟控件 时钟控件是 Android 用户界面比较简单的控件, 时钟控件包括 AnalogClock 和 DigtialClock, 这两种控件都负责时间显示 不同的是,AnalogClock 是模拟时钟, 只显示时针和分针 ; 而 DigtialClock 显示数字时钟, 可精确到秒 两者可以结合使用, 更准确的表达时间

63 3.7 日期与时间控件 Android 为用户提供了显示日期与时间的控件 DatePicker 和 TimePicker, 用户还可以自己修改, 选择显示的日期与时间

64 3.7.1 日期选择控件 DatePicker 日期选择控件 (DatePicker) 主要的功能向用户提供包含了年月日的日期数据, 并允许用户对其进行选择

65 3.7.2 时间选择控件 TimePicker 时间选择控件 (TimePicker) 向用户显示一天中的时间 ( 可以为 24 小时制, 也可以为 AM/PM 制 ), 并允许用户进行选择

66 3.8 小结 本章介绍的主要内容是 Android 中, 常用到的一些比较简单的控件 其中,Animation 为本章难点, 需要读者认真学习掌握 熟练这些控件的用法, 并结合上一章的布局知识, 就能够开发出各种各样的用户界面

67 第 4 章 Android 高级控件 Android 高级控件, 是指具有更高级功能的控件 例如, 自动完成文本 进度条 ListView Spinner TabHost GridView 等等 这类控件丰富了界面的多样性, 强化了程序的功能, 更好的实现了 Android 应用程序 本章将详细介绍这类控件

68 4.1 自动完成文本控件 在 Android 中提供了两种智能输入框 AutoCompleteTextView 和 MultiAutoCompleteTextView 它们的功能大致相同, 类似于百度或者 Google 在搜索栏输入信息的时候, 弹出与输入信息接近的提示信息, 然后用户选择点击需要的信息, 自动完成文本输入

69 4.1.1 自动完成文本控件 AutoCompleteTextView AutoCompleteTextView 是一个可编辑的文本视图, 能够实现动态匹配输入的内容 当用户输入信息后弹出提示 提示列表显示在一个下拉菜单中, 用户可以从中选择一项, 以完成输入 提示列表是从一个数据适配器获取的数据 对自动完成文本框的设置可以在 XML 文件中使用属性进行设置, 也可以在 Java 代码中通过方法进行设置,

70 4.1.2 多文本自动完成输入控件 MultiAutoCompleteTextView MultiAutoCompleteTextView 也是一个可编辑的文本视图, 能够对用户键入的文本进行有效地扩充提示, 而不需要用户输入整个内容 用户必须提供一个 MultiAutoCompleteTextView.Tokenizer 用来区分不同的子串 与 AutoCompleteTextView 不同的是, MultiAutoCompleteTextView 可以在输入框一直增加选择值 对自动完成文本框的设置可以在 XML 文件中使用属性进行设置, 也可以在 Java 代码中通过方法进行设置

71 4.2 进度条与拖动条 本节将对 Android 中的进度条以及拖动条条进行介绍 拖动条主要是完成于用户的简单交互, 而进度条则是需要长时间加载某些资源时, 为用户显示加载的进度的控件

72 4.2.1 进度条 ProgressBar 进度条 (ProgressBar) 是某些操作的进度可视指示器, 为用户呈现操作的进度 它还有一个次要的进度条, 用来显示中间进度, 如在流媒体播放的缓冲区的进度 一个进度条也可不确定其进度 在不确定模式下, 进度条显示循环动画 这种模式常用于应用程序使用任务的长度是未知的

73 4.2.2 拖动条 SeekBar 拖动条 (SeekBar) 就是添加了滑块的进度条, 用户可以通过拖动滑块, 来调节当前进度 例如我们可以拖动滑块, 调节电影的播放进度, 或者调节音量的大小 为了让程序能响应拖动条滑块位置的改变, 程序可以考虑为它绑定一个 OnSeekBarChangeListener 监听器 对拖动条的设置, 可以在 XML 文件中使用属性进行设置,

74 4.3 评分条 RatingBar 评分条 (RatingBar) 是基于 SeekBar 和 ProgressBar 的扩展, 用星型来显示等级评定 默认显示 5 颗星, 用户可以通过触屏点击或者轨迹球左右移动来进行星型等级评定 RatingBar 有三种风格 :RatingBarStyle( 默认风格 ), RatingBarStyleSmall( 小风格 ),RatingBarStyleIdicator( 大风格 ) 其中, 默认风格的 RatingBar 是我们通常使用的可以交互的, 而后面两种不能进行进行交互, 只能作为指示牌 设置 RatingBar 样式的方法是在 xml 布局文件中 RatingBar 控件内设置 style: style="?android:attr/ratingbarstyle" style="?android:attr/ratingbarstylesmall" style="?android:attr/ratingbarstyleindicator"

75 4.4 滚动视图 ScollView 滚动视图 (ScollView) 是在一个屏幕不能完全显示所有需要显示的信息的情况下, 使用到的控件 它支持垂直滚动, 当一个屏幕显示不下其中所包含的所有控件或信息时, 便会自动添加滚动功能, 来显示更多内容 ScollView 的使用非常简单 由于 ScollView 实质上是一种帧布局, 因此它的使用与布局的使用完全一致 然而 ScollView 只能拥有一个直接子类, 所以在使用 ScollView 时, 需要将其他布局嵌套在 ScollView 之内

76 4.5 列表视图 ListView 列表视图 (ListView) 是将数据显示在一个垂直且可滚动的列表中的一种控件 数据来源于与 ListView 绑定的 ListAdapter, 包含图片, 文本等内容 每一行数据为一条 item

77 4.7 下拉列表 Spinner 下拉列表 (Spinner) 每次只显示用户选中的元素, 当用户再次点击时, 会弹出选择列表供用户选择, 而选择列表中的元素同样是来自适配器 对 Spinner 的设置可以在 XML 文件中使用属性进行设置, 也可以在 Java 代码中通过方法进行设置

78 4.8 选项卡 TabHost 选项卡 (TabHost) 控件可以实现多个标签样式的效果 单击每个选项卡, 打开其对应的内容界面 TabHost 是整个 Tab 的容器, 包括两部分,TabWidget 和 FrameLayout TabWidget 就是每个 tab 的标签, FrameLayout 则是 tab 内容

79 4.9 页面滑动切换控件 ViewPager Android 的左右滑动在实际编程经常能用到, 比如查看多张图片, 左右切换 tab 页 早期通用做法是使用 ViewFlipper, 自 Android 3.0 之后的 SDK 中提供了 android-support-v4 包用以实现版本兼容, 让老版本系统下的应用通过加入 jar 包实现扩展, 其中有一个可以实现左右滑动的类 ViewPager ViewPager 是 android-support-v4.jar 包中的一个系统控件, 继承自 ViewGroup, 专门用以实现左右滑动切换 View 的效果 使用时需要右击项目 Android Tools Add Support Library, 加入这个 jar 包之后就可以使用 ViewPager 类了

80 4.10 图片切换控件 ImageSwitcher 我们在 Windows 平台上要查看多张图片, 最简单的办法就是通过 Window 图片和传真查看器 在 下一张 和 上一张 之间切换 Android 平台上可以通过 ImageSwitcher 类来实现这一效果 ImageSwitcher 类必须设置一个 ViewFactory, 用来将显示的图片和父窗口区分开来, 因此需要实现 ViewSwitcher.ViewFactory 接口 通过 makeview() 方法来显示图片, 这里会返回一个 ImageView 对象, 而方法 setimageresource 用来指定图片资源

81 4.11 网格视图 GirdView 网格视图 (GridView) 是 Android 中比较常用到的多控件视图 该视图将其他多个控件, 以二维格式显示在界面表格中, 这些控件都来自于 ListAdapter GridView 类的属性同样有两种配置方式,XML 属性配置和 Java 代码中配置

82 4.12 小结 本章主要内容是介绍, 在 Android 平台中的一些高级控件 其中, 自动完成文本 进度条 ListView Spinner TabHost GridView 是在开发中较为常用到的, 需要读者熟练掌握 ViewPager 是本章难点, 读者应该多多练习使用 本章中多数控件的使用, 都涉及到了适配器, 希望读者细心总结各种适配器的适用控件

83 第 5 章消息提示 当程序有大量消息和图片, 需要向用户展示时, 我们可以考虑使用菜单和对话框 这两者可以进行消息提示, 从而完善程序的功能 但是, 如果只有少量消息要向用户呈现, 则可以考虑使用轻量级的消息提示方法 Toast 和 Notification 本章我们将详细介绍这些消息提示方法的使用

84 5.1 菜单 Menu 为了让 Android 应用程序有更完美的用户体验, 我们可以添加一些菜单, 提示用户操作, 让应用程序在功能上更完善 Android 平台下所提供的菜单分为三类 : 选项菜单 (Options Menu) 上下文菜单 (Context Menu) 和子菜单 (Submenu)

85 5.1.1 选项菜单 (Options Menu) 和 子菜单 (Submenu) 选项菜单 (Options Menu) 是在 Activity 中使用的 当 Activity 在前台运行时, 如果用户按下手机上的 Menu 键, 此时就会在屏幕顶端 (Android3.0 版本之前都显示在底端 ) 弹出相应的选项菜单 但这个功能是需要开发人员编程来实现的 如果在开发应用程序时没有实现该功能, 那么程序运行时按下手机上的 Menu 键是不会起作用的 在 Android 中, 通过回调方法来创建菜单并处理菜单按下的事件 开发 Options Menu 主要涉及到 Menu,MenuItem 和 Submenu, 下面进行简单介绍

86 1.Menu 类 一个 Menu 对象代表一个菜单,Menu 对象可以添加 MenuItem, 也可以添加子菜单 Submenu 2.MeniItem MenuItem 对象代表一个菜单项, 通常 MenuItem 实例通过 Menu.add() 方法获得 3. Submenu 每个 Submenu 实例代表一个子菜单 子菜单的添加是通过 Menu.addSubmenu() 方法实现的

87 5.1.2 上下文菜单 Context Menu 上下文菜单 (Context Menu) 是注册到某个 View 对象上来使用的 为一个 View 对象注册上下文菜单, 需要调用 registerforcontextmenu(view) 方法 用户可以通过长按 ( 约 2 秒 ) 该 View 对象上以呼出上下文菜单 然后重写 oncreatecontextmenu(contextmenu, View, ContextMenu.ContextMenuInfo) 方法 对 View 进行相应修改 上下文菜单不支持快捷键 (shortcut), 其菜单选项也不能附带图标

88 5.2 对话框 Dialog 在用户界面中, 除了经常用到的菜单之外, 对话框也是程序与用户进行交互的主要途径之一 一个对话框一般是一个出现在当前 Activity 之上的一个小窗口, 处于下面的 Activity 失去焦点 对话框接受所有的用户交互 对话框一般用于提示信息和与当前应用程序直接相关的小功能 Android 平台下的对话框, 主要包括普通对话框 提示对话框 单选和复选对话框 列表对话框 进度对话框 日期与时间对话框等

89 5.2.1 普通对话框 Dialog 常见的普通对话框中, 只显示提示信息和一个确定按钮 这类对话框可以通过 Dialog 实现

90 5.2.2 提示对话框 AlertDialog AlertDialog 可以包含若干按钮, 包括单选按钮和多选按钮, 也可以包含列表 AlertDialog 的构造方法被声明为 protected, 所以不能直接使用 new 关键字来创建 AlertDialog 类的对象实例 要想创建 AlertDialog 对话框, 需要使用 Builder 类, 该类是 AlertDialog 类中定义的一个内嵌类 因此必须创建 AlertDialog.Builder 类的对象实例, 然后再调用 show() 来显示对话框

91 5.2.3 进度对话框 ProgressDialog 进度对话框 (ProgressDialog) 就是在对话框中显示一个进度标识和一个文本消息 ProgressDialog 通过调用 setprogressstyle() 方法, 可以设置显示圆形进度样式, 也可以显示水平进度样式 ProgressDialog.STYLE_HORIZONTAL: 水平进度样式 ProgressDialog.STYLE_SPINNER: 圆形进度样式

92 5.2.4 日期选择对话框 DatePickerDialog 日期选择对话框 DatePickerDialog, 就是在对话框中, 显示一个 DatePicker 控件

93 5.2.5 时间选择对话框 TimePickerDialog 时间选择对话框 TimePickerDialog, 就是在对话框中, 显示一个 TimePicker 控件

94 5.3 Toast Toast 是一种非常方便的消息提示框, 它向用户提示比较快速的即时消息 Toast 虽然显示在当前应用程序之上, 但它不获取焦点, 并且显示一段时间后, 会自动消失 由于 Toast 只起到提示的作用, 因此它一般运用在触发事件的监听里 Toast 的用法比较简单, 只要如下几个步骤 : (1) 调用 Toast.makeText() 方法 ; (2) 设置方法中的参数 : 上下文环境 Toast 显示的提示消息 Toast 的显示时长 ( 时长的参数有两种, 其中 Toast.LENGTH_LONG 表示长显示 ;Toast.LENGTH_SHORT 表示短显示 ); (3) 调用 show() 方法, 显示 Toast

95 5.4 Notification Notification 可以提供持久的通知, 它位于手机最上层的状态通知栏中 用手指按下状态栏, 并从手机上方向下滑动, 就可以打开状态栏查看提示消息 开发 Notification, 主要涉及以下三个类 : Notification.Builder: 这个类一般用于动态的设置 Notification 的一些属性 即用 set 来设置 ; NotificationManager: 主要负责将 Notification 在状态显示出来和取消 ; Notification: 主要是设置 Notification 的相关属性

96 5.5 小结 本章的主要内容是, 介绍 Android 中的消息提示方式, 主要包括菜单 对话框 Toast 和 Notification 其中, 菜单 对话框和 Toast 都比较简单 Notification 在开发时, 涉及到的类比较多, 是本章难点 需要读者认真学习, 熟练掌握

97 第 6 章深入解析 Activity 在前面的章节中, 我们已经简单的了解到,Activity 是 Android 中最常用的组件 它是应用程序的表示层 下面我们来深入学习 Activity

98 6.1 从一个单界面程序看 Activity 首先, 我们从只有一个用户界面的 Android 程序, 开始 Activity 的学习

99 6.1.1 单界面程序启动 在 Android 应用程序里, 一个 Activity 就是一个用户界面 用户与程序的交互就是通过该类来实现的

100 6.1.2 了解 Activity 状态变化 每一个活动 (Activity) 都处于某一个状态 对于开发者来说, 是无法控制其应用程序处于某一个状态的, 这些均由系统来完成 但是当一个活动的状态发生改变的时候, 开发者可以通过调用 onxxx() 的方法, 获取到相关的通知信息 第一次启动 MainActivity, 依次执行以下方法 : oncreate() MainActivity created onstart() MainActivity started onresume() MainActivity actived, 进入活动状态

101 6.1.3 结束 Activity 结束 MainActivity, 依次执行以下方法 :onpause () MainActivity paused onstop () MainActivity stoped ondestory () MainActivity killed 首先,Activity 由活动状态转为暂停状态 此时它依然与窗口管理器保持连接, 系统继续维护其内部状态, 所以它仍然可见 但它已经失去了焦点, 故不可与用户交互 在极特殊的情况下, Android 将会杀死一个暂停的 Activity, 来为活动的 Activity 提供充足的资源 ; 接着该 Activity 被停止, 变为完全隐藏, 失去焦点, 并且不可见 但是, 系统将仍然在内存中保存它所有的状态和信息 ; 最后该 Activity 被杀死, 转为销毁状态 Activity 结束, 退出当前应用程序

102 6.2 两个 Activity 互相跳转 一个应用程序通常有不同的界面, 由此可知一个 Android 应用程序可以由多个 Activity 组成 接下来我们学习, 在包含两个 Activity 的应用程序中, 两界面之间如何实现跳转

103 6.2.1 启动第一个 Activity 主 Activity 主 Activity 是程序启动的入口 应用程序成功启动之后, 呈献给用户的第一个界面, 即为该程序的主 Activity 第一次启动 ActivityLifeCylceActivity, 依次执行以下方法 :oncreate() onstart() onresume(), ActivityLifeCylceActivity 位于栈顶, 处于活动状态

104 6.2.2 新建第二个 Activity 新建程序中的第二个 Activity 界面, 以便实现界面的跳转

105 6.2.3 启动第二个 Activity 在主 Activity 中, 声明 Intent( 详细介绍见 6.4) 对象, 调用 setclass() 方法启动目标组件 然后, 触发主 Activity 的按钮单击监听事件, 调用 startactivity() 方法, 启动另一个 Activity 启动第二个 Activity 时, 第一个 Activity onpause() 转为暂停状态, 因为第二个 Activity 需要在前台运行 这时候需要将活动的状态持久化, 比如正在编辑的数据库记录等 ; 第二个 Activity 第一次启动, 依次执行 oncreate() onstart() onresume() 方法 Two 位于栈顶, 处于活动状态 ; 第一个 Activity 不再需要展示给用户, 执行 onstop() 方法, ActivityLifeCylceActivity 被压入栈底, 转为停止状态

106 注 : 如果内存紧张, 系统会直接结束这个活动, 而不会触发 onstop() 方法 所以保存状态信息是应该在 onpause 时做, 而不是 onstop 时做 活动如果没有在前台运行, 都将被停止, 或者 Linux 管理进程为了给新的活动预留足够的存储空间而随时结束这些活动 因此对于开发者来说, 在设计应用程序的时候, 必须时刻牢记这一原则 在一些情况下,onPause() 方法或许是活动触发的最后的方法, 因此开发者需要在这个时候保存需要保存的信息

107 6.2.4 跳转回主 Activity 同理, 跳转回主 Activity, 需要在第二个 Activity 中, 声明 Intent 对象 然后指定主 Activity 为目标组件, 触发按钮单击监听事件, 调用 startactivity() 方法实现跳转 当返回到第一个 Activity 时, 第二个 Activity onpause() 转为暂停状态 ; 第一个 Activity onrestart(), 被重新启动, 再次展现给用户, 然后执行 onstart() onresume() 方法 ActivityLifeCylceActivity 再次位于栈顶, 由停止状态转为活动状态,; 第二个 Activity 执行 onstop() 方法, 被压入栈底, 转为停止状态

108 6.2.5 BACK 到第二个 Activity 当用户按下手机上的 BACK 键时, 结果和调用 Activity.finish() 方法一样 : 告诉 Activity Manager, 该 Activity 实例完成了相应的工作, 可以被 回收 第二个 Activity onrestart(), 被重新启动, 再次展现给用户, 然后执行 onstart() onresume() 方法 ; 第一个 Activity 依次执行 onstop() ondestory() 方法, 转为销毁状态 Android 应用程序里的 Activity, 在 Android 系统中组成了 Activity 栈 (Stack) Activity 栈是一个后进先出 LIFO, 包含所有正在运行 Activity 的队列 每个 Activity 的状态是由它在 Activity 栈中的位置决定的

109 启动一个 Activity, 会依次执行到方法 oncreate() onstart() onresume() 结束一个 Activity, 会依次执行到 onpause() onstop() ondestory() 方法 实际上, 这些方法的顺序执行, 就完成了一个 Activity 从创建到销毁的整个生命周期 Activty 的生命周期, 也就是它所在进程的生命周期 Android 系统将所有的进程大致分为以下 5 类进行管理 前台进程, 即当前正在前台运行的进程, 说明用户当前正与通过该进程与系统进行交互, 所以该进程为最重要的进程, 除非系统的内存已经到不堪重负的情况, 否则系统是不会将该进程中止的 可见进程 : 一般还是显示在屏幕中, 但是用户并没有直接与之进行交互, 例如某个应用程序运行时, 根据用户的操作正在显示某个对话框, 此时对话框后面的进程便为可见进程, 该进程对用户来说同样是非常重要的进程, 除非为了保证前台进程的正常运行, 否则 Android 系统一般是不会将该进程中止的 服务进程 : 便是拥有 Service 的进程, 该进程一般是在后台为用户服务的, 例如音乐播放器的播放 后台的任务管理等 一般情况下,Android 系统是不会将其中断的, 除非系统的内存以及达到崩溃的边缘, 必须通过释放该进程才能保证前台进程的正常运行时, 才可能将其中止 后台进程 : 一般对用户的作用不大, 缺少该进程并不会影响用户对系统的体验 所以如果系统需要中止某个进程才能保证系统正常运行, 那么会有非常大的几率将该进程中止 空进程 : 对用户没有任何作用的进程, 该进程一般是为缓存机制服务的, 当系统需要中止某个进程保证系统的正常服务时, 会首先将该进程中止

110 Activty 的生命周期是由 Android 系统来控制的 一般情况下, Android 系统会根据应用程序对用户的重要性, 以及当前系统的负载, 来决定生命周期的长短的

111 6.3 两个 Activity 之间传递数据 从上一节内容中, 我们学习了两个 Activity 之间通过 Intent 类, 可以实现互相跳转 那么, 在实现跳转的同时, 我们能不能在 Activity 之间传递数据呢? 答案是肯定的 下面我们具体来学习 Activity 之间数据的传递

112 6.3.1 传递数据到目标 Activity 其实, 实现数据的传递很简单 只要在调用 startactivity(intent) 方法时, 为 Intent 对象绑定数据, Intent 就可以通过 putextras() 将数据, 从当前 Activity 传递到目标组件

113 6.3.2 返回数据到主 Activity 既然我们可以将数据从主 Activity 传递到另一个目标 Activity 那么, 当我们期望在结束目标 Activity 时, 获得它的返回结果, 我们怎样将该数据再返回到主 Activity 下面通过案例具体演示

114 2.ExtraActivity 传递数据到 ResultActivity 3.ResultActivity 获取并返回数据 在 ResultActivity 中, 调用 setresult(int resultcode, intent data) 方法, 将传入的数据返回到主 Activity 该方法中, 第一个参数为结果码, 通常使用 RESULT_OK, 表示操作成功 ; 第二个参数为获得到的 Intent 对象 然后, 调用 finish() 方法, 结束当前 Activity, 并实现跳转

115 4. 主 Activity 得到返回值 在主 Activity 中, 调用 onactivityresult(int requestcode, int resultcode, intent data) 方法, 通过判断结果码, 获得返回值 (1) 在 ExtraActivity 中, 调用 onactivityresult(int requestcode, int resultcode, intent data) 方法, 获得返回值 使用 Toast 显示

116 6.4 Intent 和 IntentFilter 在以上示例中, 我们学习到 Activity 的跳转是通过 Intent 类实现的 Intent 代表了 Android 应用的启动 意图,Android 会根据 Intent 的 setclass() 方法的第二个参数来指定的即将启动的目标组件 除此之外, 我们还可以通过设置 Intent 的各个属性来启动目标组件

117 6.4.1 意图 Intent Intent 由 ComponentName Action Data Category Extra 及 Flag 六部分组成,Intent 通过调用 setxxx() 方法来设置对应属性 接下来将分别对其进行详细介绍 1. ComponentName ComponentName 对象, 用于标识唯一的应用程序组件, 即指明了期望的 Intent 组件 这种对象的名称是由目标组件的包名, 与目标组件的类名组合而成 在 Intent 传递过程中, 组件名称是一个可选项 当指定它时, 便是显式的 Intent 消息 ; 而当不指定它时,Android 系统则会根据其他信息, 以及 IntentFilter 的过滤条件选择相应的组件

118 2 Action Action 实际上就是一个描述了 Intent 所触发动作名称的字符串 在 Intent 类中, 已经定义好很多字符串常量来表示不同的 Action 当然, 开发人员也可以自定义 Action, 其定义规则同样非常简单 系统定义的常见的 Action 常量有很多, 下面只列出其中一些较常见的 ACTION_CALL, 拨出 Data 里封装的电话号码 ACTION_EDIT, 打开 Data 里指定数据所对应的编辑程序 ACTION_VIEW, 打开能够显示 Data 之中封装的数据的应用程序 ACTION_MAIN, 声明程序的入口, 该 Action 并不会接收任何数据, 同时结束后也不会返回任何数据 ACTION_BOOT_COMPLETED,BroadcastReceiver Action 的常量, 表明系统启动完毕 ACTION_TIME_CHANGED,BroadcastReceiver Action 的常量, 表示系统时间通过设置而改变

119 3 Data Data 主要是对 Intent 消息中数据的封装, 主要描述 Intent 的动作所操作到的数据的 URI 及类型 不同类型的 Action 会有不同的 Data 封装, 例如打电话的 Intent 会封装 tel:// 格式的电话 URI, 而 ACTION_VIEW 的 Intent 中 Data 则会封装 http: 格式的 URI 正确的 Data 封装对 Intent 匹配请求同样非常重要

120 4 Category Category 是对目标组件类别信息的描述, 同样为一个字符串对象 一个 Intent 中可以包含多个 Category, 与 Category 相关的方法有三个, addcategory 添加一个 Category removecategory 删除一个 Category 而 getcategories 得到一个 Category Android 系统同样定义了一组静态字符常量来表示 Intent 的不同类别, 下面列出一些常见的 Category 常量 CATEGORY_GADGET, 表示目标 Activity 是可以嵌入到其他 Activity 中的 CATEGORY_HOME, 表明目标 Activity 为 HOME Activity CATEGORY_TAB, 表明目标 Activity 是 TabActivity 的一个标签下的 Activity CATEGORY_LAUNCHER, 表明目标 Activity 是应用程序中最先被执行的 Activity CATEGORY_PREFERNCE, 表明目标 Activity 是一个偏好设置的 Activity

121 5 Extra Extra 中封装了一些额外的附加信息, 这些信息键值对的形式存在的 Intent 可以通过 putextras() 与 getextras() 方法来存储和获取 Extra Android 系统的 Intent 类中, 同样对一些常用的 Extra 键值进行了定义, 下面列出一些常用的 EXTRA_CC, 邮件抄送人邮箱地址 EXTRA_ , 装有邮件发送地址的字符串数组 EXTRA_SUBJECT, 当使用 ACTION_SEND 动作时, 描述要发送邮件的主题 EXTRA_TEXT, 当使用 ACTION_SEND 动作时, 描述要发送文本的信息

122 6 Flag 一些有关系统如何启动组件的标志位,Android 同样对其进行了封装 开发程序中, 一般不会用到

123 6.4.2 意图过滤器 IntentFilter IntentFilter 描述了一个组件愿意接收什么样的 Intent 对象, Android 将其抽象为 android.content.intentfilter 类 在 Android 的 AndroidManifest.xml 配置文件中可以通过 <intent-filter> 节点, 为一个 Activity 指定其 IntentFilter, 以便告诉系统该 Activity 可以响应什么类型的 Intent 这样的 Intent 称为隐式的 Intent 当程序员使用 startactivity(intent) 来启动另外一个 Activity 时, 如果直接指定 intent 了对象的 Component 属性, 那么 Activity Manager 将试图启动其 Component 属性指定的 Activity 否则 Android 将通过 Intent 的其它属性, 从安装在系统中的所有 Activity 中查找与之最匹配的一个启动 如果没有找到合适的 Activity, 应用程序会得到一个系统抛出的异常

124 检查 Action 一个 Intent 只能设置一种 Action, 但是一个 IntentFilter 却可以设置多个 Action 过滤 当 IntentFilter 设置了多个 Action 时, 只需一个满足即可完成 Action 验证 当 IntentFilter 中没有说明任何一个 Action 时, 那么任何的 Action 都不会与之匹配, 而如果 Intent 中没有包含任何 Action, 那么只要 IntentFilter 中含有 Action 时, 便会匹配成功 检查 Data 数据的监测主要包含两部分, 数据的 URI 以及数据类型 而数据 URI 又被分成三部分进行匹配 (scheme authority path), 只有这些全部匹配时,Data 的验证才会成功 检查 Category IntentFilter 同样可以设置多个 Category 当 Intent 中的 Category 与 IntentFilter 中的其中一个 Category 完全匹配时, 便会通过 Category 的检查, 而其他的 Category 并不受影响 但是当 IntentFilter 没有设置 Category 时, 只能与没有设置 Category 的 Intent 相匹配

125 6.5 小结 本章详细介绍了 Android 的组件之一 Activity, 从单界面, 到多界面跳转, 再到数据传递 本章重点就是学习如何开发 Activity, 如何在 AndroidManifest.xml 文件中配置 Activity, 掌握 Activity 生命周期等 本章难点在于, 实现多个 Activity 之间的数据共享, 以及 Intent 和 IntentFilter 类 希望读者勤于练习, 熟练掌握

126 第 7 章服务与消息广播 本章介绍的主要内容是 Android 平台中的另外两个组件, 服务 Service 和消息广播接收者 BroadcastReceiver Service 与 Activity 类似, 它们都表示可执行的程序 只是 Service 类并不像 Activity 一样提供与用户交互的表示层,Service 是一种后台运行的 Android 组件 它位于 android.app 包下 本章将详细讲解 Service 的应用, 并对相关的广播进行相应介绍

127 7.1 Service 简介 Service 是一个具有较长的生命周期的程序 但是它没有用户界面, 一直在 Android 后台运行 当应用程序不需要在前台显示某些界面时, 可以使用 Service 来完成, 比如后台的数据计算, 从 Internet 下载数据, 后台音乐播放等

128 7.1.1 开发 Service Service 的开发共分为两步 : 定义 Service 和配置 Service 下面依次讲解这两个步骤 Service 的开发共分为两步 : 定义 Service 和配置 Service 下面依次讲解这两个步骤 1. 定义 Service 定义一个 Service 子类继承于 Service, 2. 配置 Service 在 AndroidManifest.xml 文件中, 配置该 Service 有两种配置方法 第一种是显示配置, 只需使用 <Service /> 标签声明 Service 的名称 <Service /> 与其他组件标签 ( 例如 <activity></activity>) 并列位于 <application></application> 标签内, 为同一个应用程序所用 第二种是隐式配置, 除了声明 Service 名称之外, 还需要为 Service 配置 <intent-filter /> 子标签 通过匹配 Action 属性, 说明该 Service 可以被哪些 Intent 启动

129 7.1.2 Service 的生命周期 Service 的生命周期包括运行和停止两个阶段 Service 的启动方式有两种 :context.startservice() 和 context.bindservice() 不同的启动方法, 对 Service 生命周期的影响不同 使用 context.startservice() 启动 Service, 访问者与 Service 没有关联 即使访问者退出了,Service 依然运行 ; 使用 context.bindservice() 启动 Service, 访问者与 Service 就绑定在一起 访问者一旦退出, Service 就终止运行

130 7.2 操作 Service 本节我们通过 Service 的开发, 使用两种不同的方法对 Service 进行操作, 观察 Service 的生命周期, 以及状态变化

131 7.2.1 使用 context.startservice() 启动 Service Service 一般由 Activity 启动 当 Activity 调用 startservice() 方法启动 Service 时, 如果 Service 还没有运行, 则 Android 先调用 oncreate(), 然后调用 onstartcommand() 启动 Service Service 进入运行状态 stopservice 的时候直接 ondestroy() 结束 Service 如果是调用者自己直接退出, 而没有调用 stopservice 的话,Service 会一直在后台运行

132 7.2.2 使用 context.bindservice() 启动 Service 调用 context.bindserivce() 方法, 绑定 Service 到 Activity, 依次执行 oncreate() onbind(),service 被启动 调用 context.unbindservice() 解除绑定, Srevice 依次调用 onunbind() ondestroy() 退出服务 当结束与 Service 绑定的 Activity 时,Service 也会被终止

133 7.3 Service 通信 根据通信方式,Service 可以分为两种类型 : 本地服务 (Local Service) 和远程服务 (Remote Service) 本地服务用于应用程序内部, 远程服务用于 Android 系统内的应用程序之间 下面详细讲解这两种 Service 的通信方式

134 7.3.1 本地服务通信 当程序通过 startservice() 和 stopservice() 启动 关闭 Service 时,Service 与访问者之间没有太多关系 因此无法进行通信和数据交换 如果 Service 和访问者之间需要进行通信, 应该调用 bindservice() 绑定 Service 与访问者, 通信结束之后, 再调用 unbindsevice() 解除绑定, 退出 Service 绑定 Service 之后,Service 类中的 Ibinder onbind(intent intent) 方法的返回值, 将传递给在访问者类中声明的, ServiceConnection 的 onserviceconnected(componentname name,ibinder service) 方法中作参数 这样, 访问者就可以通过 Inbind 对象, 实现与 Service 之间的通信

135 7.3.2 远程服务通信 在 Android 系统中, 各应用程序都运行在自己的进程中 进程之间一般无法直接进行通信或者数据交换 Android 提供了 AIDL 工具来实现跨进程的通信 AIDL(Android Interface Definition Language) 是一种 IDL 接口定义语言 ((Interface Definition Language) 语言, 用于生成可以在 Android 设备上两个进程之间进行进程间通信 (Internet Process Connection IPC) 的代码 如果在一个进程中 ( 例如 Activity) 要调用另一个进程中 ( 例如 Service) 的对象, 就可以使用 AIDL 来实现

136 7.4 系统提供的 Service 以上示例都是我们自定义开发的 Service 服务 其实, Android 系统也提供了很多 Service 服务供用户使用 这些服务通过 getsystemservice(string servicename) 方法获得, 比如第 5 章中的 Notification 下面我们来学习一些常用的系统 Service

137 7.4.1 电话管理器 TelephonyManager TelephonyManager 是 Android 提供的系统服务之一 通关它可以获取手机的各种相关信息, 例如设备 ID 号 SIM 卡号等等

138 7.4.2 短信管理器 SmsManager SmsManager 是 Android 提供的与短信相关的系统服务 该 Service 使用流程如下 : 1. 获取 SmsManager 实例对象使用该 Service 之前, 首先需要获取该对象 2. 调用 SmsManager 相关方法 SmsManager 类中, 提供了与短信相关的方法 3. 声明 PendingIntent 对象在以上两个方法中, 都使用到 PendingIntent 参数 因此在调用 SmsManager 相关方法之前, 需要声明一个 PendingIntent 对象 PendingIntent 这个类用于处理即将发生的事情 要得到一个 pendingintent 对象, 使用方法类的静态方法 getactivity(context, int, Intent, int), getbroadcast(context, int, Intent, int), getservice(context, int, Intent, int) 分别对应着 Intent 的 3 个行为 : 跳转到一个 Activity 组件 打开一个广播组件和打开一个服务组件

139 7.4.3 音频管理器 AudioManager AudioManager 是用来控制手机铃声和音量的系统服务 该 Service 使用流程如下 : 1. 获取 AudioManager 实例对象 使用该 Service 之前, 首先需要获取该对象 2. 调用 AudioManager 相关方法 获取了 AudioManager 实例对象后, 我们就可以调用它的相关方法 AudioManager 提供了一系列控制手机音量的方法

140 7.4.4 振动器 Vibrator Android 手机中的振动由 Vibrator 实现 在与用户交互时, 常常会用到振动功能, 尤其在游戏中, 应用广泛, 比如爆炸, 碰撞等 1. 获取 Vibrator 实例对象 使用该 Service 之前, 首先需要获取该对象 2. 调用 Vibrator 相关方法 获取了 Vibrator 实例对象后, 我们就可以调用它的相关方法

141 7.5 广播接收者 BroadcastReceiver 在 Android 中, 广播 Broadcast 是一种广泛运用在应用程序之间的用于传送消息的机制 而 BroadcastReceiver 是用来过滤接收并响应 Broadcast 的一类组件 它可以监听系统全局的广播消息, 非常方便的实现系统中不同组件之间通信

142 7.5.1 开发 BroadcastReceiver BroadcastReceiver 的运行机理非常简单 开发过程如下 : 开发 BroadcastReceiver 的子类, 重写其中的 onreceive() 方法 ; 注册 BroadcastReceiver 对象 ; 将需要广播的消息封装到 Intent 中, 然后调用方法发送出去 ; 通过 IntentFilter 对象过滤 Intent, 处理与其匹配的广播 1. 注册 BroadcastReceiver 与其他组件相同,BroadcastReceiver 在使用之前, 也需要在 AndroidManifest.xml 中注册 静态注册 静态注册的特点是, 不管改应用程序是否处于活动状态, 都会进行监听 注册 BroadcastReceiver 使用 <receiver></receiver> 标签 然后通过 <intent-filter></intent-filter> 标签设置过滤条件 <receiver></receiver> 与其他组件 ( 例如 <activity></activity>) 并列位于 <application></application> 标签内, 为同一个应用程序所用 BroadcastReceiver 也可以在代码中注册 动态注册 首先创建 IntentFilter 对象, 并设置过滤条件, 然后通过 Context.registerReceiver() 方法来注册, 通过 Context.unregisterReceiver() 方法取消注册 动态注册的特点是, 在代码中进行注册后, 当应用程序关闭后, 就不再进行监听

143 2. 发送广播 Android 系统提供了 Conte.sendBroadcast() 和 Context.sendOrderedBroadcast() 两种方法发送广播或有序广播, 供 BroadcastReceiver 接收并处理 Conte.sendBroadcast() 发送的广播, 所有满足条件的 BroadcastReceiver 都会执行其 onreceive() 方法来处理响应 Context.sendOrderedBroadcast 发送的有序广播 会根据 BroadcastReceiver 注册时 IntentFilter 的优先级顺序来执行 onreceive() 方法 优先级在 <intent-filter> 的 android:priority 中声明, 也可以在代码中通过 IntentFilter.setPriority() 方法设置 数越大优先级别越高

144 7.5.2 接收系统广播信息 除了接收用户发送的广播之外,BroadcastReceiver 还有一个重要的用处, 接收系统广播 如果应用需要在系统特定时刻执行某些操作, 就可以通过监听系统广播来实现

145 7.6 小结 通过本章的学习, 读者应该很好地掌握 Android 的后台服务机制和消息广播机制 本章内容重点是 Service 的开发与通信, 以及 BroadcastReceiver 的开发 系统提供的 Service, 功能强大, 再结合 BroadcastReceiver 一起使用, 是本章学习的难点 二者的运用都涉及到添加对应的用户权限, 也需要读者认真掌握

146 第 8 章 Android 数据存储 在应用程序的开发过程中, 都会涉及到数据的输入 输出和保存 Android 提供了以下几种方式, 供开发者存取数据 :SharedPreferences 存储 文件存储 SQLite 数据库存储 ContentProvider 本章将详细讲解这几种存储方式

147 8.1 SharedPreferences 轻量级存 储 SharedPreferences 是 Android 平台上一个轻量级的存储类 它用来存储一些简单的 Key-Value 名值对 它的 value 值只能是 int long boolean String float 类型 在应用程序中主要保存一些常用的配置信息

148 8.1.1 SharedPreferences 和 Editor SharedPreferences 是一个接口 要获取 SharedPreferences 的实例对象, 需要调用 context.getsharedpreferences(string name, int mode) 方法 name: 如果该文件不存在, 则会在调用 SharedPreferences.Editor commit() 方法后自动创建 新建的文件保存在 /data/data/ 项目包名 /shared_prefs 目录下

149 8.1.2 使用 SharedPreferences 存 储数据 使用 SharedPreferences 存储数据的步骤如下 : 调用 context.getsharedpreferences(string name, int mode) 方法获取 SharedPreferences 对象 ; 利用 SharedPreferences.Editor edit() 方法获取 Editor 对象 ; 通过 Editor 对象存储 key-value 名值对数据 ; 通过 commit() 方法提交数据 示例 8-1 下面通过具体案例演示, 使用 SharedPreferences 存储数据

150 8.2 文件存储 Android 也支持使用文件存取数据 Activity 提供了 openfileoutput() 方法, 可以输出数据到文件中 具体的实现过程与在 J2SE 环境中保存数据到文件中是一样的 文件可用来存放大量数据, 如文本 图片 音频等

151 8.2.1 读写文件中数据 Context 提供了下面两个方法打开应用程序中数据文件夹里的文件 IO 流 FileInputStream openfileinput(string name): 打开应用程序中数据文件夹里 name 文件对应的输入流 FileOutputStream openfileoutput(string name int mode): 打开应用程序中数据文件夹里 name 文件对应的输出流 示例 8-2 下面通过一个具体案例演示读写文件中的数据

152 8.2.2 读写 SD 卡中数据 由于手机内存有限, 有时并不能满足用户需求 为了更好地存 取应用程序的大文件数据, 应用程序可以读写 SD 卡中的数据 SD 卡大大扩充了手机的存储能力 读写 SD 卡中数据的步骤 : (1) 调用 Environment.getExternalStorageStata() 方法, 判断手机是否插入了 SD 卡, 并且应用程序是否具有读写 SD 卡数据的权限 (2) 调用 Environment.getExternalStorageDirectory() 方法, 获取 Android 外部存储器, 即 SD 卡目录 (3) 调用 FileInputStream FileOutputStream FileReader 或 FileWriter 读写 SD 卡里的文件

153 8.3 SQLite 数据库存储 Android 系统集成了一个轻量级的数据库 SQLite 它支持 SQL 语言, 并且只利用很少的内存就有很好的性能 SQLite 适合资源有限的设备 ( 例如手机 PAD), 实现适量数据存取

154 8.3.1 SQLiteDatabase 和 SQLiteOpenHelper 在开发 SQLite 数据库应用程序中, 我们经常会用到 SQLiteDatabase 类和 SQLiteOpenHelper 类, 下面我们来初步学习这两个类 1. SQLiteDatabase 2. SQLiteOpenHelper

155 8.3.2 数据库基本操作 在得到数据库对象之后, 便可以对数据库进行操作 SQLiteDatabase 类提供了提供了一系列方法, 实现数据库的增 删 改 查 示例 8-6 下面通过具体案例演示, 使用 SQLiteDatabase 的静态方法创建数据库, 并进行操作

156 8.4 内容提供者 ContentPrivoder ContentPrivoder 是 Android 平台中的又一组件 它是不同应用程序之间数据交换的标准 API, 主要实现数据在不同应用程序之间的共享, 从而能够让其他的应用保存或读取此 ContentProvider 的各种数据类型

157 8.4.1 ContentPrivoder 简介 一个程序可以通过实现一个 ContentProvider 的抽象接口, 将自己的数据以 Uri 形式完全暴露出去 其他应用程序就可以使用 ContentResolver, 根据 Uri 访问操作指定数据 1.Uri 简介 2. ContentProvider 相关方法

158 8.4.2 自定义 ContentProvider 前面介绍的是如何使用 ContentResolver 来操作系统 ContentProvider 提供的数据 本节内容我们将详细介绍如何实现自定义的 ContentProvider 1. 创建 ContentProvider 的步骤 (1) 创建一个类继承于 ContentProvider 父类, 该类实现增 删 改 查等方法 ; (2) 在自定义的 ContentProvider 子类中, 定义一个 public static final 的名为 CONTENT_URI 的 Uri 类变量 为其指定一个唯一的字符串值, 最好的方案是以类的全名称 如 :public static final Uri CONTENT_URI = Uri.parse( content://com.example.mycontentprovider );; (3) 在 AndroidMenifest.xml 中使用 <provider ></provider> 标签来设置 ContentProvider, 并设置 android:authorities 属性 2. 工具类开发自定义的 ContentProvider 类时所实现的增 删 改 查方法, 都需要一个 Uri 参数 该参数决定对哪个 Uri 进行操作 3. 实现自定义 ContentProvider 开发一个 BookContentProvider, 使用自定义的 ContentProvider 访问 Book 数据

159 8.5 小结 本章内容主要讲解了 Android 平台下的数据存储, 详细介绍了各种存储方式如何使用以及适用情况 其中,SharedPreferences 和文件存取是较为简单的存储方式, 容易掌握 SQLite 数据库存储在 Android 程序中较为常用 ContentPrivoder 是本章难点, 需要读者细心学习, 认真掌握

160 第 9 章 Android 网络开发应用 Android 是由互联网巨头 Google 带头开发, 因此对网络功能的支持是必不可少的 在 Android 系统中, 提供了以下几种方式可以实现网络通信 :Socket 通信 HTTP 通信 URL 通信 WebView 网络开发

161 9.1 Socket 通信 Socket, 通常也称作 套接字, 用于描述 IP 地址和端口 应用程序通常通过 " 套接字 " 向网络发出请求或者应答网络请求 Socket 是 Java 中较为常用的网络通信方式, 而 Android 是采用 Java 语言进行开发 因此 Android 中 Socket 通信, 采用的就是 Java 的 Socket 通信方式

162 9.1.1 Socket 工作机制 Socket 工作机制模式, 如图 9.1 所示 图 9.1 Socket 工作机制示意图

163 9.1.2 Socket 服务端开发 Socket 服务端用于向客户端发送数据信息, 它运行在 Java SE 平台上 示例 9-1 本示例演示 Socket 服务端程序的开发 (1) 新建一个 Java Project, 命名为 Server (2) 在 Server 的 src 目录下新建一个包, 命名为 com.example.server 右击 src, 弹出菜单框, 单击 new Package 命令 (3) 在 com.example.server 包下新建一个 Server.java, 添加 main() 方法 整个服务端项目结构创建完成 (4) 在 Server.java 的 main() 方法中添加如下代码, 向数据流中写入数据, 并发送到客户端

164 9.1.3 Socket 客户端开发 Socket 客户端用于接收服务端发送的数据, 运行在 Android 平台上 (1) 新建项目 Socket 在 SocketActivity 中创建 connecttoserver() 方法, 读取服务端发送的信息, 并用 Toast 显示 (2) 在 oncreate() 方法中, 调用 connecttoserver() 方法, 并添加如下代码, 防止程序抛出 NetworkOnMainThreadException 异常 (3) 在 AndroidMenifest.xml 中添加用户权限, 允许应用程序访问网络

165 9.1.4 运行程序 完成了服务端与客户端的开发, 下面我们运行程序, 进行 Socket 通信 (1) 运行 Socket 服务端 右击 Server.java, 依次选择 Run As Java Application 服务端成功启动后, 控制台输出提示信息 Listening (2) 运行 Android 客户端 程序启动后, 自动与服务端建立连接 服务端接收到客户端请求后, 在控制台输出提示信息 Client Connected 客户端与服务端建立连接后, 客户端就可以读取到服务端发送的信息, 并将信息以 Toast 方式显示在界面上

166 9.2 HTTP 通信 HTTP(Hyper Text Transport Protocol) 超文本传送协议是一种通信协议 它允许将超文本标记语言 (HTML) 文档从 Web 服务器传送到 Web 浏览器, 是互联网上应用最为广泛的网络传输协议

167 9.2.1 HTTP 通信方式 HTTP 详细规定了浏览器和万维网 (World Wide Web) 服务器之间互相通信的规则 客户机和服务器必须都支持 HTTP, 才能在万维网上发送和接收 HTML 文档并进行交互 HTTP 包含了 GET 和 POST 两种请求网络资源方式 GET 可以获得静态页面, 也可以把参数放在 URL 字符串后面, 传递给服务器 而 POST 方法的参数是放在 HTTP 请求中 因此, 在编程之前, 应当首先明确使用的请求方法, 然后再根据所使用的请求数据方法, 选择相应的编程方式 Android 提供了 HttpURLConnection 和 HttpClient 接口来开发 HTTP 程序

168 9.2.2 使用 HttpURLConnection 开 发 HttpURLConnection 是 Java 的标准类, 继承自 HttpConnection 它是一个抽象类, 不能实例化对象, 主要是通过 URL 的 openconnection 方法获得 由于 openconnection() 方法返回值类型是 URLConnection 类, 所以需要强制转换类型为 HttpURLConnection 类 openconnection() 方法只创建 HttpURLConnection 实例, 并不是真正的连接操作 而且每次调用 openconnection() 方法, 都将创建一个新的实例 示例 9-2 下面通过案例演示使用 HttpURLConnection 的默认请求方式开发 HTTP 程序

169 9.2.3 使用 HttpClient 接口开发 使用 Apache 提供的 HttpClient 接口同样可以进行 HTTP 操作 HttpClient 对 java.net 的类做了封装和抽象, 更适合在 Android 上开发应用 在使用 HttpClient 接口开发 HTTP 时, 会用到以下接口和类, 下面我们一一介绍 1. HttpClient 接口 2. HttpResponse 接口 3. StatusLine 接口 4. HttpEntity 接口 5.NameValuePair 6.HttpGet 类 7.HttpPost 类

170 9.3 URL 通信 URL(Uniform Resource Locator) 统一资源定位符, 表示 Intetnet 上的资源地址, 实现对网络资源的定位 简单地说,URL 就是 Web 地址, 俗称 网址

171 9.3.1 URL 简介 URL 支持 HTTP File FTP 等多种协议 Java 通过 URL 标识, 可以直接使用 HTTP File FTP 等多种协议, 获取远端计算机上的资源信息, 方便快捷地开发 Internet 应用程序 1. 统一资源定位器 URL URL 的语法格式是 :< 传输协议名 >://< 主机名 >:< 端口号 >/< 文件名 >#< 引用 > 其中,< 端口号 > < 文件名 > 和 < 引用 > 是可选的 < 传输协议名 > 和 < 主机名 > 是必需的 当没有给出 < 传输协议名 > 时, 浏览器默认的传输协议是 HTTP 2.URL 类 java.net 包中定义了 URL 类 URL 类表示一个统一资源定位器 它是指向互联网上某一资源的指针, 这个资源可以是某个主机的一个文件或路径, 也可以是文件上的一个锚 ( 或称引用 )

172 9.3.2 URL 通信开发 URL 通信开发, 分为以下几个步骤 : (1) 根据指定的 URL 网址, 创建 URL 对象 ; (2) 调用 URLConnection.openConnection() 方法打开连接 ; (3) 获取输入流 ; (4) 将网络信息提取显示 示例 9-5 下面通过一个具体案例来演示, 使用 URL 通信, 获取网络图片资源

173 9.4 WebView 网页开发 在 Android 手机中内置了一款高性能 WebKit 内核浏览器, 在 SDK 中封装为一个叫做 WebView 控件 WebKit 浏览器的作用将 HTML 代码解释编译成直观 具体 用户可理解的网页界面

174 9.4.1 WebView 简介 WebView 是用于加载显示网页的控件 使用时, 可以在布局界面中直接添加, 然后在逻辑代码部分通过 ID 获取引用

175 9.4.2 WebView 开发应用 在 WebView 中, 不仅可以根据指定的 URL 浏览网页, 还可以载入 HTML 标记并显示 下面我们通过具体案例来说明 示例 9-6 本案例演示如何使用 WebView 浏览网页

176 9.5 小结 本章内容主要介绍了 Android 系统中的通信方式 其中,Socket 通信 URL 通信较为简单 HTTP 通信和 WebView 网络开发是本章难点, 需要读者多多练习, 熟练掌握 开发过程中, 保持计算机网络可用 切记添加 <uses-permission android:name="android.permission.internet"/> 用户权限, 允许程序访问网络

177 第 10 章 GPS 定位和 Google Maps 谷 歌地图 GPS 定位和地图导航是现代移动设备的必要应用 谷歌地图 (Google Maps) 是 Google 公司提供的电子地图服务, 已经很好地嵌入 Android 系统 本章将介绍如何在 Android 平台下开发基于 Google 服务的 GPS 和 Google Maps 应用程序

178 10.1 GPS 定位服务 GPS(Global Positioning System), 全球定位系统的简称 在 Android 系统中, 我们可以使用 android.location 类来使用移动设备提供的 GPS 定位服务

179 GPS 相关类简介 GPS 定位服务的中心组件是 LocationManager 系统服务, 它提供 API 来确定位置和方位 调用 getsystemservice(context.location_service) 可获取 LocationManager 系统服务 获取 GPS 信息时, 还会用到以下类或接口, 下面一一介绍 1.LocationManager 类 LocationManager 类可以获取系统的定位服务 这个服务允许应用程序定期获得 GPS 地理位置的更新数据, 或者当设备进入或接近某一地理位置时, 可以关闭应用程序的 Inent 2.Location 类 Location 类可以表示某一特定时间地理位置的相关信息 3.LocationProvider 类 LocationProvider 类是一个提供定位服务的抽象超类, 定期报告移动设备所在地理位置的数据信息 4.LocationListener 接口当 GPS 位置有所改变时,LocationListener 接口用来接收来自 LoacationManager 的通知 这个 LocationListener 接口事先定义在 requestlocationupdates(string,long.float, LocationListener) 方法中 5.Criteria 类当需要为地理位置信息的获取设置查询条件时, 需要创建一个 Criteria 对象 调用该对象的 set 方法设置查询条件

180 获取 GPS 信息 开发程序获取 GPS 信息分为以下几个步骤 : (1) 获取 LOCATION_SERVICE 系统服务 (2) 创建 Criteria 对象, 调用该对象的 set 方法设置查询条件 (3) 调用 LocationManager.getBestProvider(Criteria criteria,boolean enabledonly) 方法, 传入创建好的 Criteria 对象, 获取最能满足给定标准 (Criteria 对象 ) 的提供者名称 (4) 调用 LocationManager.getLastKnowLocation() 方法, 传入提供者名称, 获取最后已知位置信息 (5) 调用 LocationManager.requstLocationUpdates(), 添加 LocationListener 监听器 示例 10-1 下面通过一个具体案例演示, 使用 Location 及相关类获取 GPS 信息

181 10.2 Google Maps 谷歌地图 Google Maps 是谷歌最为成功的一款网络服务之一, 广泛应用在旅游景点查询, 以及线路导航等场合

182 获取 Map API Key 开发人员在基于 Google Maps 服务进行开发之前, 需要申请一组验证过的 Map API Key, 这样才可以使用 Google Maps 服务 Map API Key 申请过程如下 : (1) 在 Eclipse 中打开 Window Preference 菜单, 在左侧的选项中依次选择 Android Bulid, 在右侧的面板中可以看到 Default debug keystore 的路径 (2) 打开 CMD 命令行, 使用 JDK 自带的 keytool 工具, 通过 keystore 生成 MD5 指纹 (3) 注册一个 Google 账号, 即 Gmail 账号, 然后登录 (4) 获取了 MD5 指纹认证之后, 打开浏览器, 在地址栏输入 进入 Map API Key 生成页面 (5) 在页面下方的 My certificate's MD5 fingerprint 文本框中输入前面获取的 MD5 认证指纹, 并勾选 I have read and agree with the terms and conditions 前面的复选框 之后单击 Generate API Key 按钮 (6)Map API Key 申请成功

183 创建模拟器 申请完 Map API Key 后, 需要创建一个能够运行 Google 地图的模拟器, 创建步骤与平时用的模拟器稍有不同, 创建步骤如下所示 (1) 在 Eclipse 中, 打开 Android Virtual Device Manager 窗体 单击 new 按钮, 打开 Create new Android Virtual Device(AVD) 窗体, 新建一个 AVD (2) 选择 Target 为 GoogleAPIs (Google Inc.)-API Level 16, 因为该版本支持 Google Maps 服务 单击 Create AVD 按钮, 完成创建 (3) 启动该模拟器, 如果模拟器中存在 Maps 应用程序图标, 表明创建 AVD 正确

184 GoogleMaps 相关类 在开发 Google Maps 服务时, 会使用到 Google API 中的 com.google.android.map 包 重要的类有以下几个 : 1.MapActivity 类 2.MapView 类 3.MapController 类 4.OverLay 类 5.GeoPoint 类 6.Projection 接口

185 GooaleMaps 地图查询应用 做好之前的准备工作, 现在我们可以开发程序, 使用 GoogleMaps 进行查询 示例 10-2 下面通过具体案例演示,GooaleMaps 地图查询应用

186 10.3 Google 街景 Google 街景 (Google StreetView) 服务启动于 2007 年 5 月 25 日, 是 Google 公司所开发 应用于旗下 Google 地图内的一项功能, 为用户提供了水平方向 360 度, 垂直方向 290 度的立体街道全景

187 GoogleStreetView 服务原 理 GoogleStreetView 街景服务的原理比较简单 : 当需要 Google 街景服务时, 只须将包含经纬度信息的 Intent 启动内置的 com.google.android.street 应用程序即可

188 GoogleStreetView 程序开 发 示例 10-3 下面通过具体案例, 演示 GoogleStreetView 使用 (1) 新建项目 StreetView 创建支持 GoogleMaps 服务的模拟器 创建过程参考 小节内容 (2) 在布局界面添加两个文本框 经度 和 纬度 ; 添加两个输入框, 一个用于输入经度, 一个用于输入纬度 ; 添加 GO 按钮, 查询街景 ; 运行程序 (3) 在 StreetViewActivity 中, 获取各控件引用 为 GO 按钮绑定监听, 添加如下代码, 实现街景查询 (4) 运行程序, 输入经纬度, 单击 GO 按钮, 查询街景

189 10.4 小结 本章主要介绍了 Android 系统中, 如何获取地理位置新的各种应用程序开发 其中,GPS 和 GoogleStreetView 使用原理较为简单, 读者容易掌握 GoogleMaps 相对较为复杂, 需要读者多多练习,, 熟练掌握

190 第 11 章 Android 音频和视频 Android 系统的音频和视频平台, 提供了许多种常见的媒体类型的内置编码和解码功能 因此我们可以很容易在应用程序中集成音频和视频

191 11.1 Android 音频 Android 支持的音频格式有 MP3 WAV 和 3GP 音频资源来自 3 个不同的来源 : 存储在应用程序中的本地资源 ; 存储在文件系统的标准音频文件 ; 通过网络连接取得的数据流

192 MediaPlayer 类简介 Android 系统使用 MediaPlayer 类来播放音频 MediaPlayer 类的相关方法, 如表 11-1 所列

193 使用 MediaPlayer 播放本地音频 文件 学习了 MediaPlayer 的相关 API 之后, 我们就可以开发应用程序 使用 MediaPlayer 播放存储在应用程序中的本地音频文件, 要经过以下步骤 : (1) 调用 MediaPlayer.create(Context context, int resid) 方法, 加载音频文件, 并返回 MediaPlayer 对象 (2) 调用 MediaPlayer 的 start() pause() stop() 方法, 控制音乐的播放 暂停和停止 1. 音乐的播放 暂停和停止 2. 音量设置 3. 播放进度设置 4. 音乐循环播放

194 使用 MediaPlayer 播放标准 音频文件 上一节中, 调用 public static MediaPlayercreate(Context context, int resid) 方法播放音乐, 使用非常简单, 但每次调用都会返回新创建的 MediaPlayer 对象 如果程序需要使用 MediaPlayer 播放多个音频文件, 使用 MediaPlayer 的静态 create() 方法就不合适了 此时我们可以考虑, 使用 public void setdatasource(string path) 方法来装载指定的音频文件 示例 11-5 下面通过一个具体案例演示, 使用使用 MediaPlayer 播放标准音频文件

195 11.2 Android 视频 Android 系统支持的视频文件格式有 3GP MP4 Android 系统所能播放的视频文件一定要存储在 SDCard 或 Android 的系统文件内

196 视频相关类简介 Android 系统提供了 VideoView 控件, 用于在界面设计时显示视频文件 在使用 VideoView 播放视频文件时, 需要使用到以下类 下面我们一一进行介绍 1.VideoView 类 2.MediaController 类

197 使用 VideoView 播放视频文 件 使用 VideoView 播放视频文件步骤如下 : (1) 在布局界面添加 VideoView 控件 (2) 创建 MediaController 对象 (3) 调用 VideoView.setVideoPath(String path) 方法加载视频文件 (4) 为 VideoView 设置 MediaController 媒体控制器, 控制视频播放 (5) 调用 MediaController.setMediaPlayer() 方法, 设置 MediaController 与 MediaPlayer 关联

198 11.3 音频与视频的录制 Android 系统除了提供相关类, 实现音频与视频的播放之外, 还提供了 MediaRecorder 类实现音频视频的录制

199 音频录制 手机一般都提供了麦克风硬件, 而 Android 系统就可以利用该硬件录制音频 使用 MediaRecorder 录制音频的开发步骤如下 : (1) 创建 MediaRecorder 对象 ; (2) 调用 MediaRecorder.setAudioSource() 方法, 设置声音来源 一般传入 MediaRecorder.AudioSource.MIC 参数, 指定录制来自麦克风的声音 ; (3) 调用 MediaRecorder.setOutputFormat() 方法, 设置所录制的音频文件的格式 ; (4) 调用 MediaRecorder.setAudioEncoder() 方法, 设置音频编码格式 ; (5) 调用 MediaRecorder.setOutputFile() 方法, 设置音频文件保存位置 ; (6) 调用 MediaRecorder. prepare() 方法, 准备录制 ; (7) 调用 MediaRecorder. start() 方法, 开始录制 ; (8) 调用 MediaRecorder. stop() 方法, 停止录制, 并调用 MediaRecorder. release() 方法, 释放资源

200 视频录制 MediaRecorder 除了可以录制音频以外, 还可以录制视频 使用 MediaRecorder 录制视频与录制音频的步骤基本相同 只是录制视频不仅需要采集声音, 还需要采集图像 示例 11-8 下面通过具体案例演示视频录制

201 11.4 小结 本章内容主要介绍了 Android 系统中音频与视频的使用 其中, 使用 Mediap 播放音频 使用 VideoView 播放视频的开发都比较简单, 读者容易掌握 使用 MediaRecorder 录制音频与视频是本章难点, 需要读者多多练习, 以便熟练掌握

202 第 12 章 Android 传感器 --Sensor 在 Android 系统中, 提供了对传感器的支持 通过使用传感器, 可以开发出很多新奇有趣的程序 小到水平仪 电子罗盘, 大到各种传感器的游戏 这一应用大大增强了用户体验度 这一章节我们来学习传感器的开发及应用

203 12.1 传感器开发 在开发传感器应用之前, 首先了解传感器的开发过程 以及下载 SensorSimulator, 供模拟器模拟传感器应用

204 系统传感器 Android 系统提供的传感器如表 12-1 所列

205 传感器开发过程 在 Android 平台下开发传感器应用程序, 分为以下几个步骤 : (1) 调用 Context.getSystemService(SENSOR_SERVICE) 方法获取传感器管理服务 (2) 调用 SensorManager 的 getdefaultsensor(int type) 方法, 获取指定类型的传感器 (3) 在 Activity 的 onresume() 中, 调用 SensorManager 的 registerlistener(sensoreventlistener listener, Sensor sensor, int rate) 方法注册监听 rate 支持的参数如下 : Sensor.manager.SENSOR_DELAY_FASTEST: 延迟 0ms,; Sensor.manager.SENSOR_DELAY_GAME: 延迟 20ms, 适合游戏的频率 ; Sensor.manager.SENSOR_DELAY_UI: 延迟 60ms, 适合普通界面的频率 ; Sensor.manager.SENSOR_DELAY_NORMAL: 延迟 200ms, 正常频率 ; (4) 实现 SensorEventListener 接口中下列两个方法, 监听并取得传感器 Sensor 的状态

206 真机测试 由于我们以往使用的模拟器不支持传感器感应功能, 所以本章示例都在真机进行测试 ( 笔者使用的是支持 Android 4.0 的 PAD) 下面介绍真机测试步骤 (1) 设置 PAD 为 USB 调试模式 选择 设置 开发人员选项 USB 调试 (2) 用 USB 数据线连接 PAD 和电脑 使用 360 手机助手, 下载驱动, 确保连接成功 (3) 在 DOS 窗口下执行 c:\adb devices, 查看 PAD 是否已经连接成功 (4) 执行真机调试操作 在 Eclipse 中, 右击要运行的项目文件 Run As Run Configurations, 打开 Run Configurations 对话框 在对话框的左侧选中项目名称 在右侧打开 Target 面板, 选中 Launch on all compatible devices/avd's, 再通过下拉菜单选择 Active devices 然后, 单击 Apply 按钮应用 最后, 单击 Run 按钮, 程序在真机中运行

207 12.2 常用传感器 在 Android 系统中提供了 10 余种传感器, 接下来我们选择几种常用的传感器, 一一介绍其开发及应用

208 加速度传感器 加速度传感器 (Accelerometer) 简称 G-sensor, 主要用于感应设备的运动 该传感器捕获三个参数, 分别表示空间坐标系中 X Y Z 轴方向上的加速度减去重力加速度在相应轴上的分量, 其单位均为 m / s 2 示例 12-1 下面通过一个具体的案例来演示加速度传感器的开发

209 磁场传感器 磁力传感器 (MagneticField) 简称为 M-sensor, 主要感应设备的磁场变化 该传感器捕获 X Y Z 三个轴上的环境磁场数据 该数值的单位是微特斯拉 (micro-tesla), 用 ut 表示 示例 12-2 下面通过一个具体的案例来演示磁场传感器的开发

210 方向传感器 方向传感器 (Orientation) 简称为 O-sensor, 主要感应方位的变化 现在已经被 SensorManager.getOrientation() 所取代, 我们可以通过磁力计 MagneticField 和加速度传感器 Accelerometer 来获得方位信息 该传感器同样捕获三个参数, 分别代表手机沿传感器坐标系的 X 轴 Y 轴和 Z 轴转过的角度 values[0]:azimuth 方向角, 但用 ( 磁场 + 加速度 ) 得到的数据范围是 (- 180~180) 也就是说,0 表示正北,90 表示正东,180/-180 表示正南, -90 表示正西 而直接通过方向感应器数据范围是 (0~359)360/0 表示正北,90 表示正东,180 表示正南,270 表示正西 values[1]:pitch 倾斜角, 围绕 X 轴的旋转角 由静止状态开始, 前后翻转, 取值范围为 -180 度到 180 度 values[2]:roll 旋转角, 围绕 Y 轴的旋转角 由静止状态开始, 左右翻转, 取值范围为 -90 度到 90 度 示例 12-3 下面通过一个具体的案例来演示方向传感器的开发

211 重力传感器 重力传感器 (Gravity) 简称 GV-sensor, 主要用于输出重力数据 在地球上, 重力数值为 9.8, 单位是 m/s^2 坐标系统与加速度传感器坐标系相同 当设备复位时, 重力传感器的输出与加速度传感器相同 示例 12-4 下面通过一个具体的案例来演示重力传感器的开发

212 亮度传感器 亮度传感器 (Light), 主要用来检测设备周围光线强度 光强单位是勒克斯 (lux), 其物理意义是照射到单位面积上的光通量 示例 12-5 下面通过一个具体的案例来演示亮度传感器的开发

213 12.3 小结 本章内容主要讲解了 Android 系统中, 常用传感器的开发及应用 本章重点在于如何在真机上测试自己开发的应用程序, 我们开发的程序最终都是运行在真机上, 掌握真机测试十分重要 读者可以在掌握了这些传感器的使用之后, 自主开发一些传感器小应用程序, 更加深入地学习传感器的应用

214 第 13 章 Android 手势 Gesture Gesture 是 Android 中特有的手势识别技术 它是一个在触摸屏上手绘的形状, 这个形状可以由一个或者多个笔画构成 具体归纳起来,Gesture 可以分为两类 : 一类是输入法手势识别, 另一类是触摸屏手势识别

215 13.1 输入法手势识别 输入法手势识别需要定义一个描述手势动作的文件 创建的手势将被保存到 /sdcard/gestures 里面, 把这个文件复制到你的工程 /res/raw 下, 就可以在项目里面使用这些手势了

216 Gesture 相关类简介 开发 Gesture 应用程序, 可能会用到的以下类和接口, 如表 13-1 所列

217 输入法手势开发 学习了以上 Gesture 相关 API, 下面我们来开发输入法手势程序 示例 13-1 下面通过具体案例演示输入法手势开发

218 13.2 触摸屏手势识别 触摸屏手势识别比较简单, 其原生的消息无非按下 抬起 移动这几种 Android 系统为我们提供了手势识别工具 GestureDetector, 当我们接收到用户触摸消息时, 将这个消息交给 GestureDetector 去加工, 我们通过设置监听器获得 GestureDetector 处理后的手势

219 GestureDetector 简介 GestureDetector 提供了两个监听器接口, OnGestureListener 处理单击类消息, OnDoubleTapListener 处理双击类消息 1. OnGestureListener 接口 2. OnDoubleTapListener 接口 3. 手势序列

220 触摸屏手势开发 有时候我们并不需要处理上面所有手势 方便起见, Android 提供了另外一个类 SimpleOnGestureListener 实现了如上接口, 我们只需要继承 SimpleOnGestureListener 然后重载感兴趣的手势即可 示例 13-2 下面通过具体案例演示触摸屏手势开发, 当用户以不同方式触摸屏幕,Toast 弹出对应消息提示

221 13.3 小结 本章内容主要讲解了 Android 中手势的开发及应用 其中, 触摸屏手势开发比较简单, 读者容易掌握 输入法手势开发稍微复杂, 需要读者多多练习, 熟练掌握

222 第 14 章 Android 图形应用 Android 提供了丰富的图片功能支持 在开发过程中, 我们可以使用系统提供的资源图片, 也可以使用自己下载的图片, 还可以使用 Canvas 画布类, 在界面中绘制各种自己需要的图形 本章将讲解 Bitmap 位图的使用和 Canvas Paint 的基本绘图

223 14.1 Bitmap 位图 在之前的应用程序中, 我们使用的几乎都是存储在 drawable 文件夹中的图片资源 本节我们将介绍一种新的提供图片的路径, 从 assets 文件夹中获取图片资源

224 AssetManager 类 assets 文件夹里面的文件都是保持原始的文件格式, 需要用 AssetManager 以字节流的形式读取文件 相关方法如表 14-1 所列

225 Bitmap 和 BitmapFactory Bitmap 代表一张位图,BitmapDrawable 里封装的图片就是一个 Bitmap 对象 如果需要获取 BitmapDrawable 所包装的 Bitmap 对象, 需要调用 BitmapDrawable.getBitmap() 方法 语法如下所示 : Bitmap 相关方法如表 14-2 所列

226 Bitmap 和 BitmapFactory BitmapFactory 是一个工具类, 它提供了大量的方法, 用于从不同的数据源解析 创建 Bitmap 对象 相关方法如表 14-3 所列

227 assets 文件夹资源的访问 访问 assets 文件夹中的文件, 分为以下几个步骤 : (1) 在 Activity 里面调用 getassets(), 获取 AssetManager 引用 (2) 调用 AssetManager.open(String filename) 方法, 指定读取的文件, 得到输入流 InputStream (3) 用已经 open file 的 inputstream 读取文件, 读取完成后调用 inputstream.close() 关闭输入流 (4) 调用 AssetManager.close() 关闭 AssetManager 注 : 来自 assets 中的文件只可以读取, 而不能进行写的操作 示例 14-1 下面通过具体案例演示如何访问 assets 文件夹中的图片文件

228 14.2 Canvas 绘图 除了使用已有的图片之外,Android 常常需要动态的生成图片 这时我们就需要用到 Canvas 类和 Paint 类

229 Canvas 和 Paint Android 的绘图应继承 View 类, 并重写它的 ondraw() 方法 Canvas 代表了一张画布, 它提供了多种方法, 用于承载显示绘制的各种图形, 如表 14-4 所列

230 Canvas 和 Paint Paint 代表了画笔, 用于绘制图形 相关方法如表 14-5 所列

231 基本图形绘制 学习了上面的相关 API, 下面我们来实现在 Canvas 上绘制图形 示例 14-2 下面通过具体案例演示 Android 中基本图形的绘制

232 14.3 小结 本章内容主要讲解了 Android 系统中图形的应用 其中, 访问 assets 文件夹中的图片资源是本章难点, 需要读者多多练习, 以便熟练掌握 Canvas 绘图在游戏开发中比较常用, 我们可以根据程序需要, 绘制出各种各样的图形, 丰富了界面的多样性

233 第 15 章 Android 程序开发 音乐 播放器 本章将介绍一个 Android 应用程序 音乐播放器的开发 该程序除了实现音乐播放之外, 还有录音 设置铃声等功能 该案例的开发, 将综合运用 Android 中的多种控件以及手势 菜单 系统服务等, 帮助读者掌握实用的开发技巧

234 15.1 系统简介 本节在整体上介绍该应用程序的功能以及开发环境, 使读者在进入正式的程序开发之前对系统有一定了解

235 功能概述 该应用程序主要功能包括以下几部分 : 播放用户存储在 SD 卡中的 mp3 格式的音乐 ; 将音乐设置成为来电铃声 闹铃铃声或者通知铃声 ; 录音, 并可将录制的音乐文件添加到播放器列表中进行播放

236 开发环境及目标平台 开发该系统需要用到的开发环境, 以及其目标平台, 如图 15.2 所示 图 15.2 开发环境与目标平台

237 15.2 系统架构 本节对系统的框架进行简要的介绍, 以帮助读者更好的理解系统的开发过程 该系统可以分为四大模块 : 登录模块 音乐播放模块 录音模块和设置模块, 如图 15.1 所示 图 15.1 系统架构图

238 15.3 登陆界面的设计与实现 从本节开始, 我们正式进入程序的代码开发 登陆界面就是在我们启动程序打开主界面之前, 显示的欢迎界面 本案例的登陆界面显示了一张图片, 如图 15.3 所示 图 15.3 登陆界面 登陆界面使用 ImageView 控件加载图片 在代码中设置全屏显示, 由线程控制两秒钟后跳转到音乐播放主界面

239 15.4 主界面的设计与实现 主界面的主要作用就是播放用户存储在 SD 卡中的 mp3 格式的音乐 该模块由音乐列表 音乐播放 音量调节 音乐进度控制和主界面菜单等构成, 下面依次讲解

240 主界面布局 在主界面的布局文件中, 使用了 ViewFlipper 控件, 实现在同一个 Activity 内屏幕间的切换, 由播放界面切换到播放列表界面, 如图 15.4 所示 图 15.4 ViewFlipper 界面切换

241 音乐播放列表 使用 ListView 建立音乐播放列表, 将 SD 卡中的 mp3 格式的音乐添加到列表中, 功能实现代码如下 单击音乐列表中的 Item, 开始播放被选中的音乐, 功能实现代码如下

242 音乐播放控制 在主界面中单击按钮, 调用 playmusic() 方法播放音乐, 功能实现代码如下 单击 暂停 按钮, 暂停正在播放的音乐, 功能实现代码如下 单击按钮播放上一首歌曲, 如果到第一首, 则使用 Toast 提示, 如图 15.5 所示, 功能实现代码如下 单击按钮播放下一首歌曲, 如果到最后一首, 则使用 Toast 提示, 如图 15.6 所示, 功能实现代码如下 图 15.5 第一首歌曲 图 15.6 最后一首歌曲

243 音乐音量的调节 在主界面中可以调节音乐音量, 如图 15.7 所示, 功能实现代码如下 图 15.7 调节音量

244 音乐播放进度控制 在主界面可以通过 SeekBar 控制音乐播放进度, 如图 15.8 所示, 功能实现代码如下 图 15.8 控制播放进度

245 主界面菜单 在主界面中添加了 OptionsMenu, 提供了对应的菜单功能, 如图 15.9 所示 1. 返回主界面在菜单中, 单击 返回 菜单项, 返回主界面, 如图 所示 2. 设置在菜单中, 单击 设置 菜单项, 设置随机播放音乐, 如图 所示 实现随机播放音乐代码 : 3. 关于在菜单中, 单击 关于 菜单项, 显示播放器版本, 如图 所示

246 主界面菜单 4. 更新 在菜单中, 单击 更新 菜单项, 更新播放器, 如图 所示 5. 退出 在菜单中, 单击 退出 菜单项, 然后单击 确定 按钮, 退出系统, 如图 所示 6. 更多在菜单中, 单击 更多 菜单项, 弹出对话框, 如图 所示

247 15.5 录音界面的设计与实现 在列表界面的底部, 有两个 ImageButton 第一个用于实现录音功能, 第二个用于实现设置功能 下买我们来看录音功能的设计与实现

Microsoft Word - 第1章 Android基本概念.docx

Microsoft Word - 第1章 Android基本概念.docx Android 系 统 下 Java 编 程 详 解 作 者 : 华 清 远 见 第 1 章 Android 基 本 概 念 本 章 简 介 本 章 主 要 介 绍 Android 基 本 概 念 方 面 的 内 容, 包 括 Android 平 台 特 性 Android 系 统 架 构 Android 开 发 框 架 和 Android 开 发 环 境 搭 建 1.1 Android 简 介 Android

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之 臺 北 市 大 安 高 級 工 業 職 業 學 校 資 訊 科 一 百 零 一 學 年 度 專 題 製 作 報 告 ------ 以 Android 製 作 ------ ----- 連 線 塔 防 遊 戲 ------ Tower defense game using Internet technology 班 級 : 資 訊 三 甲 組 別 : A9 組 組 員 : 葉 冠 麟 (9906129)

More information

Android 手 机 程 序 设 计 入 门 应 用 到 精 通 内 存 1GB 硬 盘 剩 余 空 间 3GB 如 果 你 的 计 算 机 是 在 3 年 内 购 买 的 新 型 计 算 机, 应 该 能 够 符 合 以 上 的 条 件 如 果 你 的 计 算 机 是 比 较 旧 的 机 型,

Android 手 机 程 序 设 计 入 门 应 用 到 精 通 内 存 1GB 硬 盘 剩 余 空 间 3GB 如 果 你 的 计 算 机 是 在 3 年 内 购 买 的 新 型 计 算 机, 应 该 能 够 符 合 以 上 的 条 件 如 果 你 的 计 算 机 是 比 较 旧 的 机 型, UNIT 4 4 安 装 Android 程 序 开 发 工 具 在 开 始 学 习 编 写 Android 应 用 程 序 之 前, 我 们 必 须 先 搭 建 一 个 Android 应 用 程 序 的 开 发 环 境 建 立 Android 应 用 程 序 开 发 环 境 需 要 安 装 一 些 工 具 软 件, 而 学 习 Android 应 用 程 序 设 置 的 一 大 好 处 是 这

More information

第四章 102 图 4唱16 基于图像渲染的理论基础 三张拍摄图像以及它们投影到球面上生成的球面图像 拼图的圆心是相同的 而拼图是由球面图像上的弧线图像组成的 因此我 们称之为同心球拼图 如图 4唱18 所示 这些拼图中半径最大的是圆 Ck 最小的是圆 C0 设圆 Ck 的半径为 r 虚拟相机水平视域为 θ 有 r R sin θ 2 4畅11 由此可见 构造同心球拼图的过程实际上就是对投影图像中的弧线图像

More information

通信网与SDH传输系统

通信网与SDH传输系统 TD-LTE 移 动 通 信 系 统 ( 移 动 互 联 网 ) 实 训 方 案 一 简 述 2013 年 12 月 4 日, 工 信 部 正 式 向 三 大 运 营 商 发 布 4G 牌 照, 开 吭 了 我 国 秱 劢 通 信 癿 4G 时 代 在 可 以 预 见 癿 未 来,4G 秱 劢 通 信 相 关 癿 人 才 需 求 无 疑 将 持 续 旺 盛 以 科 技 研 发 为 先 寻, 具 有

More information

长 安 大 学 硕 士 学 位 论 文 基 于 数 据 仓 库 和 数 据 挖 掘 的 行 为 分 析 研 究 姓 名 : 杨 雅 薇 申 请 学 位 级 别 : 硕 士 专 业 : 计 算 机 软 件 与 理 论 指 导 教 师 : 张 卫 钢 20100530 长安大学硕士学位论文 3 1 3系统架构设计 行为分析数据仓库的应用模型由四部分组成 如图3 3所示

More information

工程项目进度管理 西北工业大学管理学院 黄柯鑫博士 甘特图 A B C D E F G 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 甘特图的优点 : 直观明了 ( 图形化概要 ); 简单易懂 ( 易于理解 ); 应用广泛 ( 技术通用 ) 甘特图的缺点 : 不能清晰表示活动间的逻辑关系 WBS 责任分配矩阵 ( 负责〇审批

More information

燃烧器电子控制系统 目录 2

燃烧器电子控制系统 目录 2 聚焦 REC27 燃烧器电子控制系统 燃烧器电子控制系统 目录 2 REC27 燃烧器电子控制系统 2 概述 燃烧器电子控制系统 2 2 2 2 2 A B1 B2 C D E 22 2 2 系统图示 2 2 2 2 2 2 主要特征及优点 燃烧器电子控制系统 2 2 集成控制 2 2 节能 安全运行 运行模式 远程锁定复位 可根据需求提供特殊机型 无接合间隙及机械迟滞 简单的试运行及燃烧器设定 2

More information

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63> 基 于 Android 平 台 的 电 子 拍 卖 系 统 摘 要 本 电 子 拍 卖 系 统 其 实 就 是 一 个 电 子 商 务 平 台, 只 要 将 该 系 统 部 署 到 互 联 网 上, 客 户 都 可 以 在 该 系 统 上 发 布 想 出 售 的 商 品, 也 可 以 对 拍 卖 中 的 商 品 参 与 竞 价 整 个 过 程 无 须 人 工 干 预, 由 系 统 自 动 完 成 本

More information

基于Cortex-A8 Android&Linux系统与应用开发

基于Cortex-A8 Android&Linux系统与应用开发 安 全 提 示 非 常 感 谢 您 选 购 联 创 中 控 ( 北 京 ) 科 技 有 限 公 司 的 产 品, 在 首 先 打 开 包 装 箱 后 请 依 据 产 品 清 单 检 查 配 件, 若 发 现 产 品 主 配 件 有 损 坏 或 缺 失, 请 尽 快 与 您 的 经 销 商 或 技 术 支 持 联 络 产 品 使 用 前, 务 必 先 阅 读 本 手 册 实 验 平 台 须 使 用 配

More information

一 Java 开 发 环 境 的 搭 建 1.1 JDK(Java Development Kit) 的 下 载 与 安 装 JDK(Java Development Kit) 是 程 序 员 使 用 java 语 言 编 写 java 程 序 所 需 的 开 发 工 具 包 大 家 可 以 在 o

一 Java 开 发 环 境 的 搭 建 1.1 JDK(Java Development Kit) 的 下 载 与 安 装 JDK(Java Development Kit) 是 程 序 员 使 用 java 语 言 编 写 java 程 序 所 需 的 开 发 工 具 包 大 家 可 以 在 o 实 验 一 : 安 卓 开 发 环 境 搭 建 目 录 一 Java 开 发 环 境 的 搭 建... 2 1.1 JDK(Java Development Kit) 的 下 载 与 安 装... 2 1.2 配 置 环 境 变 量... 4 二 android studio 的 安 装... 9 2.1 Windows 下 android studio 的 下 载 与 安 装... 9 2.2 更

More information

目 录 汉 邦 高 科 介 绍 局 域 网 设 置 广 域 网 设 置 网 络 访 问 常 见 问 题 销 售 服 务 网 络 2

目 录 汉 邦 高 科 介 绍 局 域 网 设 置 广 域 网 设 置 网 络 访 问 常 见 问 题 销 售 服 务 网 络 2 易 家 电 子 整 理 发 布 汉 邦 高 科 技 术 系 列 文 档 嵌 入 式 产 品 网 络 设 置 方 法 编 号 : 2009001-V10 北 京 汉 邦 高 科 数 字 技 术 有 限 公 司 版 权 所 有 2009 年 12 月 1 目 录 汉 邦 高 科 介 绍 局 域 网 设 置 广 域 网 设 置 网 络 访 问 常 见 问 题 销 售 服 务 网 络 2 一 公 司 简 介

More information

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明... 25 1 科 技 部 自 由 軟 體 專 案 原 始 程 式 碼 使 用 手 冊 Source Code Manual of NSC Open Source Project 可 信 賴 的 App 安 全 應 用 框 架 -App 應 用 服 務 可 移 轉 性 驗 證 Trusted App Framework -Transferability Verification on App MOST 102-2218-E-011-012

More information

M24SR M24LR NFC Android

M24SR M24LR NFC Android 应 用 笔 记 为 M24SR 和 M24LR 设 备 设 计 NFC Android 应 用 程 序 前 言 本 应 用 笔 记 解 释 了 如 何 创 建 与 属 于 M24SR 和 MLR 系 列 的 STMicroelectronics NFC 产 品 相 关 的 Android 应 用 程 序 本 应 用 笔 记 是 实 现 用 户 专 用 Android 应 用 程 序 的 指 南 文

More information

2 第 章 绪 论 Internet 2.0 使 得 消 费 型 电 子 产 品 用 户 可 以 通 过 多 种 不 同 的 数 据 网 络 访 问 互 联 网 内 容 用 户 可 以 使 用 便 携 式 消 费 型 电 子 设 备, 如 智 能 手 机 触 屏 平 板 电 脑 电 子 书, 甚 至

2 第 章 绪 论 Internet 2.0 使 得 消 费 型 电 子 产 品 用 户 可 以 通 过 多 种 不 同 的 数 据 网 络 访 问 互 联 网 内 容 用 户 可 以 使 用 便 携 式 消 费 型 电 子 设 备, 如 智 能 手 机 触 屏 平 板 电 脑 电 子 书, 甚 至 . Android 是 什 么 第 章 绪 论 2 3 本 章 将 主 要 介 绍 Android 操 作 系 统, 这 些 背 景 知 识 可 以 帮 你 更 好 地 理 解 本 书 的 内 容 你 将 了 解 到, 这 一 平 台 在 如 今 以 便 携 式 消 费 型 电 子 设 备 为 基 础 的 Internet 2.0 环 境 下 是 如 何 大 显 身 手 的 这 里 所 说 的 Internet

More information

上海市教育委员会文件

上海市教育委员会文件 上 海 高 校 市 级 精 品 课 程 申 报 表 ( 2016 年 度 ) 学 校 名 称 上 海 师 范 大 学 课 程 名 称 Android 应 用 程 序 设 计 课 程 类 型 理 论 课 ( 不 含 实 践 ) 理 论 课 ( 含 实 践 ) 实 验 ( 践 ) 课 所 属 院 系 教 研 室 信 息 与 机 电 学 院 计 算 机 科 学 与 技 术 系 课 程 负 责 人 李 鲁

More information

ltu

ltu 資 訊 管 理 系 學 齡 前 自 主 學 習 之 行 動 裝 置 輔 助 系 統 指 導 教 授 : 李 靜 怡 教 授 組 員 名 單 : 蔡 承 育 988C012 黃 佳 誼 988C026 鄭 亦 琦 988C060 廖 曼 伶 988C108 中 華 民 國 1 0 2 年 5 月 嶺 東 科 技 大 學 資 訊 管 理 系 學 齡 前 自 主 學 習 之 行 動 裝 置 輔 助 系 統

More information

水晶分析师

水晶分析师 大数据时代的挑战 产品定位 体系架构 功能特点 大数据处理平台 行业大数据应用 IT 基础设施 数据源 Hadoop Yarn 终端 统一管理和监控中心(Deploy,Configure,monitor,Manage) Master Servers TRS CRYSTAL MPP Flat Files Applications&DBs ETL&DI Products 技术指标 1 TRS

More information

epub 61-2

epub 61-2 2 Web Dreamweaver UltraDev Dreamweaver 3 We b We b We Dreamweaver UltraDev We b Dreamweaver UltraDev We b We b 2.1 Web We b We b D r e a m w e a v e r J a v a S c r i p t We b We b 2.1.1 Web We b C C +

More information

????????

???????? 深度学习 项目简介 葛丽丽 译 西蒙菲沙大学 教育学院 富有想像力的教育研究中心 电邮 ierg-ed@sfu.ca 网址: http://www.ierg.net 基本思想 开学的第一个星期 每个学生都会接到一个任意布置的主题 从此将围绕这个主题 进行深度学习 这些主题可能包括 鸟 苹果 马戏团 火车 和 太阳系 等内容 在接下来的小学 初中以及高中阶段 除了基本课程以外 学 生将继续深入地学习指定的题目

More information

中图分类号:

中图分类号: 中 图 分 类 号 : 学 校 代 码 : 10055 UDC: 密 级 : 硕 士 专 业 学 位 论 文 GPS 导 航 交 友 平 台 系 统 的 设 计 与 实 现 Design and Implementation of GPS navigation dating platform system 论 文 作 者 王 卓 指 导 教 师 李 岳 ( 副 ) 教 授 申 请 学 位 工 程 硕

More information

01

01 ZEBRA 技术白皮书 条码编码 101 相关知识介绍 引言 20 70 数据 80 20 90 (JIT) AIAG EIA HIBCC HAZMAT 条码的优势提高数据准确性 99% 85% / / 提升效率 / 2 Zebra Technologies 保持一致性 ID 改进库存和资产管理 成本 / 效益分析 ID ID ID (ERP) RFID Zebra Technologies 3 ID

More information

中南大学第二届软件创新大赛

中南大学第二届软件创新大赛 3D 全 息 投 影 游 戏 平 台 参 赛 项 目 计 划 书 一 参 赛 作 品 构 思 的 创 意 与 价 值 1. 背 景 : 问 题 领 域 (1) 手 机 平 台 游 戏 发 展 火 爆 随 着 移 动 设 备 和 移 动 互 联 网 的 飞 速 发 展, 手 机 已 经 成 为 人 们 日 常 生 活 中 的 伙 伴 越 来 越 多 手 机 游 戏 APP 成 为 了 人 们 放 松

More information

上海现代设计集团建筑协同设计平台研究与应用

上海现代设计集团建筑协同设计平台研究与应用 邓雪原 苏 昶 孙 朋 王国俭 上海交通大学土木工程系 上海 上海现代建筑设计 集团 有限公司 上海 本文首先分析了建筑 协同设计发展过程中存在的问题 指出建筑 协同设计的发展需要经过二维协同设计向三维协同设计的过渡 接着对适合于大型建筑设计企业的建筑 协同设计平台的关键问题进行了阐述 通过上海现代建筑设计集团一个实际工程项目 详细描述了建筑工程协同设计的方法与过程 然后对建筑协同设计的标准统一 工种协同等特点和高效沟通及超大项目的应用优势进行了讨论

More information

http://www.tenda.com.cn Tenda 无线网卡说明书 第一章产品简介...1 1.1...1 1.2...1 1.3...1 1.4...2 1.5...2 1.6...2 1.7...4 第二章安装指南...5 第三章使用系统自带的无线配置程序...10 3.1...10 第四章客户端应用程序使用...18 4.1...19 4.1.1...20 4.1.2...21 4.1.3...23

More information

FPGAs in Next Generation Wireless Networks WPChinese

FPGAs in Next Generation Wireless Networks WPChinese FPGA 2010 3 Lattice Semiconductor 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com 1 FPGAs in Next Generation Wireless Networks GSM GSM-EDGE 384kbps CDMA2000

More information

汹涌澎湃汹涌澎湃汹涌澎湃汹涌澎湃

汹涌澎湃汹涌澎湃汹涌澎湃汹涌澎湃 第 2 章 Mono for Android 简 介 本 章 主 要 内 容 : Mono 和 Mono for Android 简 介 配 置 开 发 环 境 针 对 Visual Studio 的 Mono for Android 工 具 调 试 和 部 署 什 么 是 Mono for Android? 本 章 将 介 绍 Mono for Android 开 发 的 基 本 知 识 首 先

More information

Microsoft Word - manual_sc.doc

Microsoft Word - manual_sc.doc 协 议 The GPS Tracking / Mapping System on Mobile 软 件 套 件 测 试 版 ( 下 称 软 件 套 件 ) 是 由 作 者 及 香 港 城 市 大 学 电 子 工 程 学 系 ( 下 称 作 者 及 城 大 电 子 工 程 系 ) 载 于 香 港 城 市 大 学 电 子 工 程 学 系 网 站, 并 只 供 个 人 及 非 商 业 用 途 对 该 软

More information

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南 Symantec Sygate Enterprise Protection 防 护 代 理 安 装 使 用 指 南 5.1 版 版 权 信 息 Copyright 2005 Symantec Corporation. 2005 年 Symantec Corporation 版 权 所 有 All rights reserved. 保 留 所 有 权 利 Symantec Symantec 徽 标 Sygate

More information

1

1 内 容 提 要 作 为 Google 开 发 的 全 新 开 源 手 机 平 台,Android 发 展 如 火 如 荼 本 书 通 过 大 量 代 码 秘 诀 全 面 详 尽 地 讲 述 了 Android 开 发 技 术 从 activity 和 intent 基 础 知 识 开 始, 到 线 程 服 务 broadcast receiver 以 及 alert 警 告 框, 再 到 用 户 界

More information

BlackBerry Classic Smartphone-用户指南

BlackBerry Classic Smartphone-用户指南 BlackBerry Classic Smartphone 版 本 : 10.3.1 用 户 指 南 发 布 日 期 : 2015-03-02 SWD-20150302151727377 目 录 设 置 和 基 本 知 识... 6 当 前 版 本 的 新 特 色...6 BlackBerry 智 能 手 机 简 介... 14 设 备 一 览... 14 BlackBerry Classic 键...16

More information

Android 教學

Android 教學 Android 教 學 2012/3/27 Presented by : Wun-ling E-mail: wunling@iir.csie.ncku.edu.tw Advisor: Dr. Chiang 大 綱 Android 介 紹 Android 環 境 設 定 應 用 程 式 架 構 Manifest 定 義 檔 資 源 檔 設 計 UI 元 件 設 計 硬 體 元 件 Sample 2012/3/27

More information

目 录 声 明... 1 概 述... 5 条 码 标 签... 5 手 机 图 示... 5 手 机 图 标... 7 快 速 入 门... 6 安 装 电 池... 6 电 池 充 电... 7 基 本 操 作 及 设 置... 8 开 机 / 关 机... 8 屏 幕 解 锁... 8 WI-

目 录 声 明... 1 概 述... 5 条 码 标 签... 5 手 机 图 示... 5 手 机 图 标... 7 快 速 入 门... 6 安 装 电 池... 6 电 池 充 电... 7 基 本 操 作 及 设 置... 8 开 机 / 关 机... 8 屏 幕 解 锁... 8 WI- 声 明 本 手 册 中 提 及 的 已 注 册 和 未 注 册 的 商 品 或 商 标 属 于 本 公 司 和 其 各 自 所 有 者 所 有 本 手 册 的 内 容 按 现 状 提 供 除 非 适 用 的 法 律 另 有 规 定, 否 则 本 公 司 不 对 本 手 册 内 容 的 准 确 性 可 靠 性 做 出 任 何 类 型 的 明 确 或 默 许 的 保 证, 其 中 包 括 但 不 限 于

More information

申 请 者 的 承 诺 : 我 承 诺 对 本 人 填 写 的 各 项 内 容 的 真 实 性 负 责, 保 证 没 有 知 识 产 权 争 议 如 获 准 立 项, 本 表 为 有 约 束 力 的 协 议, 遵 守 广 东 省 教 育 科 学 规 划 领 导 小 组 办 公 室 的 有 关 规 定

申 请 者 的 承 诺 : 我 承 诺 对 本 人 填 写 的 各 项 内 容 的 真 实 性 负 责, 保 证 没 有 知 识 产 权 争 议 如 获 准 立 项, 本 表 为 有 约 束 力 的 协 议, 遵 守 广 东 省 教 育 科 学 规 划 领 导 小 组 办 公 室 的 有 关 规 定 年 度 2013 编 号 广 东 省 教 育 科 学 规 划 教 育 信 息 技 术 研 究 专 项 课 题 申 请 评 审 书 项 目 类 别 : 课 题 名 称 : 申 请 人 : 所 在 单 位 : B. 教 学 创 新 专 题 移 动 教 育 平 台 在 校 园 网 中 的 应 用 邹 宇 平 广 东 外 语 外 贸 大 学 南 国 商 学 院 联 合 申 报 单 位 : 教 育 技 术 中

More information

Conductix-Wampfler Inductive Power Transfer IPT 2

Conductix-Wampfler Inductive Power Transfer IPT 2 IPT 产品简介 非接触式动力和数据传输系统 Conductix-Wampfler Inductive Power Transfer IPT 2 Conductix-Wampfler Inductive Power Transfer IPT 3 9 1 2 3 4 5 6 7 8 4 2 3 4 1 8 5 7 9 6 ² ² ² - 无限的应用可能性... 用于变速箱总装线上的 AGV 小车

More information

XXXXXXXX http://cdls.nstl.gov.cn 2 26

XXXXXXXX http://cdls.nstl.gov.cn 2 26 [ ] [ ] 2003-7-18 1 26 XXXXXXXX http://cdls.nstl.gov.cn 2 26 (2003-7-18) 1...5 1.1...5 1.2...5 1.3...5 2...6 2.1...6 2.2...6 2.3...6 3...7 3.1...7 3.1.1...7 3.1.2...7 3.1.2.1...7 3.1.2.1.1...8 3.1.2.1.2...10

More information

GoFlex Home UG Book.book

GoFlex Home UG Book.book FreeAgent GoFlex Home 用 户 指 南 FreeAgent GoFlex Home 用 户 指 南 2011 Seagate Technology LLC. 保 留 所 有 权 利 Seagate Seagate Technology Wave 徽 标 及 FreeAgent 是 Seagate Technology LLC 或 其 某 个 子 公 司 的 商 标 或 注 册 商

More information

Microsoft Word - A201103-528_1299547322.doc

Microsoft Word - A201103-528_1299547322.doc 5 10 15 20 25 30 基 于 Android 平 台 的 人 机 交 互 的 研 究 与 实 现 郁 亚 男 ( 北 京 邮 电 大 学 软 件 学 院, 北 京 100876) 摘 要 : 随 着 计 算 的 发 展, 计 算 变 得 越 来 越 自 由, 在 资 源 使 用 方 面 也 越 来 越 灵 活 移 动 终 端 由 于 无 线 通 信 网 络 传 输 速 率 的 提 高,

More information

% %

% % 兼论 上海城市人文历史地图的制作和运用 苏智良! 吴俊范 #! 由于地理学与历史学之间存在着学科分野的界限 致使已往的 景观概念缺乏全面性 其结果是 不仅地理学的景观研究缺少历史的底蕴与含量 而且历史学领域内系统的景观史研究也一直处于缺失状态 本文分别从宏观的理论角度和以 上海城市人文历史地图为中心例证 探讨在新的景观概念基础上和现代科学技术条件下 研究区域景观史的必要性 可行性以及具体的研究路径与操作方法

More information

注 释 说 明 本 说 明 书 中 使 用 以 下 样 式 : 图 标 : 提 醒 您 如 何 应 对 可 能 出 现 的 情 况 或 提 供 关 于 如 何 使 用 其 它 功 能 操 作 的 小 贴 士 商 标 brother 标 识 是 兄 弟 工 业 株 式 会 社 的 注 册 商 标 br

注 释 说 明 本 说 明 书 中 使 用 以 下 样 式 : 图 标 : 提 醒 您 如 何 应 对 可 能 出 现 的 情 况 或 提 供 关 于 如 何 使 用 其 它 功 能 操 作 的 小 贴 士 商 标 brother 标 识 是 兄 弟 工 业 株 式 会 社 的 注 册 商 标 br 基 于 移 动 设 备 的 打 印 及 扫 描 说 明 书 ( 适 用 于 Brother iprint&scan) 版 本 E SCHN 注 释 说 明 本 说 明 书 中 使 用 以 下 样 式 : 图 标 : 提 醒 您 如 何 应 对 可 能 出 现 的 情 况 或 提 供 关 于 如 何 使 用 其 它 功 能 操 作 的 小 贴 士 商 标 brother 标 识 是 兄 弟 工 业 株

More information

Microsoft PowerPoint - 12 特色开发.ppt [兼容模式]

Microsoft PowerPoint - 12 特色开发.ppt [兼容模式] 手 机 应 用 平 台 软 件 开 发 12 特 色 开 发 刘 宁 Email:liuning2@mail.sysu.edu.cn Android 的 传 感 器 系 统 传 感 器 系 统 综 述 传 感 器 系 统 层 次 结 构 传 感 器 系 统 的 硬 件 抽 象 层 传 感 器 系 统 的 使 用 传 感 器 系 统 综 述 传 感 器 (Sensor) 系 统 可 以 让 智 能 手

More information

使 用 无 线 局 域 网 功 能 可 进 行 的 操 作 通 过 使 用 本 相 机 的 无 线 局 域 网 功 能, 您 可 以 无 线 地 进 行 从 发 送 图 像 至 网 络 服 务 和 其 他 相 机 到 遥 控 控 制 相 机 的 一 系 列 操 作, 只 需 将 本 相 机 连 接

使 用 无 线 局 域 网 功 能 可 进 行 的 操 作 通 过 使 用 本 相 机 的 无 线 局 域 网 功 能, 您 可 以 无 线 地 进 行 从 发 送 图 像 至 网 络 服 务 和 其 他 相 机 到 遥 控 控 制 相 机 的 一 系 列 操 作, 只 需 将 本 相 机 连 接 EOS 6D (W) C 使 用 无 线 局 域 网 功 能 可 进 行 的 操 作 通 过 使 用 本 相 机 的 无 线 局 域 网 功 能, 您 可 以 无 线 地 进 行 从 发 送 图 像 至 网 络 服 务 和 其 他 相 机 到 遥 控 控 制 相 机 的 一 系 列 操 作, 只 需 将 本 相 机 连 接 到 Wi-Fi 网 络 或 支 持 本 相 机 的 无 线 局 域 网 功

More information

目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放 性... 8 3.5 高 性 能 和

目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放 性... 8 3.5 高 性 能 和 致 远 协 同 管 理 软 件 V5 平 台 白 皮 书 北 京 致 远 协 创 软 件 有 限 公 司 2014 年 6 月 1 / 20 目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放

More information

建立Android新專案

建立Android新專案 Android 智 慧 型 手 機 程 式 設 計 Android WebService 建 國 科 技 大 學 資 管 系 饒 瑞 佶 2012/4 V1 2012/8 V2 2013/5 V3 2014/10 v4 提 醒 這 節 的 內 容 針 對 的 是 MS 的 Web Service 或 是 使 用 SOAP(Simple Object Access Protocol) 標 準 建 立

More information

引 例 3 现 实 生 活 中 的 电 子 商 务 案 例 1 王 小 姐 是 一 家 网 络 公 司 职 员, 现 在 已 经 是 有 八 个 月 身 孕 的 准 妈 妈 由 于 出 行 不 是 很 方 便, 但 是 又 要 购 置 一 些 孕 妇 与 婴 儿 出 生 后 的 物 品 于 是 来

引 例 3 现 实 生 活 中 的 电 子 商 务 案 例 1 王 小 姐 是 一 家 网 络 公 司 职 员, 现 在 已 经 是 有 八 个 月 身 孕 的 准 妈 妈 由 于 出 行 不 是 很 方 便, 但 是 又 要 购 置 一 些 孕 妇 与 婴 儿 出 生 后 的 物 品 于 是 来 第 3 章 WWW 浏 览 器 与 信 息 搜 索 知 识 要 点 WWW 的 相 关 概 念 Web 技 术 结 构 全 球 资 源 定 位 器 的 概 念 主 页 基 本 概 念 能 力 要 点 掌 握 WWW 浏 览 器 的 操 作 学 会 在 网 上 搜 索 信 息 引 例 3 现 实 生 活 中 的 电 子 商 务 案 例 1 王 小 姐 是 一 家 网 络 公 司 职 员, 现 在 已

More information

Basic System Administration

Basic System Administration 基 本 系 统 管 理 ESX Server 3.5 ESX Server 3i 版 本 3.5 Virtual Center 2.5 基 本 管 理 指 南 基 本 管 理 指 南 修 订 时 间 :20080410 项 目 :VI-CHS-Q208-490 我 们 的 网 站 提 供 最 新 的 技 术 文 档, 网 址 为 : http://www.vmware.com/cn/support/

More information

简 介

简 介 www.advantech.com.cn 简 介 简 介 完 全 基 于 浏 览 器 的 人 机 界 面 / 远 端 监 控 及 数 据 采 集 (HMI/SCADA) 软 件 研 华 WebAccess 是 一 款 完 全 基 于 网 络 人 机 界 面 / 远 端 监 控 及 数 据 采 集 (HMI/SCADA) 软 件, 具 备 绝 佳 的 连 网 能 力 透 过 WebAccess 网

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http 資 訊 學 科 中 心 6 月 份 電 子 報 用 MIT App Inventor2 程 式 拼 圖 來 開 發 Android 裝 置 應 用 程 式 李 啟 龍 學 習 Android 裝 置 程 式 設 計, 可 以 不 必 學 習 較 為 艱 澀 的 Java 語 法, 只 要 使 用 拼 圖 模 式 來 組 合 程 式, 就 可 以 完 成 Android 裝 置 的 應 用 程 式 MIT

More information

版权声明

版权声明 大 话 企 业 级 Android 开 发 第 九 部 分 本 教 程 说 明 及 版 权 声 明 大 话 企 业 级 Android 开 发 是 国 士 工 作 室 为 了 方 便 中 国 Android 开 发 者, 推 动 Android 企 业 级 应 用 开 发, 特 投 入 大 量 心 血 撰 写 的 书 籍, 并 在 网 络 上 免 费 发 布, 希 望 为 移 动 互 联 网 和 智

More information

关于罗斯福时代新政 宪法革命 的几点浅见 韩 铁 美国宪法的若干重要法理原则及其运用在富兰克林 罗斯福总统任内 发生了巨大变化 史称新政 宪法革命 不过 这种变化并不是在所谓 年最高法院的 及时转向 中一锤定音的 最高法院在正当程序 商业权 公众福利条款上的态度及其变化充分说明 新政宪法革命无论是从当时还是其后的发展来看都有它的连续性 局限性和复杂性 只有认识到了这一点 我们对新政宪法革命乃至于整个新政的历史评价才会比较准确

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

ebook140-8

ebook140-8 8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4

More information

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX BPMX3 技 术 白 皮 书 业 务 流 程 开 发 平 台 介 绍 目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX3... 5 2.2.1 BPMX3

More information

Microsoft Word - fy.DOC

Microsoft Word - fy.DOC Teach Yourself 全 球 销 量 逾 百 万 册 的 系 列 图 书 连 续 十 余 年 打 造 的 经 典 品 牌 直 观 循 序 渐 进 的 学 习 教 程 掌 握 关 键 知 识 的 最 佳 起 点 Read Less, Do More ( 精 读 多 练 ) 的 教 学 理 念 以 示 例 引 导 读 者 完 成 最 常 见 的 任 务 每 章 内 容 针 对 初 学 者 精 心

More information

第6讲

第6讲 UI 及 图 形 应 用 开 发 技 术 哈 尔 滨 工 业 大 学 软 件 学 院 唐 好 选 Email:tanghx@hit.edu.cn 主 要 内 容 Android UI 布 局 图 形 控 件 常 用 的 XML 属 性 图 形 界 面 中 常 用 的 控 件 元 素 菜 单 对 话 框 Android 的 UI 布 局 为 了 适 应 各 式 各 样 的 界 面 风 格,Android

More information

第六章 按摩与保健 205 图 6唱 17 常用穴位示意图 三 选穴原则 穴位按摩是针对穴位进行点 按 揉 推等多种手法的刺激 引起局部出现 酸 麻 胀 痛或温热感觉 一般每天按摩 1 2 次 每次可选用 3 6 个 对 穴 位交替进行按摩 同时 穴位的选择应根据人体的体质和病情 从全身的穴位中 选出一些对某种病症有效的穴位 也称配穴 才能达到应有的治疗效果 一 一般规律 虽然全身的穴位很多 每个穴位的主治功能又有不同

More information

<C4DACEC4B5DACEE5C6DA2E696E6464>

<C4DACEC4B5DACEE5C6DA2E696E6464> UPnP 媒 体 播 放 器 的 研 究 与 实 现 张 齐 胡 佳 华 南 理 工 大 学 计 算 机 科 学 与 工 程 学 院 广 州 510006 摘 要 UPnP 是 数 字 家 庭 网 络 中 的 一 个 主 流 协 议, 它 实 现 了 零 配 置, 不 用 再 进 行 繁 琐 的 网 络 配 置, 并 为 数 字 设 备 的 接 入 发 现 服 务 描 述 等 制 订 了 一 系 列

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

致 学 员

致  学  员 致 学 员 感 谢 您 使 用 育 龙! 该 教 材 是 为 了 配 合 学 校 用 户 进 行 软 件 培 训 及 使 用 而 编 制 的, 本 教 材 涵 盖 了 学 校 管 理 员 应 用 平 台 教 师 应 用 平 台 学 校 教 务 管 理 平 台 等 内 容, 并 增 加 了 实 例 讲 解 及 课 后 练 习 等 章 节, 请 根 据 实 际 需 求 选 择 学 习 同 时 为 了 达

More information

中国与欧洲关系 年

中国与欧洲关系 年 中国与欧洲关系 年 周 弘 本文全面回顾了中国与欧洲共同体 欧洲联盟及其成员国 年至 年间政治和经济关系的发展历程 分析了当前中欧关系取得的进展和存在的问题 作者认为 年来中国与欧洲关系的发展变化见证并体现了世界格局的演变以及中国和欧洲这两大很不相同的世界力量自身的发展变化 中欧之间不断深入和拓展的交往使双方都从中获益 而这种交往所创造出来的体制机制和方式方法也堪为人先 中欧关系能否在第二个 年中顺利发展

More information

1

1 CamView 用户手册 为方便连接网络摄像机系列 在任何地方皆可观看视频 目 录 1. 介 绍... 4 2. 系 统 需 求... 4 3. 安 装 CAMVIEW 程 序... 5 4. 启 动 和 CAMVIEW 的 设 置... 6 4.1 启 动 CAMVIEW... 6 4.2 CAMVIEW 界 面 简 介... 6 4.3 显 示 模 式... 7 5. 管 理 CAMVIEW 网

More information

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787

(CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 Web (CIP) Web /,. :,2005. 1 ISBN 7 81058 782 X.W............T P393.4 CIP (2004) 118797 Web ( 99 200436) ( http:/ / www.shangdapress.com 66135110) : * 787 1092 1/ 16 30.75 748 2005 1 1 2005 1 1 : 1 3 100

More information

# # # # # # # # #

# # # # # # # # # 实现政治问责的三条道路 马 骏 建立一个对人民负责的政府是现代国家治理的核心问题 实现这一目标 需要解决两个最基本的问题 谁来使用权力 如何使用权力 选举制度是解决前一问题相对较好的制度 而预算制度是解决第二个问题最好的制度 通过历史比较分析 可以总结出三条实现政治问责的道路 世纪的欧洲道路 从建国到进步时代改革的美国道路以及雏形初现的中国道路 这意味着 西方经验并不是唯一的实现政治问责的道路 相对于西方经验来说

More information

PureSCM enhances competitive advantage with an integrated approach to IT service level management

PureSCM enhances competitive advantage with an integrated approach to IT service level management ఱઓ߅ ښ PureSCM 使用集成的 IT 服 务级别管理方法增强竞争 优势 行业 IT 服务 公司 PureSCM 员工 40 收入 400 万美元 ఱઓ ቲጓǖIT 服务 ǖpurescm Ꮛ ǖ40 ၃ ǖ400 万美元 ጓᇗ PureSCM 是一家服务级别 管理专业公司和软件开发 公司 办事处设在加拿 大 美国和哥伦比亚 ᄞᐵ 为了帮助客户解决他们的 业务挑战 PureSCM 需要 提供集成的

More information

责 任 本 文 档 在 制 作 时 已 力 求 审 慎 如 发 现 任 何 不 准 确 或 遗 漏 的 内 容, 请 及 时 告 知 您 当 地 的 安 讯 士 办 事 处 安 讯 士 网 络 通 信 有 限 公 司 不 承 诺 对 任 何 技 术 或 印 刷 错 误 承 担 责 任, 并 保 留

责 任 本 文 档 在 制 作 时 已 力 求 审 慎 如 发 现 任 何 不 准 确 或 遗 漏 的 内 容, 请 及 时 告 知 您 当 地 的 安 讯 士 办 事 处 安 讯 士 网 络 通 信 有 限 公 司 不 承 诺 对 任 何 技 术 或 印 刷 错 误 承 担 责 任, 并 保 留 安 装 指 南 配 置 IP 地 址 及 访 问 视 频 流 责 任 本 文 档 在 制 作 时 已 力 求 审 慎 如 发 现 任 何 不 准 确 或 遗 漏 的 内 容, 请 及 时 告 知 您 当 地 的 安 讯 士 办 事 处 安 讯 士 网 络 通 信 有 限 公 司 不 承 诺 对 任 何 技 术 或 印 刷 错 误 承 担 责 任, 并 保 留 对 产 品 及 手 册 进 行 变 更

More information

目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1

目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目 需 求 和 技 术 方 案 要 求 1 政 府 采 购 招 标 文 件 ( 服 务 类 ) 第 二 册 项 目 编 号 :SDGP2016-224 项 目 名 称 : 公 共 法 律 服 务 系 统 开 发 项 目 包 号 :A1 山 东 省 省 级 机 关 政 府 采 购 中 心 目 录 第 五 部 分 第 六 部 分 第 七 部 分 第 八 部 分 投 标 邀 请 投 标 人 须 知 附 表 评 标 方 法 和 评 分 细 则 项 目

More information

<4D F736F F D203435A1B6CDA8D0C5C8EDBCFEBFAAB7A2D3A6D3C3A1B7BFCEB3CCBDCCD1A7B4F3B8D9>

<4D F736F F D203435A1B6CDA8D0C5C8EDBCFEBFAAB7A2D3A6D3C3A1B7BFCEB3CCBDCCD1A7B4F3B8D9> 一 课 程 基 本 情 况 通 信 软 件 开 发 应 用 课 程 教 学 大 纲 课 程 编 号 课 程 类 别 必 修 限 选 任 选 学 时 / 学 分 64/4 课 程 名 称 ( 中 文 ) 通 信 软 件 开 发 应 用 ( 英 文 ) Communications Software Development and Application 教 学 方 式 课 堂 讲 授 为 主 实 验

More information

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1

APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 APP 指 導 老 師 : 陳 志 樺 教 授 組 員 : 陳 俊 瑋 陳 崇 緣 江 健 民 張 宏 銘 駱 佳 琪 中 華 民 國 一 四 年 五 月 1 APP 103 學 年 度 嶺 東 科 技 大 學 資 訊 網 路 系 專 題 研 究 報 告 嶺 東 中 華 民 國 一 四 年 五 月 1 誌 謝 本 專 題 報

More information

南 开 大 学 学 位 论 文 使 用 授 权 书 根 据 南 开 大 学 关 于 研 究 生 学 位 论 文 收 藏 和 利 用 管 理 办 法, 我 校 的 博 士 硕 士 学 位 获 得 者 均 须 向 南 开 大 学 提 交 本 人 的 学 位 论 文 纸 质 本 及 相 应 电 子 版 本

南 开 大 学 学 位 论 文 使 用 授 权 书 根 据 南 开 大 学 关 于 研 究 生 学 位 论 文 收 藏 和 利 用 管 理 办 法, 我 校 的 博 士 硕 士 学 位 获 得 者 均 须 向 南 开 大 学 提 交 本 人 的 学 位 论 文 纸 质 本 及 相 应 电 子 版 本 中 图 分 类 号 : 学 校 代 码 : 10055 UDC: 密 级 : 公 开 硕 士 学 位 论 文 Android 手 机 本 地 信 息 搜 索 系 统 的 设 计 与 实 现 Design and Implementation of Local Information Search System on Android 论 文 作 者 申 请 学 位 工 程 硕 士 指 导 教 师 培

More information

第6讲

第6讲 移 动 终 端 开 发 平 台 介 绍 (Android) 哈 尔 滨 工 业 大 学 软 件 学 院 唐 好 选 Email:tanghx@hit.edu.cn 主 要 内 容 Android 的 技 术 架 构 Android 开 发 环 境 的 建 立 Android 的 基 本 组 件 Android 程 序 的 基 本 结 构 什 么 是 Android Android 本 义 指 机 器

More information

é ê

é ê 廖光洪 朱小华 杨成浩 徐晓华 基于南海 年夏季调查航次诊断计算的流函数场 选取越南以东偶极子发生海域 进行 不同的声层析观测站位设置实验 模拟计算声线传播时间信息 然后应用基函数重建方法进行了 流函数场的模拟反演研究 讨论了不同随机观测误差对反演结果的影响 研究结果表明该方法是 可行的 在所选取的约 海域内 在观测海域外围配置 个声层析观测站位就能够很好地重构原流函数场 空间分辨率约为 可以分辨模拟海域中尺度涡场结构

More information

Azure_s

Azure_s Azure ? Azure Azure Windows Server Database Server Azure Azure Azure Azure Azure Azure Azure Azure OpenSource Azure IaaS Azure VM Windows Server Linux PaaS Azure ASP.NET PHP Node.js Python MS SQL MySQL

More information

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 负 责 人 会 计 机 构 负 责 人 保 证 公 开 转 让 说 明 书 中 财 务 会 计 资

More information

水权定义 法律规定的用户获得水权的方式 法律规定的几种水相关许可 水利经济 电话 传真

水权定义 法律规定的用户获得水权的方式 法律规定的几种水相关许可 水利经济 电话 传真 美国犹他州水权管理制度及其对我国的启示 贾绍凤 曹 月 犹他州位于美国西部干旱区 水资源紧缺 是美国优先水权制度的发源地 具有完备而具体的水权管理制度 通过文献研究和利用电子邮件询问犹他州水权处官员的方法 分析 介绍美国犹他 州的水权管理制度 尤其是水权申请 登记 交易 水权管理机构设置 实施 信息查询等具体的制 度 以期为我国水权制度建设提供借鉴 水权制度 交易管理 犹他州 水利经济 电话 传真

More information

USER MANUAL_2.0_CN_V2_溫度修改版本.indd

USER MANUAL_2.0_CN_V2_溫度修改版本.indd P 1 2015 P 2 內 P 3 P 4 User Manual da Vinci 2.0 Duo 第二章 设置和安装 本章将说明如何正确地开箱及使用打印机 在进入本章前请务必阅读第一章 产品安全使用 开箱和确认附件 注意: P5 3D Z USB P 6 P 7 P 8 第 五 章 功 能 操 作 按 键 上 键 下 键 左 键 右 键 OK 键 Home 键 功 能 向 上 选 择 向 下

More information

目录

目录 目 录 1 系 统 概 述... 1 1.1 主 要 功 能... 1 1.2 工 作 环 境 要 求... 2 1.2.1 硬 件 环 境... 2 1.2.2 操 作 系 统... 2 1.2.3 数 据 库... 2 1.2.4 浏 览 器... 2 2 安 装 卸 载... 3 2.1 安 装 步 骤... 3 2.2 使 用 加 密 狗... 5 2.3 卸 载 步 骤... 6 3 新

More information

优迈科技教学大纲2009版本

优迈科技教学大纲2009版本 java 软 件 工 程 师 培 训 教 学 大 纲 1 JAVA 软 件 工 程 师 培 训 教 学 大 纲 深 圳 软 件 园 人 才 实 训 基 地 2009 年 3 月 目 录 java 软 件 工 程 师 培 训 教 学 大 纲 2 教 学 阶 段...3 第 一 章 JAVA 起 步...3 第 二 章 面 向 对 象 的 编 程...4 第 三 章 数 据 结 构 IO 线 程 网 络...5

More information

片 要求小王等同学对这些文物用两种不同的标准进行分类 说出分类标准和结果 其所考查的目标实则是呼应了一般学习能力中的 整理信息 的要求 即从图片材料 中提取历史信息 对所获材料进行归类 开卷的第三题以 古代少数民族问题 为材料主题 体现交往与融合在文明发展 历程中的地位与作用 以探究性学习为主线 集中考查学生在开展探究性活动中对文 献 实物 口传等不同种类史料 材料 的运用水平 包括对有关史实的再现

More information

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9 東 吳 大 學 企 研 所 資 訊 管 理 期 末 報 告 weberp 使 用 說 明 書 指 導 教 授 : 尚 榮 安 教 授 第 一 組 童 偉 哲 01353025 劉 彥 澧 01353028 史 璦 禎 01353031 吳 采 紋 98153143 1 目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功

More information

《面向对象程序设计A》课程教学大纲Ⅱ4

《面向对象程序设计A》课程教学大纲Ⅱ4 Java 程 序 设 计 课 程 教 学 大 纲 Ⅱ5 课 程 代 码 : 课 程 名 称 :Java 程 序 设 计 Java Programming 学 分 :5 总 学 时 :80 ( 其 中 : 理 论 学 时 :48 实 验 ( 上 机 ) 学 时 :32) 先 修 课 程 : 2106010190 大 学 计 算 机 信 息 技 术 基 础 适 用 对 象 : 本 二 工 科 非 计 算

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

<55342D323637CBB5C3F7CAE92E786C73>

<55342D323637CBB5C3F7CAE92E786C73> U4-267 / 1 U4-267 / : CF PowerPoint, TCP/IP Internet Explorer 2 ..2..3..4..5..5..5..9 PC...10 11 12 14 14....15....15....16....16....17....17....18....18....20 23....27 27 PC...27....28 3 CF SanDisk CompactFlash)

More information

,,,,,,, ;,, ;, ;, (, / ),, ;,,.,,,,,,,,,,,,,,,,, ;,,,,,,, 1, :,,, ;,,,, (, ),,,,, 1,,, (,, )

,,,,,,, ;,, ;, ;, (, / ),, ;,,.,,,,,,,,,,,,,,,,, ;,,,,,,, 1, :,,, ;,,,, (, ),,,,, 1,,, (,, ) 刘世定 内容提要 : 本文在嵌入性视角的引导下, 进入关系合同理论领域 对关系合同的 分析, 以威廉姆森的合同治理结构理论作为基点 在分析了他的理论脉络和隐含假 设后, 本文提出了三个假定, 即约前关系导入 多元关系属性 对关系属性的有限控 制 在新的假设下, 首先讨论了合同治理结构和嵌入关系结构之间不同的对应关系, 并特别探讨了两者间的结构性摩擦 继而, 在关系合同的研究中引入了委托 - 代理关系,

More information

SD QRG 200303

SD QRG 200303 快 速 使 用 指 南 www.mendeley.com 2015 年 6 月 Mendeley 是 一 款 用 于 学 术 论 文 管 理 和 在 线 共 享 信 息 的 免 费 文 献 管 理 工 具 可 以 将 支 持 Windows Mac Android Linux 的 桌 面 版 与 任 何 地 方 都 能 够 在 线 使 用 的 网 页 版 组 合 使 用 该 软 件 也 支 持 ios(ipad/iphone)

More information

投影片 1

投影片 1 2014 大 學 18 學 群 講 座 管 理 / 財 經 / 建 築 / 資 訊 學 群 介 紹 主 講 人 : 張 奇 博 士 張 奇 老 師 簡 介 學 術 經 歷 高 中 輔 導 經 歷 «英 國 倫 敦 大 學 國 王 學 院 博 士 後 研 究 員 «高 雄 女 中 竹 北 高 中 彰 化 高 中 中 和 高 中 衛 道 中 學 彰 «國 立 大 學 企 業 管 理 學 博 士 化 藝

More information

目次 

目次  軟 體 工 程 期 末 報 告 網 路 麻 將 91703014 資 科 三 黃 偉 嘉 91703024 資 科 三 丘 祐 瑋 91703030 資 科 三 江 致 廣 1 目 次 壹 前 言 (Preface) P.4 貳 計 畫 簡 述 及 預 期 效 益 (Project Description and Expected Results) P.4 參 系 統 開 發 需 求 (System

More information

第 11 章 互聯網技術 11.1 互聯 網 和 萬 維 網 的 發 展 歷 史 A. 互聯網的發展 互聯網是由 ARPANET 開 始發展的 1969 年 美國國防部高級研究計劃署 (ARPA) 把部分軍事研究所和大 的電腦連接起來 建造了㆒個實驗性的電腦網絡 稱為 ARPANET 並 列 的功能

第 11 章 互聯網技術 11.1 互聯 網 和 萬 維 網 的 發 展 歷 史 A. 互聯網的發展 互聯網是由 ARPANET 開 始發展的 1969 年 美國國防部高級研究計劃署 (ARPA) 把部分軍事研究所和大 的電腦連接起來 建造了㆒個實驗性的電腦網絡 稱為 ARPANET 並 列 的功能 互 聯 網 技 術 在 完 成 這 章 後, 你 將 能 夠 描 述 互 聯 網 的 發 展 歷 史 描 述 萬 維 網 的 發 展 歷 史 了 解 連 接 互 聯 網 的 基 本 概 念 能 夠 連 接 到 互 聯 網 知 道 互 聯 網 如 何 運 作 互 聯 網 是 全 球 網 絡 的 集 合 互 聯 網 (Internet) 是 ㆒ 個 集 合 全 球 許 多 網 絡 ㆒ 起 的 大 型 網

More information

温州市政府分散采购

温州市政府分散采购 温 州 市 政 府 分 散 采 购 招 标 文 件 招 标 编 号 :F - G B 2 0 1 6 0 3 1 4 0 0 4 7 招 标 项 目 : 温 州 市 人 民 政 府 办 公 室 政 务 云 平 台 ( 重 ) 招 标 方 式 : 公 开 招 标 招 标 人 : 温 州 市 人 民 政 府 办 公 室 招 标 代 理 : 二 〇 一 六 年 三 月 目 录 投 标 保 证 金 办 理

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

Microsoft PowerPoint - 03 开发入门.ppt [兼容模式]

Microsoft PowerPoint - 03 开发入门.ppt [兼容模式] 手 机 应 用 平 台 软 件 开 发 3 开 发 入 门 刘 宁 Email:liuning2@mail.sysu.edu.cn 课 程 简 介 课 程 目 标 Android 开 发 准 备 工 作 开 发 包 及 工 具 安 装 创 建 HelloWorld Android 程 序 设 计 基 础 创 意 移 动 应 用 创 意 移 动 应 用 创 意 移 动 应 用 创 意 移 动 应 用

More information

PRIV-5.1-User Guide

PRIV-5.1-User Guide PRIV 版 本 : 5.1 用 户 指 南 发 布 日 期 : 2015-12-07 SWD-20151207085654359 目 录 设 置 和 基 本 知 识... 6 设 备 一 览... 6 插 入 SIM 卡... 7 插 入 媒 体 卡...8 在 主 屏 幕 之 间 移 动...10 使 用 导 航 按 钮 进 行 移 动...10 触 摸 屏 手 势...10 动 作 手 势...

More information

CH01.indd

CH01.indd 3D ios Android Windows 10 App Apple icloud Google Wi-Fi 4G 1 ( 3D ) 2 3 4 5 CPU / / 2 6 App UNIX OS X Windows Linux (ios Android Windows 8/8.1/10 BlackBerry OS) 7 ( ZigBee UWB) (IEEE 802.11/a/b/g/n/ad/ac

More information

提问袁小兵:

提问袁小兵: C++ 面 试 试 题 汇 总 柯 贤 富 管 理 软 件 需 求 分 析 篇 1. STL 类 模 板 标 准 库 中 容 器 和 算 法 这 部 分 一 般 称 为 标 准 模 板 库 2. 为 什 么 定 义 虚 的 析 构 函 数? 避 免 内 存 问 题, 当 你 可 能 通 过 基 类 指 针 删 除 派 生 类 对 象 时 必 须 保 证 基 类 析 构 函 数 为 虚 函 数 3.

More information

HP 3PAR System Reporter 2.9 软件

HP 3PAR System Reporter 2.9 软件 HP 3PAR System Reporter 2.9 软 件 发 行 说 明 摘 要 本 文 档 提 供 HP 3PAR System Reporter 2.9 软 件 的 发 行 说 明 用 户 可 以 随 时 查 看 本 文 档 中 提 供 的 一 系 列 已 知 问 题 在 安 装 System Reporter 之 前, 请 阅 读 整 个 文 档 HP 部 件 号 :QL226-96184

More information

<4D6963726F736F667420576F7264202D20C8EDBCFEA1B232303130A1B33136BAC5A3BAB9D8D3DAB7A2B2BC32303130C4EAC8EDBCFEB9A4B3CCCAB5D1B5D6AED0A3C4DABFC6D1D0CFEEC4BFB5C4CDA8D6AA2E646F63>

<4D6963726F736F667420576F7264202D20C8EDBCFEA1B232303130A1B33136BAC5A3BAB9D8D3DAB7A2B2BC32303130C4EAC8EDBCFEB9A4B3CCCAB5D1B5D6AED0A3C4DABFC6D1D0CFEEC4BFB5C4CDA8D6AA2E646F63> 附 件 4 软 件 学 院 第 六 届 软 件 创 新 设 计 大 赛 专 题 项 目 项 目 1 指 导 老 师 : 林 倞 潘 炎 曾 坤 项 目 ( 课 题 ) 名 称 : 基 于 GraphCut 算 法 的 快 速 图 像 分 割 技 术 图 像 分 割 是 图 像 处 理 的 基 本 技 术 之 一, 也 是 图 像 分 析 的 最 基 本 的 步 骤, 作 为 计 算 机 视 觉 的

More information

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se 1 SQL Server 2005 DBA Microsoft SQL Server SQL ServerSQL Server SQL Server SQL Server SQL Server SQL Server 2005 SQL Server 2005 SQL Server 2005 o o o SQL Server 2005 1 SQL Server 2005... 3 2 SQL Server

More information