《Android应用开发》实验指导书桂电.docx

上传人:b****7 文档编号:9588307 上传时间:2023-02-05 格式:DOCX 页数:54 大小:1.28MB
下载 相关 举报
《Android应用开发》实验指导书桂电.docx_第1页
第1页 / 共54页
《Android应用开发》实验指导书桂电.docx_第2页
第2页 / 共54页
《Android应用开发》实验指导书桂电.docx_第3页
第3页 / 共54页
《Android应用开发》实验指导书桂电.docx_第4页
第4页 / 共54页
《Android应用开发》实验指导书桂电.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

《Android应用开发》实验指导书桂电.docx

《《Android应用开发》实验指导书桂电.docx》由会员分享,可在线阅读,更多相关《《Android应用开发》实验指导书桂电.docx(54页珍藏版)》请在冰豆网上搜索。

《Android应用开发》实验指导书桂电.docx

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

 

《Android应用开发》

实验指导书

 

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

2013.9

目录

实验一:

搭建Android平台和创建HelloWorld1

一、实验目的.

二、实验要求.

三、实验内容.

1、安装并配置JavaJDK.

2、安装MyEclipse或Eclipse.

3、安装AndroidSDK.

4、安装ADT(AndroidDevelopmentTools).

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.

实验六:

图形绘制与OpenGLES38

一、实验目的.

二、实验要求.

三、实验过程.

1、绘制直线、园、曲线等各种图形.

2、显示字符.

3、利用OpenGLES方法编程.

实验七:

网络访问与服务45

一、实验目的.

二、实验要求.

三、实验内容.

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

实验八:

硬件访问与传感器53

一、实验目的.

二、实验要求.

三、实验步骤.

1、了解程序使用手机电话功能的方法,实现短信收发.

2、对手机上传感器进行编程,实现相机拍摄.

实验一:

搭建Android平台和创建HelloWorld

实验目的

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

实验要求

1.完成Android开发平台的搭建及相关配置

2.创建项目并熟悉文件目录结构

3.实现例程HelloWorld

实验内容

一、安装并配置JavaJDK

1.下载安装JDK,如安装目录为:

C:

\ProgramFiles(x86)\Java\jdk1.6.0_18。

2.配置JDK:

XP:

右键“我的电脑”“属性”“高级”“环境变量”

WIN7:

右键“我的电脑”“高级系统设置”“环境变量”

新建系统变量:

JAVA_HOME,C:

\ProgramFiles(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版本即配置成功,如下图所示。

二、安装MyEclipse或Eclipse

安装平台。

三、安装AndroidSDK

1.下载AndroidSDK

地址:

注意SDK的版本为r05,对应的ADT版本应为10.0.0,SDK和ADT需要对应才能正常运行程序。

2.安装SDK

安装过程可能碰到的问题1:

弹出窗口“Failedtofetchurl…”

需要如下设置:

关闭该窗口点击“cancel”在左侧选择“Settings”选中“Forcehttps:

//...”点击“SaveandApply”重新运行安装文件。

安装过程可能碰到的问题2:

弹出窗口“afolderfailedtoberenamedormoved”

需要如下设置:

将文件夹“android-sdk-windows”下的“tools”复制粘贴。

打开文件夹“tools-复制”运行“android.bat”再次运行安装文件。

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

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

3.配置SDK

同配置JDK一样配置SDK,将SDK的根目录\tools(如:

C:

\Users\33\Desktop\android-sdk-windows\tools)加入到系统变量PATH中。

配置完成后在CMD中运行android,能看到一系列信息并打开了SDKManager即说明SDK配置成功,如下图所示。

四、安装ADT(AndroidDevelopmentTools)

1.下载ADT

地址:

2.安装ADT

a)解压下载的ADT包。

b)打开MyEclipse或Eclipse。

c)安装。

MyEclipse:

点击“Help”“SoftwareUpdates”“FindandInstall…”“Searchfornewfeaturestoinstall”点击“NewLocalSite”选择解压后的ADT包,然后按照提示安装即可。

Eclipse:

“Help”“InsatllNewSoftware…”“Add…”在Name中输入“ADT”,Location中选择解压的包,然后按照提示安装即可。

3.配置ADT

在MyEclipse或Eclipse中:

“Window”“Preferences”“Android”在“SDKLocation”项选择SDK根目录。

配置过程可能出现的问题:

“Cannotfind…/tools/adb.exe!

”,这是因为tools目录下的adb.exe被移动到了platform-tools下了,从文件夹“platform-tools”中将adb.exe、AdbWinApi.dll和AdbWinUsbApi.dll三个文件拷贝至文件夹“tools”下即可。

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

1.打开SDKManager

2.点击“VirtualDevice”

3.点击“New”

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

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

六、建立新项目HelloWorld

1.打开MyEclipse或Eclipse。

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

项目名:

HelloWorld

勾选“Android2.2”

设置属性:

3.项目目录结构如下图所示,能看到已经建立好了Class:

HelloWorld.java,接下来对其进行修改。

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

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

实验二:

UI设计

实验目的

本次实验的目的是让大家熟悉Android开发中的UI设计,包括了解和熟悉常用控件的使用、界面布局和事件处理等内容。

实验要求

1.熟悉和掌握界面控件设计

2.了解Android界面布局

3.掌握控件的事件处理

实验内容

一、常用控件

1.常用控件介绍

Android中有许多常用控件(简单分类):

文本框:

TextView、EditText

按钮:

Button、RadioButton、RadioGroup、CheckBox、ImageButton

列表:

List、ExpandableListView、Spinner、AutoCompleteTextView、GridView、ImageView

进度条:

ProgressBar、ProgressDialog、SeekBar、RatingBar

选择器:

DatePicker、TimePicker

菜单:

Menu、ContentMenu

对话框:

Dialog、ProgressDialog

常用的控件有文本框、按钮和列表等。

2.控件的实现

在上一个实验中,我们用TextView实现了在界面显示一句“HelloTheAndroidWorld!

”。

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

TextViewtextView=newTextView(this);

textView.setText("HelloTheAndroidWorld!

");

setContentView(textView);

}

现在我们来看一看.xml文件和编码的相互关系。

在HelloWorld.java中敲入如下代码:

packagetju.scs.android.test;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.widget.Button;

importandroid.widget.TextView;

publicclassHelloWorldextendsActivity{

/**Calledwhentheactivityisfirstcreated.*/

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

TextViewtextView=(TextView)findViewById(R.id.textView01);

Buttonbutton=(Button)findViewById(R.id.button01);

}

}

注意在上面并没有为textView和button设置文本内容等,另外textView的初始化代码为:

TextViewtextView=(TextView)findViewById(R.id.textView01);

此处初始化用到了id为textView01的TextView。

在项目目录中找到/res/layout/main.xml,如下:

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

>

android="

android:

orientation="vertical"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

>

android:

id="@+id/textView01"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="@string/hello"

/>

android:

id="@+id/button01"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="@string/button"

/>

注意上面列出了两个控件:

TextView和Button,id分别为textView01和button01,它们的文本内容分别为@string/hello和@string/button。

在项目目录中找到/res/values/strings.xml,如下:

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

>

HelloTheAndroidWorld!

Iamabutton!

HelloWorld

可以看到两个string:

hello和button的内容分别为“HelloTheAndroidWorld!

”和“Iamabutton!

”,即使文本框和按钮在界面上显示的内容,如下图所示:

3.控件的属性

可以直接在类中为控件设置属性,也可以在xml文件中设置属性。

每个控件都有一系列的属性,例如id、size、text、color等等,大家可以找找API查看控件的属性。

二、界面布局

Android中有很多布局:

●FrameLayout:

最简单的一个布局对象。

它里面只显示一个显示对象。

Android屏幕元素中所有的显示对象都将会固定在屏幕的左上角,不能指定位置。

但允许有多个显示对象,但后一个将会直接在前一个之上进行覆盖显示,把前一个部份或全部挡住(除非后一个是透明的)。

●LinearLayout:

以单一方向对其中的显示对象进行排列显示,如以垂直排列显示,则布局管理器中将只有一列;如以水平排列显示,则布局管理器中将只有一行。

同时,它还可以对个别的显示对象设置显示比例。

●TableLayout:

以拥有任意行列的表格对显示对象进行布局,每个显示对象被分配到各自的单元格之中,但单元格的边框线不可见。

●AbsoluteLayout:

允许以坐标的方式,指定显示对象的具体位置,左上角的坐标为(0,0),向下及向右,坐标值变大。

这种布局管理器由于显示对象的位置定死了,所以在不同的设备上,有可能会出现最终的显示效果不一致。

●RelativeLayout:

允许通过指定显示对象相对于其它显示对象或父级对象的相对位置来布局。

如一个按钮可以放于另一个按钮的右边,或者可以放在布局管理器的中央。

布局中可以放置控件,而每个布局又可以嵌套其他布局,这种思想和之前学习java的布局是一样的。

例如在main.xml中如下布局:

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

>

android="

android:

id="@+id/main"

android:

orientation="vertical"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

>

android:

orientation="horizontal"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

android:

layout_weight="1">

android:

text="red"

android:

gravity="center_horizontal"

android:

background="#aa0000"

android:

layout_width="wrap_content"

android:

layout_height="fill_parent"

android:

layout_weight="1"/>

android:

text="green"

android:

gravity="center_horizontal"

android:

background="#00aa00"

android:

layout_width="wrap_content"

android:

layout_height="fill_parent"

android:

layout_weight="1"/>

android:

text="blue"

android:

gravity="center_horizontal"

android:

background="#0000aa"

android:

layout_width="wrap_content"

android:

layout_height="fill_parent"

android:

layout_weight="1"/>

android:

text="yellow"

android:

gravity="center_horizontal"

android:

background="#aaaa00"

android:

layout_width="wrap_content"

android:

layout_height="fill_parent"

android:

layout_weight="1"/>

android:

orientation="vertical"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

android:

layout_weight="2">

android:

text="rowone"

android:

textSize="15pt"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

layout_weight="1"/>

android:

text="rowtwo"

android:

textSize="15pt"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

layout_weight="1"/>

android:

text="rowthree"

android:

textSize="15pt"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

layout_weight="1"/>

android:

text="rowfour"

android:

textSize="15pt"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

layout_weight="1"/>

在一个LinearLayout布局下嵌套了两个LinearLayout,出来的效果如下图所示:

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

三、事情处理

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

●onClick(Viewv)一个普通的点击按钮事件

●booleanonKeyMultiple(intkeyCode,intrepeatCount,KeyEventevent)用于在多个事件连续时发生,用于按键重复

●booleanonKeyDown(intkeyCode,KeyEventevent)用于在按键进行按下时发生

●booleanonKeyUp(intkeyCode,KeyEventevent)用于在按键进行释放时发生

●onTouchEvent(MotionEventevent)触摸屏事件,当在触摸屏上有动作时发生

●booleanonKeyLongPress(intkeyCode,KeyEventevent)当长时间按时发生

下面以点击一个Button为例子:

packagetju.scs.android.test;

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.TextView;

importandroid.widget.Toast;

publicclassHelloWorldextendsActivity{

/**Calledwhentheactivityisfirstcreated.*/

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Buttonbutton=(Button)findViewById(R.id.button01);

button.setOnClickListener(buttonListener);

}

privateOnClickListenerbuttonListener=newOnClickListener(){

publicvoidonCli

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

当前位置:首页 > 工程科技 > 建筑土木

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

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