基于Android的应用软件开发实例初探.docx

上传人:b****7 文档编号:8863246 上传时间:2023-02-02 格式:DOCX 页数:32 大小:428.92KB
下载 相关 举报
基于Android的应用软件开发实例初探.docx_第1页
第1页 / 共32页
基于Android的应用软件开发实例初探.docx_第2页
第2页 / 共32页
基于Android的应用软件开发实例初探.docx_第3页
第3页 / 共32页
基于Android的应用软件开发实例初探.docx_第4页
第4页 / 共32页
基于Android的应用软件开发实例初探.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于Android的应用软件开发实例初探.docx

《基于Android的应用软件开发实例初探.docx》由会员分享,可在线阅读,更多相关《基于Android的应用软件开发实例初探.docx(32页珍藏版)》请在冰豆网上搜索。

基于Android的应用软件开发实例初探.docx

基于Android的应用软件开发实例初探

目  录

1.引言1

2.Android应用软件开发基础2

2.1Android应用软件开发的语言2

2.1.1Simple2

2.1.2Scala2

2.1.3Java2

2.2搭建开发环境2

2.2.1计算机配置2

2.2.2下载SDK初始包3

2.2.3安装ADT3

2.2.4设置Eclipse3

2.3ADT的使用3

2.3.1创建一个Android项目3

2.3.2编译运行一个项目4

2.4Android平台应用程序基础5

2.4.1概要5

2.4.2Android应用程序组件5

2.4.3AndroidManifest.xml文件7

3.音乐播放器实例7

3.1创建项目8

3.2设计界面9

3.2.1准备图片9

3.2.2准备字符串资源10

3.2.3设计程序的窗口布局11

3.3编写Java代码12

3.4运行、调试程序15

3.5打包发布程序16

4.参考资料16

5.附录17

5.1song_item.xml的代码17

5.2songlist.xml的代码17

5.3strings.xml文件代码18

5.4AndroidManifest.xml文件代码18

5.5MusicPlayer.java的代码18

1.引言

Android系统是由Google在2007年发布的一个开源平台,包括操作系统、中间件,以及一些关键应用。

由于Android系统有开源、免费、易于移植的特点,以及Google等厂商的大力支持,Android在短短几年时间内得到了飞速发展。

2008年HTC推出第一款Android系统机型DreamG1之后,各厂商都纷纷跟进,推广速度十分喜人。

另外还有一些厂家利用Android易于移植的特性,开发了或正在开发基于Android系统的电子书阅读器、平板电脑、MP4、MID等智能终端。

可以预见,Android的应用范围将越来越广,学习Android的开发也一定会有越来越大的用武之地。

在该课程设计中,我通过学习Android的API,开发了一个简易的音乐播放器,实现了最基本的功能。

通过这一实例,我们也能从中一窥Android应用的开发流程。

2.Android应用软件开发基础

2.1Android应用软件开发的语言

2.1.1Simple

Simple是Google于2009年7月推出的一种新的语言,其目的就是简化Android开发的难度,提供一种类似于VisualBasic的编程体验,在设计时就为Android的开发作了许多考虑。

它的平台是完全开源的,但是目前Simple的资料较为贫乏,不便于学习。

2.1.2Scala

Scala是一种特色鲜明的语言,它和Java一样运行于JVM之上,但是却同Java有许多设计理念上的区别。

它提供一种类似函数式编程的方式,同时也提供了对面向对象的支持,这也是一种新生的语言,应用范围正变得越来越广,在编写运行于多核处理器的程序时具有一定优势。

之所以可以用Scala编写Android的应用程序,根本原因是Scala和Java编写的程序一样运行于JVM上。

但是光这一点还不够,编写Scala程序所用到的Scala库得作一些改动,已经有人将可用于Android开发的Scala库制作好了,开发人员可以直接使用修改后的Scala库代替原先的Scala标准库。

我们用Scala编写的程序,实际上是先被Scala的编译器编译成了Java的class文件,然后再由Androiddex编译器将Javaclass文件编译成Android设备里的JVM中可以运行的dex文件。

2.1.3Java

Java是Android上的主流开发语言,各种支持也最完善。

Android发布的API和SDK也都主要是面向Java开发人员的。

我们的播放器实例也是用Java开发的。

2.2搭建开发环境

2.2.1计算机配置

开发Android应用所用到的开发工具较占内存,尤其是模拟器。

官方并未给出最低配置要求,根据个人实际体会,在本人IntelT2080双核及1G内存的情况,基本上能流畅使用。

另外还需有600MB以上的剩余磁盘空间(官方文档中的说明)。

2.2.2下载SDK初始包

初始包中有开发Android程序所要用到的工具,这些工具包括了从编译到运行Android应用程序所需要的各种工具。

因此,事实上最基本的开发环境至此就已经搭建完整。

(SDK的下载地址为,本来官方网站为,但是经常被封锁,该链接更为稳定。

2.2.3安装ADT

按照2.2.2安装完SDK初始包后,就可以开始开发Android应用程序了,但是为了更高效地进行开发,Android团队推出了AndroidDevelopmentTools(ADT)。

ADT是目前开发Android应用最有效的工具,它是一个Eclipse插件,支持Eclipse3.4及3.4以上的版本。

以Eclipse3.5(Galileo)为例,安装过程如下:

1.打开Eclipse,选择Help>InstallNewSoftare。

2.在AvailableSoftware对话框中,点击Add...。

3.在弹出的AddSite对话框中,任意填写一个名字到Name一栏。

在Location一栏,则填入这一URL:

“ps:

//dl-

4.返回到AvailableSoftware窗口后,就能看到列表中出现了"DeveloperTools",选中它前面的复选框,再点击“Next”,就会开始下载安装ADT的各种组件了。

5.安装完毕后将弹出窗口显示ADT相关的各种信息以及许可协议,点击“Finish“即可完成安装。

6.重新启动Eclipse。

2.2.4设置Eclipse

1.选择"Window>Preferences..."打开偏好设置

2.从左侧边栏中选择"Android"一栏。

3.单击SDKLocation一栏边的Browse按钮,选择刚刚下载的SDK保存的路径。

4.点击Apply,OK,设置生效。

至此,Android的开发环境就已经搭建完毕,可以使用了。

2.3ADT的使用

2.3.1创建一个Android项目

1.选择File>New>Project

2.点击Android>AndroidProject,然后点击Next

3.在弹出的对话框内,依照提示,输入必要的内容:

1)输入ProjectName,整个项目的代码将自动保存在以名字命名的文件夹下。

2)在Contents选项中,选定Createnewprojectinworkspace以及项目保存的位置。

3)在Target选项中,从列出的Android目标平台中选择一个或多个。

编译时将会编译成所选目标平台上的程序。

4)在Properties选项中,填写必要的内容:

a)在Applicationname处输入应用的名称。

该名称将会作为标题显示在手机中。

b)在Packagename处输入包的名称

c)选择是否需要创建一个Activity(关于Activity的概念将在后面的章节中讲述)。

大多数应用程序都需要有至少一个Activity。

如果选择了创建,那么就还需要填写主Activity的名称。

d)输入MinSDKVersion,ADT会把该设置写入Manifest.xml文件中(下文将介绍该文件的作用)。

这一选项是用于判断该应用程序是否能兼容于某版本的Android系统。

由于推出时间不久,Android的更新速度十分快,现已发布了1.0,1.1,1.5,1.6,2.0,2.0.1,2.1这几个版本。

市面上现有的大部分Android终端都是基于1.5(APILevel为3)以后的版本,少数最新款的设备使用了2.0以后的版本。

因此,如果没有使用特殊的API,我们把此处设为3即可保证良好的兼容性。

4.点击Finish,完成设置。

创建完成后,我们即可在方才设置的工作目录中找到项目文件。

ADT会为我们创建以下目录及文件:

src/该目录下保存我们所编写的Java代码文件。

/该目录下是我们所设置的目标Android版本所对应的android.jar

gen/该目录下保存的是由ADT根据我们的界面设置、资源设置等自动生成的代码

assets/初始为空,可以用来存放assets文件

res/保存程序要用到的资源,如窗口布局、字符串值等

AndroidManifest.xml用于描述应用程序的文件,Android会读取该文件,用以确定应用程序所需要的权限等信息。

default.properties用于保存该项目的信息,比如各项设置,该文件也由ADT管理,不需要手动编辑。

2.3.2编译运行一个项目

为了节省时间,我们大多数的测试都是在模拟器上运行,最后才在真实的硬件上运行程序。

Android的SDK中提供有模拟器程序,要让模拟器运行起来,我们则还需要创建称为AVD(AndroidVitualDevice)的配置文件。

SDK中的命令行工具可以用来创建AVD,安装ADT之后我们也可以更直观地用图形界面创建。

1.创建AVD

1)选择Window>AndroidSDKandAVDManager,打开AVD管理器

2)在弹出的窗口中会列出已经创建的AVD,我们点击创建一个新的AVD

3)填写所需的选项。

包括AVD名称,是否需要SD,虚拟屏幕的分辨率等。

4)单击CreateAVD,创建完毕。

5)运行程序

运行(或调试程序)可以通过点击主菜单上的Run>Run(或Run>Debug),ADT会为我们启动模拟器,并在模拟器中运行或调试我们的程序。

在这个过程中,实际上Eclipse为我们完成了以下工作:

6)如果项目中的文件有改动,就重新编译一次。

7)如果没有设置启动选项,就创建之。

8)如果模拟器还没有启动,就运行模拟器。

9)通过Socket向模拟器发送编译过后的程序。

10)向模拟器发送命令安装并启动该应用。

11)如果是以调试方式运行,则应用程序启动后会等待调试器挂接,同时Eclipse会切换到调试视图。

2.配置运行选项

在编写应用程序的过程中,我们有时候需要调整运行设置,比如运行不同的AVD,启动应用程序的某个特定Activity。

这时,我们可以按以下步骤设置:

1)打开Run>OpenRunDialog,弹出设置窗口

2)展开AndroidApplication节点,点击项目名称,右侧即会显示出相应的配置选项卡。

3)在Android,Target,Common三个选项卡中,根据需要,修改设置。

4)点击Run,即会根据新的设置运行。

3.为应用程序签名

出于安全的考虑,所有的Android应用程序都必须有数字签名,Android系统才会允许安装该程序。

在开发程序时,我们可以使用调试密钥(debugkey),带有这种密钥的应用程序可以在模拟器或是在我们开发用的设备上安装。

如果要正式发布应用程序,则还需要取得正式的私钥。

在实例开发一节中,讲详细介绍如何为应用程序打上数字签名。

2.4Android平台应用程序基础

2.4.1概要

Android应用程序编写完成后,都是由aapt工具(ADT会自动调用该工具)打包成apk文件,一个apk文件就是一个完整的应用程序,它包含了编译好了的程序以及各种资源、描述性文件(如Manifest.xml)。

在运行时,每个Android应用程序具有如下特点:

1.默认情况下,每个应用程序都运行在一个Linux进程中。

当应用程序中的某部分代码需要得到执行时,Android会为这个应用程序启动一个进程,该进程会一直存在,直到代码中要求退出,或者系统资源不足时Android将其杀死。

2.每个进程都运行于一个相互独立的JVM。

3.默认情况下,每个应用程序都会被赋予一个唯一的LinuxuserID。

结合Linux的权限设置,就可以保证只有该应用程序可以访问属于它的文件。

4.某些特殊情况下,我们可以让两个应用程序共用一个LinuxuserID,这时,应用程序的文件相互之间都是可以访问的。

为了节约系统资源,Android会自动把这两个应用程序合并到一个进程中,共享一个JVM。

2.4.2Android应用程序组件

Android应用程序最大的一个特点就是每个应用都由若干组件构成。

而且各个应用程序的组件还可以相互调用(需要在代码中设置相应权限)。

例如假设我们需要编写一个内嵌有网页的程序,那么我们无需亲自编写浏览器,而是可以直接调用系统自带的ChromeLite浏览器组件。

又如假设我们编写了两个应用程序,其中一个程序中有列表显示图片的组件,那么我们在另外一个应用程序中就可以使用该组件,而不需要再编写该功能。

也就是说,不同于我们平常编写的程序,Android的应用程序不是单一入口,而是可以从代码的不同位置启动。

这就要依靠组件来实现。

Android应用程序的组件有以下四种:

1.Activities

一个activity实际上表现出来的就是一个程序的界面。

这个界面可能有许多种不同的形式,比如有列表形式,有文字形式,有图像格子等形式。

一个应用程序也可能有不止一个activity。

比如一个短消息的程序,需要有列表显示所有消息的activity,还至少需要一个编辑短消息的activity(界面),还可能需要设置、菜单等界面。

每个activity都有一个默认的窗口用于绘制界面,一般情况下,它是充满全屏的,但是我们可以通过程序控制它,使其小于屏幕大小,也可以控制其浮动于其它窗口之上(如Android中的Toast信息),

Activity中显示出来的内容其实是由view堆叠形成的,view是由View基类派生出来的各种形式的界面元素,如ListView,GridView等等,通过组合这些view,就形成了一个可见的activity。

我们可以用Activity.setContentView()方法来设置一个activity中所要显示的view。

2.Services

service是一种没有界面的组件,同我们平常在Windows或Linux系统中所理解的“服务”一样,Android上的service也是运行在后台的,运行时间可以从系统启动到系统关闭为止。

对于许多应用程序来说,service组件是至关重要的。

以下载管理器为例,用户肯定希望能够在切换到其它程序时仍然在后台进行下载,这就需要用到service完成下载工作。

而显示下载进度、已下载文件等信息则由activity完成,同时我们还希望能控制下载过程,如停止、继续等,这就需要activity与service之间进行通信。

Android允许activity连接到或者绑定到service上,这样就可以让用户在界面上控制后台service的行为。

3.Broadcastreceivers

Broadcast意为广播消息,Android系统自身会发出许多广播消息,如电量不足,用户修改了全局设置等,各个应用程序也以向整个系统广播消息,如文件下载完毕等。

Broadcastreceiver则是程序中专门用来接收广播消息的组件,它没有界面显示,只负责监听、接收广播消息,然后根据程序逻辑,启动其它组件去处理广播消息。

它可以启动一个activity来同用户交互,也可以使用NotificationManager向用户发出通知。

NitificationManager的通知形式有许多种,比如说振动、响铃、闪LED灯,还可以在Android界面的消息栏处显示信息。

4.Contentproviders

contentprovider是一种为其它应用程序提供数据的组件。

这些数据可以保存在文件中,也可以保存在SQLite数据库中,还可以以其它任何有效的方式保存。

ContentProvider类为我们提供了一系列保存数据的方法供我们调用,可以很方便地存储数据。

其它应用程序在需要使用这些数据时,可以用ContentResolver对象,使用其中的方法。

ContentResolver可以与任何contentprovider交互,获取其中的数据。

只要需要某个组件,Android就会尽力保证它的可用:

如果该组件还没启动,就启动它,如果该组件所属的应用程序还没拥有一个进程,则为它启动一个进程,如果系统资源不足以容纳一个新的进程,则将后台的某个进程杀死为新进程腾出资源。

2.4.3AndroidManifest.xml文件

在Android启动某个程序之前,它得事先知道程序中有哪些组件。

因此,apk文件中需要有一些描述信息,告知Android系统,这个任务就由AndroidManifest.xml文件完成。

AndroidManifest.xml文件是一个结构化的XML文件,它除了包含有各个组件的信息,还包括许多其它的信息,如声明该程序所需要用到的库、声明所需要的权限等。

它的基本样式如下所示:

xmlversion="1.0"encoding="utf-8"?

>

name="com.example.project.FreneticActivity"

android:

icon="@drawable/small_pic.png"

android:

label="@string/freneticLabel"

...>

...

不难看出,name,icon,lable这些属性就分别指activity的名称、图标、标识。

我们通过manifest描述程序的信息,Android系统就能读取出来并产生相应的行为。

3.音乐播放器实例

为了更好地体会Android应用程序的开发,我们将编写一个简易的音乐播放器为例,逐步分析如何编写一个Android程序。

下图就是播放器在模拟器中运行的截图。

它具有基本的播放功能,能自动扫描SD卡中的Music目录,并列出该目录下的所有mp3文件。

点击列表中的歌曲名称即可播放,通过上方的按钮可以控制暂停、继续、上一曲、下一曲。

3.1创建项目

1.点击File->New->Project,选择AndroidProject,再点击Next,即弹出项目属性窗口。

2.填写项目名称。

在Contents选项中,我们按如图所示选择。

保存的位置可以根据需要选择"Usedefaultlocation"或是另外选择。

3.在BuildTarget选项中,我们从已经安装的平台中选择一个,我们选择1.5版。

4.在Properties选项中,我们按如下所示填写:

5.填写完毕后,点击"Finish",项目即创建好了。

6.在Eclipse的左侧栏中,我们可以看到项目的结构:

顾名思义,src目录就是我们将要编写的java代码文件。

另外需要我们注意的就是res这个目录。

它下面的drawable目录保存的是我们要用到的图片。

layout目录保存的是描述窗口布局的XML文件。

values文件则保存的是包含有字符串值信息的XML文件。

3.2设计界面

该播放器程序的主界面并不复杂,它由两部分组成,上半部分是一排按钮,下半部分是一个列表。

下面我们逐步分析如何绘制界面。

3.2.1准备图片

该程序共用需要以下7个图标,全部为png格式。

把这些图标放在项目的res/drawable目录下。

3.2.2准备字符串资源

除了图片资源,在程序中,我们还需要用到一些字符串资源。

之所以不将字符串直接写入java代码中,是因为那样在项目规模大了以后不便于管理,也不便于实现多语言等功能。

利用ADT,我们可以很方便地添加字符串资源。

步骤如下:

1.展开左侧栏中的res/values目录,双击打开values目录下的strings.xml文件。

2.在编辑窗口中,我们可以看到ADT已经为我们自动添加了名为hello和app_name的两个String类型的资源。

下面我们将添加另外一个字符串,当歌曲列表中没有曲目时,就将显示该字符串。

首先,点击Add...,在弹出的窗口中,选择String,然后点击OK。

然后在Name和Value处填入字符串的名称和字符串的内容。

保存之后,就可以在其它地方引用该资源。

3.2.3设计程序的窗口布局

窗口布局文件位于res/layout目录下,我们将在layout目录下创建我们的布局文件。

1.在左侧栏中的layout文件夹上右键,选择New->File,在弹出的窗口中的Filename处填入songlist.xml。

单击Finish,即创建了一个空的布局文件。

如果对Android布局XML文件的语法非常熟悉,那么可以直接编辑该文件,但是一般情况下,我们还是用ADT工具进行所见即所得的编辑。

2.Android的窗口是由Layout和View组成的,Layout中可以包含View和Layout。

我们这个应用的界面排列较简单,因此,最外层的Layout可以采用LinerLayout这种比较简单的格式。

要添加它,先点击右侧边栏中Outline选项卡下的绿色“+”按钮,在弹出的窗口中选择LinerLayout,就添加成功了,在Outline窗口中就可以看到刚刚添加的这一项,同时中间的主窗口中也会显示一个空的黑色窗体。

另外,我们还可以修改某个Layout或View的属性,方法是在右侧的Outline窗口中选中要修改的窗口元素,在下侧边栏中,切换到Properties选项卡,就可以看到所有的项目属性。

大多数的选项都不需要我们手动设置。

下面我们继续添加其它的窗口元素。

Layout下可以嵌套其它的Layout和View,界面的上部分就是在最外层的LinerLayout下再放置了一个LinerLayout,然后在里层的LinerLayout里放置一排ImageButton。

界面的下半部分是一个ListView(或者TextView)。

当要在某个Layout里添加元素时,只需要先点击选中该Layout然后再点击"+"图标,就可以添加子元素到其中。

最后布局层次如图所示:

这时我们还需要对各个元素的属性作一些修改。

例如对于5个ImageButton,我们需要设置其Src属性。

这个属性表示的是图片的来源。

例如back按钮上要显示是的一个指向左边的箭头,这个箭头图标名为back.png,在前述步骤中已经被放在了res/drawable目录中了。

我们要把这个图标设为back按钮的图片来源,就需要在Src属性处填入"@drawable/back"。

"@drawable/back"就是引用这个箭头图标资源的ID。

如左图所示,在第一个LinerLayout下面,我们还添加了一个View。

这个View中没有显示元素,而只是起一个分隔线的作用,让界面更美观一些。

我们把这个View的Layoutheight属性设为5dip,在显示时,上方的按钮就不

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1