ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:1.88MB ,
资源ID:17962273      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17962273.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android应用开发实验指导书.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、Android应用开发实验指导书手机应用开发实验指导书西南科技大学计算机科学与技术学院2015.11注意:平时实验只完成实验一到实验五实验一:搭建Android开发平台和创建HelloWorld程序实验目的本次实验的目的是让同学们熟悉搭建智能手机开发平台的过程,了解Andorid应用程序项目的基本文件目录结构,并实现HelloWorld小例程。实验要求1.学习Android开发平台的搭建及相关配置2.创建项目并熟悉文件目录结构3.实现例程HelloWorld实验内容一、安装并配置Java JDK1.下载安装JDK,网址如下。((1)了解JDK与JRE的区别。(2)了解JDK 不同版本号的区别。

2、(3)了解jdk-8u65-windows-i586.exe与jdk-8u65-windows-x64.exe的区别(4)查看并记录下实验用机上jdk的版本以及安装地址。2.配置JDK:XP:右键“我的电脑”“属性”“高级”“环境变量”WIN7:右键“我的电脑”“高级系统设置”“环境变量”新建系统变量:JAVA_HOME,C:Program Files (x86)Javajdk1.6.0_18(JDK安装目录)。PATH,%JAVA_HOME%bin;%JAVA_HOME%jrbin。CLASSPATH,.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(前面的.

3、;一定要加上)配置完成后在CMD中输入java version和javac version,能看到对应的JDK版本即配置成功,如下图所示。请思考设置这三个环境变量的作用。二、下载安装集成ADT(Android Development Tools 插件的Eclipse(即adt-bundle)1.认识开发工具根据桌面的eclipse(adt)快捷找到本机上的adt-bundle,打开并了解其目录结构。2.认识、使用SDK 管理器工具 在adt-bundle文件目录里找到并启动SDK Manager.exe,查看本机目前安装的Android SDK插件情况。3.启动Eclipse在adt-bund

4、le文件目录里找到并启动eclipse.exe,启动后查看本机上eclipse配置的工作区位置(工程源代码存放的位置)。请思考如何使代码编辑区的代码显示行号,如果修改代码区字符的大小。三、创建Android虚拟设备(AVD)1.启动AVD (Android Virtual Device)管理器在adt-bundle的sdk目录下找到并启动 AVD Manager.exe2.尝试创建一台虚拟的目标调试设备,注意物理内存不要设置太大。四、创建第一个Android工程项目HelloWorld1.打开Eclipse。2.点击“File”“New” “Project”“Android Project”,

5、创建HelloWorld项目。3.输入合法的Application Name、Project Name和Package Name后一路Next,完成项目的创建。创建成功后的项目文件结构如下:找到并查看项目中的如下几个文件:a)MainActivity.javab)R.javac)activity_main.xmld)strings.xmle)AndroidManifest.xmlf)Project.properties4.打开eclipse下方的Problem查看器查看警告。 5.选择项目HelloWorld点击右键Run As“Android Application”,用之前创建的AVD运行

6、此项目。6.如果运行失败,查看相应的提示信息后,重新跳到步骤1创建一个新的项目HelloWorld2,创建时将Minimun Required SDK设置为Android 4.0或以上。请思考第一次创建的项目为什么会多生成一个appcompat_V7目录,并且运行失败。更改最低SDK版本后运行成功。实验二:UI设计实验目的本次实验的目的是让同学们熟悉Android开发中的UI设计,包括了解和熟悉常用控件的使用、界面布局和事件处理等内容。实验要求1.熟悉和掌握界面控件设计2.了解Android界面布局3.掌握控件的事件处理实验内容一、常用控件1.常用控件介绍Android中有许多常用控件(简单分

7、类):文本框:TextView、EditText按钮:Button、RadioButton、RadioGroup、CheckBox、ImageButton列表:List、ExpandableListView、Spinner、AutoCompleteTextView、GridView、ImageView进度条:ProgressBar、ProgressDialog、SeekBar、RatingBar选择器:DatePicker、TimePicker菜单:Menu、ContentMenu对话框:Dialog、ProgressDialog常用的控件有文本框、按钮和列表等。2.控件的实现在上一个实验中,

8、我们用一个TextView控件实现了在界面显示一句“Hello World!”。 现在我们来看一看.xml文件和编码的相互关系。将MainActivity.java中代码修改如下:注意在上面并没有为textView和button设置文本内容等,另外textView的初始化代码为:TextView textView = (TextView)findViewById(R.id.textView01); 此处初始化用到了id为textView01的TextView。 在项目目录中找到/res/layout/activity_main.xml,修改代码如下: 注意上面列出了两个控件:TextView和

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

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

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

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

13、于在按键进行释放时发生onTouchEvent(MotionEvent event)触摸屏事件,当在触摸屏上有动作时发生boolean onKeyLongPress(int keyCode, KeyEvent event)当长时间按时发生下面以点击一个Button为例子: 为button添加了一个监听buttonListener,对应的onClick方法则抛出了一则文本框提示用户,效果图如下所示: 其它控件的使用请同学们自行尝试。实验三:Intent、Activity应用一、实验目的本次实验的目的是让同学们熟悉Intent和Activity的使用。Intent的最常用的用途是绑定应用程序组件。

14、Intent用来在应用程序Activity间启动、停止和传输。并实现添加用户名,密码小例程。二、实验要求1.完成Android开发平台的搭建及相关配置2.创建项目并熟悉文件目录结构3.实现例程添加用户名,密码实验步骤三、实验步骤项目界面:添加用户名,密码,在另一页面显示用户名。1、创建项目新建一个Android工程命名为test1,目录结构如下图:2、添加布局文件修改main.xml布局文件(这里增加了两个TextView,两个EditView,一个按钮),如下图 新建test2.xml布局文件(这里增加了两个TextView),这个页面是用来显示添加的用户名,如下图:3、创建Activity

15、修改test1.java,并且新建一个Activity,一个是test2.java。,代码分别如下:Test1.java作用:获得页面输入的内容,存储并跳转到test2.xml。Test2.java作用:从Intent中获得需要显示name的值,并给TextView赋值。4修改AndroidManifest.xml文件比较重要的一步啦,修改AndroidManifest.xml文件(将新增的Activity,test2) 注册一下,代码如下(第16行):请尝试使用startActivityForResult (Intent intent, int requestCode)方法实现页面的跳转。实

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

17、vice.java3、修改AndroidManifest.xml文件比较重要的一步,修改AndroidManifest.xml文件(将新增的service) 注册一下,代码如下(第16行):实验五:SQLite和SQLiteDatabase应用一、实验目的1、本次实验的目的是让大家熟悉Android中对数据库进行操作的相关的接口、类等。SQLiteDatabase这个是在android中数据库操作使用最频繁的一个类。通过它可以实现数据库的创建或打开、创建表、插入数据、删除数据、查询数据、修改数据等操作。2、实现添加用户名,爱好小例程。二、实验要求1、完成Android开发平台的搭建及相关配置2

18、、创建项目并熟悉文件目录结构3、实现例程添加用户名,爱好实验步骤三、实验步骤项目界面:输入用户名,爱好添加到数据库,由数据库查询出来显示插入的列表。当单击列表时会弹出Alert询问是否删除,进行删除操作。1、创建项目新建一个Android工程命名为Database,目录结构如下图:2、布局文件修改main.xml布局文件,添加display.xml文件,用来显示列表。如下图Main.XmlDisplay.xml3、创建Activity修改DatabaseActivity.java文件,新建DBHelper.java文件和displayAvtivity.java,代码如下图:DBHelper.j

19、ava 操作数据库的工具类,该类继承SQLiteOpenHelper。DatabaseActivity.java 获取页面输入的值,添加到数据库displayAvtivity.java 显示列表,删除数据实验六: 图形绘制与OpenGL ES一、实验目的在屏幕绘制各种图形,了解OpenGL二、实验要求1、了解在屏幕绘图方法2、了解OpenGL三、实验原理四、实验过程1、绘制直线、园、曲线等各种图形2、显示字符3、利用OpenGL ES方法编程Android中的图形系统采用Client/Server架构。Server (即SurfaceFlinger)主要由c+代码编写而成。Client端代码分

20、为两部分,一部分是由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 graphic

21、s 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

22、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.microedi

23、tion.khronos.opengles public 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(gl, 0, 0, 3, 0, 0, 0, 0, 1, 0);/视点变换,将相机位置设置为(0, 0, 3),同时指向(0, 0, 0)

24、点 /设置模型位置旋转及缩放信息 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_TRIANGL

25、ES); /mCube.draw(gl, gl.GL_LINES); 实验七: 网络访问与服务一、实验目的掌握Android网络访问方法二、实验要求1、了解手机WEB网站访问编程2、通过网络进行数据访问3、了解数据库使用三、实验原理利用Android网络访问协议四、实验过程1、访问WEB网站,通过HttpResponse类,读入网络数据。Android SDK 网络包:包描述Android网络访问 socket。该包包括URI 类,不仅仅是传统的联网方面。 .http处理Android有关Http协议类。 .wifi在 Android 平台上管理有关 WiFi(802.11 无线 Ethern

26、et)应用的类。 android.telephony.gsm包含用于管理和发送 SMS(文本)消息的类。读入WEB数据例程: HttpClient client = new DefaultHttpClient(); HttpGet get = new HttpGet(url); HttpResponse response = client.execute(get); HttpEntity entity = response.getEntity(); /尝试读取entity的长度,返回-1表示长度未知 long length = entity.getContentLength(); InputS

27、tream is = entity.getContent(); String s = null; if (is != null) ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte buf = new byte512; int ch = -1; int count = 0; while (ch = is.read(buf) != -1) baos.write(buf, 0, ch); count += ch; /如果长度已知,可以通过taskProgress()通知监听者任务执行的比例 if (length 0) lis

28、tener.taskProgress(this, count, length); /为了更好的演示进度,让线程休眠100ms Thread.sleep(100); Log.e(HttpTask, length= + baos.toByteArray().length); /返回内容 s = new String(baos.toByteArray(); return s;实验八 硬件访问与传感器一、实验目的通过底层API访问手机硬件及手机上的各种传感器二、实验要求1、获取手机上电话、短信等各种功能的编程2、了解手机上各种传感器的功能与使用方法三、实验原理利用手机本身的功能与相关传感器的使用四、实

29、验过程1、了解程序使用手机电话功能的方法短信收发:发送短信只需要几行代码,如下:SmsManager sms = SmsManager.getDefault();PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent(), 0);sms.sendTextMessage(phoneNumber, null, MsgStr, pi, null);其中参数phoneNumber和MsgStr均是String类型,表示接收方的电话号码和短信内容接收短信主要是继承BroadcaseReceiver 类 ,覆盖onReceive

30、函数:package com.android.TinySMS;import android.app.Activity;import android.app.PendingIntent;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.gsm.SmsManager;import android.view.View;import android.widget.Button;

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

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