《android大作业报告》由会员分享,可在线阅读,更多相关《android大作业报告(16页珍藏版)》请在金锄头文库上搜索。
1、移动设备软件应用与开发大作业报告姓 名: 学 号: 班 级: 院 系: 日 期: 任课教师: 一、程序的运行环境、安装步骤1、运行环境游戏运行环境:Android1.5 以上版本2、程序的组成部份 :2.1、JDK 安装1. 我的电脑-属性-高级-环境变量- 系统变量中添加以下环境变量:2. JAVA_HOME 值为: D:Program FilesJavajdk1.6.0_18(你安装 JDK的目录)3. CLASSPATH 值为:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin;4. Path: 在开始追加 %JAV
2、A_HOME%bin;5. NOTE: 前面四步设置环境变量对搭建 Android 开发环境不是必须的,可以跳过。安装完成之后,可以在检查 JDK 是否安装成功。打开 cmd 窗口,输入 java version 查看 JDK 的版本信息。出现类似下面的画面表示安装成功了:2.2、Eclipse 安装2.3、Android SDK 安装在 Android Developers 下载 android-sdk_r05-windows.zip,下载完成后解压到任意路径。运行 SDK Setup.exe,点击 Available Packages。如果没有出现可安装的包,请点击 Settings,选中
3、 Misc 中的Force https:/.这项,再点击 Available Packages 。选择希望安装的 SDK 及其文档或者其它包,点击 Installation Selected、Accept All、Install Accepted,开始下载安装所选包在用户变量中新建 PATH 值为:Android SDK 中的 tools 绝对路径(本机为D:AndroidDevelopandroid-sdk-windowstools)。image 图 2、设置 Android SDK 的环境变量“确定”后,重新启动计算机。重启计算机以后,进入 cmd 命令窗口,检查SDK 是不是安装成功。
4、运行 android h 如果有类似以下的输出,表明安装成功:图 3、验证 Android SDK 是否安装成功2.4、ADT 安装打开 Eclipse IDE,进入菜单中的 Help - Install New Software点击 Add.按钮,弹出对话框要求输入 Name 和 Location:Name 自己随便取,Location 输入 http:/dl- work with 后的下拉列表中选择我们刚才添加的 ADT,我们会看到下面出有 Developer Tools,展开它会有 Android DDMS 和 Android Development Tool,勾选他们。 如下图所示:然
5、后就是按提示一步一步 next。完成之后:选择 Window Preferences.在左边的面板选择 Android,然后在右侧点击 Browse.并选中 SDK 路径,本机为: D:AndroidDevelopandroid-sdk-windows 点击 Apply、OK。配置完成。2.5、创建 AVD为使 Android 应用程序可以在模拟器上运行,必须创建 AVD。1、在 Eclipse 中。选择 Windows Android SDK and AVD Manager2、点击左侧面板的 Virtual Devices,再右侧点击 New3、填入 Name,选择 Target 的 API
6、,SD Card 大小任意,Skin 随便选,Hardware 目前保持默认值 4、点击 Create AVD 即可完成创建 AVD注意:如果你点击左侧面板的 Virtual Devices,再右侧点击 New ,而 target下拉列表没有可选项时,这时候你:点击左侧面板的 Available Packages,在右侧勾选 https:/dl- Install Selected 按钮,接下来就是按提示做就行了要做这两步,原因是在 1.3、Android SDK 安装中没有安装一些必要的可用包(Available Packages)。2.5、创建 Android 工程三、 程序开发平台(1)代
7、码行数: 1000(2)开发环境: Android Developer Tools Build: v22.6.2-1085508apache-ant-1.9.3四、 程序功能说明:单机屏幕按住不放可以拖动魔方转动,魔方上下左右空白处可以转动魔方相对那一面。五、应用核心源码class MFtestSurfaceView extends GLSurfaceView private MFtestRenderer mRenderer;private float mPreviousX;private float mPreviousY;/上一次的点private float mDownPreviousX;
8、private float mDownPreviousY;/上一次的 Down 点/ private int oldDownX;/ private int private float theta;private float fai;/球坐标public MFtestSurfaceView(Context context)super(context);theta=(float)3.14159/4;fai=(float)3.14159/4;/ Set the Renderer for drawing on the GLSurfaceView mRenderer = new MFtestRender
9、er();setRenderer(mRenderer);setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);Override public boolean onTouchEvent(MotionEvent e) / MotionEvent reports input details from the touch screen/ and other input controls. In this case, you are only/ interested in events where the touch position changed.fl
10、oat x = e.getX();float y = e.getY();switch (e.getAction() case MotionEvent.ACTION_MOVE:/如果是 移动的话float dx = x - mPreviousX;float dy = y - mPreviousY;/x,y 的变换值(不是 0,就是 1)float te=theta;theta=theta+dy/100; /角度是弧度值if (!(theta0&theta-5)&(x-mDownPreviousX)-5)&(y-mDownPreviousY)-3)|(x-mDownPreviousX)-3)&(y
11、-mDownPreviousY)-3)|(y-mDownPreviousY)-3) /System.out.println(x-mDownPreviousX);if( x mRenderer.width-(mRenderer.width*(1-Math.sqrt(18)/6)/2) ) /右/System.out.println(x+ 右 +y);mRenderer.action = 2;DrawAnimation();else if(y mRenderer.height/2.0 + (1.5*mRenderer.width)/6)/下/System.out.println(x+ 下 +y);
12、mRenderer.action = 4;DrawAnimation();elsemRenderer.action = 0;break;mPreviousX = x;mPreviousY = y;/保存这次点return true;private void DrawAnimation()ChangeMoveByAction();/确定是哪个面旋转 mRenderer.angle=0;while(mRenderer.angle 0) & (mRenderer.eyez 0) )mRenderer.move=76;else if( (mRenderer.eyex 0) & (mRenderer.e
13、yez 0) )mRenderer.move=66;break; case 2:if( (mRenderer.eyex 0) & (mRenderer.eyez 0) )mRenderer.move=66;else if( (mRenderer.eyex 0) & (mRenderer.eyez 0) )mRenderer.move=82;break;case 3:mRenderer.move=85;break;case 4:mRenderer.move=68;break;private void memcpy(int one,int two)mRenderer.face_colorone=m
14、Renderer.face_colortwo;mRenderer.face_colorone+1=mRenderer.face_colortwo+1;mRenderer.face_colorone+2=mRenderer.face_colortwo+2;private void LeftShift(int a,int b,int c,int d)/ abcd 左 移float temp1=mRenderer.face_colora;float temp2=mRenderer.face_colora+1;float temp3=mRenderer.face_colora+2;memcpy(a,b);memcpy(b,c);memcpy(c,d);mRenderer.face_colord= temp1;mRenderer.face_colord+1=temp2;mRenderer.face_colord+2=temp3;private void DrawRotation(GL10 gl)/ 绘制小立方体switch (move)case 70:DrawCube19(gl); DrawCube11(gl); DrawCube2(gl); DrawCube22(g