版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章移动互联终端(Android)项目开发目录4.第一个Android应用程序2.Android开发框架1.什么是Android3.Android应用环境5.章节练习6.串口通讯实验7.体温、脉率数据采集模块开发8.网络摄像头控制模块开发什么是AndroidAndroid是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(OpenHandsetAlliance)开发。它采用了软件堆层的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机VirtualMachine,由C++开发;最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。Android版本目录4.第一个Android应用程序2.Android开发框架1.什么是Android3.Android应用环境5.章节练习6.串口通讯实验7.体温、脉率数据采集模块开发8.网络摄像头控制模块开发Android开发框架从宏观的角度来看,Android是一个开放的软件系统,它包含了众多的源代码。从下至上,Android系统分成4个层次:第1层次:Linux操作系统及驱动;第2层次:本地代码(C/C++)框架;第3层次:应用程序框架;第4层次:应用程序。Android的第1层次由C语言实现,第2层次由C和/C++实现,第3、4层次主要由Java代码实现。Android系统的架构10.2.1Linux操作系统及驱动Android的核心系统服务依赖于Linux14.6内核,操作系统为其提供的服务包括:安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。其外还对其做了部分修改,主要涉及两部分修改:一、Binder(IPC)二、电源管理10.2.2本地框架与JAVA运行环境一、程序库AndroidLibraries包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:Bionic系统C库、媒体库、SurfaceManager、Webkit、SGL、3Dlibraries、FreeType、SQLite、CoreLibraries、DalvikVM二、Android运行库AndroidRuntime包括了一个核心库的集合,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。10.2.3应用程序框架开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。Applicationframework通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。隐藏在每个应用后面的是一系列的服务和系统,其中包括:视图(View)(UI组件)内容提供器(ContentProvider)资源管理器(ResourceManager)通知管理器(NotificationManager)活动管理器(ActivityManager)窗口管理(WindowManager)位置管理(LocationManager)电话管理(TelephoneManager)包管理(PackageManager)10.2.4应用程序应用层是和用户交互的一个层次。AndroidApplications会同一系列核心应用程序包一起发布,该应用程序包包括Email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。总结从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆叠(SoftwareStack),或称为“软件叠层架构”,叠层主要分成三层:操作系统、中间件、应用程序。目录4.第一个Android应用程序2.Android开发框架1.什么是Android3.Android应用环境5.章节练习6.串口通讯实验7.体温、脉率数据采集模块开发8.网络摄像头控制模块开发10.3.1Android借开源平台和海量软件主导市场Android被誉为“首个为移动终端打造的真正开放和完整的移动软件”,最大的优势在于系统的开放性、服务的免费性和与互联网实现无缝对接。Android系统已被广泛用于智能手机和平板电脑等领域,可应用程序数量达到20万种。Android是一个完整的软件平台,是一种以Linux为核心的开放源代码操作系统,加上Java的良好支持,类似于Linux系统,可以吸引众多电脑爱好者参与代码编写。10.3.2中国智能手机市场追捧Android国内使用Android系统包括华为、小米、魅族、天语、联想、海尔、酷派等多家厂商。多家厂商推出了自己的手机操作系统,如华为(EMUI)、小米科技(MIUI)、联想(leOS)、风灵创景点心(OS)、阿里巴巴阿里云(OS)等,但由于技术、资金等资源的限制,并不能开发出一套自主的、完整的操作系统,目前我国手机操作系统大多依赖于Android。目录4.第一个Android应用程序2.Android开发框架1.什么是Android3.Android应用环境5.章节练习6.串口通讯实验7.体温、脉率数据采集模块开发8.网络摄像头控制模块开发第一个Android应用程序本节授课需要预先装好Android开发环境及创建好运行Android程序的手机模拟器,学生课后可以参考本章“10.5章节练习中的10.5.1搭建Windows下Android开发环境”。10.4.1创建第一个Android应用程序一、在Eclipse中,选择File→New→AndroidApplicationProject,具体输入如图所示。二、接着一直单击【Next】按钮,
直至出现【Finish】按钮。三、单击【Finish】按钮,在Eclipse中,
可以看到如图所示的android应用程序目
录结构。四、如图所示,右键点击项目名称,在弹出对话框中选择【RunAs】【AndroidApplication】,运行该程序。五、执行该程序后在Android手机模拟器显示图效果,至此说明Windows环境下android开发环境搭建成功。10.4.2第一个Android程序说明一、Android项目结构在Eclipse开发环境下进入01_HelloWorld项目的目录下,可以看到如下两个必要的文件夹:上面的文件结构中res目录、src目录、AndroidMainfest.xml文件是Android项目所必需的。其他目录、其他文件都是可选的。 res目录存放Android项目的各种资源文件src目录只是一个普通的、保存java源文件的目录AndroidManifest.xml文件是Android项目的系统清单文件,它用于控制Android应用的名称、图标、访问权限等整体属性。bin:该目录用于存放生产的目标文件,如JAVA的二进制文件、资源文件(.ap_后缀)、Daivik虚拟机的可执行文件(.dex后缀)等。gen:该目录用于保存Android自动生产的一个R.java清单文件,读者不要去改写这里面的代码。二、res目录说明Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片资源、字符串资源、颜色资源、尺寸资源等——后面还会进一步介绍Android应用资源的用法,不过此处先对res目录的资源进行简单的归纳。Android按照约定,将不同的资源放在了不同的文件夹内,这样可以方便让AAPT工具来扫描这些资源,并为它们生成对应的资源清单类:R.java。以/res/value/strings.xml文件来说,该文件的内容十分的简单,它只是定义了一条一条的字符串常量,如以下代码所示:接着我们来讲解/res/layout/activity_main.xml文件,layout文件夹存放Android界面的布局文件,一个个.xml布局文件构成了丰富多彩的Android程序界面。三、src目录说明src目录用来保存java源文件的目录,第一个应用程序自动生成一个MainActivity.java文件。目录4.第一个Android应用程序2.Android开发框架1.什么是Android3.Android应用环境5.章节练习6.串口通讯实验7.体温、脉率数据采集模块开发8.网络摄像头控制模块开发10.5.1搭建Windows下Android开发环境1、Android环境平台的搭建步骤Android应用开发环境平台使用的是Eclipse开发环境,Android环境平台的搭建一般包括以下几个部分安装与配置:(1)JDK安装(2)Eclipse安装(3)AndroidSDK安装(4)ADT安装配置(5)创建AVD2、安装前需要以下软件:(1)JDK14.7(2)Eclipse(3)Android-sdk_-windows实验步骤:第一步:JDK安装,请参考本书8.2节。第二步:Eclipse安装如果你还没有Eclipse的话,可以去/downloads/,下载如图10.9所示的EclipseIDEforJavaDevelopers(150M)的win32bit版。解压之后即可使用。第三步:ADT安装配置(1)运行eclipse.exe启动EclipseIDE,选择菜单项Help→InstallNewSoftware...,出现如图10.10所示的Install对话框。(2)单击【Add…】按钮,Name文本框里写“ADT”,Location文本框里输入Android插件的路径:/android/eclipse。如图所示。备注:如果你已经下载了ADT,点击Archive…按钮直接指定磁盘中的ADT包。(3)单击【OK】后,Pending...,找到最新的ADT插件,包含2个children(子选项),如图所示:(4)选中所有组件,单击【Next...】,安装提示安装完成。备注:单独下载的ADT-20.0.0.zip大小超过12MB,安装时间视网络连接状况而定。(5)安装成功Eclipse开发环境可出现如图方框的内容。第四步:安装AndroidSDK下载网址:/sdk/index.html。在Eclipse中选择“Window→Preference”,从左侧的列表中选择Android项,在SDK设置SDKLocation中,点击“Browse…”按钮;选择Android,SDK的目录,点击“OK”按钮。如图所示。第五步:创建AVD(1)在Eclipse的菜单中,选择“Window→AndroidAVDManager”或单击工具栏上的“”打开模拟器图标,出现“AndroidSDKandAVDDeviceManager”窗口。界面中的列表表示了目前可以使用的Android虚拟设备,在没有虚拟设备的情况下点击右侧的New选择建立一个虚拟设备,如图10.15所示。各选项配置完成后,单击【CreateAVD】完成。(2)在“AndroidSDKandAVDDeviceManager”窗口中,选择一个设备,点击右侧的Start,将启动虚拟设备,选中ScaleDisplay选项,调整虚拟机屏幕大小。启动后的AVD界面如图所示。10.5.2自己动手编写第一个Android应用程序第一步:编写布局文件(1)在刚才创建的第一个Android应用程序基础上展开“res→layout”,打开“main.xml”文件。切换到“GraphicalLayout”视图,添加一个按钮,按照表10.6修改“main.xml”布局文件。修改后的“main.xml”布局如下一页图所示。备注:也可以切换到“main.xml”视图下,通过直接编辑XML文件内容来修改界面布局。(2)展开“src→android.helloworld”,打开“HelloWorldActivity.java”文件。编辑该文件,添加Android单击事件,实现单击命令按钮式,出现提示信息框,提示内容与tvHelloWorld控件的文本内容相同,即“HelloWorld!”。Android单击事件通常有三种方法实现:方法一:在main.xml文件中指定单击事件函数,这个方式适合比较多的button的情况使用。然后在类中添加myClick这个函数(在下一页)。注意,函数需要public否则会出现异常。其余两个方法请查看书本P221-P222.代码编写完毕,修正去错后,查看src下HelloWorldActivity.java文件、gen下R.java文件、res下layout下main.xml文件,观察并熟悉这些文件的基本结构和彼此之间的联系。完整的代码请参阅“参考代码”部分。第三步:测试HelloWorld项目。(1)启动模拟器;(2)在Eclipse中,右击“01_HelloWorld”项目,在弹出的菜单上执行“RunAS→RunConfigurations…”命令,如图所示。(3)进入“RunConfigurations”对话框,双击左侧列表的"AndroidApplication"创建一个新的配置文件;设置右侧"Android"选项卡中的Name项,并指定"Project"项目;如图所示。(4)单击“Target”选项卡,如图所示。在"Target"选项卡右侧列表中,有三个选项:①Alwayspromptto
pickdevice②Launchonallcompatible
devices/AVD’s③Aotumatically…Selecta
preferredAndroidVirtual
Devicefordeployment第一个选项,每次运行该程序都要选择设备;第二个选项可设置你指定连接至电脑的Android设备;第三个选项可选择你自己创建的模拟器。(5)勾选第三项自己创建的"AVD14.3.3"模拟器,单击【Apply】后,再单击【Run】按钮,运行该程序,当单击命令按钮时,弹出文本相同的内容提示信息框。运行结果如图所示。目录4.第一个Android应用程序2.Android开发框架1.什么是Android3.Android应用环境5.章节练习6.串口通讯实验7.体温、脉率数据采集模块开发8.网络摄像头控制模块开发串口通讯实验一、实验目的进一步理解并掌握串口的功能特性。掌握串口的通讯程序编写,并串口助手实现与Android设备串口的通信;进一步掌握Android事件编程机理,掌握Android的继承实现方法。二、实验环境硬件:移动互联终端,PC机(至少一个串口、若干个USB口),一根串口数据线(如图,连接PC的COM1与移动互联终端的COM1),一根MiniUSB线(如图,连接PC的USB与移动互联终端的USBOTG接口)。软件:Eclipse平台的Android开发环境,串口助手工具。实验目录:02_SerialPort。三、实验内容设计基本串行通信程序,实现串口的数据通信功能。应用程序具备三个功能:功能1:可对通讯串口的端口、波特率进行设置。功能2:在文本框中输入字符,单击发送按钮,可将字符发送到PC机功能3:可接收来自PC端串口助手发送的任意字符。四、实验原理1、串口的基本知识串口通讯传输的默认格式定义为:波特率9600bps,8位数据位,1位停止位,无校验位。可以对这些串行传输的格式定义以满足实际传输的需求。本指导书所涉及的串口通讯传输格式均为8位数据位,1位停止位,无校验位;波特率根据需求自行设定。串口通讯的处理通讯方式的有“应答模式”和“响应模式”两种方式:应答模式:就是发送后等待一定时间后接收,根据需要判断接收数据是否有效。(上下位机控制使用比较多)。响应模式:是缓冲区内有数据就响应OnDataReceived事件,接收处理。onDataReceived事件是在辅线程,在串口打开时执行该线程start()方法,当收到数据时,运行在辅线程的run()方法,当接收完数据后,返回主线程处理或在窗体上显示时,请注意跨线程的异步处理。串口通讯步骤如下图所示。2、SerialPort类简介基于Android平台的SerialPort类的是新大陆公司提供的专门针对端口(包括串口、USB口)操作的类库,该类主要实现端口数据通信等,该类所在的包名为“com.newland.jni”。以下主要介绍该类的主要方法。intgetReadTimeout()功能:获取读取操作未完成时发生超时之前的毫秒数返回:返回毫秒数voidsetReadTimeout(intreadTimeout)功能:获取读取操作未完成时发生超时之前的毫秒数参数:readTimeout—要设置的毫秒数voidsetOnDataReceivedListener(OnDataReceivedListenerlistener)功能:设置数据接收的监听器参数:listener—数据接收的监听器OnDataReceivedListener为数据接收后回调函数的接口,封装在SerialPort.jar文件里的接口。voidsetCommReceivedMode(booleanisResponseMode)功能:设置端口的通讯接收处理方式参数:isResponseMode:值为true,为响应模式,false为应答模式voidclearReadBuffer()功能:清除接收缓冲区参数:command—要发送的命令字符数组voidintopenPort(intport,intmode,intbaudRate)功能:打开端口参数:port:串口值0-9(默认为3),当mode=2时,port=0低频、1超高频mode:区分是USB串口还是COM串口,0表示COM,1表示USB,2表示是低频与超高频、3为二维码baudRate:取值为0至9,其中0表示波特率为1200,1为2400、2为4800、3为9600、4为19200、5为38400、6为57600、7为115200、8为230400、9为921600返回:串口句柄值,其值大于0,正确打开端口voidclosePort()功能:关闭串口voidsendCommand(char[]command)功能:发送命令字符数组参数:command—要发送的命令字符数组五、实验步骤第一步:硬件连接(1)串口连接线。将串口数据(两端均为母头)一端连接至电脑的“COM1”,另一端连接至移动互联终端的“COM1”;(2)USB线连接。将移动互联终端提供的MiniUSB线插到移动互联终端USBOTG接口,另一端接在PC机USB接口上,主要用于Android下USBADB功能和应用程序调试。(3)电源供电。拨动开关至“ON”状态,给实训移动互联终端的Android设备供电。第二步:创建“02_SerialPort”串口基本应用程序。详细步骤请查看书本P231八、关键代码解析(1)导入串口处理所需的包importcom.newland.jni.SerialPort;//串口类importcom.newland.j
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 炒黄豆教案反思
- 编织教案反思
- 氧化碳性质说课稿
- 深度学习及自动驾驶应用 课件全套 第1-10章 汽车自动驾驶技术概述 -强化学习理论及自动驾驶应用实践
- 汽车灯光应急
- 检验科应急演练
- 度假村自建房施工合同样本
- 矿业安全规则承诺书
- 城市公园化粪池维修协议
- 管道安装清包工施工合同
- 夏季反季节施工方案绿化
- 专业技术人员网络安全知识提升
- 上期开特下期出特公式
- 中国药科大药大动力学重点总结
- 高中生物必修一学考知识总结
- 火力发电厂设计技术规程(热控部分)
- 中医师承学员报名申请表
- MSDS(T-35)DBE溶剂
- DFMEA模板(完整版)
- 实验室6S管理实施细则
- 学习解读2021年《全民科学素质行动规划纲要(2021—2035年)》PPT演示课件
评论
0/150
提交评论