《2023年Android大作业报告.pdf》由会员分享,可在线阅读,更多相关《2023年Android大作业报告.pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、移动设备软件应用与开发大作业报告姓 名:学 号:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _班 级:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _院 系:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _日 期:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _任课教师:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _一、程序的运营环境、安装环节1、运营环境游戏运营环境
2、:Android1.5以上版本2、程序的组成部份:2.1、JDK 安装1.我的电脑-属性一 高级一,环境变量一 系统变量中添加以下环境变量:2.JAVA_HOME 值为:D:Pr o g r am F iles Javajdk 1.6.o_i 8(你安装JDK的目录)3,CLASSPATH 值为:.;%JAVA_HOME%1 i b to o ls.ja r;%J AV A_H 0 ME%1 ibdt.j a r;%JAVA_HOME%bi n;4.Pa t h:在开始追加 JAVA_HOME%b i n;5.NOTE:前面四步设立环境变量对搭建And r oid开发环境不是必须的,可以跳过。
3、安装完毕之后,可以在检查JD K是否安装成功。打开cm d窗口,输入java-version查看JDK的版本信息。出现类似下面的画面表达安装成功了:版权所有c2009 M icrosoft Corporat io no保留所有权利。C:JUsersAdninistrator jau a-uersionjaua uersion.7.0_45uJaua SE Runtime Environment Jaua HotSpot C lient U M _2.2、Eclipse 安装2.3、An droid SDK 安装在 Android D e vel o p e r s 下载 a n d r o i
4、d-s d k_ r 0 5-windows.z i p,下载完毕后解压到任意途径。运营SDK Setu p.exe,点击A v ai 1 a b 1 e Pac kages。假如没有出现可安装的包,请点击Settings,选中M i sc中的Fore e htt p s:这项,再点击Avai lable P ac kag e s。选择希望安装的SDK及其文档或者其它包,点击Installation S e lecte d、A ccep t All、I nstall Accepted,开始下载安装所选包在用户变量中新建PATH 值为:And roid S DK中的tools绝对途径(本机为D:
5、An d roidDe v elop an d r o id-s d k-windows t ool s)。image图2、设立And r o id SDK的环境变量“拟定”后,重新启动计算机。重启计算机以后,进入emd命令窗口,检查SDK是不是安装成功。运 营 android-h 假如有类似以下的输出,表白安装成功:图3、验证A ndro i d SDK是否安装成功2.4、ADT 安装打开 E clips e ID E,进入菜单中的He 1 p -In s tall New S oftware点击Add.按钮,弹出对话框规定输入Name和Loca t ion:Name自己随便取,Loca t
6、 ion输入。如下图所示:3 Add SiteIfiO BName:ADT Local.Location:http:/dl- with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Devel o perTo o 1 s,展开它会有An d roi d DDMS和A ndroidD e velopment T o o l,勾选他们。如下图所示:3 InstallAvailable SoftwareCheck the items that you wish to install.Work with:adt-http:/dl- Add.Find more software by work
7、ing with the Available Software Sites preferences.type filter textName Version,000 Developer Toolsa I“Android DDMS 0.9.6.v201002051504-24846 3 Android Development Tool 0.9.6.v201002051504-24846然后就是按提醒一步一步next完毕之后:选择 W in d o w Pr e fer e nee s.在左边的面板选择Andro i d,然后在右侧点击Brows e 并选中SDK途径,本机为:D:An d r o
8、i d Develop a ndroid-sdk-windows 点击 Apply O K。配置完毕。2.5、创建 AVD为使And ro i d 应用程序可以在模拟器上运营,必须创建AVD。1、在 E c lip se 中。选择 Win d ow s Android S DK an d AVD Man a ge2、点击左侧面板的Virt u a 1 Devic e s,再右侧点击N e w3、填入N am e,选择Target的A PI,SD C ard大小任意,Skin随便选,H ardw a r e 目前保持默认值4、点击C r e a t e AVD即可完毕创建AVD注意:假如你点击左
9、侧面板的Vir t u al Devic e s,再右侧点击N ew,而targe t 下拉列表没有可选项时,这时候你:点击左侧面板的Av a i 1 able Pack a ges,在右侧勾选,如下图所示:Q Android SDK and AVD ManagerVirtual DevicesInstalled PackagesAvailable PackagesSites,Packages and Archives也 https:/dl- n s t al 1 Select e d 按钮,接下来就是按提醒做就行了要做这两步,因素是在1.3、Andro id S DK安装中没有安装一些必要的
10、可用包(A v a ila b 1 e P ack a ge s)2.5、创建Andro i d工程三、程序开发平台(1)代码行数:1000(2)开发环境:And r oid D e velo per T o o ls Build:v22.6.2-10855 0 8apa che-a nt-1.9.300737475767778DrawCube22(gl);Drav*Cube23(gl);DrawCube24(gl);DrawCube25(gl);g l.g lT ran s latef(0J0J0);/=26-.3-=)四、程序功能说明:笛通法号沛沛图I3K/S 令.M O 2 出笛 电法号
11、涉涉国HK/s等“4 0 2出单机屏幕按住不放可以拖动魔方转动,魔方上下左右空白处可以转动魔方相对那一面。五、应用核心源码c 1 a ss MFt e stSur f a ceV i e w e xtends G LS u r f aceView privat e MFtestRen d e r e r inRenderer;pri v a te floa t mPrev i o u sX;。priva t e floa t mP r evious Y;上一次的点o pr i vat e f loat mDow n Previo u sX;p r i v a t e f loat m D ow
12、 n P r e v io u sY;上一次的 D o w n 点0。/pr i vate i n t oldD o wnX;。/p r i va t e i ntpr i vat e fl o a t th e ta;。p r iva t e flo a t f ai;球坐标p ubl i c MFtes t S u rf a c eView(Con t ext con t e xt)s u p e r (c onte x t);t h eta=(float)3.1415 9/4;f a i=(floa t)3.14 159/4;/S e 11 h e Ren d e rer for dra
13、wing on t he GLS u rfa c eViewmRender e r=new M F testRend e rer();s e tRenderer(mRen d er e r);setRen d e rMo d e(GLSu r faceV i ew.REND E RMO DE_WHEN_DIRTY);)0 v erri d epubli c boole a n onTo u chEven t(Mo t ionE v ent e)/MotionE v ent repo r t s input detai 1 s f r om the touc h screen/an d o th
14、e r in p u t c on t rols.I n this cas e,you are o n l y/int e reste d i n e v ents where the t o uc h positio n changed.fl o a t x=e.g e tX();f 1 oat y=e.g et Y();switc h(e.g e t Acti o n()case M o t i onEven t.ACTION_MOVE:/假如是 移动的话f loat dx=x-mPr e v i o usX;floa t d y=y m P r e v io u s Y;/x,y 的变换
15、值(不是 0,就是 1)f lo a t te=t h et a;4heta=th e t a+dy/100?/角度是弧度值oif(!(t he t a 0&theta-5)&(x-m DownPrev io usX)5)&(y-m Down Previ o u sY)-3)|(x-mDown Previo u sX)-3)&(ymD o wnP r e v iousY)3)I|(y-mDownPreviou s Y)-3)/Sys t e m.out.p r i ntln(xmD o wnPreviou s X);o if(x mR en d e re r.widt h-(mRen d e
16、rer.widt h*(1-Math.sqr t(18)/6)/2)8/右g/S y stem.o u t,p r i n 1 1 n(x+H 右 +y);amRen d erer.a c t i on=2;o DrawAnimati o n();)e 1 s e if(y mRenderer.height/2.0+(1.5*m R ende rer.width)/6)o /下“/S y stem.o u t.println(x+H 下+y);omRenderer.act i on=4;g DrawA n im a tion();00 I el s eo m R e n d ere r.act
17、i o n=0;0)a b rea k;mPr e viou s X=x;mPrevio u sY=y;/保存这次点ret u rn true;)p r i vate vo i d DrawA n imation()h an g eMo v eByAc t i on();/拟定是哪个面旋转omR e nde r er.a n gl e=0;while(mRen d e r e r.a n gle 0)&(mRend e rer.e yez 0)。mRen d e rer.move=76;6)g els e if(mRende r er.eye x 0)&(mRen d er e r.e y e
18、 z 0)(s amRe n dere r.mo v e=7 0;)6 0 e Is e if(mR e ndere r.ey e x 0)&(m Renderer,eyez 0)oooomR en d erer.mo v e=8 2;)。eels e i f(mRende r e r.eyex 0)mRen d e r e r.m o ve=6 6;o ebr e ak;。case 2:i f(m R end e rer.e yex 0)&(mRend e re r.e y ez 0)mRenderer.move=66;o g gels e if(mR e n d erer.ey e x 0
19、)&(mR e nde r e r.eyez 0)。wnRender e r.m o v e=7 6;。e Ise if(mRende r er.eyex 0)&(m Render e r,ey e z 0)g mR e n derer.move=7 0;g。e 1 se if(mRenderer.ey e x 0)omRen d erer.mo v e=82;8 b re a k;o 笛 ase 3:。emRen d e r er.m o v e=85;a。b reak;ocas e 4:。mRendere r.mo v e=6 8;。b r e a k;4)叩r i v a t e v o
20、 id m e mcpy(i n t one,i n t two)“mRe n de rer.fa c e_co 1 o ro n e=mRen d erer.face_col o rltwoj;mR en d e r e r .face_colorone+l=mRenderer.face_color t w o+11;0m R e n de r e r.f ac e _c o 1 orone+2=mRe n d e r e r.face_ c olor two+2;boprivat e void Le f t S hif t(int a,i n t b,in t c,i n t d)g/a
21、bcd 左 移gflo a 11 e mpl=mR e nder e r.face_color La;。f 1 oa t temp2=mRend e rer.f ace_ co 1 o r a+1;f 1 oat t e mp 3=mRen d e r e r.face_co 1 o ra+2;memcpy(a,b);m e mcpy(b,c);6memcpy(c,d);niRend e rer.face_color d =tempi;mRe n d ere r.face_colo r d+1=t e mp 2;m Renderer.face_ c olord+2=t emp3;)priv a
22、 t e v oid Dr a wR o tati o n(GL10 g 1 )。/绘制小立方体eooswi t ch(move)6“ocas e 70:wooDrawC u be 1 9(gl);Dr a wCubell(g 1);Dr a wCube2(gl);Draw C u be22(gl);Dr a wCu b e!3(g 1);Dr a wC u be5(g 1 );D r a wC u be25(g 1);Dr awCubel6(gl);8。D r awC u b e8(gl);D r awC ubel8(gl);D r a w C ubel 0(gl);Dr a wCu b e
23、l(gl);oD r a wC u be21(gl);Dra w C u be 4(g 1);D r aw Cub e 2 4(g 1 );Dra wCu b el 5(g 1 );DrawCub e 7(gl);8g LglPushMa t r i x();。gl.g IRotat e f(-angle,0.0 f,0.0 f,1.0 f);。eDr a w C ube0(g 1 );DrawCu b e9(gl);DrawCube 1 7(g 1);D r aw C ube3(gl);8。DrawCube 12(gl);D rawCu b e 20(gl);D r a wCube6(gl)
24、;Draw Cub e 14(gl);DrawCube2 3(gl);。gl.g 1 PopMat r i x();o break;oDrawCube8(g 1 );DrawCubel2(gl);D r a wC ube!3(g 1 );DrawC ube14(g1);g Dra w Cu b e 15(gl);DrawC u be 1 6(g 1);D rawCub e 2 O(gl);D r a wCub e 2l(gl);DrawCub e 2 2(gl);g LglPushMat r i x();o g l.g 1 R o t a t e f(-a n g le,0.Of,1.0 f,
25、O.Of);D raw C u beO(gl);D ra wCubel(gl);Draw C ube2(gl);D r awC ube9(gl);o Dr a wC u be 1 0(gl);D ra wCubell(g 1 );DrawCube 1 7(gl);DrawCubel8(g 1 );DrawCub e 19(gl);。g 1 .g IPopMatrix();。b re a k;c a s e 68:8。Draw Cub e 0(g 1);DrawCube 1 (g 1);DrawCu b e 2(g 1);DrawCu b e3(g 1 );oD r awC u be4(gl);
26、Dr a wCub e 5(gl);D r awCube9(g 1);DrawC u bel0(gl);oDrawCubel l(gl);Dr a wCubel2(g 1 );D rawCube 13(gl);D r awCube 1 7(gl);g oD r awCube 1 8(gl);DrawCu b el9(gl);DrawC u be2 0(g 1 );DrawCube21(g 1 );Dr a wCube22(g 1 );ggl.g 1 PushMat r i x();。ogl.glRotat e f(ang 1 e,0.0 f,-1.0f,0.0f);w D r awCube6(
27、gl);D r awCube?(g 1 );DrawC u be8(gl);D r awCube 14(gI);g DrawC u b e 15(g 1);Dr a wC u b e 1 6(g 1);Dr a wC u b e 23(gl);Dr a wC u b e 24(gl);DrawCube25(gl);a ogl.g 1 PopMat r i x();b re a k;。cas e 82:。Dr a wCub e 9(gl);DrawC ube 1 0(g 1 );DrawCube 1 1(gl);D rawC u be2 5(gl);3 DrawCube 12(g 1 );Dra
28、wC u bel 3(gl);Draw C ubel 4(gl);Dr a wC u b el5(gI);o ooDr a wC u b e l 6(gl);D r a wCube 17(g 1 );DrawC u be 18(g 1 );Dr aw Cube 1 9(g 1);DrawCube 2 0(g 1 );D r awCube21(gl);DrawC ube22(gl);Draw Cube 23(g 1);D rawCube 2 4(g 1 );Mgl.glPu s hM a t r ix();。oogl.gl R o tatef(-angle,1.Of,0.0f,0.0 f);8。
29、D r awCubeO(g 1 );DrawC u be 1 (g 1 );D r awCube2(gl);D r a wC u b e3(g1);M DrawCub e 4(g 1);D r a wCube5(g 1 );D r awC u be6(gl);DrawC ube7(gl);Dra w Cub e 8(gl);o 。gl.g 1P opMa t rix();obre a k;。c as e 7 6:g DrawCub e 0(gl);Dra wCu b el(gl);D raw C ube2(gl);Draw Cub e 3(gl);g D r awCube 4(g 1 );Dr
30、 a wCub e 5(g 1 );D r awCube6(gl);D r awC u be7(gl);8OD r awC u be8(gl);D r awCu b e 9(g 1);Dra w Cubel 0(g 1);Draw C ubell(gl);ooDr a wCubel2(g 1 );Draw Cube 13(gl);D rawCub e 1 4(gl);Dr a w C u b el 5(gl);DrawCu b e 1 6(gl);ggl.glPushMat r i x();g l.g 1 Rot a t ef(angle,-1.0 f,0.Of,O.Of);s aDrawCu
31、 b el7(g 1);DrawCube 1g DrawC u be21(gl);D r a23(gl);DrawCube24(gl);DrawCube25(gl);。g 1 .g 1 P o pMatrix();o obreak;o d e fa u It:e o b r ea k;8 六、工程运营效果截图b8(g 1 );DrawCube19(gl);DrawCube20(gl);w C u be 2 2(gl);D r a wCub e笛道法号涉沛“oooK/s 令“iH 回 2IJ4七、简要开发过程1 0 月2 0 日 查找A n d r。id开发的配置及流程1 0 月 2 2 日 查找资料拟定要使用的算法与数据结构1 0 月2 3 日系统设计1 0 月 2 4 日开始编码1 0 月 2 8 日 游戏基本功能完毕,进入测试阶段1 1 月2日 程序开发完毕,编写文档八、总结由于之前自己学习过A ndroid游戏开发的相关知识,也自己做过一个小游戏,所以对这方面比较了解,但是之前开发的小游戏是用Cocos2d引擎完毕,和Andro i d原生的不太同样,通过这次大作业的完毕,对Andro i d的基本开发有了一定的了解。对图像的绘制有了一定的了解。