基于Android平台的工业应用终端设计_第1页
基于Android平台的工业应用终端设计_第2页
基于Android平台的工业应用终端设计_第3页
基于Android平台的工业应用终端设计_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android平台的工业应用终端设计Android应用程序开发流程 一 开发平台1. Android平台介绍1.1 Android简介Android是由Google与开放手机联盟(Open Handset Alliance,OHA)合作开发的,是基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android开发平台允许任何移动终端厂商加入到Android联盟中来,它提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰。Google强大的搜索引擎以及其相关的Google Maps、Gmail等业务有着相当大的用户群,而Android平台手机将无缝结合这些优秀的Google服务,使人们更便捷的使用互联网络。1.2 Android 核心模块Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。Android的软件层次结构自下而上分为以下几个层次:图1 Android的架构模型第一、内核(Linux Kernel)Android使用Linux2.6作为操作系统,Linux2.6是一种标准的技术,Linux也是一个开放的操作系统。Android对操作系统的使用包括核心和驱动程序两部分,Android的Linux核心为标准的Linux2.6内核,Android更多的是需要一些与移动设备相关的驱动程序。第二、各种库(Libraries)和Android 运行环境(RunTime)Android 包含一套C/C+库, 被用于Android 系统中的各种组件中. 这些功能通过Android 应用框架展现给开发人员。Android 运行时 Android包含一组核心库, 提供了Java语言核心库内的大部分功能。第三、应用程序框架(Application Framework)Android 应用程序由一个或多个组件组成,Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以JAVA构建的,因此本层次提供的首先包含了UI程序中所需要的各种控件。第四、应用程序(Application)Android的应用程序主要是用户界面(User Interface)方面的,通常以JAVA程序编写,其中还可以包含各种资源文件(放置在res目录中)JAVA程序及相关资源经过编译后,将生成一个APK包。Android本身提供了主屏幕(Home),联系人(Contact),电话(Phone),浏览器(Browers)等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序。2. Windows平台上搭建Android开发环境2.1 安装JDK安装Eclipse的开发环境需要JRE的支持,而开发Android应用程序需要完整的JDK(JDK包含了JRE)的支持。首先在Sun官网/com/downloads/下载JDK,要求版本在1.5+以上。这里我们下载Java SE (JDK) 6。JDK安装完成之后要设置系统环境变量:我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置。环境变量设置,分别设置两个个环境变量: Path变量、classpath变量。变量名:Path; 变量值:C:Program FilesJavajdk1.6.0_17bin;变量名:Classpath; 变量值:C:Program FilesJavajdk1.6.0_17lib;C:Program FilesJavajdk1.6.0_17jrelib单击“开始”,选择“运行”,输入CMD命令,打开CMD窗口,分别输入java,javac,如果有如下信息则表示JDK安装成功,否则需要重新检查配置环境变量。2.2 安装Eclipse打开Eclipse的下载页面/downloads/进行下载。Eclipse无须执行安装程序,解压后可直接使用,下载完成后,找到压缩包进行解压,进入解压目录,双击可执行文件“eclipse.exe”直接运行Eclipse,Eclipse可以自动找到用户安装的JDK路径。2.3 安装Android SDK打开网页/,转到SDK的下载页面进行下载,同Eclipse一样不需要安装,直接解压就可以使用,将SDK文件夹下的tools目录的绝对路径添加到系统环境变量Path中,打开一个CMD窗口,输入 android h,如果有如下信息则表示SDK安装成功。2.4 安装ADTAndroid为Eclipse定制了一个插件ADT,是为了用户可以更好利用Eclipse开发Android应用程序。ADT可以让用户方便的创建Android项目,在基于Android框架API的基础上添加组件,以及使用SDK工具集调试应用程序,甚至导出APK以便发行应用程序。打开Eclipse,单击Help-Install New Software项,单击“Add”,输入:Name: android pluginLocation: /android/eclipse/单击“OK”,安装完成后,重启Eclipse。2.5 为Eclipse配置Android SDK安装好ADT插件后,还需要配置才可以使用Eclipse创建Android项目。单击 windows-Preferences项,在弹出的界面左侧可以看到“Android”,选中后在SDK Location里设定Android SDK所在目录,单击“OK”完成配置。2.6 创建Android模拟器(AVD)单击 windows-Android SDK and AVD Manager,在弹出的界面左侧可以看到“Virtual Devices”,选中后单击“New”,输入:Name:Android_1.5,Target:选择Android 1.5 API Level 3,单击“Create AVD”创建成功。单击“Start”,单击“Launch”,AVD模拟器运行如下:二 开发流程1. 新建一个Android工程打开Eclipse,选择File-New-others项,选择Android project。然后填写所要创建工程的名字,包的名字,Activity的名字和应用的名字。如下所示:点击“Finish”,一个Android工程便成功创建了。2. Android工程文件的组成创建的test工程文件结构如下:src目录:包含Activity的源文件,该文件夹是放项目的源代码的。我们新建一个简单的test项目,系统为我们生成了一个test.java文件。他导入了两个类android.app.Activity和android.os.Bundle,test类继承自Activity且重写了onCreate方法。注:Override在重写父类的onCreate时,在方法前面加上Override 系统可以帮你检查方法的正确性。例如,public void onCreate(Bundle savedInstanceState).这种写法是正确的,如果你写成public void oncreate(Bundle savedInstanceState).这样编译器回报如下错误The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保你正确重写onCreate方法。(因为oncreate应该为onCreate)而如果你不加Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法oncreate。android.app.Activity类:因为几乎所有的活动(activities)都是与用户交互的,所以Activity类关注创建窗口,你可以用方法setContentView(View)将自己的UI放到里面。然而活动通常以全屏的方式展示给用户,也可以以浮动窗口或嵌入在另外一个活动中。有两个方法是几乎所有的Activity子类都实现的:1. onCreate(Bundle):初始化你的活动(Activity),比如完成一些图形的绘制。最重要的是,在这个方法里你通常将用布局资源(layout resource)调用setContentView(int)方法定义你的UI,和用findViewById(int)在你的UI中检索你需要编程地交互的小部件(widgets)。setContentView指定由哪个文件指定布局(main.xml),可以将这个界面显示出来,然后我们进行相关操作,我们的操作会被包装成为一个意图,然后这个意图对应有相关的activity进行处理。 2. onPause():处理当离开你的活动时要做的事情。最重要的是,用户做的所有改变应该在这里提交(通常ContentProvider保存数据)。android.os.Bundle类:从字符串值映射各种可打包的(Parcelable)类型(Bundle单词就是捆绑的意思,所有这个类很好理解和记忆)。如该类提供了公有方法public boolean containKey(String key),如果给定的key包含在Bundle的映射中返回true,否则返回false。该类实现了Parceable和Cloneable接口,所以它具有这两者的特性。gen目录:包含R.java文件,R.java是在建立项目时由Eclipse自动生成的,这个文件是只读模式的,不能更改。R.java文件中定义了一个类R,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。通过R.java我们可以很快地查找我们需要的资源,另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。Android 1.5目录:包含Android SDK1.5的库。该文件夹下包含android.jar文件,这是一个Java 归档文件,其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。通过android.jar将自己的应用程序绑定到Android SDK和Android Emulator,这允许你使用所有Android的库和包,且使你的应用程序在适当的环境中调试。例如上面的test.java源文件中的:import android.app.Activity;import android.os.Bundle; 这里两行代码就是从android.jar导入包。 assets目录:主要放置一些多媒体文件res目录:主要放置应用程序用到的资源文件。包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被R.java自动记录。新建一个项目,res目录下会有三个子目录:drawabel、layout、values。drawable目录:主要放置图片资源。layout目录:主要放置布局文件,该布局文件全部是XML文件。values目录:主要放置字符串(strings.xml)、颜色(colors.xml)、数组(arrays.xml)。AndroidManifest.xml:项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。AndroidManifest.xml将包含如下设置:application permissions、Activities、intent filters等。perties:记录项目中所需要的环境信息,比如Android的版本等。 HelloWorld的perties文件代码如下所示,代码中的注释已经把perties解释得很清楚了。3. 界面UI的布局对于一个Android应用来说,Activity类实例是一个最基本的功能单元。一个Activity实例可以做很多的事情,但是它本身无法显示在屏幕上,而是借助于View和Viewgroup,这两个才是Android平台上最基本的两个用户界面表达单元。3.1 视图组件(View)Android中的View类是最基本的一个UI类,基本上所有的Android应用程序的UI组件都是继承View类而实现的,常用的UI组件TextView(文本框)、Button(按钮)、List(列表)、EditText(编辑框)、RadioButton(多选按钮)、Checkbox(选择框)等都属于View类。3.2 视图容器组件(ViewGroup)ViewGroup是一个特殊的View类,它继承于android.view.View。它的功能就是装载和管理下一层的View对象和ViewGroup对象。ViewGroup是布局管理器(layout)及view容器的基类。ViewGroup中,还定义了一个嵌套类ViewGroup.LayoutParams。这个类定义了一个显示对象的位置、大小等属性,view通过LayoutParams中的这些属性值来告诉父级,它们将如何放置。ViewGroup的一些主要的布局类如下:FrameLayout:最简单的一个布局对象。它里面只显示一个显示对象。所有的显示对象都将会固定在屏幕的左上角,不能指定位置。但允许有多个显示对象,但后一个将会直接在前 一个之上进行覆盖显示,把前一个部份或全部挡住(除非后一个是透明的)。LinearLayout:以单一方向对其中的显示对象进行排列显示,如以垂直排列显示,则布局管理器中将只有一列;如以水平排列显示,则布局管理器中将只有一行。同时,它还可以对个别的显示对象设置显示比例。TableLayout:以拥有任意行列的表格对显示对象进行布局,每个显示对象被分配到各自的单元格之中,但单元格的边框线不可见。AbsoluteLayout:允许以坐标的方式,指定显示对象的具体位置,左上角的坐标为(0, 0),向下及向右,坐标值变大。这种布局管理器由于显示对象的位置定死了,所以在不同的设备上,有可能会出现最终的显示效果不一致。RelativeLayout:允许通过指定显示对象相对于其它显示对象或父级对象的相对位置来布局。如一个按钮可以放于另一个按钮的右边,或者可以放在布局管理器的中央。3.3 XML编程实现UI布局打开Android项目里的reslayoutmain.xml,用xml语言来编辑程序。首先确定界面的布局,适当嵌套ViewGroup的几种布局,根据需要给android:layout_width、android:layout_height、android:background、android:padding、android:orientation、android:gravity等设置各自适当的参数值,以达到满意的整体布局。然后在不同的ViewGroup布局中添加View控件,根据实际需要给各个控件的android:id、android:layout_height、android:layout_width、android:text、android:textSize等设定不同的参数值。通过调整布局排列,控件位置,字体大小,最终完成对Android应用程序UI的布局。4. Java程序的编写打开Android项目里的srccom.yiyang.testmain.java,用java语言编写程序来实现对各自不同的响应。首先将Activity的java程序和相关xml界面程序相关联,先对控件进行声明并关联各自控件的id,然后为控件添加各自的监听程序和响应程序来完成控件所实现的功能。5. Android应用程序体系结构介绍一般来说Android应用程序由以下四个部分组成,它们分别是:Activity、Broadcast Intent Receiver、Service、Content Provider。并不一定所有的程序都涉及到这四个部分,有些也许只涉及到了Activity。在Android项目里有一个AndroidManifest.xml的描述文件。在这个文件里,需要申明上述四个部分,以及为每个部分的功能和需求进行描述。5.1 Acitivity在Android应用程序中,Activity一般代表手机的一个屏幕,在Activity中可以添加一些View并对这些View做一些事件的处理。一个应用程序一般是由多个Activity组成的,相互之间可以跳转。Activity是由Android系统进行维护的,它有自己的生命周期。5.2 Broadcast Intent ReceiverBroadcast Intent Receiver可以让应用程序对一个外部的事件作出响应,它不能生成UI,是通过NotificationManager来通知用户事件的发生的,当事件来临时,即使程序没有启动,系统也在需要的时候启动应用程序。5.3 ServiceService是一个没有用户界面的程序,可以运行很长时间。例如后台播放的音乐就是由Service进行控制的5.4 Content ProviderAndroid中的数据是私有的,要想实现不同程序之间的数据交换就需要用到Content Provide类,它实现了一组标准的方法接口,从而能够让其他应用程序保存或读取此Content Provider的各种数据类型。三 相关资源1. Android SDK提供的开发工具1.1 Android模拟器(emulator.exe)能够在计算机上运行的模拟器,可以在模拟器上运行,调试和测试应用程序。1.2 集成开发环境(ADT)ADT使Eclipse开发Android程序更便捷和迅速,具体作用如下:可以进行截屏、管理端口转发、设置断点、查看线程和进程信息的一系列操作。提供一个向导用于快速创建新的Android应用程序。使构建Android程序自动化和简单化。提供一个Android代码编辑器,为Android的manifest和资源文件编写有效地XML。1.3 调试监视服务(ddms.bat)集成在Dalvik(Android平台的虚拟机)中,用于查看和管理Android程序进程并协助进行调试。1.4 Android调试桥(adb.exe)用于向模拟器或手机安装apk文件和从命令行访问模拟器或手机。1.5 Android资源打包工具(aapt.exe)通过aapt.exe创建apk文件,该文件包含了Android应用程序的二进制文件和资源文件。1.6 Android接口描述语言(aidl.exe)生成进程间的借口代码。1.7 SQlite3数据库(sqlite3.exe)Android程序可以创建和使用SQlite数据库文件,开发者和使用者也可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论