山东大学计算机学院人机交互实验指导书资料.docx
- 文档编号:27205549
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:48
- 大小:2.67MB
山东大学计算机学院人机交互实验指导书资料.docx
《山东大学计算机学院人机交互实验指导书资料.docx》由会员分享,可在线阅读,更多相关《山东大学计算机学院人机交互实验指导书资料.docx(48页珍藏版)》请在冰豆网上搜索。
山东大学计算机学院人机交互实验指导书资料
山东大学软件学院
软件工程专业
《人机交互技术》课程
实验指导书
山东大学
软件学院
2015年9月
《人机交互技术》课程实验教学大纲
一.实验教学的目的
通过《人机交互技术》实验课程的实践,使学生了解《人机交互技术》与计算机图形、程序设计、认知心理学以及计算机硬件的发展等领域密切相关,本课程在2013年春节课程的实验安排采用Android系统,通过开发并创建个Android应用程序,并在PC机上模拟Android手机环境下或连接手机环境下进行开发和运行。
加深学生对人机交互知识的理解,增强学生的实际运用能力和开发高可用性的交互界面的能力,了解和掌握最新的人机交互开发工具和手段,方法。
二.实验教学的任务
了解利用Android系统进行人机交互系统或界面开发的系统通过案例学习,让学生了解不同的人机交互模型设计类型,以及成功与失败案例所带来的启示。
通过原型设计使学生了解原型的作用,并了解用户需求对设计一个良好人机交互界面的重要性。
通过原型和界面评估,使学生掌握针对交互系统的评估方法。
三.实验教学的环境
在游戏与动漫实训中心的PC机房进行。
开发和运行环境:
MSWindowsXP或Windows7;
Android2.1及以上版本;
JAVA的IDE开发工具–Eclipse,Java开发包—JavaSEDevelopmentKit(JDK)JDK6;
Android开发包—AndroidSDKForWindows
四.具体实验题目名称和学时分配、适用专业及实验性质(设计性、综合性、验证性)
序号
实验项目名称
学时
适用专业
实验性质
必开/选开
备注
1
(1)了解和熟悉Android应用程序开发环境、语言和配置方法,初步掌握创建、运行Android程序的方法
(2)编写并运行第一个Android应用程序“HolleWorld!
”程序。
(3)学习如何导入已存在的程序,并运行程序.
(4)了解和体会在Android虚拟机上如何进行交互操作的方法
2
计算机科学技术/软件工程
设计性
必开
2
(1)简单列表操作:
编程实现一个使用列表视图显示人员职位信息的交互操作界面。
(2)编程实现扩展列表视图的实机界面。
2
计算机科学技术/软件工程
设计性
必开
3
(1)编程实现滚动视图(ScrollView)
2
计算机科学技术/软件工程
设计性
必开
4
基于Android的二维交互游戏:
利用Android2.1以上系统,搭建二维游戏平台,通过键盘鼠标交互方式,实现综合养成、解谜、休闲、角色扮演和移动应用的3G游戏。
8
计算机科学技术/软件工程
综合性
必开
5
人机交互系统的评估
2
计算机科学技术/软件工程
综合性
选开
6
(1)基于三维空间的定位设备的空间位置信息的获得与处理
(2)基于三维立体扫描仪采集数据
2
计算机科学技术/软件工程
演示性
选开
人机交互与虚拟现实专业实验室
五.单项实验的内容、要求
实验环境与设备及案例的学习
通过对实验设备与环境及案例的学习,了解各种人机交互界面类型,加深学生对人机交互系统的理解。
按要求设计、制作交互系统原型(工具不限原型)
掌握原型设计方法,并运用原型开发工具设计原型。
在原型制作之前,力争全面了解实验需求。
了解交互系统与交互界面设计的开发环境,掌握相关开发工具的使用方法。
评价并改进原型
了解评价原型的方法,通过评估来发现原型中存在的可用性问题,并改进原型。
按照改进的原型设计交互界面系统。
4.评估
掌握人机交互系统与界面的评估方法。
六.实验教材或讲义名称
见山东大学软件学院软件工程专业《人机交互技术实验指导书》
七.实验考核标准
1.优秀
能按实验指导书独立完成实验,正确使用仪器设备,能灵活、熟练地运用相关知识,实验数据及计算结果准确,实验报告(含图表)清晰无误。
2.良好
能按实验指导书基本独立完成实验,正确使用仪器设备,能比较熟练地运用相关知识,实验数据及计算结果基本准确,实验报告(含图表)质量较好。
3.中等
能在教师指导下顺利完成实验,会使用仪器设备,尚能运用相关知识,实验数据及计算结果有明显错误,实验报告(含图表)质量一般。
4.及格
能在教师指导下完成实验,会使用仪器设备,运用相关知识能力较差,实验数据及计算结果有较大错误,基本达到实验最低要求。
5.不及格
不能完成实验,或抄袭他人实验报告,或实验数据及计算结果有多处重大错误。
八.与其他课程的联系与分工
本实验课前续先修课为:
Java计算机程序设计,数据结构,计算机图形学,
九.要求掌握的开发工具
Java,Android语言等辅助开发工具。
十.为达到本课程的目的和要求所采取的措施
1.要求实验室配备本实验所需的设备和器材。
每人配备计算机一台,要求具有CPU是P4以上,内存128MB以上,硬盘20GB以上,并配备网卡、光驱,实验室中具有集线器、网线等,并配备相应的软件光盘。
2.承担实验教学的教师和实验员提前作好实验准备。
3.实验之前,要求学生对每个实验的内容进行预习。
4.要求学生按时上机,交实验报告。
5.指导实验的教师和实验员要耐心辅导,帮助学生解决实验中出现的问题,认真批改实验报告。
十一.编制依据
本实验教学大纲的编写按照《人机交互技术》课程教学大纲对实验环节的要求编写。
参加本大纲制订编写人员:
蒋志方,王璐
本课程所在实验室:
人机交互与虚拟现实实验室
实验室主任签字:
系主任签字:
主管教学院长签字:
制定时间:
2015年2月
实验一
在Windows上搭建Android的JAVA开发环境图文教程(Eclipse版本)
工具/原料
∙下载需要用到的工具:
(1)下载JAVA的IDE开发工具–Eclipse
到Eclipse官方网站下载EcpliseForJavaEE的最新Windows版本
∙下载Ecplise
(2)下载Java开发包—JavaSEDevelopmentKit(JDK)JDK6
到Sun官方网站下载JDK6,选择JDK6Update12
∙下载JDK6
(3)下载Android开发包—AndroidSDK
到Google的官方网站下载Android的开发包ForWindows的
步骤/方法
1.下载完需要的工具之后,开始安装
(1)安装Ecplise:
下载回来的Ecplise(eclipse-jee-ganymede-SR2-win32.zip)直接解压即可
(2)安装JDK6:
运行下载回来的JSK安装包(jdk-6u12-windows-i586-p.exe)一路”下一步”即可
(3)安装Android开发包(SDK):
下载回来的SDK包(android-sdk-windows-1.1_r1.zip)直接解压即可
2.让Ecplise自动安装Android开发插件(ADT-plugin)
(1)启动安装完(解压)后的Ecplise目录下的Ecplise.exe
(2)点击菜单”Help”->”SoftwareUpdates”,在打开的窗口中切换到选项页”AvailabeSoftware”
(3)点击”Addsite…”,加入以下地址:
http:
//dl-然后点击”OK”
(4)刚才加入的地址,点击”Install…”进行ADT(AndroidDevelopmentTools)的安装工作.
(5)Ecplise此时会从加入的地址中自动下载跟安装ADT,稍等一会,安装完毕后,提示需要重启Ecplise,点击”OK”重启Ecplise
安装ADT
3.配置AndiordSDK路径
重启完Ecplise后,点击菜单”Window”->”Preference”,打开了配置窗口,在左边选中Android,在右边输入AndroidSDK的路径(刚才步骤1-(3)下载的AndroidSDK解压出来的目录),点击”OK”,至此环境配置完毕.
配置AndroidSDK路径
4.测试开发一个Android项目
(1)点击菜单”File”->”New”->”Other…”,在打开的窗口中选择”Android”->”AndroidProject”,点击”Next”进入下一步
(2)随便起个项目名,例如”HelloWorld”,注意Packagename里需要输入”com.项目名”才能点击”Finish”继续.新建Android项目
5.建好项目之后,点击菜单”Run”->”Run”,在弹出窗口中选择以”AndroidApplication”模式运行程序,即可调起Android的模拟器运行测试程序了.以AndroidApplication运行
6.完成测试Android模拟器
(五)实验步骤
∙1.使用Eclipse和Java开发包,Android开发包进行实验题目的设计和人机交互操作的代码设计
2.体会交互过程和实现方法
3.在Android虚拟机上运行代码,进行对象运动和场景运动人机交互的操作。
(六)实验报告要求
1.整理实验结果,编写实验报告;
2.总结实验心得体会。
实验二、三
一、创建第一个Android程序
1、新建AVD(AndroidVituralDevice)
(1)单击红色框标识的按钮(或者找到SDK文件夹,运行其中的AVDManager.exe)
进入如下界面:
(2)点击New按钮后,进入如下界面:
虚拟机的名称(AVDName)可以随便取,target选择你需要的SDK版本,SD卡大小自定义,Device根据你所开发的机器大小定义,
点击OK,得到如下结果,AVD创建完毕
2、新建Android项目
(1)、选择菜单file->new->project进入如下界面:
(2)、选择新建AndroidApplicationProject项目,点击Next按钮
(3)、输入项目名称newApp,选择使用的Androd版本,点击Next按钮
(4)、一直点击Next,最后点击Finish按钮,创建完成
(5)、创建完成的新项目newApp
3、测试新建的Androind应用
执行newApp程序,右击newApp->runas->AndroidApplication,第一次启动虚拟机会比较慢,大家需要耐心等待一下...
OK!
!
!
成功。
二、如何导入已存在的程序
1、File->import…打开如下界面:
2、进行如下选择,然后点击Next
3、找到文件位置,点击Finish即可。
4、按前面的第三步运行即可。
三、Android中的几个示例
示例一:
列表视图(ListView)
列表视图几乎是所有开发平台都非常喜欢的组件,无论是作为标准的Win32组件,还是标准的Java基础类组件,列表视图的功能都是高深莫测的。
图1-1,图1-2是使用列表视图显示人员职位信息的实机界面。
图1-1列表视图的实机界面
图1-2单击“张三”的实际界面
(1)主界面布局定义
代码1-1是列表视图示例程序的主界面布局定义,该布局中只包含了一个列表视图。
代码1-1列表视图示例程序的主界面布局定义
文件名:
main.xml
在代码1-1中,该列表视图的ID属性为@id/android:
list,表示该组件参考的是系统列表视图。
(2)应用程序Activity组件框架
代码1-2是该列表视图示例程序的Activity组件的框架定义
代码1-2列表视图示例程序的Activity组件的框架定义
文件名:
ListViewAct.java
在代码1-2中,首先是初始化列表项数据容器(第23-26行),然后是创建适配器(第29行),最后将该适配器设置为该Activity(列表Activity)的列表适配器(第40行),在列表项单击事件回调方法中,根据列表项位置通过列表适配器或者直接从数据集获得该项对应的数据记录(第53行或第55行)。
(3)应用程序配置信息接口
代码1-3是应用程序中有关配置信息接口的定义,包括记录的数据项数组和显示列内容的组件ID数组。
代码1-3应用程序配置信息接口的定义
文件名:
IConfig.java
(4)列表视图的行视图
代码1-4是该列表视图的行视图定义,其中必须包含适配器所指定的用于显示数据项的组件,其组件数可以比数据记录的数据项多,但是不能少。
代码1-4列表视图的行视图的定义
文件名:
row_ui.xml
(5)设置列表视图的页眉页脚
代码1-5是列表视图的页眉视图的定义。
代码1-5列表视图的页眉视图的定义
文件名:
header_view.xml
代码1-6是列表视图的页脚视图的定义。
代码1-6列表视图的页脚视图的定义
文件名:
footer_view.xml
示例二:
扩展列表视图(ExpandableListView)(详细代码见源程序)
顾名思义,扩展列表视图是在列表视图的基础之上进行了扩展,其组织形式要比列表视图更为复杂。
图2-1、2-2所示为扩展列表视图的实机界面,其列表项中又嵌套了列表。
图2-1扩展列表视图的实机界面
图2-2扩展列表视图的实机界面
示例三、滚动视图(ScrollView)(详细代码见源程序)
图3-1所示为一款类似于“手机报”工具的实机界面,该程序可以实现自动滚屏或根据选择直接滚动到指定的位置,其中用到的主要组件就是滚动视图(ScrollView)。
图3-1滚动视图的实机界面
图3-2点击跳转后的实机界面
实验四基于Android的二维交互游戏设计
一.界面设计:
控件与布局
(一)实验目的
加深对Android编程环境和原理的认识和理解与掌握,进一步熟悉Android编程基础,掌握界面控件设计,完整的UI设计理念和方法,掌握控件的事件处理编程。
研究Android游戏的开发途径和应用方法,实现综合养成、解谜、休闲、角色扮演和移动应用的3G游戏。
(二)UI设计原理
1.了解各种控件的基本功能
Menu、
TextView、EditText、
Button
Radiobutton
List
ProgressBar;
1、了解布局Layout的应用
多种Layout:
AbsoluteLayout
FrameLayout
GridView
LinearLayout
ListLayout
RadioGroup
TableLayout
………
2、利用布局安排各种控件,设计良好用户界面
android=" android: orientation="vertical" android: layout_width="fill_parent" android: layout_height="fill_parent" > id="@+id/TextView01" android: layout_width="fill_parent" android: layout_height="wrap_content" android: text="@string/hello" /> id="@+id/EditText01" android: layout_width="fill_parent" android: layout_height="wrap_content" /> id="@+id/ImageView01" android: layout_width="wrap_content" android: layout_height="wrap_content" android: src="@drawable/adr" /> id="@+id/LinearLayout01" android: layout_width="wrap_content" android: layout_height="wrap_content" android: orientation="horizontal"> id="@+id/Button01" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="@string/btn_name" /> id="@+id/Button02" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="@string/stp_name" /> id="@+id/progressbar01" android: layout_width="fill_parent" android: layout_height="20px" style="? android: attr/progressBarStyleHorizontal" /> id="@+id/seekbar01" android: layout_width="fill_parent" android: layout_height="20px" style="? android: attr/progressBarStyleHorizontal" /> 第三部分: 图形绘制与OpenGL 【目的】 在屏幕绘制各种图形,了解OpenGL 【要求】 1、了解在屏幕绘图方法 2、了解OpenGL 【原理】 【过程】 1、绘制直线、园、曲线等各种图形 2、显示字符 3、利用OpenGL编程方法 publicvoidonDrawFrame(GL10gl){ //一般的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)点 //设置模型位置旋转及缩放信息 gl.glTranslatef(0.0f,0.0f,-1.0f);//将模型位置设置为(0,0,-1) floatangle=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网络访问协议 【过程】 1、访问WEB网站,通过HttpResponse类,读入网络数据。 HttpClientclient=newDefaultHttpClient(); HttpGetget=newHttpGet(url); HttpResponseresponse=client.execute(get); HttpEntityentity=response.getEntity(); //尝试读取entity的长度,返回-1表示长度未知 longlength=entity.getContentLength(); InputStreamis=entity.getContent(); Strings=null; if(is! =null){ ByteArrayOutputStreambaos=newByteArrayOutputStream(); byte[]buf=newbyte[512]; intch=-1; intcount=0; while((ch=is.read(buf))! =-1){ baos.write(buf,0,ch); count+=ch; //如果长度已知,可以通过taskProgress()通知监听者任务执行的比例 if(length>0){ listener.taskProgress(this,count,length); } //为了更好的演示进度,让线程休眠100ms Thread.sleep(100); } Log.e("HttpTask","length="+baos.toByteArray().length); //返回内容 s=newString(baos.toByteArray()); } returns; 读入网站数据: 第五部分: 硬件访问与传感器 【目的】 通过底层API访问手机硬件及手机上的各种传感器 【要求】 1、获取手机上电话、短信等各种功能的编程 2、了解手机上各种传感器的功能与使用方法 【原理】 利用手机本身的功能与相关传感器的使用 【过程】 1、了解程序使用手机电话功能的方法 短信收发: packagecom.android.TinySMS; importandroid.app.Activity; importandroid.app.PendingIntent; importan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东大学 计算机 学院 人机交互 实验 指导书 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)