J2me实训报告
经纬仪实训报告
经纬仪实训报告经纬仪实训报告一、实训目的经纬仪是一种用于测量地球工程上各种线形物体位置的测量仪器,具有测量精度高、结构简单、操作方便等特点。
本次实训的目的是使学生了解经纬仪的基本原理和操作方法,掌握经纬仪的使用技巧,提高测量精度和实际操作能力。
二、实训内容1. 经纬仪的组成和原理:学习经纬仪的结构组成和测量原理,了解经纬仪的工作方式和测量误差的来源。
2. 经纬仪的调试和校准:学习经纬仪调试和校准的方法,掌握调整水平仪、调整罗盘和导丝、调整刻度盘等的技巧。
3. 经纬仪的使用:学习经纬仪的使用方法,包括观测测量对象的位置、确定目标方位角和仰角、进行精确定位测量等。
4. 实际测量练习:进行一定数量的实际测量练习,如观测测量点的经纬度、测量建筑物的高程等。
三、实训过程1. 理论学习:通过课堂教学和自习,学习经纬仪的基本原理和使用方法。
2. 调试和校准:使用调试仪器对经纬仪进行调试和校准,包括水平仪、罗盘和导丝等的调整。
3. 操作练习:在老师的指导下,进行经纬仪的操作练习,如观测测量点的位置、确定目标方位角和仰角,并进行精确定位测量。
4. 实际测量:根据实际需求,选择测量点并进行测量,记录测量数据。
四、实训结果经过一段时间的实训,我对经纬仪的组成、原理和使用方法有了更深入的了解,并且掌握了经纬仪的调试和校准技巧。
在实际测量中,我能够准确地观测测量点的位置,并进行精确定位测量。
通过与同组同学的交流和比较,我发现自己的测量精度有所提高。
五、实训总结本次经纬仪实训让我全面了解了经纬仪的组成、原理和使用方法,并且通过实际操作和测量练习,提高了我的实际操作能力和测量精度。
实训过程中,我遇到了一些困难和问题,但通过与同学和老师的交流和讨论,我最终解决了这些问题。
这次实训对我今后的学习和工作有着重要的意义,我会继续努力提高自己的经纬仪使用技能。
测量经纬仪的实训报告
一、实习背景随着我国测绘技术的不断发展,测量仪器在工程测量、地质勘探、土地管理等领域发挥着越来越重要的作用。
经纬仪作为测绘行业的重要仪器,其精度和稳定性直接影响到测量成果的准确性。
为了提高学生的实践操作能力和专业技能,本实训旨在使学生掌握经纬仪的基本构造、工作原理、操作方法和使用技巧。
二、实习目的1. 熟悉经纬仪的构造、工作原理和性能特点;2. 掌握经纬仪的架设、对中、整平、瞄准、读数等基本操作方法;3. 学会使用经纬仪进行水平角、垂直角、方位角等测量;4. 培养学生严谨的工作态度和团队协作精神。
三、实习内容1. 经纬仪的基本构造及工作原理经纬仪是一种用于测量水平角和垂直角的精密仪器。
它主要由望远镜、水平度盘、垂直度盘、照准器、基座、三脚架等部分组成。
望远镜用于观测目标,水平度盘和垂直度盘分别用于测量水平角和垂直角。
经纬仪的工作原理是利用光学原理和三角测量原理,通过测量目标与仪器之间的角度关系,计算出目标点的坐标。
2. 经纬仪的操作方法(1)架设经纬仪① 选择合适的测量场地,清除地面障碍物;② 将三脚架架设在地面上,调整脚长,使仪器高度适中;③ 将经纬仪安装在基座上,拧紧连接螺栓;④ 调整望远镜,使其指向天空,进行粗略对中。
(2)对中① 观察望远镜中的十字丝,将仪器中心对准地面上的标记点;② 调整仪器脚螺母,使望远镜中心与地面标记点重合;③ 观察望远镜中的十字丝,调整望远镜,使其指向地面上的标记点。
(3)整平① 观察望远镜中的水平气泡,调整仪器脚螺母,使水平气泡居中;② 观察望远镜中的垂直气泡,调整仪器脚螺母,使垂直气泡居中。
(4)瞄准① 通过望远镜瞄准目标,使目标位于十字丝中心;② 调整望远镜,使目标清晰。
(5)读数① 观察水平度盘和垂直度盘上的读数,记录下来;② 计算水平角、垂直角、方位角等。
3. 经纬仪的测量实例以测量某建筑物顶点坐标为例,具体步骤如下:(1)在建筑物附近选定一个已知坐标的控制点;(2)在控制点处架设经纬仪,进行对中和整平;(3)瞄准建筑物顶点,进行读数;(4)根据已知控制点的坐标和观测到的角度,计算建筑物顶点的坐标。
光学经纬仪使用实训报告
一、实训目的1. 掌握光学经纬仪的基本构造、性能和功能。
2. 学会光学经纬仪的对中、整平和读数方法。
3. 熟悉光学经纬仪在实际测量中的应用。
二、实训时间与地点实训时间:2021年10月15日实训地点:XX大学测量实验室三、实训仪器与工具1. 光学经纬仪:苏一光J2-JDE激光光学经纬仪2. 三脚架3. 水准尺4. 读数显微镜5. 笔记本四、实训内容1. 光学经纬仪的基本构造光学经纬仪主要由望远镜、照准部、水准管、度盘、读数显微镜、脚螺旋等部分组成。
望远镜用于观察目标,照准部用于控制望远镜的旋转,水准管用于整平仪器,度盘用于记录角度,读数显微镜用于读取度盘上的数据,脚螺旋用于对中和整平。
2. 光学经纬仪的对中与整平(1)对中对中的目的是使仪器的中心与测站点的中心重合。
具体操作如下:1)将三脚架架设在测站点上,调整脚架的高度,使仪器水平;2)松开连接螺栓,双手扶基座,在架头上平移仪器,从光学对中器中观察,直到测站点移至光学对中器的刻画圈内为止(对中误差小于3mm);3)拧紧连接螺栓,若误差过大,可重新移动三脚架,直到符合要求为止。
(2)整平整平的目的是使仪器的水准管气泡居中,确保测量的准确性。
具体操作如下:1)转动照准部,使水准管平行于任意一对脚螺旋;2)相对旋转这对脚螺旋,使水准管气泡居中;3)将照准部绕竖轴转动90度,旋转第三只脚螺旋,仍使气泡居中;4)再旋转90度,检查气泡误差,直到小于分划线的一格为止。
3. 光学经纬仪的读数光学经纬仪的读数方法如下:(1)将望远镜瞄准目标,转动测微手轮,使主像(正字注记)与副像、倒字注记的分划线对合好;(2)观察注有度数的相对分划线,相差180度,主像在左侧,副像在右侧,相距最近;(3)读取度盘上的度数和整10数不足10的分,秒数;(4)在右边的测微尺读出分秒数。
五、实训结果与分析1. 实训过程中,对光学经纬仪的基本构造、性能和功能有了更深入的了解;2. 通过对中、整平和读数训练,掌握了光学经纬仪的使用方法;3. 在实际测量中,能够熟练地操作光学经纬仪,确保测量结果的准确性。
混合技术的实训报告
一、实训背景随着科技的不断发展,混合技术作为一种新兴技术,逐渐在各个领域得到广泛应用。
为了更好地掌握混合技术,提高自身的实践能力,我参加了本次混合技术实训课程。
本次实训课程主要涉及混合现实(MR)、混合动力和混合专家模型(MoE)等混合技术。
二、实训内容1. 混合现实(MR)实训(1)实训目的:了解MR技术的基本原理,掌握MR设备的使用方法,并学会在商务外语、农学等领域的应用。
(2)实训内容:①学习MR技术的基本原理,包括光场技术、增强现实(AR)、虚拟现实(VR)等。
②熟悉MR设备的使用方法,如HoloLens、Magic Leap等。
③模拟商务场景,如商务谈判、产品推介、客户接待等,进行角色扮演,提高实际应用能力。
④模拟农学场景,如农作物生长、灌溉、施肥等,了解农业知识,掌握农业实践技能。
2. 混合动力实训(1)实训目的:了解混合动力技术的基本原理,掌握混合动力系统的结构及工作原理,并学会分析混合动力系统的性能。
(2)实训内容:①学习混合动力技术的基本原理,包括内燃机、电动机、电池等。
②熟悉混合动力系统的结构,如丰田THS、本田i-MMD等。
③分析混合动力系统的性能,如燃油经济性、动力性能、排放等。
3. 混合专家模型(MoE)实训(1)实训目的:了解MoE的基本原理,掌握MoE在深度学习中的应用,并学会分析MoE的性能。
(2)实训内容:①学习MoE的基本原理,包括集成学习、稀疏门控制等。
②熟悉MoE在深度学习中的应用,如自然语言处理、计算机视觉等。
③分析MoE的性能,如泛化能力、预测性能等。
三、实训成果通过本次混合技术实训,我取得了以下成果:1. 掌握了混合现实(MR)技术的基本原理和设备使用方法,能够将其应用于商务外语、农学等领域。
2. 熟悉了混合动力技术的基本原理和系统结构,能够分析混合动力系统的性能。
3. 掌握了混合专家模型(MoE)的基本原理和深度学习应用,能够分析MoE的性能。
四、实训体会1. 混合技术具有广泛的应用前景,能够为各个领域带来新的发展机遇。
经纬仪测量实训报告
经纬仪测量实训报告一、实习目的本次实习的主要目的是通过实际操作经纬仪,熟悉并掌握测量方法、仪器使用技巧和数据处理等基本知识,提高自身的实践能力和专业素养。
同时,通过实习,我也希望能对测绘工程领域有更深入的了解,为后续的学习和职业生涯打下基础。
二、对实习岗位的认识和见解在实习期间,我深刻体会到测绘工程的重要性以及测绘工作人员的职责。
测绘工程是工程建设的基础,它要求我们不仅要有扎实的理论知识,还需要掌握先进的仪器设备和方法,能够准确、高效地完成各种测量任务。
同时,测绘工作也需要我们具备团队协作能力和严谨的工作态度。
三、实习过程中发现的问题和解决问题的方法在实习过程中,我遇到了一些问题。
例如,在使用经纬仪进行测量时,我曾经遇到过观测数据不准确的问题。
经过仔细检查,我发现问题出在仪器设置上。
为了解决这个问题,我查阅了相关资料,并请教了老师和同事,了解了正确的仪器设置方法和观测技巧。
通过这次经历,我深刻认识到了学习基础知识的重要性以及实践中细节的重要性。
四、对实习过程的总结和收获通过这次实习,我不仅掌握了经纬仪的使用方法和数据处理技巧,还对团队协作、工作态度等方面有了更深刻的认识。
同时,我也意识到自己的不足之处,如基础知识掌握不够扎实、实践能力有待提高等。
针对这些问题,我将在今后的学习和实践中更加努力地学习和实践。
五、对实习过程中不足之处的建议针对实习过程中的不足之处,我认为可以从以下几个方面进行改进:1. 加强基础知识的学习和理解。
只有掌握好基础知识,才能更好地应用和实践。
2. 加强实践能力的提升。
通过更多的实践机会,可以不断提高自己的实践能力,从而提高工作效率和质量。
3. 增强团队协作能力。
在团队中要学会与他人合作、沟通、协调,以达到更好的工作效果。
4. 培养严谨的工作态度。
在工作中要认真、仔细、严格要求自己,确保工作的准确性和可靠性。
经纬仪的实训报告范文
一、实训目的本次实训旨在通过实际操作,使学生熟练掌握经纬仪的基本操作方法,了解经纬仪的构造及工作原理,并能正确进行水平角和垂直角的测量。
通过实训,提高学生的实际操作能力和对测量工作的认识。
二、实训时间2023年x月x日三、实训地点xx学院测量实验室四、实训人员xx专业全体学生及老师五、实训仪器1. 经纬仪(DJ2型)2. 三脚架3. 水准尺4. 计算器5. 记录本6. 三角板六、实训内容1. 经纬仪的构造及工作原理2. 经纬仪的基本操作3. 水平角和垂直角的测量方法4. 实际测量操作七、实训过程1. 经纬仪的构造及工作原理实训开始,首先由指导老师介绍了经纬仪的构造及工作原理。
经纬仪主要由望远镜、水平轴、竖轴、水平度盘、垂直度盘、微动螺旋等部分组成。
通过望远镜观察目标,通过水平轴和竖轴调整望远镜的视线,从而实现水平角和垂直角的测量。
2. 经纬仪的基本操作在了解了经纬仪的构造及工作原理后,学生们开始学习经纬仪的基本操作。
包括经纬仪的组装、调整、瞄准、读数等。
学生们在老师的指导下,逐步掌握了经纬仪的基本操作。
3. 水平角和垂直角的测量方法在掌握了经纬仪的基本操作后,学生们开始学习水平角和垂直角的测量方法。
水平角是指两条视线在水平面上的夹角,垂直角是指视线与水平面的夹角。
通过经纬仪的测量,可以准确计算出水平角和垂直角。
4. 实际测量操作最后,学生们进行了实际测量操作。
在老师的指导下,学生们选择合适的测量点,使用经纬仪进行水平角和垂直角的测量。
在测量过程中,学生们注意了仪器的调整、瞄准、读数等环节,确保了测量结果的准确性。
八、实训结果通过本次实训,学生们掌握了经纬仪的基本操作方法,了解了经纬仪的构造及工作原理,并能正确进行水平角和垂直角的测量。
以下是部分测量结果:- 水平角测量结果:α1 = 35°18'30",α2 = 35°18'32"- 垂直角测量结果:β1 = 88°15'30",β2 = 88°15'28"九、实训总结本次实训使学生们对经纬仪有了更深入的了解,提高了实际操作能力。
经纬仪水准仪实训报告
一、前言随着我国经济的快速发展,工程建设领域对测量技术的要求越来越高。
经纬仪和水准仪作为测量学中的基本仪器,在工程测量中发挥着至关重要的作用。
为了提高学生的实际操作能力,培养具备工程测量技能的人才,本次实训旨在让学生掌握经纬仪和水准仪的基本操作方法,提高学生的测量水平。
二、实训目的1. 熟悉经纬仪和水准仪的构造、性能及使用方法;2. 掌握经纬仪和水准仪的基本操作步骤;3. 培养学生独立完成测量任务的能力;4. 提高学生的团队协作精神。
三、实训内容1. 经纬仪操作实训(1)经纬仪的组装与拆卸实训内容:学生根据指导书要求,熟练掌握经纬仪的组装与拆卸步骤。
(2)经纬仪的对中与整平实训内容:学生学会使用经纬仪进行对中和整平,确保测量精度。
(3)经纬仪的瞄准与读数实训内容:学生学会使用经纬仪进行瞄准和读数,提高观测速度和准确性。
(4)水平角测量实训内容:学生学会使用经纬仪进行水平角测量,掌握测量方法和数据处理。
2. 水准仪操作实训(1)水准仪的组装与拆卸实训内容:学生根据指导书要求,熟练掌握水准仪的组装与拆卸步骤。
(2)水准仪的对中与整平实训内容:学生学会使用水准仪进行对中和整平,确保测量精度。
(3)水准仪的瞄准与读数实训内容:学生学会使用水准仪进行瞄准和读数,提高观测速度和准确性。
(4)高程测量实训内容:学生学会使用水准仪进行高程测量,掌握测量方法和数据处理。
3. 综合实训(1)导线测量实训内容:学生学会使用经纬仪和水准仪进行导线测量,掌握测量方法和数据处理。
(2)地形图测绘实训内容:学生学会使用经纬仪和水准仪进行地形图测绘,掌握测量方法和数据处理。
四、实训过程及心得体会1. 实训过程本次实训分为两个阶段:理论学习和实践操作。
在理论阶段,学生通过查阅资料、观看视频等方式,了解经纬仪和水准仪的基本知识。
在实践操作阶段,学生按照指导书要求,进行经纬仪和水准仪的操作实训。
2. 心得体会(1)熟练掌握经纬仪和水准仪的操作方法,提高测量精度;(2)增强团队协作精神,共同完成任务;(3)培养严谨细致的工作态度,提高实际操作能力;(4)通过实训,将理论知识与实际操作相结合,加深对测量学的理解。
实验5实验报告格式
《计算机图形学》实验5实验报告实验题目:多边形裁剪与填充实验内容:1 阅读理解提供的参考资料。
2编写并调通一个多边形裁剪的java程序。
3编写并调通一个多边形填充的java程序。
参考资料:1 fillpolygon.java 2 clipsc2.java2变换与剪裁.ppt3多边形的填充.ppt 基本概念:(详细叙述自己对实验内容的理解)多边形的裁剪:选择显示的内容--图形在窗口内的部分被显示出来,窗口外的部分被裁剪掉。
图形中每个基本元素都要经过裁剪,因此裁剪直接影响整个图形系统的效率。
多边形的填充:多边形填充就是把多边形的顶点表示转换为点阵表示,即从多边形的给定边界出发,求出位于其内部的各个像素,并将帧缓冲器内的各个对应元素设置相应的灰度或颜色。
实际上,也就是多边形内的区域的着色过程。
算法设计:(详细叙述自己设计的的算法)多边形的裁剪:1、算法的的基本思想:对于每条线段p1p2分为三种情况处理。
(1)若p1p2完全在窗口内,则显示该线段p1p2简称“取”之。
(2)若p1p2明显在窗口外,则丢弃该线段,简称“弃”之。
(3)若线段既不满足“取”的条件,也不满足“弃”的条件,则在交点处把线段分为两段。
其中一段完全在窗口外,可弃之。
然后对另一段重复上述处理。
2、sutherland–cohen算法分成两部分:第一步是判定:1) 完全在窗口内的直线段,称为完全可见的线段;2) 完全在窗口外的线段,称为完全不可见线段。
第二步处理不能断定为完全可见或完全不可见的线段。
这时需要计算出直线段和窗口边界的一个交点,这个交点把直线分成两段,其中一条为完全不可见的线段,被抛弃。
对余下部分再作第一步的判断,重复上述过程,直到直线段余下的部分可用第一步的判断得出肯定的结论为止。
多边形的填充:1、多边形填充的扫描线算法:1:计算扫描线与多边形各边的交点,设交点个数为n;2:把所有的交点按x值递增的顺序进行排列;3:将排序后的第1个与第2个交点,第3个与第4个交点,??第n-1个与第n个交点配对,每对交点就代表扫描;线与多边形的一个相交区间;4:把相交区间内的像素置成多边形的颜色,相交区间外的像素置成背景色。
J2ME实习报告
生产实习(专业实习)报告一、实习目的进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。
复习Java的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。
通过实习,巩固大学所学专业的基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。
本次专业实习选择就业单位作为实习单位,将在以后工作中从事Java移动应用开发,本次实习以学习J2ME知识为主,为毕业之后能够更快地进入工作状态并且能够更好的工作,打好基础。
二、实习单位简介闻泰集团作为一家提供手机整机方案设计服务、制造服务以及基于无线终端系列增值服务的高新技术企业集团,主要致力于无线终端产品的定制、研发、生产、销售、售后等综合业务。
闻泰集团成立于2006年,由上海研发中心、西安研发中心、深圳运营中心、嘉兴生产中心组成。
目前闻泰拥有员工3000余人,产品涵盖了从2G到3G的GSM、CDMA、EDGE、TD-SCDMA、EVDO等全系列手持设备,年产值数亿美元。
闻泰自成立以来,始终坚持自主技术创新,投入大量人力、物力从事无线通讯新技术的研发和应用。
截至目前闻泰已拥有技术专利近千项,率先拥有多项国际领先技术,且每年以500项的速度递增。
同时,闻泰集团拥有完善的销售网络以及全过程品质控制体系(ISO9001:2000、ISO14001、QC080000)。
立足本土,放眼国际。
闻泰创新性强、质量稳定可靠、性价比高的产品受到了国内外客户的热烈欢迎。
现在闻泰产品远销全球30多个国家和地区,全世界超过7000万的消费者正通过闻泰的产品和服务享受着无线移动生活的美好。
以“推动科技进步,回馈社会”作为企业使命,闻泰集团时刻秉执与社会、与合作伙伴、与员工“共识、共和、共创、共享”的文化理念,在谋求自身不断成长的同时,为员工创造最佳的工作平台和发展空间,为中国手机产业上下游企业打造共生共赢。
经纬仪实训报告
经纬仪实训报告
一、实训目的
本次实训旨在让我们掌握经纬仪的使用方法和测量技巧,提高我们的实际操作能力和测量准确度。
二、实训内容
1. 熟悉经纬仪的结构和性能,了解其作用和应用范围。
2. 掌握准确搭设经纬仪的方法和技巧,掌握测点安装的技巧和注意事项。
3. 学习经纬仪的日常维护和保养,了解故障排除的方法和应急处理。
4. 实际操作经纬仪进行测量,包括基础测量、水准测量和高度测量等。
三、实训过程
1. 经纬仪的结构和性能。
我们首先认真学习了经纬仪的构造和特点,了解了其基本原理和工作方式。
2. 经纬仪的搭设。
在老师的指导下,我们学会了如何准确、稳定地搭设经纬仪,包括调整架子、放置经纬仪、调整水平等。
3. 经纬仪的日常维护和保养。
我们认真学习了经纬仪的日常保养方法,了解了如何清洁经纬仪、检查螺丝、防止雨雪侵蚀等。
同时,我们还学会了应急处理方法,如调整经纬仪的精度、更换螺丝等。
4. 实际测量。
在老师的带领下,我们采用经纬仪进行实测。
通过操作经纬仪进行测量,我们掌握了基础测量、水准测量和高度测量等测量方法。
我们还学会了如何处理数据、如何分析结果。
四、实践体会
通过这次实训,我们不仅学到了专业知识,还提高了实际操作能力和分析问题的能力。
我们深刻认识到仪器的正确使用方法和技巧对于测量结果的准确性、可靠性的重要性。
五、总结
本次实训让我们深刻认识到实践与理论相结合的重要性,也让我们在实验、操作和测量等方面得到了全面的提升。
我们将继续努力学习,为科研和实际工作做出更大的贡献。
经纬仪器分析实训报告总结
一、实训背景与目的随着我国测绘技术的飞速发展,经纬仪作为测绘工作中不可或缺的工具,其精度和可靠性对测绘成果的质量有着直接的影响。
为了提高学生对经纬仪的熟悉程度,增强实际操作能力,我们组织了本次经纬仪分析实训。
本次实训旨在使学生掌握经纬仪的基本构造、工作原理、操作方法以及数据处理技能,提高学生在实际测绘工作中的实践能力。
二、实训内容与过程1. 理论学习实训前,我们首先对经纬仪的基本知识进行了系统的学习,包括经纬仪的构造、工作原理、分类、精度指标等。
通过学习,学生对经纬仪有了初步的认识。
2. 实践操作实训过程中,我们按照以下步骤进行操作:(1)架设经纬仪:在指定地点,按照操作规程进行经纬仪的架设,包括对中、整平、瞄准等。
(2)观测:使用经纬仪进行角度观测,记录观测数据。
(3)数据处理:将观测数据输入计算机,进行数据处理和计算。
(4)成果分析:对处理后的数据进行分析,评估经纬仪的精度和可靠性。
3. 实训总结在实训过程中,我们遇到了一些问题,如经纬仪架设不规范、观测数据误差较大等。
通过讨论和解决这些问题,我们总结了以下几点经验:(1)严格按照操作规程进行经纬仪的架设,确保仪器稳定。
(2)提高观测精度,注意消除误差。
(3)熟练掌握数据处理方法,提高数据处理效率。
三、实训成果与分析1. 经纬仪操作技能通过本次实训,学生掌握了经纬仪的基本操作技能,包括架设、瞄准、读数、记录等。
2. 数据处理能力学生学会了使用计算机进行经纬仪观测数据的处理,提高了数据处理能力。
3. 精度评估通过对处理后的数据进行分析,评估了经纬仪的精度和可靠性。
结果表明,本次实训所使用的经纬仪具有较高的精度和可靠性。
四、实训体会与收获1. 理论知识与实践相结合本次实训使我们将理论知识与实际操作相结合,加深了对经纬仪的理解。
2. 提高了动手能力通过实际操作,我们提高了自己的动手能力,为今后从事测绘工作打下了基础。
3. 培养了团队协作精神在实训过程中,我们学会了与他人合作,共同完成任务,培养了团队协作精神。
经纬仪测量角度实训报告
一、实习目的与意义本次实训旨在使学生熟练掌握经纬仪的使用方法,学会通过经纬仪进行角度测量,并了解角度测量的基本原理和误差分析。
通过本次实训,学生可以巩固课堂所学知识,提高动手操作能力和实际解决问题的能力。
二、实习内容与方法1. 实习内容(1)了解经纬仪的结构、工作原理及使用方法。
(2)掌握经纬仪对中、整平、瞄准和读数的方法。
(3)学会使用经纬仪进行水平角和竖直角的测量。
(4)掌握角度测量的误差分析及数据处理方法。
2. 实习方法(1)理论讲解:由教师讲解经纬仪的结构、工作原理、使用方法、角度测量的误差分析及数据处理方法等。
(2)实际操作:学生在教师的指导下,进行经纬仪的对中、整平、瞄准和读数等操作,并测量水平角和竖直角。
(3)数据处理:对所测量的角度数据进行整理、分析,计算误差。
三、实习过程1. 实习准备(1)熟悉实习内容及要求。
(2)了解经纬仪的结构、工作原理及使用方法。
(3)准备好实习所需的仪器和工具。
2. 实习操作(1)对中:将经纬仪放置在测量点,调整仪器,使照准轴与地面垂直。
(2)整平:调整仪器,使照准轴与水平面平行。
(3)瞄准:将望远镜对准目标点,使目标点位于十字丝中心。
(4)读数:读取望远镜中十字丝的水平方向和竖直方向的读数。
(5)水平角测量:测量目标点与起始方向之间的水平角。
(6)竖直角测量:测量目标点与水平面之间的竖直角。
3. 数据处理(1)整理测量数据,计算水平角和竖直角的平均值。
(2)分析测量误差,计算误差来源及误差大小。
(3)对测量结果进行评价。
四、实习结果与分析1. 实习结果(1)熟练掌握了经纬仪的使用方法。
(2)能够正确进行水平角和竖直角的测量。
(3)学会了角度测量的误差分析及数据处理方法。
2. 实习分析(1)实习过程中,学生认真操作,积极思考,提高了实际操作能力。
(2)通过误差分析,学生了解了角度测量的误差来源及影响,提高了对测量结果评价的能力。
(3)本次实习使学生巩固了课堂所学知识,为今后从事测绘工作打下了基础。
伺服电机实训报告项目小结怎么写
伺服电机实训报告项目小结怎么写一、引言在本次实训项目中,我将深入探讨伺服电机的相关知识,并结合实际操作进行项目小结,以期加深对伺服电机的理解,并总结实训过程中的经验与教训。
二、项目背景伺服电机是一种能够根据控制系统的指令来精确地控制运动的装置,广泛应用于工业自动化、机床、精密加工设备等领域。
本次实训项目的目的在于通过操作实践,掌握伺服电机的基本原理、调试方法以及应用技巧,从而达到提高工程技术人员的实际操作能力和综合素质的目的。
三、实训内容1. 理论学习:通过课堂学习和相关资料阅读,深入理解伺服电机的基本原理和工作机理,包括PID控制、编码器反馈等核心概念。
2. 实际操作:在指导老师的带领下,进行伺服电机的调试、安装与维护等实际操作,了解伺服电机的常见故障及解决方法。
3. 项目实践:结合具体项目案例,对伺服电机在工业自动化控制系统中的应用进行案例分析,并进行实际操作演练。
四、项目小结1. 深度评估:在本次实训项目中,我通过系统学习和实际操作,对伺服电机的原理、调试方法以及应用技巧有了更深入的理解和认识。
在实际操作中,我深刻体会到了伺服电机的高精度、高可靠性和高灵活性,对其在工业自动化领域的重要性有了更清晰的认识。
2. 广度评估:通过实训项目的学习,我对伺服电机在不同行业的应用有了更为全面的了解,包括机床加工、食品包装、印刷设备等领域,从而使我能够更灵活地应对不同的使用场景和需求。
3. 总结回顾:本次实训项目使我对伺服电机的工作原理和应用领域有了更为深刻的认识,并通过操作实践提升了我的专业技能和综合素质。
在未来的工作中,我将能够更好地应用所学知识,为企业的自动化控制系统提供更专业的支持和服务。
五、个人观点和理解通过本次实训项目,我对伺服电机的重要性和广泛应用有了更加深刻的认识。
伺服电机作为工业自动化的重要组成部分,其高精度、高可靠性和高灵活性的特点,为工业生产和制造提供了强大的动力支持。
在未来的工作中,我将不断加强对伺服电机技术的学习和掌握,努力提升自己的专业能力,为工业自动化控制系统的发展贡献自己的力量。
j2me实验三手机游戏程序设计 (1)
百度文库- 让每个人平等地提升自我!淮海工学院计算机工程学院实验报告书课程名:《手持设备软件开发》题目:实验3:J2ME手机游戏程序设计班级:软件学号: 1姓名:评语:成绩:指导教师:批阅时间:年月日一、实验目的与要求掌握J2ME手机游戏设计的一般方法,掌握游戏画布,分块图层,精灵和图层管理类的使用方法。
掌握控制游戏画面更新及固定帧率的方法。
二、实验内容对实例MIDP项目Game中的SimpleSprite游戏应用程序做如下的修改:1.使用动态分块修改游戏的背景使得在游戏运行过程中小花与小草连续的变换。
2.增加命令,可以控制sprite0移动的速度,同时保证画面的稳定更新。
3.sprite1在游戏开始时出现的位置随机生成,但要保证不与sprite0发生碰撞。
三、实验步骤SimpleSpriteCanvas.javapackage SimpleSprite;import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.*;import java.util.*;public class SimpleSpriteCanvas extends GameCanvas{private boolean isPlay; // 值为true时游戏线程反复执行private long delay; // 线程执行时的延时,控制游戏每帧的时间private int width, height; // 保存屏幕的宽度和高度private TiledLayer background; // 定义背景为分块图层private Sprite sprite0, sprite1; //sprite0 大的, sprite1 小的private Image backImage, spriteImage; // 生成背景、精灵所用图像private final int toLeft[]={0, 1, 1, 2, 2, 3, 3, 4}; //精灵0向左运动的帧序列private final int toRight[]={5, 6, 6, 7, 7, 8, 8, 9}; //精灵0向右运动的帧序列private int xStep = 0, yStep = 0;private boolean pxCollides = false; //碰撞检测方式,默认矩形检查private boolean rightToLeft = true;private int aniIndex1, aniIndex2;private int state=1;private int moveLength=2; //初始步长private int xPosition=30,yPosition=80;// 构造方法public SimpleSpriteCanvas() {super(true);width = getWidth();height = getHeight();delay = 50;background = createBackground();sprite0 = createSprite("/SimpleSprite/sprite0.png", 56, 29);sprite1 = createSprite("/SimpleSprite/sprite1.png", 34, 27);sprite0.setPosition(180,70);createPosition();//产生随机位置sprite1.setPosition(xPosition,yPosition);collidesFind();sprite0.setFrameSequence(toLeft);sprite1.defineCollisionRectangle(0, 0, 64, 64);}// 启动线程体public void start() {isPlay = true;Thread1 thread1= new Thread1();Thread2 thread2= new Thread2();thread1.start();thread2.start();}// 停止线程执行public void stop() { isPlay = false; }// 线程体,游戏主体class Thread1 extends Thread{public void run(){Graphics g = getGraphics(); // 获取脱机屏幕缓冲区中图形对象long beginTime = 0, endTime = 0;while (isPlay == true) {beginTime = System.currentTimeMillis();queryKey(); // 查询按键状态sprite0Move();drawScreen(g); // 绘制屏幕endTime = System.currentTimeMillis();if (endTime - beginTime < delay) {try {Thread.sleep(delay - (endTime - beginTime));} catch (InterruptedException ie) { }}}}}// 主动查询按键状态,进行处理private void queryKey() {int keyStates = getKeyStates(); // 查询游戏按键状态,游戏按键被按下时if ((keyStates & LEFT_PRESSED) != 0) // 如果未超过左侧范围,向左移动xStep = -1*moveLength;if ((keyStates & RIGHT_PRESSED) !=0) // 如果未超过TiledLayer右侧范围,向右移动xStep = moveLength;if ((keyStates & UP_PRESSED) != 0) // 如果未超过TiledLayer上侧范围,向上移动yStep = -1*moveLength;if ((keyStates & DOWN_PRESSED) !=0) // 如果未超过TiledLayer下侧范围,向下移动yStep = moveLength;}// 在屏幕上显示游戏画面private void drawScreen(Graphics g) {g.setColor(0x99ccff);g.fillRect(0, 0, getWidth(), getHeight());background.paint(g);sprite0.nextFrame();sprite1.nextFrame();sprite0.paint(g);sprite1.paint(g);flushGraphics();}// 小花与小草转换class Thread2 extends Thread{public void run(){while (isPlay == true){if (state==1){background.setAnimatedTile(aniIndex1, 6);background.setAnimatedTile(aniIndex2, 5);state=0;}else{background.setAnimatedTile(aniIndex1, 5);background.setAnimatedTile(aniIndex2, 6);state=1;}try {Thread.sleep(500);} catch (InterruptedException ie) { S ystem.out.println("sleep wrong");} }}}// 建立分块图层private TiledLayer createBackground() {try {backImage = Image.createImage("/SimpleSprite/bgtiles.png");} catch (Exception e) {}TiledLayer tiledLayer = new TiledLayer(8,9,backImage,32,32);aniIndex1 = tiledLayer.createAnimatedTile(5);aniIndex2 = tiledLayer.createAnimatedTile(6);// 数组中存放单元格中需要填充的分块号int[] map = {0, 0, 7, 0, 0, 0, 8, 0,7, 0, 0, 0, 7, 0, 0, 7,0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, -2, 0, 0, 0, -1,0, 0, 1, 2, 3, -1, 1, 2,0, -2, 1, 2, 2, 2, 2, 2,1, 2, 2, 4, 4, 4, 4, 4,};// 将分块填充进相应的单元格for (int i=0; i < map.length; i++) {int column = i % 8;int row = (i - column) / 8;tiledLayer.setCell(column,row,map[i]);}return tiledLayer;}// 建立精灵private Sprite createSprite(String picName, int spriteWidth, int spriteHeight) { try {spriteImage = Image.createImage(picName);} catch (Exception e) {}Sprite sprite = new Sprite(spriteImage, spriteWidth, spriteHeight);return sprite;}private void sprite0Move() {sprite0.move(xStep, yStep); //移动// 如果方向改变则改变动画序列if (xStep > 0 && rightToLeft == true) {rightToLeft = false;sprite0.setFrameSequence(toRight);}else if (xStep < 0 && rightToLeft != true) {rightToLeft = true;sprite0.setFrameSequence(toLeft);}//检测碰撞if( sprite0.collidesWith(background,pxCollides) ||sprite0.collidesWith(sprite1,pxCollides) ) {//如果移动后和其他背景或另一个物体发生碰撞则返回到原来位置sprite0.move(-xStep*2, -yStep*2);}// 重新初始化步长xStep = yStep = 0;}public void change() {// 改变碰撞检测方式,true表示采用象素级检查,false表示采用矩形检查if (pxCollides == true)pxCollides = false;elsepxCollides = true;}public void fast(){if(moveLength<10)moveLength++;}public void slow(){if(moveLength>1)moveLength-- ;}public void createPosition(){Random rdm = new Random();xPosition = (rdm.nextInt() >>> 1)%224 ; //取0-224的随机正数yPosition = (rdm.nextInt() >>> 1)%256 ;}public void collidesFind(){while( sprite1.collidesWith(background,pxCollides) ||sprite1.collidesWith(sprite0,pxCollides) ) {createPosition();sprite1.setPosition(xPosition,yPosition);}}public void displayChange(){if (sprite1.isVisible())sprite1.setVisible(false);elsesprite1.setVisible(true);}}SimpleSpriteMidlet.javapackage SimpleSprite;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;// MIDlet主程序public class SimpleSpriteMidlet extends MIDlet implements CommandListener { private Display display;private SimpleSpriteCanvas gameCanvas;private Command exitCommand, actCommand,fastCommand,slowCommand,displayCommand;// 在MIDlet启动时进行初始化工作public void startApp() {display = Display.getDisplay(this); // 获得显示屏幕对象gameCanvas = new SimpleSpriteCanvas(); // 建立GameCanvas对象// 建立Command对象exitCommand = new Command("退出", Command.EXIT, 1);actCommand = new Command("改变", Command.SCREEN, 1);fastCommand = new Command("加速", Command.SCREEN, 1);slowCommand = new Command("减速", Command.SCREEN, 1);displayCommand = new Command("小龙显隐", Command.SCREEN, 1);gameCanvas.addCommand(exitCommand);gameCanvas.addCommand(actCommand);gameCanvas.addCommand(fastCommand);gameCanvas.addCommand(slowCommand);gameCanvas.addCommand(displayCommand);gameCanvas.setCommandListener(this);gameCanvas.start(); // 启动GameCanvas中的线程体display.setCurrent(gameCanvas);}// Command事件处理程序public void commandAction(Command c, Displayable s) {if (c == exitCommand) {exit();}else if (c == actCommand) {gameCanvas.change();}else if (c == fastCommand) {gameCanvas.fast();}else if (c == slowCommand) {gameCanvas.slow();}else if (c == displayCommand) {gameCanvas.displayChange();}}public void pauseApp() { }public void destroyApp(boolean unconditional) { }// 停止线程,结束MIDlet程序public void exit() {gameCanvas.stop();destroyApp(false);notifyDestroyed();}}四、实验结果五、结果分析与实验体会这一次试验实现要求不是很难,但是不管用什么办法实现总是有不足的地方。
J2ME综合实训评测报告参考文档
J2ME综合实训评测报告参考文档部门: xxx时间: xxx制作人:xxx整理范文,仅供参考,可下载自行修改计算机科学与技术系课程综合实训报告工程名称<中文): 个人通讯录<英文): PhoneDir课程名称: J2ME移动应用开发专业名称: 计算机科学与技术年级班级: 2009年级 1班学年学期: 2018-2018学年第二学期学号: 0906401032姓名: 聂剑峰2018年4月5日目录1.前言12.系统总体设计12.1系统设计目标12.2 系统设计思路12.3 系统总体架构12.4 系统流程图13.服务器端的设计13.1数据库存储层设计13.2服务器端的代码实现和分析14.客户端设计24.1 手机客户端程序设计24.2 界面设计24.3 程序的运行流程24.4 手机客户端的代码实现和分析25.小结2个人通讯录的设计和实现0906401032 聂剑峰1.前言个人通讯录是在移动电话中常用的程序,它可以用来理解在持久存储中进行添加、查找、浏览和删除的过程。
它可以清楚地演示每个界面切换过程,以及响应用户输入的命令,实现用户对个人电话簿信息的管理。
b5E2RGbCAP此次个人通讯录设计的目的:首先由于每个人都有手机,通讯录是必不可少的,很贴近我们的生活,通过设计这个工程能更深了解移动通信编程思想和移动应用开发过程。
p1EanqFDPw2.系统总体设计2.1系统设计目标系统的设计目标是掌握使用无线Java应用技术即J2ME技术的软件系统设计方法,并且以一个《个人通讯录》系统的实际应用来进行讨论。
DXDiTa9E3d2.2 系统设计思路<1)、初始化界面:初始化界面为欢迎界面,启动系统的第一个界面,显示版权信息和欢迎图片以及欢迎词。
<2)、功能设计:通过欢迎界面进入功能主界面,包含了‘新建联系人’和‘我的电话簿’两个功能,在浏览‘我的电话簿’里可以对对应联系人进行修改和删除操作,还可以查看详情。
经纬仪实训报告
经纬仪实训报告一、实训目的和背景经纬仪是一种用来测量地球上某一点的经度和纬度的仪器,可广泛应用于地理勘测、导航、航海等领域。
本次实训的目的是让学生熟悉经纬仪的使用方法和操作步骤,掌握数据记录和分析的技巧,培养他们对地理信息的敏感度和观察能力。
二、实训过程1. 仪器介绍和使用方法在实训开始之前,首先由老师详细介绍经纬仪的结构和原理,以及各个部件的功能。
学生们通过观察和实际操作,逐渐熟悉仪器的使用方法。
这其中包括测量点的选择、调整经纬仪的平衡、设置读数装置等。
2. 数据测量和记录在实际测量过程中,学生们需要根据给定的坐标或地名,在地图上选择测量点。
然后,他们使用经纬仪进行测量,并将所得数据记录在测量表中。
这一步骤需要高度的专注和耐心,因为任何一个小的误差都可能导致整个测量结果的不准确。
3. 数据分析和结果验证测量完毕后,学生们将所得数据进行整理和分析,并与参考数据进行对比。
通过计算误差和分析原因,学生们可以进一步掌握测量的准确性和稳定性。
他们还可以通过构建图表和绘制统计图,将结果直观地表现出来。
三、实训心得和收获通过本次实训,我深刻体会到了经纬仪在地理测量中的重要作用。
它可以帮助我们准确地确定地理位置,为我们提供导航、航海等工作提供重要的参考。
同时,我也意识到了测量过程中的困难和挑战,这需要我们有高度的耐心和细致的观察力。
在实训过程中,我还收获了许多其他方面的知识和技能。
例如,我学会了如何阅读和理解地图上的坐标、地名等信息,这对于我在实际生活中快速定位和导航非常有用。
此外,我还了解了如何使用Excel等工具进行数据处理和分析,这对于我未来的科研和工作都有很大的帮助。
总之,本次经纬仪实训让我受益匪浅。
通过实际操作和数据分析,我更深入地理解了经纬仪的原理和使用方法。
在实训中,我还培养了观察能力、数据处理和分析的能力。
这将对我未来的学习和工作产生积极的影响。
我相信,通过不断地学习和实践,我会越来越熟练地掌握经纬仪的使用,为地理测量和导航等领域做出贡献。
工业机器人实训报告日志
实训日期:2023年11月1日实训地点:XX大学工业机器人实训室实训时长:8小时实训内容:一、实训背景随着工业自动化程度的不断提高,工业机器人的应用越来越广泛。
为了提高自身在工业自动化领域的实践能力和技能,我参加了本次工业机器人实训课程。
二、实训目标1. 掌握工业机器人的基本操作方法和技能;2. 熟悉工业机器人的编程与调试;3. 了解工业机器人在实际生产中的应用。
三、实训过程1. 上午9:00-9:30:实训教师介绍了工业机器人的基本概念、组成及工作原理,使我对工业机器人有了初步的认识。
9:30-10:30:学习了工业机器人的操作步骤,包括启动、运行、停止等,并进行了实际操作练习。
10:30-11:00:了解了工业机器人编程的基本知识,包括程序编写、调试和运行。
11:00-12:00:分组进行编程练习,我将编写的程序上传至机器人,进行实际运行测试。
2. 下午13:00-14:00:学习了工业机器人维护保养的基本知识,包括日常检查、故障排除等。
14:00-15:00:了解了工业机器人在实际生产中的应用,包括焊接、装配、搬运等。
15:00-16:00:进行了工业机器人编程与调试的练习,通过不断尝试和修改,使程序运行更加稳定。
16:00-17:00:总结本次实训的收获,分享学习心得。
四、实训收获1. 通过本次实训,我对工业机器人的基本操作、编程与调试有了更加深入的了解;2. 学会了如何运用所学知识解决实际问题,提高了自己的动手能力;3. 认识到团队合作的重要性,学会了与他人沟通、协作。
五、实训心得1. 实践是检验真理的唯一标准。
通过本次实训,我深刻体会到理论知识与实际操作相结合的重要性;2. 在实训过程中,我遇到了很多困难,但通过不断尝试和请教,最终都得到了解决。
这让我明白了,面对困难,要有信心和毅力;3. 在团队合作中,要学会倾听他人意见,共同解决问题。
只有这样,才能取得更好的成果。
六、实训总结本次工业机器人实训让我受益匪浅,不仅提高了自己的实践能力,还对工业自动化领域有了更深入的认识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训报告实训名称: Java Me专业:____J A V A___班级: 90912X 姓名:郑文洁指导老师:蒋理实训时间: 2011 年 9 月Java Me实训报告一、实训目的以Java ME程序设计语言为基础,以NetBeans为开发平台,通过完成具有一定难度的手机综合软件综合实训项目的编写,调试,运行工作,进一步掌握手机软件开发的基本方法和变成技巧,巩固理论知识。
二、实训内容1、搭建开发环境,安装软件2、构建MIDlet程序,名为Hello3、使用VMD创建Visual MIDlet,名为myVisualMidletProjects4、构建用户界面,创建手机通讯项目,名为PhoneBooks5、数据库编程,设计用户界面,继续通讯录设计6、绘制图形(不同的几何图形、文本、图像)三、详细设计与实现(一)搭建开发环境,安装软件开发Java ME应用程序需要的软件是JDK(Java Development Kit)、WTK (Java ME Wireless Toolkit)和IDE(Integrated Develop Environment)。
此次实训的软件是由老师提供的软件,所以我们只需直接点击进行安装。
双击JDK安装源文件jdk-6u14-javafx-1_2-windows-i586,要安装的项目依次是开发工具、演示程序及样例、源代码、公用JRE及Java DB。
双击WTK安装源文件sun_java_wireless_toolkit-2_5_2-ml-windows,开始程序的安装。
在安装NetBeans 集成开发环境前,需要确保系统已经安装了适合的JDK版本,然后双击netbeans-7.0-ml-windows进行软件的安装。
在NetBeans IDE中配置WTK:点击菜单命令中的“工具”>“Java平台管理器”,单击“添加平台”按钮。
该向导将搜索系统中所有可用的Java ME平台的列表。
如果页面中没有列出要安装的平台,请单击“查找更多Java ME平台文件夹”,然后导航至安装该平台的目录。
通过在Java平台管理器中国选择“工具和扩展”,可以访问仿真器平台的特殊工具和扩展。
(二)构建MIDlet程序,名为Hello创建项目:选择“文件”>“新建项目”,在“类别”列表中选择“Java ME”选项,在“项目”列表中选择“Mobile应用程序”选项并单击“下一步”按钮。
在项目名称字段中输入Hello,可以将项目位置更改为系统上的任意目录。
选中“设为主项目”和“创建Hello MIDlet”复选框,单击“下一步”按钮。
选择Sun Java(TM)Wireless Toolkit 2.5.2 for CLDC作为仿真器平台,并使用“DefaultColorPhone”作为设备,其余使用默认值,展开“安装的CLDC平台提供的配置模板”和“Sun Java(TM)Wireless Toolkit 2.5.2 for CLDC”文件夹,选中每个配置旁边的框,IDE自动为列出的每个模板创建新项目配置。
项目文件夹包含所有源码和项目元数据,比如项目Ant脚本,应用程序本身将显示在可视Mobile设计器的“流设计”窗口中。
编辑MIDlet显示文本:单击IDE中部可视设计区域的“屏幕”。
单击“设备屏幕”中的“Hello World!”文本框,在属性窗口中,单击“文本”属性并键入“Welcom to the world of Java ME!”点击运行,在输出窗口中输出项目编译的进程,当输入“Starting emulator in execution mode”时,仿真器启动,在程序列表中选择HelloMIDlet,并单击仿真器键盘上的确定按键,在设备仿真器程序窗口,启动了MIDlet并显示在源码中输入的文本。
单击“Exit”按钮,返回设备主屏幕窗口。
代码中重要方法说明:HelloMIDlet()类构造函数,StartApp()是MIDlet 必须实现的方法之一,MIDlet被载入时运行该方法;当该MIDlet未暂停时通过initialize()方法初始化处理元素,并通过startMIDlet()方法处理显示对象;startMIDlet()通过调用switchDisplayable()方法确定界面显示元素;而switchDisplayable()类似于MVC框架中的Controller,通过setCurrent()方法控制着屏幕的现实元素,通过Form构建Form实例,并通过getStringItem()方法将StringItem元素添加到Form实例;commandAction()方法为界面元素的响应处理程序,用于处理命令等控件的处理事件;pauseAdd()也是MIDlet并须实现的方法之一,MIDlet被暂停时运行该方法;当程序运行到exitMIDlet()方法时,该方法同时调用destroyApp()(也是MIDlet并须实现的方法之一)和notifyDestroyed()方法来销毁MIDlet程序。
HelloMIDlet类继承自MIDlet,并实现了CommandListener接口。
(三)使用VMD创建Visual MIDlet,名为myVisualMidletProjects创建项目:新建一个MIDP应用程序项目,名称为myVisulaMidletProjects,并取消创建向导中的“创建Hello MIDlet”复选框,新建文件,选择MIDP,文件类型下选择“Visual MIDlet”或“可视模板”,命名为myVisualMIDlet,位置默认,单击完成,打开VMD设计界面。
界面首先呈现“流”设计界面,在里面可以设计手机程序的各个屏幕之间是如何导航的。
创建可显示项:在流设计器中,分别拖动一个列表、一个表单和一个文本框来演示VMD的使用方法。
双击流设计器中的list列表,进入“屏幕”设计界面,从组件元素中的“元素”列表中拖两个“列表元素”到list屏幕中,再从中的“命令”列表中拖一个“退出命令”到list屏幕上,选择list组件,在其属性窗口的“标题”栏内输入“菜单”,修改了list的标题属性;分别选择list内的列表元素组件,在其属性窗口的“字符串”栏内输入“mobile-duke”、“帮助”,修改了列表元素的字符串属性;右单击“分配的命令”下的退出命令,在弹出的属性窗口中单击“操作”属性右侧的设置按钮,在打开的操作窗口中选择“退出Midlet”单选框,修改了退出命令的操作属性。
双击流设计器中的“form”表单,进入“屏幕”设计界面,从组件面板中的“项”列表中拖一个“图像项”到form屏幕中,再从命令列表中拖一个“退出命令”和一个“返回命令”到form屏幕中;选择图像项组件,点击其属性窗口的“图像”栏右侧的设置按钮,打开图像设置窗口,在改窗口中,单击“添加”按钮,并单击图像路径右侧的设置按钮,设置图像的路径,单击其属性窗口的“布局”栏右侧的设置按钮,打开布局设置窗口,在该窗口中设置图像水平居中,设置其属性窗口的标签栏内容为“mobile-duke”,修改了图像项的属性;仿照list中设置退出命令的操作为“退出Midlet”,设置返回命令的操作为“转至上一个可显示内容”。
双击“textbox”文本框,从“组件面板”中的“命令”列表中拖一个“退出命令”和一个“返回命令”到textBox屏幕上,选择文本框组件,在其属性窗口的“文本”栏内输入“欢迎使用Visual Mobile Designer设计MIDP应用程序,它将给的设计带来极大的方便性。
”,修改了文本框的属性;仿照list设置退出命令的操作为“退出Midle”,设置返回命令的操作为“切换为可显示:list”,修改了命令的操作属性。
切换回“流设计器”,拖动“移动设备”中的“已启动”到list,拖动list中的mobile-duke到form,拖动list中的帮助到textBox。
点击运行。
代码解析:在代码编辑器中,IDE根据流设计器中转至线的流程自动编写switchDisplayable方法来控制可显示项的切换,代码如下:public void switchDisplayable(Alert alert,Displayable nextDisplable){Display display=getDisplay();If(alert==null){Display.setCurrent(nextDisplayable);}else{Display.setCurrent(alert ,nextDisplayer);}}(四)构建用户界面,创建手机通讯项目,名为PhoneBooks创建项目:文件>新建项目,类别中选择“Java ME”,在对应的项目列表中选择“Mobile应用程序”,命名为“PhoneBooks”,下面操作同上面一个创建项目步骤一样。
创建主MIDlet类:右键单击项目窗口中的源包节点,在弹出的快捷菜单中新建Java包,包名框中输入“phonebook”,其余缺省设置。
类似的创建名称分别为“res”和“svg”包,分别用于存放项目中用到的png资源和svg资源。
并且类别中选择MIDP文件类型创建文件,指定名称为PhoneBookVisualMIDlet,位置采用默认位置,单击完成。
创建启动画面:在流视图环境下,从组件面板的可显示项中拖动一个闪屏组件到流设计窗口,闪屏用于显示软件的版本等相关信息。
为了设置导航,拖动“移动设备”的“已启动”至splashScreen项。
双击splashScreen组件标题,进入“屏幕”设计器界面,双击splashScreen组件屏幕中的“<未指定图像>”,打开图像对话框。
单击“添加”按钮,添加默认名为image1的资源,单击右侧的“浏览”按钮,选择一幅png图片作为闪屏图片,还可以设置图片的属性。
单击VMD设计器的源按钮,切换到代码编辑器窗口,在getSplashScreen()方法的最后添加如下代码来猜去软键盘:SplashScreen.removeCommand(SplashScreen.DISMISS_COMMAND);点击运行。
代码解析:Display代表了系统显示屏幕和输入设备的管理器,用来获取设备属性的方法以及设备建议应该显示的对象。
Displayable类是一个抽象类,它的子类都具有显示在屏幕上的能力,MIDP用户界面的核心是Displayable对象,它封装了用于获取用户输入的设备相关图形,同一时间只能有一个Displayable对象对用户可见,此时用户只能与此Displayable对象进行交互,对象间的调用显示通常是通过命令按钮触发事件来完成。