《Android应用开发》实验指导书(桂电)

更新时间:2024-05-30 04:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Android应用开发》

实验指导书

桂林电子科技大学计算机科学与工程学院

2013.9

第 1 页

目录

实验一:搭建Android平台和创建HelloWorld ........................... 1

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... . 三、实验内容......................................................................................................... .

1、安装并配置Java JDK ................................................................................ . 2、安装MyEclipse或Eclipse ........................................................................ . 3、安装Android SDK ..................................................................................... . 4、安装ADT(Android Development Tools) .............................................. . 5、创建Android虚拟设备(AVD) ............................................................. . 6、建立新项目HelloWorld ........................................................................... .

实验二:UI设计 ..................................................... 8

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... . 三、实验内容......................................................................................................... .

1、常用控件 .................................................................................................. . 2、界面布局 .................................................................................................. . 3、事情处理 .................................................................................................. .

实验三:Intent、Activity应用 ...................................... 16

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... . 三、实验步骤......................................................................................................... .

1、创建项目................................................................................................... . 2、添加布局文件........................................................................................... . 3、创建Activity ............................................................................................ . 4.修改AndroidManifest.xml文件 .............................................................. .

实验四:service应用 ............................................... 22

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... . 三、实验步骤......................................................................................................... .

1、创建项目................................................................................................... . 2、布局文件................................................................................................... . 3、修改AndroidManifest.xml文件 .............................................................. .

实验五:SQLite和SQLiteDatabase应用 ............................... 27

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... .

1、创建项目................................................................................................... . 2、布局文件................................................................................................... . 3、创建Activity ............................................................................................ .

实验六:图形绘制与OpenGL ES ....................................... 38

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... .

第 2 页

三、实验过程......................................................................................................... .

1、绘制直线、园、曲线等各种图形 .......................................................... . 2、显示字符 .................................................................................................. . 3、利用OpenGL ES方法编程 ...................................................................... .

实验七:网络访问与服务 ............................................ 45

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... . 三、实验内容......................................................................................................... .

1、访问WEB网站,通过HttpResponse类,读入网络数据 .......................... .

实验八:硬件访问与传感器 .......................................... 53

一、实验目的......................................................................................................... . 二、实验要求......................................................................................................... . 三、实验步骤......................................................................................................... .

1、了解程序使用手机电话功能的方法,实现短信收发........................... . 2、对手机上传感器进行编程,实现相机拍摄........................................... .

第 3 页

实验一:搭建Android平台和创建

HelloWorld

实验目的

本次实验的目的是让大家熟悉搭建智能手机开发平台的过程,了解Andorid开发项目的基本文件目录结构,并实现HelloWorld小例程。

实验要求

1. 完成Android开发平台的搭建及相关配置 2. 创建项目并熟悉文件目录结构 3. 实现例程HelloWorld

实验内容

一、安装并配置Java JDK

1. 下载安装JDK,如安装目录为:C:\\Program Files (x86)\\Java\\jdk1.6.0_18。 2. 配置JDK:

XP:右键“我的电脑”?“属性”?“高级”?“环境变量” WIN7:右键“我的电脑”?“高级系统设置”?“环境变量” 新建系统变量:

JAVA_HOME,C:\\Program Files (x86)\\Java\\jdk1.6.0_18(JDK安装目录)。

PATH,%JAVA_HOME%\\bin;%JAVA_HOME%\\jr\\bin。 CLASSPATH,.;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\tools.jar(前面的.;一定要加上)

配置完成后在CMD中输入java –version和javac –version,能看到对应的JDK版本即配置成功,如下图所示。

第 - 1 - 页

二、安装MyEclipse或Eclipse

安装平台。

三、安装Android SDK

1. 下载Android SDK

地址:http://dl.google.com/android/android-sdk_r05-windows.zip。 注意SDK的版本为r05,对应的ADT版本应为10.0.0,SDK和ADT需要对应才能正常运行程序。 2. 安装SDK

安装过程可能碰到的问题1:弹出窗口“Failed to fetch url?” 需要如下设置:关闭该窗口?点击“cancel”?在左侧选择“Settings”?选中“Force https://...” ?点击“Save and Apply”?重新运行安装文件。

安装过程可能碰到的问题2:弹出窗口“a folder failed to be renamed or moved”

需要如下设置:将文件夹“android-sdk-windows”下的“tools”复制粘贴。?打开文件夹“tools-复制”?运行“android.bat”?再次运行安装文件。

进入安装过程后,选择“Accept All”,点击“Install”,如下图所示。

安装完成后可以看到如下图所示的列表。

第 - 2 - 页

3. 配置SDK

同配置JDK一样配置SDK,将SDK的根目录\\tools(如:C:\\Users\\33\\Desktop\\android-sdk-windows\\tools)加入到系统变量PATH中。配置完成后在CMD中运行android,能看到一系列信息并打开了SDK Manager即说明SDK配置成功,如下图所示。

四、安装ADT(Android Development Tools)

1. 下载ADT

地址:http://dl.google.com/android/ADT-10.0.0.zip。 2. 安装ADT

a) 解压下载的ADT包。

b) 打开MyEclipse或Eclipse。 c) 安装。

MyEclipse:点击“Help”?“Software Updates”?“Find and Install…”?“Search for new features to install”?点击“New Local Site”?选择解压后的ADT包,然后按照提示安装即可。 Eclipse:“Help”?“Insatll New Software…”?“Add…”?在Name中输入“ADT”,Location中选择解压的包,然后按照提示安装即可。

第 - 3 - 页

3. 配置ADT

在MyEclipse或Eclipse中:“Window”?“Preferences”?“Android”?在“SDK Location”项选择SDK根目录。 配置过程可能出现的问题:“Can not find…/tools/adb.exe!”,这是因为tools目录下的adb.exe被移动到了platform-tools下了,从文件夹“platform-tools”中将adb.exe、AdbWinApi.dll和AdbWinUsbApi.dll三个文件拷贝至文件夹“tools”下即可。

五、创建Android虚拟设备(AVD)

1. 打开SDK Manager

2. 点击“Virtual Device” 3. 点击“New”

4. 如下图所示设置,Target选择Android2.2,Size是SD卡的大小(可自行调整)

5. 创建完AVD后选择该AVD并点击“Start”即可运行该AVD,AVD的启动过程很慢,耐心等待,运行成功如下图所示。

第 - 4 - 页

六、建立新项目HelloWorld

1. 打开MyEclipse或Eclipse。

2. 点击“File”?“New” ?“Project”?“Android Project”,创建HelloWorld项目,如下几个地方需要进行设置。 项目名:HelloWorld

设置属性:

勾选“Android 2.2”

第 - 5 - 页

3. 项目目录结构如下图所示,能看到已经建立好了Class:HelloWorld.java,接下来对其进行修改。

4. 按照下图修改HelloWorld.java的内容,大家自己敲一敲熟悉一下。

5. 选择项目HelloWorld并点击“Run As”?“Open Run Dialog”,用之前创建的AVD运行项目,运行结果如下图所示,到此为止HelloWorld项目就实现了。

第 - 6 - 页

第 - 7 - 页

其他布局请大家自行尝试。

三、事情处理

事件监听和时间处理的概念大家以前都学习过,android中主要有如下事件方法:

? onClick(View v) 一个普通的点击按钮事件

? boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)用于在多

个事件连续时发生,用于按键重复

? boolean onKeyDown(int keyCode,KeyEvent event) 用于在按键进行按下时发

? boolean onKeyUp(int keyCode,KeyEvent event) 用于在按键进行释放时发生 ? onTouchEvent(MotionEvent event)触摸屏事件,当在触摸屏上有动作时发生 ? boolean onKeyLongPress(int keyCode, KeyEvent event)当长时间按时发生

下面以点击一个Button为例子: package tju.scs.android.test;

第 13 页

import android.app.Activity; import android.os.Bundle; import android.view.View;

import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast;

public class HelloWorld extends Activity {

/** Called when the activity is first created. */ @Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

Button button = (Button)findViewById(R.id.button01); button.setOnClickListener(buttonListener); }

private OnClickListener buttonListener = new OnClickListener(){ public void onClick(View v) { Toast.makeText(v.getContext(), \button!\,Toast.LENGTH_LONG).show(); } }; } 为button添加了一个监听buttonListener,对应的onClick方法则抛出了一则文本框提示用户,效果图如下所示:

第 14 页

其他事件处理请大家自行尝试。

第 15 页

实验三:Intent、Activity应用

一、实验目的

本次实验的目的是让大家熟悉Intent和Activity的使用。Intent的最常用的用途是绑定应用程序组件。Intent用来在应用程序Activity间启动、停止和传输。并实现添加用户名,密码小例程。

二、实验要求

4. 完成Android开发平台的搭建及相关配置 5. 创建项目并熟悉文件目录结构

6. 实现例程添加用户名,密码实验步骤

三、实验步骤

项目界面:添加用户名,密码,在另一页面显示用户名。

1、创建项目

新建一个Android工程命名为test1,目录结构如下图:

第 16 页

2、添加布局文件

修改main.xml布局文件(这里增加了两个TextView,两个EditView,一个按钮),如下图

第 17 页

新建test2.xml布局文件(这里增加了两个TextView),这个页面是用来显示添加的用户名,如下图:

3、创建Activity

修改test1.java,并且新建一个Activity,一个是test2.java。,代码分别如下: Test1.java

作用:获得页面输入的内容,存储并跳转到test2.xml。

第 18 页

第 19 页

Test2.java

作用:从Intent中获得需要显示name的值,并给TextView赋值。

第 20 页

4.修改AndroidManifest.xml文件

比较重要的一步啦,修改AndroidManifest.xml文件(将新增的Activity,test2) 注册一下,代码如下(第16行):

第 21 页

实验四:service应用

一、实验目的

本次实验的目的是让大家熟悉service的使用。一个使用Service的典型的

例子是,用户一边在手机做其他的事情,一边听手机上的音乐。其中,在后台播放音乐就可以使用Service来实现。并实现简单播放器的小例程。

二、实验要求

1. 创建项目并熟悉文件目录结构。 2. 实现例程简单播放器。

三、实验步骤

项目界面:

1、创建项目

新建一个Android工程命名为test1,目录结构如下图:

第 22 页

2、布局文件 修改main .Xml文件

第 23 页

修改MusciPlayer.java文件,新建MusicService.java文件,代码如下图: MusciPlayer.java文件

第 24 页

MusicService.java

第 25 页

3、修改AndroidManifest.xml文件

比较重要的一步啦,修改AndroidManifest.xml文件(将新增的service) 注册一下,代码如下(第16行):

第 26 页

实验五:SQLite和SQLiteDatabase应用

一、实验目的

1、本次实验的目的是让大家熟悉Android中对数据库进行操作的相关的接口、类等。SQLiteDatabase这个是在android中数据库操作使用最频繁的一个类。通过它可以实现数据库的创建或打开、创建表、插入数据、删除数据、查询数据、修改数据等操作。

2、实现添加用户名,爱好小例程。

二、实验要求

1、完成Android开发平台的搭建及相关配置 2、创建项目并熟悉文件目录结构

3、实现例程添加用户名,爱好实验步骤

三、实验步骤

项目界面:输入用户名,爱好添加到数据库,由数据库查询出来显示插入的列表。当单击列表时会弹出Alert询问是否删除,进行删除操作。

第 27 页

1、创建项目

新建一个Android工程命名为Database,目录结构如下图:

第 28 页

第 29 页

2、布局文件

修改main.xml布局文件,添加display.xml文件,用来显示列表。如下图 Main.Xml

Display.xml

第 30 页

3、创建Activity

修改DatabaseActivity.java文件,新建DBHelper.java文件和displayAvtivity.java,代码如下图:

DBHelper.java 操作数据库的工具类,该类继承SQLiteOpenHelper。

第 31 页

第 32 页

DatabaseActivity.java 获取页面输入的值,添加到数据库

第 33 页

displayAvtivity.java 显示列表,删除数据

第 34 页

第 35 页

实验六 图形绘制与OpenGL ES

【实验目的】

在屏幕绘制各种图形,了解OpenGL 【实验要求】

1、了解在屏幕绘图方法 2、了解OpenGL 【实验原理】

【实验过程】

1、绘制直线、园、曲线等各种图形 2、显示字符

3、利用OpenGL ES方法编程

Android中的图形系统采用Client/Server架构。Server (即SurfaceFlinger)主要由c++代码编写而成。Client端代码分为两部分,一部分是由Java提供的供应用使用的api,另一部分则是由c++写成的底层实现。

Android图形系统中通过surface为view创建一个Canvas对象,管理view在surface上的绘图操作。View及其子类(如TextView, Button)要画在surface上。

OpenGL ES (OpenGL for Embedded Systems) 是一个针对嵌入式应用的,免费的,支持全功能2D、3D的跨平台API(OpenGL? ES is a royalty-free, cross-platform API for full-function 2D and 3D graphics on embedded systems - including consoles, phones, appliances and vehicles)。目前主要由3个版本,1.0,1.1,2.0。

OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,1.1完全兼容1.0。OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的。简单的来说,OpenGL ES是OpenGL针对嵌入式应用的简化版,也就是android使用的标准。OpenGL ES 1.1强调api的硬件加速,OpenGL ES 2.0更强调3D能力。

OpenGL ES 1.1和OpenGL ES 2.0之间的关系并不是旧版本和新版本之间的差别,而是一个针对相对低端的应用,一个针对高级应用,OpenGL官方的roadmap也是将这两个版本并行发展的。2.X并不能百分百兼容1.X。

Android现在支持1.X和2.X。OpenGL ES是专为内嵌和移动设备设计的一个2D/3D轻量级图形库,它基于OpenGL API设计,是OpenGL三维图形API的子集。Android里有三个与OpenGL有关的包: android.opengl

javax.microedition.khronos.egl

javax.microedition.khronos.opengles public void onDrawFrame(GL10 gl) { //一般的opengl程序,首先要做的就是清屏 第 36 页

gl.glClear(GL10.GL_COLOR_BUFFER_BIT | //紧接着设置模型视图矩阵 gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glLoadIdentity();//清空矩阵 GLU.gluLookAt(gl, 0, 0, 3, 0, 0, 0, 0, 1, 0);//视点变换,将相机位GL10.GL_DEPTH_BUFFER_BIT); 置设置为(0, 0, 3),同时指向(0, 0, 0)点 //设置模型位置旋转及缩放信息 gl.glTranslatef(0.0f, 0.0f, -1.0f);//将模型位置设置为(0, 0, -1) float angle = 30.0f; gl.glRotatef(angle, 0, 1, 0);//绕模型自身Y轴旋转30度 gl.glRotatef(angle, 1, 0, 0);//绕模型自身X轴旋转30度 gl.glScalef(1.2f, 1.2f, 1.2f);//设置三方向的缩放系数 //设置颜色 gl.glColor4f(0.0f, 0.0f, 0.0f, 1.0f); //渲染立方体 mCube.draw(gl, gl.GL_TRIANGLES); //mCube.draw(gl, gl.GL_LINES); }

第 37 页

本文来源:https://www.bwwdw.com/article/bxc6.html

Top