苹果实训报告

时间:2024.3.23

实习(实训)报告

 名称   UDecide 常用随机选择器       

                                            

20##年 1 月 7 日至  2013  年 1 月  12日共 一 周

院  系   计算机工程系  

班   级   11软件测试   

姓   名                  

                系 主 任            

               教研室主任                 

指导教师  郝允辉马志明

                


目    录

目    录.................................................................................................................................... 0

一、题目说明............................................................................................................................ 1

1.1程序开发背景............................................................................................................... 1

二、总体设计............................................................................................................................ 1

2.1系统开发平台:........................................................................................................... 1

2.2系统流程图:............................................................................................................... 2

2.3功能结构图:............................................................................................................... 2

三、详细说明............................................................................................................................ 3

3.1系统实施....................................................................................................................... 3

四、遇到的问题和解决方法.................................................................................................... 7

五、实训总结.......................................................................................................................... 10

六、参考文献.......................................................................................................................... 11

附录(源程序代码).............................................................................................................. 11

一、    题目说明 

本次实训是为期一周的苹果实训。实训基地在我校的苹果机房,共有4位指导老师。实训的目的在于让我们更熟悉、了解苹果产品,并在此基础上,使用自己所学的知识来开发一个小型手机应用软件。以此来让我们把所学知识应用于实际开发项目中,把理论知识与实践相结合。此外,让我们在实训过程中,养成团队协作的习惯。

生活需要决策,有时是艰难的决定。但是现在我们可以利用我们的手机让他们做出艰难的决定,

该小软件的特点:

*随机性强

*各个事件的概率都相同

1.1程序开发背景

苹果的所有应用程序都需要使用MAC OS上的开发工具xCode进行开发,这就要求苹果程序开发者要有一台苹果电脑。购买xCode开发工具。注册开发者账户并激活发布权限(每年99美金)。这些就是基础投资。不过,这些对于大学生们来说,却使不用考虑的,因为现在苹果公司与很多大学院校合作,只要大学生们加入ios大学生开发者计划,就可以免费获得开发者账户。如果开发的是网络功能的应用根据情况可能需要租用或购买服务器。

当开发者开发好苹果上的应用,可以在自己的设备上进行测试。测试好了。就进行发布评审。苹果公司会给开发者进行年龄限制的评级。类似软件评审(同类软件太多,你的没有新意,就不发布你的应用)。和开发者协商定价(还是开发商有定价权,但是有上限的),详细测试后会进行发布上线。

苹果的软件商店是个受管理的软件发布平台。大部分软件都不是苹果公司制作的。苹果公司主要做的是操作系统和开发工具。大部分应用都是第三方开发的。第三方有大牌软件公司也有软件开发爱好者。所有在线销售的软件和苹果公司三七分成(苹果公司拿取三成)。

二、总体设计

2.1.系统开发平台:

系统使用中文版设计;系统开发的平台是苹果iOS。苹果iOS是由苹果公司开发的手持设备操作系统。苹果公司最早于20##年1月9日的Macworld大会上公布这个系统, iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到20##年6月7日WWDC大会上宣布改名为iOS。

 Xcode是苹果公司向开发人员提供的集成开发环境(非开源),用于开发Mac OS X的应用程序。不管你用 C、C++、 Objective-C或 Java编写程序,在 AppleScript里编写脚本,还是试图从另一个奇妙的工具中转移编码,你会发现 Xcode 编译速度极快。每次操作都很快速和轻松。Xcode 4 允许你开发基于iOS的iPad、iPhone、iPod Touch 设备应用程序,只要开发者有Mac OS X Snow Leopard 10.6.2 以上版本 Mac OS 操作系统,便可安装ios sdk,如果开发者有iOS设备,便可让Xcode把应用程序部署到你的iOS设备上,不然,开发者还可以使用iPhone仿真器进行调试。Xcode提供了友好而方便的应用程序开发环境,这样开发者就可以开发出好的iOS应用程序了。

Objective-C是iOS的开发语言。Objective-C是C语言的升级版。 对初学者来说,Objective-C存在了很多令人费解的写法,实际上他们是非常优雅的。有C语言基础的程序员在专业老师的指导下,用1个月的时间就可以完全掌握Objective-C这门编程语言了。

Core Location是Mac OS X中其中一个软件框架。它主要用来存储应用程序在iOS 2.0检测设备的位置。它作为iPhone软件路线图在20##年3月6日开发者大会上宣布,并成为了iPhone的软件开发包的一部分。

2.2.功能结构图:

 

图1 流程模块图

三、详细说明

3.1 系统实施

代码:

         - (IBAction)abcd {

           int rNumber = rand() % 4;

        

              switch (rNumber) {

                     case 0:

                            result.text     = @"A";

                            break;

                     case 1:

                            result.text = @"B";

                            break;

                     case 2:

                            result.text = @"C";

                            break;

                     case 3:

                            result.text = @"D";

                            break;

                     default:

                            break;

              }

         }

         此段代码所实现的功能为:使按钮“A/B/C/D”能够实现其功能—随机生成A、B、C、D中的一个并显示出来。只要按下此按钮,系统将调用随机数生成器函数rand()生成一个随机的整数并整除4取余,然后结合switch语句,结果会为A/B/C/D中随机的一个,用来实现按钮的功能,将最终结果显示出来,实现后的界面如图2所示:

图2 运行结果

代码:

         - (IBAction)leftCenterRight {

            int rNumber = rand() % 3;

             

              switch (rNumber) {

                     case 0:

                            result.text     = @"Left";

                            break;

                     case 1:

                            result.text = @"Center";

                            break;

                     case 2:

                            result.text = @"Right";

                            break;

                     default:

                            break;

              }

         }

         此段代码所实现的功能为:使按钮“Left/Center/Right”能够实现其功能—随机生成Left、Center、Right中的一个并显示出来。一旦按下此按钮,系统将调用随机数生成器函数rand()生成一个随机的整数并整除3取余,然后结合switch语句,结果会为Left/Center/Right中随机的一个,用来实现按钮的功能,将最终结果显示出来,实现后的界面如图3所示:

图3 运行结果

代码:

       - (IBAction)oneToHundred {

              int rNumber = rand() % 100;

              result.text     = [[NSString alloc] initWithFormat:@"%d",rNumber];

       }

       此段代码所实现的功能为:使按钮“1-100”能够实现其功能—随机生成1-100之间的一个整数并显示出来。若按下该按钮,系统会调用随机数生成器函数rand(),随机生成一个1-100之间的整数,实现后的界面如图4所示:

图4 运行结果

四、遇到的问题和解决方法

1.代码 int retVal = UIApplicationMain(argc, argv, nil, nil);   出现错误,致使运行后屏幕上什么也没有,如下图所示:    

图5 运行后的屏幕

       为了找出错误,我一遍一遍的做,但都没有成功,我们组也没有一个人做出来,最终,只能请教老师了,老师看了看,帮我们重新新建了一个,重新演示了一遍。看完了老师的演示,我终于知道了错误所在。我们的按钮没有与文件关联,关联之后,错误就消失了。

2.运行后,屏幕上本来应该显示10个按钮,但是只有8个按钮,有两个不见了。如图所示:

图6 错误截图

为了解决这个问题,我们组成员一起寻找错误,将代码看了一遍,发现并没有错误,最终,知道了错误应该在图上,我们有仔细将图检查,在与运行后的屏幕对比,后来发现可能屏幕上的按钮有重复,将后面的按钮覆盖住了,然后我们开始调整按钮的位置,一次又一次的调整、调试之后,手机屏幕上的按钮终于能够正常显示了。

五、实训总结

在我的心目中,苹果是一个传奇。这次实训中,有幸接触了我心目中的那个传奇—苹果电脑。早就听说苹果很好,接触之后才发现,果然名不虚传啊!人机交互界面是那么的漂亮,不仅如此,操作系统的稳定性也是那么好。它有着昂贵的价格,从它身上,我相信了“一份价格一分货”那句话。

这次实训很成功,首先,我要感谢指导我的四位老师,没有你们的帮助,我的实训不可能这么顺利的完成的。这周,您们辛苦了!

通过此次短暂的课程设计,我深有感触。从一开始的构思再到今天写下这份总结。期间时间虽短但是也学到了不少的知识。在实训中,设计手机小软件时发现有很多错误,有的时候要解决一个错误反反复复会花上很多时间。在做的过程中,会有很多意想不到的错误,其中有的错误到最后解决的时候却是发现犯得很幼稚,不过这样的错误多了,在不知不觉中对一些命令知识分外的熟悉了起来,并且自身的排错能力也得到很大的提高。设计过程中的一些很小的问题,虽然不明显,却可以影响到整个软件运作,可见,再小的错误都不能有,我们要有一颗细心与耐心。这样一个小小的手机应用软件,却是通过一次次的搭建、修改之后的结果,真是令人感慨万千。

实习过程中,我发现平时学习的知识与实践环节所用到的有一定的差距,往往我觉得自己掌握的很好或者自认为熟练的技术却在此次实践环节中往往出问题,书本上的知识只提供方法的借鉴,实践中自己必须摸索出适合具体工作的方法,这一切都离不开钻研精神与勤学好问的精神。在人与人相处过程中我收获更大,首先要谦虚谨慎,不能自以为是,认为自己懂得很多,而仅仅埋头苦干,而不向他人请教,工作不但是实践与应用的过程,同时也是学习的过程,我们必须加强与他人的沟通学习,以便获得与他人的交流。

这次课程设计的时间很紧迫,再加上各方面的经验不足,遇到很多问题,但我通过网上查询、咨询同学与老师去解决了那些问题。总的来说,这次课程设计对我很有帮助,让我获益匪浅,使我对苹果产品有了更进一步的了解,在这方面的知识有了不小的提高。

六、参考文献

[1]  刘铭?iPhone程序开发基础教程?电子工业出版社?20##-07

[2]  Dave Mark,Jack Nutting,Jeff LaMarche, 毛姝雯?iOS5基础教程/移动开发系列/图灵程序设计丛书 ?人民邮电出版社?20##-09

附录(源程序代码)

ViewController.m:

//

//  ViewController.m

//  test2

//

//  Created by stu24 on 13-1-8.

//  Copyright (c) 20##年 stu24. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (IBAction)abcd {

    int rNumber = rand() % 4;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"A";

                     break;

              case 1:

                     result.text = @"B";

                     break;

              case 2:

                     result.text = @"C";

                     break;

              case 3:

                     result.text = @"D";

                     break;

              default:

                     break;

         }

}

- (IBAction)agreeDisagree {

    int rNumber = rand() % 2;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"Agree";

                     break;

              case 1:

                     result.text = @"Disagree";

                     break;

              default:

                     break;

         }

}

- (IBAction)headsTails {

         int rNumber = rand() % 4;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"Heads";

                     break;

              case 1:

                     result.text = @"Tails";

                     break;

              default:

                     break;

         }

}

- (IBAction)leftCenterRight {

       int rNumber = rand() % 3;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"Left";

                     break;

              case 1:

                     result.text = @"Center";

                     break;

              case 2:

                     result.text = @"Right";

                     break;

              default:

                     break;

         }

}

- (IBAction)lottery {

       int rNumber = rand() % 3;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"Buy";

                     break;

              case 1:

                     result.text = @"Sell";

                     break;

              case 2:

                     result.text = @"Hold";

                     break;

              default:

                     break;

         }

}

- (IBAction)oneToHundred {

         int rNumber = rand() % 100;

         result.text    = [[NSString alloc] initWithFormat:@"%d", rNumber];

}

- (IBAction)positiveNegative {

         int rNumber = rand() % 2;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"Positive";

                     break;

              case 1:

                     result.text = @"Negative";

                     break;

              default:

                     break;

         }

}

- (IBAction)russianRoulette {

         int rNumber = rand() % 6;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"BANG!!!";

                     break;

              default:

                     result.text = @"Click...";

                     break;

         }

}

- (IBAction)trueFalse {

         int rNumber = rand() % 2;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"True";

                     break;

              case 1:

                     result.text = @"False";

                     break;

              default:

                     break;

         }

}

- (IBAction)yesNo {

         int rNumber = rand() % 2;

        

         switch (rNumber) {

              case 0:

                     result.text     = @"Yes";

                     break;

              case 1:

                     result.text = @"No";

                     break;

              default:

                     break;

         }

}

- (void)viewDidLoad

{

    [super viewDidLoad];

         // Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

@end

ViewController.h:

//

//  ViewController.h

//  test2

//

//  Created by stu24 on 13-1-8.

//  Copyright (c) 20##年 stu24. All rights reserved.

//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

{

    IBOutlet UILabel *result;

}

- (IBAction)abcd;

- (IBAction)agreeDisagree;

- (IBAction)headsTails;

- (IBAction)leftCenterRight;

- (IBAction)lottery;

- (IBAction)oneToHundred;

- (IBAction)positiveNegative;

- (IBAction)russianRoulette;

- (IBAction)trueFalse;

- (IBAction)yesNo;

@end

更多相关推荐:
实训报告范文

实训报告仪模拟对话企业介绍学年学期专业班级姓名学号指导老师1实训项目商务面试进出口公司市场营销商务礼目录1实训一2实训二3实训三4实训四5实训五6实训六模拟面试与简历制作公司结构与企业文化实践建立公司模拟业务流...

实训报告范本

秦皇岛职业技术学院有关艾欣超市的实训报告实训项目:连锁超市商品摆放与周边环境实训时间:20xx年x月x日8:00-12:00.指导教师:王蕾实训人员:张艳林一、实训目的1.这次上实训的主要目的是将《连锁企业商品…

实训报告模板

荆楚理工学院课程实训成绩年级20xx级专业电气工程及其自动化课程低压电气控制技术班级11电工2班姓名志学号20xx401020xx3指导教师评语在为期三周的实训中该生严格遵守各项实训制度未有无故缺勤迟到早退现象...

实训报告

《阿里巴巴国际站操作平台》实训报告姓名舒*班级2011级阿里2班学号11*****01经济管理学院电子商务专业20xx年5月一、实训目的与要求阿里巴巴电子商务国际平台是阿里巴巴集团旗下的B2B贸易平台,主要有两…

实习实训报告

20##届本科毕业实习报告专业班级:学号:学生姓名:指导教师:实习期间:实习地点:二○##年三月二十五日信息工程系校外实习报告要求1.整个毕业实习报告包括封面、毕业实习考核内容及评分标准、正文、毕业实习考勤表、…

实训报告格式

汽车诊断与检测实训一、实训目的(一)掌握电控发动机的结构和工作原理。(二)掌握汽油喷射系统的构造及原理。(三)了解汽车空调系统特点。(四)掌握汽车空调的组成、原理、安装、作用和控制面板的用途及使用。(五)了解车…

实训报告

为期一周的实训已经画上了句号。虽然时间不长,但是这次的实训中我学到了很多,同时也让我意识到我要学的更多。通过整个实训我更加明确了自己将来的工作方向,以及自己以后学习的方向。第一天我们参观的是上海电气,上海电机学…

怎样撰写实训报告

怎样撰写实训报告实训是学生接触职业实际提高综合职业素质增强分析问题和解决问题能力的重要教学环节也是培养人才的重要途径实训报告是学生在某项实训活动中把实训目的实训时间实训地点实训部门或岗位实训内容和过程实训体会和...

模拟炒股实训报告

证券投资模拟炒股心得体会刚开始我对证券投资模拟炒股一点点概念都没有只听说过股票可以使一个人一夜之间成为百万富翁也可以是一个百万富翁一夜之间成为乞丐在大学我学习的是金融管理专业可是我一直不知道怎么去炒股也很想学习...

砌筑实训报告

砌筑实训报告砌筑施工实训转眼就结束了我感触很深虽然在实训过程中碰到了不少问题但经过我们的努力和老师的帮助下都顺利地解决了这也让我感觉到一个团队之间合作的重要性还有理论必须与实践相结合的真理在这次实训中我碰到了很...

实训报告

辽宁北富电梯有限公司公司介绍辽宁北富电梯有限公司地处沈阳著名怪坡风景区北3公里处哈沈高速公路懿路出口的102国道旁企业占地面积28万平方米生产建筑面积15万平方米注册资金1500万元人民币是从事电梯产品研发制造...

底盘实训报告

前言通过本周的汽车底盘构造的综合实训了解汽车底盘各总成拆装维修工具的性能特点和用途掌握其正确使用方法通过拆装验证和分析掌握汽车底盘各总成的作用构造工作原理熟知汽车底盘底盘各总成维修技术标准和工艺规范熟练对汽车底...

实训报告(43篇)