生产实习报告.docx
- 文档编号:30514250
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:24
- 大小:700.97KB
生产实习报告.docx
《生产实习报告.docx》由会员分享,可在线阅读,更多相关《生产实习报告.docx(24页珍藏版)》请在冰豆网上搜索。
生产实习报告
实验总成绩:
——————————————————————————装订线—————————————————————————————————
报告份数:
1
西安邮电学院
通信与信息工程学院
生产实习报告
专业班级:
学生姓名:
学号(班内序号):
2012年3月23日
西安邮电学院通信与信息工程学院院(系)
生产实习过程考核表
学生姓名
班级/学号
第一周
第二周
第三周
第四周
实习内容
熟悉Java开发语言及环境搭建,并学习接口及容器的使用。
Android特性介绍、开发环境的搭建及Android基本控件的学习。
Android系统开发
系统调试及验收
实习时间
2月27-3月2
3月5-3月9
3月12-3月16
3月19-3月23
实习地点
3#124
3#124
3#124
指导老师
实习成绩
总评实习成绩
指导师傅(教师)姓名
职务或职称
讲师
指导师傅(教师)
对学生的评价
实习态度
□认真□一般□不认真
实习纪律
□全勤□偶尔缺勤□经常缺勤
实践能力
□很强□一般□较差
指导师傅(教师)对学生专业知识与社会实践能力相结合情况的建议
指导师傅(教师)签字
年月日
西安邮电学院通信与信息工程学院生产实习考核表
学生姓名
专业班级/学号
进行时间
2012年2月27日-2012年3月23日
考核内容
实习内容(10分)
与专业结合程度
实习态度和纪律(20分)
认真、勤奋、刻苦程度(5分)
保证实习时间,服从实习安排(5分)
遵守实习单位的规章制度情况(5分)
尊敬指导教师及实习单位人员(5分)
实践能力(40分)
动手能力(10分)
创新能力(10分)
分析、解决实际问题能力(10分)
协作与组织管理能力(10分)
实习报告(30分)
语言及文字表达力(10分)
报告结构(10分)
书写规范(10分)
指导教师(师傅)姓名
职称
讲师
实习成绩
一实验目的
(1)熟悉Java编程语言与开发环境的搭建
(2)熟悉Android的特性、开发环境的搭建及Android基本控件的学习。
(3)尝试Android系统的开发,在平台上开发一些小程序
(4)尽力掌握程序的调试。
二实验内容
1.程序简介:
贪吃蛇游戏:
(1)主界面显示
(2)具有开始、暂停、退出的功能。
2.项目简介
Android简介
Android是Google于2007年11月5口宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。
可以把它简单理解成Linux上套了一个TAVA的壳。
Android的平台基本上是免费的,虽然有部份原生链接库会要求费用,但大部份是免权利金。
Android的程序可以采用JAVA开发,因为它的虚拟机(VirtualMachine)Dalvik,只是它将JAVA的bytecode转成自己的格式,回避掉需要付给SUN有关JAVA的授权费用。
因此,Android开发环境是需要JDK的。
Java简介
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。
就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。
Java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
3Android开发环境搭建
3.1Windows下Java编程环境的配置
1.在甲骨文官方网站(Platform(JDK)后,安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:
\ProgramFiles\Java\jdk1.7.0_03;
2.安装完成后,右击“我的电脑”,点击“属性”;
3.选择“高级”选项卡,点击“环境变量”;
4.在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;
5.JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:
\ProgramFiles\Java\jdk1.7.0_03,此路径下包括lib,bin,jre等文件夹;
Path使得系统可以在任何路径下识别java命令,设为:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH为java加载类(classorlib)路径,只有类在classpath中,java命令才能识别,设为:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
%JAVA_HOME%就是引用前面指定的JAVA_HOME;
6.“开始”->;“运行”,键入“cmd”;
7.键入命令“java-version”,“java”,“javac”几个命令,出现如下画面,说明环境变量配置成功;
8.至此,环境配置完成。
3.2Eclipse开发软件的安装
1.可以在Eclipse官网(http:
//www.eclipse.org/downloads/)下载Eclipse软件,选择EclipseIDEforJavaDevelopers并注意32bit或者64bit,根据自己Windows系统下载即可。
2.下载后直接解压即可,不用安装,双击eclipse.exe即可运行。
3.3AndroidSDK安装
1.在SDK,如下图:
2.直接默认安装好就可以,安装好后如下图所示:
3.在用户变量中新建PATH值为:
AndroidSDK中的tools绝对路径,本机为D:
\ProgramFiles\Android\android-sdk\tools。
4.安装成功后,运行android–h,如果出现如下画面说明安装成功。
3.4ADT安装
1.目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。
2.打开EclipseIDE,进入菜单中的"Help"->"InstallNewSoftware"
点击Add按钮,弹出对话框要求输入Name和Location:
Name自己随便取,Location输入http:
//dl-
3.确定返回后,在workwith后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有DeveloperTools,展开它会有AndroidDDMS和AndroidDevelopmentTool,勾选他们。
如下图所示:
4.然后就是按提示一步一步next。
完成之后:
选择Window>Preferences...
在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为:
D:
\ProgramFiles\Android\android-sdk,因为路径有空格,所以正确的配置路径应该写成:
D:
\PROGRA~1\Android\android-sdk。
5.点击Apply、OK。
配置完成。
4程序源代码
packagecom.fit.android.game;
publicfinalclassR{
publicstaticfinalclassattr{
}
publicstaticfinalclassdrawable{
publicstaticfinalinticon=0x7f020000;
}
publicstaticfinalclasslayout{
publicstaticfinalintmain=0x7f030000;
}
publicstaticfinalclassstring{
publicstaticfinalintapp_name=0x7f040001;
publicstaticfinalinthello=0x7f040000;
}
}
packagecom.fit.android.game;
importandroid.content.Context;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.os.Handler;
importandroid.view.View;
publicclassGameViewextendsView{
publicintf=0;
Snakesnake=newSnake(320,320);
Noderandom;
booleanrunFlag=false;
Handlerhandler=newHandler();
HandlerpanelHandler;
ints=300;
RunnableupdateThead=null;
publicGameView(Contextcontext,HandlerpHandler){
super(context);
panelHandler=pHandler;
random=getRandom();
updateThead=newRunnable(){
publicvoidrun(){
runFlag=true;
intresult=snake.move(random);
if(result==3||result==4){
panelHandler.sendEmptyMessage(f);
handler.removeCallbacks(updateThead);
}
switch(result){
caseSnake.MOVE:
break;
caseSnake.EAT:
f=f+10;
if(s>100){
s=s-10;
}
random=getRandom();
break;
caseSnake.BREAK:
runFlag=false;
break;
caseSnake.SWAP:
runFlag=false;
break;
}
postInvalidate();
if(runFlag){
handler.postDelayed(this,s);
}
}
};
}
@Override
protectedvoidonDraw(Canvascanvas){
Paintp=newPaint();
p.setAntiAlias(true);
p.setColor(Color.GRAY);
canvas.drawRect(0,0,320,320,p);
p.setColor(Color.GREEN);
random.draw(canvas,p);
snake.show(canvas);
}
publicintgetThreads(){
return1;
}
publicNodegetRandom(){
intx=((int)(Math.random()*32))*10+5;
inty=((int)(Math.random()*32))*10+5;
while(!
snake.checkRandom(x,y)){
x=((int)(Math.random()*32))*10+5;
y=((int)(Math.random()*32))*10+5;
}
returnnewNode(x,y);
}
}
packagecom.fit.android.game;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.KeyEvent;
publicclassMainActivityextendsActivity{
Snakesnake;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
GameViewview=newGameView(this,null);
snake=view.snake;
setContentView(view);
}
@Override
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
switch(keyCode){
caseKeyEvent.KEYCODE_DPAD_UP:
snake.changeDirect(Snake.UP);
break;
caseKeyEvent.KEYCODE_DPAD_RIGHT:
snake.changeDirect(Snake.RIGHT);
break;
caseKeyEvent.KEYCODE_DPAD_DOWN:
snake.changeDirect(Snake.DOWN);
break;
caseKeyEvent.KEYCODE_DPAD_LEFT:
snake.changeDirect(Snake.LEFT);
break;
}
returnsuper.onKeyDown(keyCode,event);
}
}
packagecom.fit.android.game;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.view.KeyEvent;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.view.ViewGroup.LayoutParams;
importandroid.widget.Button;
importandroid.widget.LinearLayout;
importandroid.widget.TextView;
publicclassMyActivityextendsActivity{
Snakesnake;
GameViewview;
TextViewtx;
Handlerhandler=newHandler(){
publicvoidhandleMessage(android.os.Messagemsg){
intscore=msg.what;
tx.setText("您得到的总分数为:
"+score);
view.handler.removeCallbacks(view.updateThead);
view.snake=newSnake(320,320);
view.random=view.getRandom();
view.f=0;
snake=view.snake;
}
};
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
view=newGameView(this,handler);
snake=view.snake;
LinearLayoutlean=newLinearLayout(this);
tx=newTextView(this);
lean.setOrientation(LinearLayout.VERTICAL);
view.setLayoutParams(newLayoutParams(320,320));
lean.addView(view);
LinearLayoutlean1=newLinearLayout(this);
lean1.setOrientation(LinearLayout.HORIZONTAL);
Buttonbtn1=newButton(this);
btn1.setText("开始");
btn1.setTextSize(24);
Buttonbtn2=newButton(this);
btn2.setText("暂停");
btn2.setTextSize(24);
Buttonbtn3=newButton(this);
btn3.setText("退出游戏");
btn3.setTextSize(24);
lean1.addView(btn1);
lean1.addView(btn2);
lean1.addView(btn3);
lean.addView(lean1);
lean.addView(tx);
setContentView(lean);
btn1.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
tx.setText("");
view.handler.post(view.updateThead);
}
});
btn2.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
view.handler.removeCallbacks(view.updateThead);
}
});
btn3.setOnClickListener(newOnClickListener(){
publicvoidonClick(Viewv){
tx.setText("您的总分是:
"+view.f);
view.handler.removeCallbacks(view.updateThead);
view.snake=newSnake(320,320);
view.random=view.getRandom();
view.f=0;
snake=view.snake;
}
});
}
publicbooleanonKeyDown(intkeyCode,KeyEventevent){
switch(keyCode){
caseKeyEvent.KEYCODE_DPAD_UP:
snake.changeDirect(Snake.UP);
break;
caseKeyEvent.KEYCODE_DPAD_RIGHT:
snake.changeDirect(Snake.RIGHT);
break;
caseKeyEvent.KEYCODE_DPAD_DOWN:
snake.changeDirect(Snake.DOWN);
break;
caseKeyEvent.KEYCODE_DPAD_LEFT:
snake.changeDirect(Snake.LEFT);
break;
}
returnsuper.onKeyDown(keyCode,event);
}
}
packagecom.fit.android.game
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生产 实习 报告