本科毕业论文 Google Android手机嵌入式系统的研究与开发
3 Android的开发
3.1 Android开发工具
前面说过,Android的上层应用程序是用Java语言开发的,同时需要基于Dalvik虚拟机,所以Google公司推荐使用主流的Java继承开发环境 Eclipse。有了Eclipse还不够,因为使用Java语言进行开发,应该有由SUN公司提供的Java SDK(其中包含了JRE:Java Runtime Environment)。另外,Android的应用程序开发还是和Java开发有一定区别,所以还需有一个Google提供的Android SDK。有了这三个软件就可以开发Android应用程序了。
3.2 Android开发平台的搭建
Android开发平台搭建步骤很简单,但是和我们的论文没多大关系,所以具体步骤参见附录1。 当平台搭建好以后需要创建一个Android Virtual Device,这一步是很关键的一步,如果不创建这个AVD的话,在Eclipse中编译运行Android应用程序时就会提示找不到AVD,从而无法编译。在DOS界面下运行Android SDK文件夹中tools目录下的android.bat工具,其命令是android create avd –name avd15r1 – target 2,使用这个命令之后会提示是否创建一个AVD,输入yes之后会提示设置AVD的一些属性,如内存信息等。要说明的是name后面的avd15r1是Android Virtual Device的名字,可以自由选取。而我起这个名字的意义是avd使用1.5r1版本的SDK。
简单的几步就将Android的开发平台搭建好了,虽然我使用的是Windows7操作系统,但是方法同样适用于Windows xp等其他Windows 平台。在一个应用程序设计好了以后,点击Eclipse中的run,就可以看到启动了一个叫做avd15r1的Android模拟器,同时,在模拟器中就能找到你所编写的应用程序。
3.3简单短信功能软件(miniSMS)的开发
所有手机用户都知道,在手机应用中短信功能是大家常用的一个应用。其实,许多手机用户对手机的功能要求就是两个,一是打电话,二是收发短信。可见收发短信是一个很基本的应用。在Android中短信息功能的实现需要用到Android中的一个重要机制—Intent,因此对于这样一个常用功能的实现对我们学习Android编程有很好的帮助。
对于miniSMS,不是简单的使用一个Activity去激活系统提供的短信收发功能,而是使用Android提供的android.telephone.gsm.SmsManager类去实现短信的收发功能。
17
本科毕业论文 Google Android手机嵌入式系统的研究与开发
3.3.1 miniSMS工程建立及分析
在所有工作之前我们需要先建立一个Android工程。在Eclipse下按照下图3-1所述建立一个miniSMS工程,其中选择1.5的Android SDK。
图3-1 建立Android工程
在建立好miniSMS工程以后我们运行一下然后打开该工程所在的文件夹,先来分
表3.1 miniSMS工程结构
析一下Android工程文件的构成。我们可以看到文件夹的结构如下表。
assets文件用来存放静态文件 夹 bin文件夹 classes.dex(在Dalvik虚拟机中说过的编译后java二进制代码) miniSMS.apk(发布到手机的安装包) 一个包一样的文件夹用于存放编译后的字节码文件 gen文件夹 R.java(用它java可访问独立于java的资源文件,系统自动生成) 18
本科毕业论文 Google Android手机嵌入式系统的研究与开发
res文件夹 drawable文件用来存放图片的文件夹,例如图标 夹 layout文件夹 values 用来存放布局定义文件,如main.xml 用来存放一些变量和参数的文件 src文件夹 存放源文件的文件夹,以后定义的java类和一些代码都放在这个文件夹下 AndroidManifest.xml 从工程的结构中我们见到之前说过的一些东西,如AndroidManifest.xml。Dalvik虚拟机可运行的.dex格式的二进制文件等。每一个应用程序的布局都是这样的,从这个布局中可以看到,在Android的开发中,其布局比较清晰。
通过对普通的短信功能的分析可以知道,要实现我们的miniSMS则该应用应该包含两个部分,一个部分用于短信息的发送而另外一个部分则用于接收短信息。前面系统分析时我们知道,Android的应用是由一些组件组成的,比如说Activity和Intent Receiver等。一个短信功能至少应该包括一个界面,所以我们的miniSMS也应该至少包括一个Activity,我们可以在这个Activity中输入接收方的手机号码,以及短信内容。当系统受到一条来自发送方的一条短信以后,要如何通知我们的miniSMS,对了,之前研究中我们提过一个组件叫做Intent Receiver,使用这个组件,我们就能够从系统中获取相应的短信息了。当我们获取到相应的信息以后,使用一个提示框来显示我们收取的短信息,其中包括发送方号码以及短信内容。
在上面的分析中我们知道miniSMS需要一个Activity和一个IntentReceiver,所以我们需要在AndroidManifest.xml中对其进行注册,同时因为在程序中需要使用到android.telephone.gsm.SmsManager类去实现短信的收发功能,所以我们需要获得一个发送短信和接收短信的用户权限。下面我们会根据这个分析来完成我们的miniSMS应用。
3.3.2 AndroidManifest.xml设计
根据上面的分析我们知道miniSMS应用中应该包含一个发送短信息的Activity和一个接收短信广播的Intent Receiver,同时我们让发送短信的Activity作为程序启动的入口和程序时的第一个Activity。所以我们要在AndroidManifest.xml中注册这两个组件。代码如下:
19
本科毕业论文 Google Android手机嵌入式系统的研究与开发
我们已经将miniSMS中需要的组件进行了注册,这里要单独说一下Intent Receiver的注册,其中android.provider.Telephony.SMS_RECEIVED表示这个Intent Receiver响应收到短信这个Intent,也就是说当Android收到短信时会向所有Intent Receiver组件发送一个SMS_RECEIVED的广播,而我们的SmsReceiver是可以匹配这个Intent的。同时系统自带的短信应用也会匹配这个Intent,所以我们的这个miniSMS显示短信时在系统的收件箱中也会看到收到一条短信。
另外,在AndroidManifest.xml中还要说明我们的应用具有什么样的权限,miniSMS
这样,miniSMS的AndroidManifest.xml就配置好了,下面可以进行应用UI的开发和其中一些类的设计了。 3.3.3 UI设计
在minisSMS的UI开发中,采用了一个简单的布局文件进行开发,通过对res\\layout\\main.xml的编辑来达到UI的开发。在这个布局中这里我们需要一个两个TextView一个用于显示请输入电话号码一个用来显示请输入短信内容,两个EditView一个用来输入电话号码一个用于输入短信和一个Button用来点击发送短信。代码如下:
android:layout_width=\ android:id=\ android:layout_width=\android:text=\请输入电话号码\ 20 应该具有收发短信的权限,所以在其中应该加上这几条:
相关推荐: