Android应用开发实验指导书.doc

上传人:豆**** 文档编号:23955586 上传时间:2022-07-02 格式:DOC 页数:60 大小:1.69MB
返回 下载 相关 举报
Android应用开发实验指导书.doc_第1页
第1页 / 共60页
Android应用开发实验指导书.doc_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《Android应用开发实验指导书.doc》由会员分享,可在线阅读,更多相关《Android应用开发实验指导书.doc(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateAndroid应用开发实验指导书Android应用开发Android应fg用开发实验指导书桂林电子科技大学计算机科学与工程学院2013.9目录实验一:搭建Android平台和创建HelloWorld1一、实验目的.二、实验要求.三、实验内容.1、安装并配置Java JDK.2、安装MyEclipse或Eclipse.3、安装Android SDK.4、安装ADT(An

2、droid 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和

3、SQLiteDatabase应用27一、实验目的.二、实验要求.1、创建项目.2、布局文件.3、创建Activity.实验六:图形绘制与OpenGL ES38一、实验目的.二、实验要求.三、实验过程.1、绘制直线、园、曲线等各种图形.2、显示字符.3、利用OpenGL ES方法编程.实验七:网络访问与服务45一、实验目的.二、实验要求.三、实验内容.1、访问WEB网站,通过HttpResponse类,读入网络数据.实验八:硬件访问与传感器53一、实验目的.二、实验要求.三、实验步骤.1、了解程序使用手机电话功能的方法,实现短信收发.2、对手机上传感器进行编程,实现相机拍摄.-实验一:搭建And

4、roid平台和创建HelloWorld实验目的本次实验的目的是让大家熟悉搭建智能手机开发平台的过程,了解Andorid开发项目的基本文件目录结构,并实现HelloWorld小例程。实验要求1. 完成Android开发平台的搭建及相关配置2. 创建项目并熟悉文件目录结构3. 实现例程HelloWorld实验内容一、安装并配置Java JDK1. 下载安装JDK,如安装目录为:C:Program Files (x86)Javajdk1.6.0_18。2. 配置JDK:XP:右键“我的电脑”“属性”“高级”“环境变量”WIN7:右键“我的电脑”“高级系统设置”“环境变量”新建系统变量:JAVA_HO

5、ME,C:Program Files (x86)Javajdk1.6.0_18(JDK安装目录)。PATH,%JAVA_HOME%bin;%JAVA_HOME%jrbin。CLASSPATH,.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(前面的.;一定要加上)配置完成后在CMD中输入java version和javac version,能看到对应的JDK版本即配置成功,如下图所示。二、安装MyEclipse或Eclipse安装平台。三、安装Android SDK1. 下载Android SDK地址:注意SDK的版本为r05,对应的ADT版本应为10.0.0,

6、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”再次运行安装文件。进入安装过程后,选

7、择“Accept All”,点击“Install”,如下图所示。安装完成后可以看到如下图所示的列表。3. 配置SDK同配置JDK一样配置SDK,将SDK的根目录tools(如:C:Users33Desktopandroid-sdk-windowstools)加入到系统变量PATH中。配置完成后在CMD中运行android,能看到一系列信息并打开了SDK Manager即说明SDK配置成功,如下图所示。四、安装ADT(Android Development Tools)1. 下载ADT地址:2. 安装ADTa) 解压下载的ADT包。b) 打开MyEclipse或Eclipse。c) 安装。MyE

8、clipse:点击“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. 配置ADT在MyEclipse或Eclipse中:“Window”“Preferences”“Android”在“SDK Location”项选择SDK根目录。配置过程可能出现

9、的问题:“Can not find/tools/adb.exe!”,这是因为tools目录下的adb.exe被移动到了platform-tools下了,从文件夹“platform-tools”中将adb.exe、AdbWinApi.dll和AdbWinUsbApi.dll三个文件拷贝至文件夹“tools”下即可。五、创建Android虚拟设备(AVD)1. 打开SDK Manager2. 点击“Virtual Device”3. 点击“New”4. 如下图所示设置,Target选择Android2.2,Size是SD卡的大小(可自行调整)5. 创建完AVD后选择该AVD并点击“Start”即可

10、运行该AVD,AVD的启动过程很慢,耐心等待,运行成功如下图所示。六、建立新项目HelloWorld1. 打开MyEclipse或Eclipse。2. 点击“File”“New” “Project”“Android Project”,创建HelloWorld项目,如下几个地方需要进行设置。项目名:HelloWorld勾选“Android 2.2”设置属性:3. 项目目录结构如下图所示,能看到已经建立好了Class:HelloWorld.java,接下来对其进行修改。4. 按照下图修改HelloWorld.java的内容,大家自己敲一敲熟悉一下。5. 选择项目HelloWorld并点击“Run

11、As”“Open Run Dialog”,用之前创建的AVD运行项目,运行结果如下图所示,到此为止HelloWorld项目就实现了。实验二:UI设计实验目的本次实验的目的是让大家熟悉Android开发中的UI设计,包括了解和熟悉常用控件的使用、界面布局和事件处理等内容。实验要求1. 熟悉和掌握界面控件设计2. 了解Android界面布局3. 掌握控件的事件处理实验内容一、常用控件1.常用控件介绍Android中有许多常用控件(简单分类):文本框:TextView、EditText按钮:Button、RadioButton、RadioGroup、CheckBox、ImageButton列表:Li

12、st、ExpandableListView、Spinner、AutoCompleteTextView、GridView、ImageView进度条:ProgressBar、ProgressDialog、SeekBar、RatingBar选择器:DatePicker、TimePicker菜单:Menu、ContentMenu对话框:Dialog、ProgressDialog常用的控件有文本框、按钮和列表等。2.控件的实现在上一个实验中,我们用TextView实现了在界面显示一句“Hello The Android World!”。 public void onCreate(Bundle saved

13、InstanceState) super.onCreate(savedInstanceState);TextView textView = new TextView(this);textView.setText(Hello The Android World!);setContentView(textView);现在我们来看一看.xml文件和编码的相互关系。在HelloWorld.java中敲入如下代码:package tju.scs.android.test;import android.app.Activity;import android.os.Bundle;import android

14、.widget.Button;import android.widget.TextView;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); TextView textView = (TextView)findViewBy

15、Id(R.id.textView01); Button button = (Button)findViewById(R.id.button01);注意在上面并没有为textView和button设置文本内容等,另外textView的初始化代码为:TextView textView = (TextView)findViewById(R.id.textView01);此处初始化用到了id为textView01的TextView。在项目目录中找到/res/layout/main.xml,如下: 注意上面列出了两个控件:TextView和Button,id分别为textView01和button01,

16、它们的文本内容分别为string/hello和string/button。在项目目录中找到/res/values/strings.xml,如下: Hello The Android World! I am a button! HelloWorld可以看到两个string:hello和button的内容分别为“Hello The Android World!”和“I am a button!”,即使文本框和按钮在界面上显示的内容,如下图所示:3.控件的属性可以直接在类中为控件设置属性,也可以在xml文件中设置属性。每个控件都有一系列的属性,例如id、size、text、color等等,大家可以找

17、找API查看控件的属性。二、界面布局Android中有很多布局:l FrameLayout:最简单的一个布局对象。它里面只显示一个显示对象。Android屏幕元素中所有的显示对象都将会固定在屏幕的左上角,不能指定位置。但允许有多个显示对象,但后一个将会直接在前一个之上进行覆盖显示,把前一个部份或全部挡住(除非后一个是透明的)。l LinearLayout:以单一方向对其中的显示对象进行排列显示,如以垂直排列显示,则布局管理器中将只有一列;如以水平排列显示,则布局管理器中将只有一行。同时,它还可以对个别的显示对象设置显示比例。l TableLayout:以拥有任意行列的表格对显示对象进行布局,每

18、个显示对象被分配到各自的单元格之中,但单元格的边框线不可见。l AbsoluteLayout:允许以坐标的方式,指定显示对象的具体位置,左上角的坐标为(0, 0),向下及向右,坐标值变大。这种布局管理器由于显示对象的位置定死了,所以在不同的设备上,有可能会出现最终的显示效果不一致。l RelativeLayout:允许通过指定显示对象相对于其它显示对象或父级对象的相对位置来布局。如一个按钮可以放于另一个按钮的右边,或者可以放在布局管理器的中央。布局中可以放置控件,而每个布局又可以嵌套其他布局,这种思想和之前学习java的布局是一样的。例如在main.xml中如下布局: 在一个LinearLay

19、out布局下嵌套了两个LinearLayout,出来的效果如下图所示:其他布局请大家自行尝试。三、事情处理事件监听和时间处理的概念大家以前都学习过,android中主要有如下事件方法:l onClick(View v) 一个普通的点击按钮事件 l boolean onKeyMultiple(int keyCode,int repeatCount,KeyEvent event)用于在多个事件连续时发生,用于按键重复l boolean onKeyDown(int keyCode,KeyEvent event) 用于在按键进行按下时发生 l boolean onKeyUp(int keyCode,K

20、eyEvent event) 用于在按键进行释放时发生l onTouchEvent(MotionEvent event)触摸屏事件,当在触摸屏上有动作时发生l boolean onKeyLongPress(int keyCode, KeyEvent event)当长时间按时发生下面以点击一个Button为例子:package tju.scs.android.test;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListe

21、ner;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.m

22、ain); Button button = (Button)findViewById(R.id.button01); button.setOnClickListener(buttonListener); private OnClickListener buttonListener = new OnClickListener()public void onClick(View v) Toast.makeText(v.getContext(), You have clicked a button!,Toast.LENGTH_LONG).show(); ;为button添加了一个监听buttonLi

23、stener,对应的onClick方法则抛出了一则文本框提示用户,效果图如下所示:其他事件处理请大家自行尝试。实验三:Intent、Activity应用一、实验目的本次实验的目的是让大家熟悉Intent和Activity的使用。Intent的最常用的用途是绑定应用程序组件。Intent用来在应用程序Activity间启动、停止和传输。并实现添加用户名,密码小例程。二、实验要求4. 完成Android开发平台的搭建及相关配置5. 创建项目并熟悉文件目录结构6. 实现例程添加用户名,密码实验步骤三、实验步骤项目界面:添加用户名,密码,在另一页面显示用户名。1、创建项目新建一个Android工程命名

24、为test1,目录结构如下图:2、添加布局文件修改main.xml布局文件(这里增加了两个TextView,两个EditView,一个按钮),如下图新建test2.xml布局文件(这里增加了两个TextView),这个页面是用来显示添加的用户名,如下图:3、创建Activity修改test1.java,并且新建一个Activity,一个是test2.java。,代码分别如下:Test1.java作用:获得页面输入的内容,存储并跳转到test2.xml。 Test2.java作用:从Intent中获得需要显示name的值,并给TextView赋值。4修改AndroidManifest.xml文件

25、比较重要的一步啦,修改AndroidManifest.xml文件(将新增的Activity,test2) 注册一下,代码如下(第16行):实验四:service应用一、实验目的本次实验的目的是让大家熟悉service的使用。一个使用Service的典型的例子是,用户一边在手机做其他的事情,一边听手机上的音乐。其中,在后台播放音乐就可以使用Service来实现。并实现简单播放器的小例程。二、实验要求1. 创建项目并熟悉文件目录结构。2. 实现例程简单播放器。三、实验步骤项目界面:1、创建项目新建一个Android工程命名为test1,目录结构如下图: 2、布局文件修改main .Xml文件修改M

26、usciPlayer.java文件,新建MusicService.java文件,代码如下图:MusciPlayer.java文件MusicService.java3、修改AndroidManifest.xml文件比较重要的一步啦,修改AndroidManifest.xml文件(将新增的service) 注册一下,代码如下(第16行):实验五:SQLite和SQLiteDatabase应用一、实验目的1、本次实验的目的是让大家熟悉Android中对数据库进行操作的相关的接口、类等。SQLiteDatabase这个是在android中数据库操作使用最频繁的一个类。通过它可以实现数据库的创建或打开、

27、创建表、插入数据、删除数据、查询数据、修改数据等操作。2、实现添加用户名,爱好小例程。二、实验要求1、完成Android开发平台的搭建及相关配置2、创建项目并熟悉文件目录结构3、实现例程添加用户名,爱好实验步骤三、实验步骤项目界面:输入用户名,爱好添加到数据库,由数据库查询出来显示插入的列表。当单击列表时会弹出Alert询问是否删除,进行删除操作。1、创建项目新建一个Android工程命名为Database,目录结构如下图:2、布局文件修改main.xml布局文件,添加display.xml文件,用来显示列表。如下图Main.XmlDisplay.xml3、创建Activity修改Databa

28、seActivity.java文件,新建DBHelper.java文件和displayAvtivity.java,代码如下图:DBHelper.java 操作数据库的工具类,该类继承SQLiteOpenHelper。DatabaseActivity.java 获取页面输入的值,添加到数据库displayAvtivity.java 显示列表,删除数据实验六 图形绘制与OpenGL ES【实验目的】在屏幕绘制各种图形,了解OpenGL【实验要求】1、 了解在屏幕绘图方法2、 了解OpenGL【实验原理】【实验过程】1、 绘制直线、园、曲线等各种图形2、 显示字符3、 利用OpenGL ES方法编程

29、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

30、 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 规范定义的。简单的来说,O

31、penGL 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

32、里有三个与OpenGL有关的包:android.opengljavax.microedition.khronos.egljavax.microedition.khronos.openglespublic void onDrawFrame(GL10 gl) /一般的opengl程序,首先要做的就是清屏gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);/紧接着设置模型视图矩阵gl.glMatrixMode(GL10.GL_MODELVIEW);gl.glLoadIdentity();/清空矩阵GLU.gluLookAt(

33、gl, 0, 0, 3, 0, 0, 0, 0, 1, 0);/视点变换,将相机位置设置为(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);实验七 网络访问与服务【实验目的】掌握Android网络访问方法【实验要求】1、 了解手机WEB网站访问编程2、 通过网络进行数据访问3、 了解数据库使用【实验原理】利用Android网络

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁