android开发实习报告总结(共10篇)
篇1:android开发实习报告总结
Android开发实习总结
有一名话叫做:不经过风雨,怎么见彩虹?我想改一下:不真正进入社会,怎能了解社会呢?
在这次实习中,给我收获最大的是我觉得很多工作需要我去摸索和探讨,要不怕吃苦,勇于激流勇进,有的工作虽然单挑又重复,但这是磨练意志最有效的方法,我告诫自己要认真完成,对每项工作都要他看成是公司对自己的一次考核,做到每一件事的过程中遇到困难,一定要争取不抛弃,不放弃,坚持“战斗”,只要希望还在,胜利一定属于我们。
在此次专业实习的过程中,我进入了广州外语通科技有限公司当任Android开发实习生,并参加了两次大项目的研发,从实际到理论,加深了我们对软件技术专业的理解,和对于与社会接轨的深刻感受。
作为学生,我们更多的是课本的知识的理解,理论的优势是我们的特色,但是怎样将理论结合实际却是摆在我们面前的难题。而参观广州外语通科技有限公司正视给了我们直观的解读。广州外语通科技有限公司建立了一整套符合国际标准的质量、成本和交付体系,软件开发质量控制和过程改善能力已达到了国际先进水平,秉承“用开拓的意识、创造新的价值”的企业理念,不断跟踪国际先进技术与管理思想,研发和提供优质软件产品和技术服务,为客户不断创造和提升价值。正是因为秉持这样的理念其完整的价值链和细致的软件服务,给了我们以软件技术专业的具体实际的体验。与此同时,广州外语通科技有限公司企业的参观使我们对中国物流企业的现状有了大概的了解,参观过程中不同仓库的设施和地面的设置的挑选更是让我们多了超出理论的认识。通过指导人员的讲解我们对中国物流企业的信息化有了大致的了解:中国物流企业信息化整体水平不高是其信息化建设的核心问题。这包括:标准不统一,资源浪费严重;大型应用软件系统应用不普遍,应用层次低;现有各软件系统之间相互孤立,形成“信息孤岛”;信息化建设发展不平衡,造成“信息鸿沟”;硬件设备的利用率不高,资源浪费严重;综合信息系统是物流业信息化建设的必然趋势。
如果说前两次的参观实习是给的我们直观的视觉冲突和心理震撼,那么后来的信息化讲座就揭开了信息化和软件技术专业的神秘面纱。通过经验丰富的演讲者的ppt演示我们了解了多个行业的信息化实施过程和具体的商务转变成软件技术专业活动的流程。现实中简单的商务活动一旦设计成成功的xx专业流程将涉及多个业务流程,整体的实施过程是复杂而艰难的。鉴于中国Android专业已经很成熟,各方面的支持还不够很完备,这使得中国Android专业的发展有很大的扩展性。
作为应届毕业生,在毕业前的这次专业实习,无疑是给了我们对Android专业的清晰认识,这也是最为软件技术专业专业的学生的最大感悟。当然实习中还有着更多的感触,包括学习,生活,工作各个方面。
就学习而言,专业实习它更偏重于应用,更加细致,要求也更加严格。作为应届毕业生的我们要想适合自己的工作,在实际中实现自己的理想,必需不断的增加自己的能力,做事情更加专注。
就生活而言,专业学习展示给我们看各个不同的行业的人们的生活,不同行业的人们将自己的行业融入自己的生活,这样大的人群的生活展示给我们未来的生活远景,选择什么样的生活也是我们现在的最重要的抉择。一旦下定决心,也就要开始为自己的生活做准备,胜利是属于有准备的人的。现在的我就要为自己的生活做准备,不断的充实自己。
就工作而言,无疑的本次的xx专业专业实习,展示给我们了多种职业,而作为应届毕业生,择业的选择是大多数人所面对的问题。就我们xx专业而言,面试时常遇见的问题就是“Android专业是干什么的?”或许大多数的学生跟我一样对android专业并没有清晰的概念,所以也并不能很好的回答这样的问题。不管怎样,勤劳的人是让人钦敬的,但所接触的朋友说“多年的工作让我清楚这个社会的运转不是控制在辛勤劳动的人手上,而是那一班根深帝固的政治家、资本家手中...工作中的认真负责不是为了讨好表现,而是为了要冶练自己的品性,是在为自己,不是为老板”。
上面的认识都是正面的,也是自己受益的主要部分,但就个人而言,本次的xx专业实习更多的是让自己认识到自己的不足。作为一个即将毕业的应届生,通过此次的实习,更多的是对大学四年的回顾和反省。进入了社会,和学校的感觉是完全不一样的。只有在刚进入公司的一个月里,大家还把你当作新人,时间久了公司的领导就把你与其它同事相比较;当你开始跑客户时,客户把你与做了很多年的销售相比较,没人把再把你当新人看待,而你把你当作一个正式的有能力的人使用。
看着那些员工忙忙碌碌的来来去去,坚定的态度是那么一点一滴在铸就起来,一个被人认可的人首先一定是一个认真负责的人,一个认真负责的人无论到哪里都可以站得正。相对于经验和技术而言,这些都是可以积累的,可以日久能熟的,但是否能有正确的态度却是因人而异的,有的人永远让人感觉畏锁。我从来没有把现在的工作当作实习,我就是认定我是在工作,而不是来学习东西的。我是为工作而学习,学习是为了把工作做得更好。
总的来说,我们这一次实习是比较成功的,大家都能学习到了很多在校园、在课堂上、课本上学不到的东西,也了解很多和懂得了做人的道理,特别是体会到生活中的艰辛和找工作的不容易。
感谢这次实习,感谢这次实习的教师,感谢为我们争取了这实习机会的领导。这次实习,一定会令我的人生走向新一页!
XXX
2016-01-08
篇2:android开发实习报告总结
刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的Android SDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想,因为Android在现在也是全新的技术和框架,在其中我也学到了如何用单例模式、工厂模式等常用的设计模式进行学习,通过API进行开发客户端,对Request发送,Response处理中通过比较方便的JSON对象传输,以及对XML、JSON、图片、业务等下载处理,对API接口调用等问题处理。
首先在界面上,我们同样可以通过不同布局进行设计非常酷的界面,这些界面可以通过include进行引入,和jsp、html也有相通的地方,同样在android上可以用到自定义的样式这和css也有比较相通的地方,我们可以通过一些公用的方法写个BaseActivity这个基类,通过继承方式比较不错的实现了Activity的界面,因为这样你可以Header(头部)和Footer(尾部)进行处理一些触发事件或者特效等。布局模式以相对模式为主,线线布局模式可以在比较简单的include进行完成,最重要的一点就是:我们可以自己通过重写方法或者通过实现View或者Layout等类进行扩充项目需
要的布局(或者控件),在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的 跳转Intent管理,通过Bundle对数据在界面之间进行传输。
Android的界面显示同样也是基于控件的。通常是用View(包括ViewGroup)控件配上XML的样式来做的。具体细节不想说了,可以参考 Samples里的ApiDemos/View,和View的Doc,以及Implementing a UI这篇Doc。其他还有很多,感觉算是SDK讲述的最多的内容。从控件的使用上,和网页的设计类似,尽量用parent_width之类的抽象长度,用Theme来做风格,抽取所有的字串等信息做本地化设计。相关内容参看Implementing a UI就好。
一类比较重要的是数据绑定控件。如果做过ASP.Net会从中看到很多类似的地方。一个支持数据绑定的控件,比如ListView。可以通过一个 ListAdapter绑定到一个数据源上。ListAdapter是一个抽象类,主要的实现类包括SimpleAdapter和 SimpleCursorAdapter。前者是绑定一个静态的Array,后者是绑定一个动态的Cursor。Cursor前面说过,是一个指向数据源的随机迭代器,将View绑定到Cursor通常要设置这样几个参数。一个是每一行的样式,称作Row Layout,其实就是一个普通的Layout的XML文件。还有就是一个列和现实控件的对应关系。那个控件显示哪个列的值,这是需要配置的。为了定制一个良好的数据显示控件,最简单你可以定制很PP的Row Layout,复杂一点就是可以重载绑定控件View,或者是适配器ListAdapter。如果是一个数据显示密集的应用,且你对UI有些追求,这个工作估计是必不可少的。
一个主要用于显示数据内容的Activity,可以选择派生自ListActivity。它提供了一个具有
ListView 的Layout,还有
simple_list_item_1, simple_list_item_2, two_line_list_item等默认的Row Layout,还有一些比较不错的API,和可供响应选择Item的事件。可以满足你比较基础的需求。如果你觉得只有一个ListView的界面太突兀,你可以为这个ListActivity指定一个Layout,需要注意的是,你需要提供一个id为@android:id/list的ListView控件,避免Activity在内部偷偷寻找该控件的时候失败。
篇3:android开发实习报告总结
现代社会,移动通讯技术迅猛发展,智能手机以其多样化的功能应用,成为人们日常生活中必不可少的工具。人们用智能手机打电话、上网、娱乐、工作和学习。作者通过调查问卷的形式,来了解高职学生利用智能手机进行移动学习的现状和需求。进而为开发多媒体学习软件课题研究打下基础。
2 智能手机、移动学习、多媒体教育软件的概述
2.1 智能手机
智能手机是指像个人电脑一样,具有独立的操作系统,独立的运行空间,可以由用户自行安装软件、游戏、导航等第三方服务商提供的程序,并可以通过移动通讯网络来实现无线网络接入手机类型的总称。
2.2 移动学习
移动学习是一种在移动设备帮助下的能够在任何时间、任何地点发生的学习,移动学习所使用的移动计算设备必须能够有效地呈现学习内容并且提供教师与学习者之间的双向交流。
2.3 多媒体教育软件
多媒体教育软件是一种利用多媒体技术产生一定的教学效果,通过文本、图形图像、音频、视频、动画等多媒体元素与超文本结构结合展现教学内容,为特定学习者设计的并实现特定教学目标的应用软件。
多媒体教育软件具有集成性、交互性、共享性特点。
3 调查研究设计
3.1调查研究的内容
本次调查研究以问卷的形式进行,重点了解高职高专学生使用智能手机的人数,每天使用手机的时间长度,用手机交流、娱乐、学习的时间比值,是否接受手机学习这种新的学习方式。以数据分析的形式阐述基于Android平台的移动学习方式的可行性。
3.2调查研究的对象
本次研究调查了一所高等职业技术学院2014级计算机专业400名学生,在晚自习时间组织学生填写。共发出问卷400份,回收问卷400份,其中无效问卷11份,有效问卷389份,问卷有效率为97.25%。
3.3问卷内容的设置
在制作问卷前,进行了前期研究,为了调查到所需要的核心数据,特将问卷分成了三个部分内容,共25道题。其中包括被调查者的基本资料、智能手机使用习惯、智能手机移动学习的态度和需求。
3.4调查结果分析。
通过对这389份有效问卷的统计整理,得出了以下结论。
3.4.1被调查者的手机系统
从表1数据可以看到,在学生拥有的智能手机中,安装An-droid操作系统的占据主导地位。
3.4.2智能手机使用习惯
从表22数据可以看到,学生在日常使用手机时,大部分时间花花在在了了游游戏戏娱娱乐乐上上,,因因为为手手机机应应用用商商店店提提供供了了大大量量可可以以免免费费下载的游戏,不自觉引导使用者接触和使用海量应用,浪费了使用者大量的空余时间。而打电话是与朋友家人联系所必要的,属于手机的基本应用,在使用时间上屈居第二。而浏览新闻和上网学习花费时间与前两项相差甚远,仅仅占据了7.3%和1.1%的份额。说明学生不太关注新闻实事,更没有在网上学习的习惯。
3.4.3学生智能手机移动学习的态度和需求分析
从表3表4数据分析可知,学生对智能手机移动学习抱有积极的态度,现在手机成了生活中很重要的必不可少的工具, 所以利用手机进行学习,学生从心理上来讲,是容易接受的。现在手机上网有各种包流量套餐,寝室里也安装有宽带和无线路由器,以及很多公共场所都有免费wifi,基于这些因素,上网进行移动学习有65.5%的同学认为是很便利的。
而从表5中可以看出学生乐于接受的学习方式是寓教于乐,提供必要的多媒体学习资源,学生观看后,希望以闯关练习等游戏方式进行复习巩固。不太愿意在线交流、答疑,这或许与高职学生学习缺乏主动性,探究精神不佳,不太愿意沟通交流有关。对于网上提交作业这种新型的方式,大部分学生都很赞同,这也进一步说明了学生使用手机的频率很高,以及对手机的依赖性很强。
综合上述调查问卷分析,可以得知学生对利用手机平台进行学习是接受的。对于开发者而言,开发出资源丰富、适合学生自学、操作简单方便的软件尤为重要。
4 开发多媒体教育软件的意义
4.1现代社会的需求
现代社会,人们生活节奏越来越快,流行快餐文化,习惯于利用点滴的碎片化时间,通过智能手机来查看微博、微信、QQ、浏览新闻、娱乐学习等。而同时具有视频音频、动画图片等多媒体介质的内容则更能吸引人们的眼球,能快速有效地传播。因此开发智能手机终端多媒体教育软件将会得到学生的认可和使用。
4.1.1满足了人们的应用需求
据移动市场分析公司Flurry的一项研究报告显示,在Flur-ry随机选取了800万移动用户,并对他们下载的应用类别(包括i OS、Android、WP、HTML 5在内)进行调查后发现,大部分用户将89%的时间花在图片和视频应用上,其次受欢迎的则是音乐应用;当然,社交网络和其他应用占用的日常时间也不少。从2013年7月份到2014年3月份,用户每个月花在图片和视频应用上的时间增长了两倍多,已经达到平均231分钟。You-Tube等网页应用增长势头减慢,而i OS和Android等移动视频的使用时间在短短4个月之内增长了约一倍。可见人们越来越多地使用多媒体的应用软件,而不是单一媒介的软件。
4.1.2符合人们的使用习惯
现代社会信息量大,知识更新速度快,而每个人的时间和精力都是有限的。如果能充分利用时间,高效地获取有用信息,快速地学习掌握相关知识,就会是每个人的必然选择,这也是社会发展的必然趋势。因为随着生活节奏的加快,人们会更加习惯地去利用时间碎片,使用移动终端上的多媒体教育等应用软件, 来满足自己随时随地学习的需求。比如可以利用上班途中的1小时,午间休息的1小时,下班途中1小时,临睡前的1小时。
4.1.3填补这一应用领域的空白
对于开发者来说,最关心的是应用的下载消费情况。来自Android系统的应用数据显示,70%的应用属于软件类,30%属于游戏类。软件类应用中又以影音图像的占比最高,占21%。游戏类应用中休闲益智占比最高,占22%。或许这也验证了图片分享、视频分享时代的来临。那么将影音图像与学习应用结合起来的多媒体教育软件开发这一应用领域会有很大市场空间。因为将图像、影音等多媒体手段与知识的学习结合起来既 能快速吸引用户的眼球又能帮助用户快速获取知识,所以这一应用领域的开发是急待我们去实践和完善的。
4.1.4培养学生的实践能力
高等职业技术学院,在人才培养目标和培养模式上强调“职业性”和“实用性”。教育培养的目标人才类型是技术型人才,即能将设计、规划等转化为现实产品或其他物资形态的人才。立足这一出发点,开发基于Android系统平台的多媒体教育软件正是训练学生的计算机操作技能,培养学生计算机多媒体软件设计和开发、交互式多媒体作品的设计与制作的实践能力。
5 结束语
随着科技水平的进一步发展,智能手机应用会更加广泛。学习者可以摆脱时间和空间的束缚,根据自身的时间安排和个体需求,随时随地进行学习。以智能手机平台为载体的多媒体教育软件会给学习者带来良好的学习体验。多媒体教育软件的开发研究有着广阔的应用空间和发展前景。
摘要:现代社会智能手机的普及,应用软件的不断更新,为用户带来了全新的体验,其中既包括生活娱乐也包括学习方式的改变。文章通过调查问卷的方式,来完成基于Android平台的移动学习方式调查,对开发多媒体教育软件的可行性进行研究。结果表明,学生对移动学习是持积极乐观态度的,大部分人都愿意在手机平台上进行学习,但在学习持久性上需要任务驱动和丰富的学习资源作为支撑。开发手机平台多媒体学习软件具有符合时代发展的积极意义。
篇4:Android开发工具初探
不可或缺,安装Java运行环境
如果大家有看过我们去年第33期的《一个APP是怎么诞生的》,就知道Android应用实际上是基于Java语言开发的,所以我们开发应用时首先要有一个Java运行环境。
这Java运行环境的安装非常简单,去官网(http:// tinyurl.com/d54xddx)将安装文件下载到电脑中,直接安装即可。这里要注意的是该网站提供了各种操作系统的版本。32位Windows版本的名称叫做“jdk-7u2-windows-i586.exe”,不要下错了哟!下载后双击安装,如果你没有特殊要求,直接按照默认设置,一路点击“下一步”直至完成即可(如图1)。如果你C盘空间不足,那么可以更改目录安装到其他盘,但一定要记住你安装的目录地址,因为之后的配置会使用到它。
必不可少,使用Android开发工具包
接下来,Android开发工具包(SDK)也是必须有的,它包括了一大堆开发应用时需要的各种必备程序。没有它,我们的Android应用就只能是一堆堆代码,它是开发Android应用的核心组件。
Android开发工具包的安装也很简单,直接下载安装版一路点击“Next”即可(http://tinyurl.com/ 7dqml9m,另外还有个压缩包版,安装很麻烦,不推荐下载),它除了将SDK文件安装到指定位置外,还兼具自动配置系统环境变量和检测Java运行环境是否正常等功能,可谓安装配置一条龙。
安装完毕后,在“开始”菜单的程序栏能看到“SDK Manager”和“AVD Manager”两个工具。目前它俩都还只是个空壳子,我们首先需要在“SDK Manager”中将需要的Android平台版本以及相关程序下载下来,才能编译以及运行相关的应用。比如我想编写的应用主要是在Android 2.3上面使用,那么运行“SDK Manager”,勾选“Android 2.3.3(API 10)”的复选框,然后点击“Install × Packeges”进行下载安装(如图2)。
至于那个“AVD Manager”是干啥的呢?“AVD Manager”是用于管理Android虚拟机的工具。虚拟机测试是很重要的工作,它的创建很简单,点击“New”按钮,简单设置一下虚拟机的参数如内存大小和屏幕分辨率等,再点击“Creat AVD”建立虚拟机(如图3)。之后再选中创建的虚拟机,点击“Start”就能启动。
专用工具,让编程事半功倍
从易用性的角度来看,Android开发工具包除了调用虚拟机时非常直观(有图形界面)外,其他功能如生成、调试和安装程序时,都需要在命令行工具上输入各种复杂的命令才能完成,既不直观也不方便,初学者较难掌握。如果想要更方便地调试安装应用,我们还需要专门的集成开发环境工具(IDE)来帮忙。对于编写Android应用来说,通常推荐大家使用Eclipse这个免费的开发工具(如图4)。
Eclipse的安装比之前的两个工具还要简单,它是一款绿色软件,将官网(http://www.eclipse.org/ downloads/)提供的压缩包解压,点击其中的“Eclipse. exe”就可以使用了。只是官网提供的版本有很多,初学者很可能不知道下载哪一款来使用。对于这一点,Google已有定论,你只需要在“Eclipse IDE for Java Developers”、“Eclipse IDE for Java EE Developers”和“Eclipse Classic”三个版本中选择任何一个都行。
特供插件,让专用工具更好用
Eclipse很强大,但之前下载的版本还是基于Java语言编程的,想要与Android编程无缝衔接,还需要一个专门的插件。
有了这个插件,Eclipse才能算得上是真正的Android编程工具。代码编写、界面设计以及输出并调试APK文件等操作都可以通过Eclipse来实现,而不用去开启额外的调试工具。该插件的安装要比前面要复杂一点,不过也就是两个步骤的事儿。
Step1:运行Eclipse程序,选择“Help→Install New Software”,在Available Software窗口中点击“Add”按钮。在弹出窗口中,Name一栏输入“ADT Plugin”, 在Location一栏输入“http://dl-ssl.google.com/android/eclipse/”(如图5),点击“OK”按钮返回Available Software窗口(有时要将http改成https才能生效)。在该窗口下点击“Select All”,再一路点击“Next”直至插件下载安装完成。
Step2:安装完成后需要重启Eclipse。在Eclipse重启后,选择“Window→Preference”后可以在分类列表中看到“Android”这一项。然后我们需要告诉Eclipse,我们将Android开发工具包安装在了什么地方。把先前记录的地址输入到“SDK Location”后面点击“OK“保存(如图6)。
至此我们的开发工具都设置好了!怎么开启我们的第一个Android应用呢?点击“File→New→Project”,在弹出窗口展开“Android”目录,选择“Android Project”,然后按照要求把你的第一个APP名字等信息填好,点击“OK”。然后按下“Ctrl+F11”键。如果之前你有新建虚拟机,那么Eclipse便会编译你刚刚新建的这个应用,并调用相应的虚拟机来运行它。这个我们连一行代码都没有写的应用会显示啥呢?我们一开始开始就说了嘛,会显示“Hello World”(如图7)!
Android
掌上租房方便可靠
软件类型:生活
适用固件:
2.0及以上固件版本推荐指数:★★★★★
对于很多毕业后到大城市打拼的“童鞋”而言,租房费用无疑是每个月最重的开支。如果缺乏租房经验的话,没准租的地方又贵又不方便,甚至还有可能上当受骗。
《掌上租房》是一款号称手机上最专业的租房搜索应用,它聚合了好租、搜房、58和赶集等数千家网站、200多个城市的租房房源,能智能过滤掉中介和虚假房源,从而保证租房房源真实有效。各位想租房的“童鞋”不妨来体验一下哟!
拍拍照片赚赚话费
软件类型:摄影
适用固件:
1.6及以上固件版本推荐指数:★★★
如今手机摄像头的效果是越来越好了,POP熊经常看到很多游客直接用手机代替相机拍照,这让那些辛苦背着数码单反相机的游客情何以堪呀!其实手机拍照不但方便,它比起相机来还有个优势,就是能赚取话费哦!
这并非玩笑,只要在手机上安装《拍照送话费》这款APP,然后在出行时拍摄城市建筑风貌照片并上传,就能赚取到话费。每月都觉得话费不够用的朋友不妨多拍些照片来补贴话费吧!
火车车票轻松查询
软件类型:旅游
适用固件:
1.5及以上固件版本推荐指数:★★★★
又是一年一度的春运高峰期了,这时候买火车票成为了一个大难题,甭管你的回家过年计划做得再好,没票那都是浮云。这时候《火车票查询》这款APP就派上用场了,它不仅支持站站查询、车次查询和车站查询,在每一种查询结果中都还提供了余票查询,还支持短信转发呢!
特效强大拍照给力
软件类型:摄影与录像软件价格:免费
推荐指数:★★★★★
得益于采用了优质的摄像头,iPhone 4和iPhone 4S的拍摄效果已经不输给卡片相机了,难怪越来越多的用户乐于把它们当成相机来使用。所谓好马配好鞍,如果嫌iPhone自带的拍照软件不够给力的话,不妨来试试新出的PowerCam吧!它内置了50多个独特的效果,无论是拍照还是摄像,效果都是所见即所得,无需后期编辑。独创的智能拍摄功能以及人脸检测功能更是媲美专业相机,POP熊强烈推荐大家使用!
小米司机贴心秘书
软件类型:生活
软件价格:免费
推荐指数:★★★★
常在路上走,哪有不违章。如今买车的人越来越多,拥挤的交通、上涨的油价、恶劣的天气和该死的限行都让开车的人变得心情浮躁,一不小心就会违章驾驶。对此,POP熊推荐各位司机朋友使用《小米司机》这款APP。
该软件包含全国交通违章查询、油价查询和每天限行提醒等车主常用功能,是每一个开车人士贴心、必备的“小秘书”哦!当然,POP熊是从来不担心自己会违章的,无车一族毫无压力地漂过。
搜狗地图方便好用
软件类型:导航
软件价格:免费
推荐指数:★★★★★
篇5:Android项目开发总结
1引言
1.1编写目的
总结开发经验与学习中的不足
1.2背景
以方便用户记录日常学习心得,生活体会为目的,进行主题为“随心笔记”的应用开发
2实际开发结果
2.1产品
2.2主要功能和性能
能够查看笔记的目录,记录笔记完成时间。能够改变主题颜色,目录排版方式,拥有简洁的主题。对于涂鸦功能,插入图片,密码锁等功能未能实现。
3开发工作评价
3.1对产品质量的评价
本应用拥有简单实用的功能,能够满足一般用户的需要
3.3对技术方法的评价
开发中使用了软件工程中的增量开发模型,黑盒测试等技术,使开发逐步向前发展
3.4出错原因的分析
对于部分Android版本支持性不好,不能正常使用安装等
4经验与教训
篇6:android开发实习报告总结
项目名称: 作
者: 学
号: 完成时间:1.开发目的
本次应用开发的预期目的及相关功能介绍。
2.程序系统
对所开发程序系统的介绍,包括总体结构,程序系统中各个程序或函数的名称及其介绍,他们之间的层次关系。
3.主要功能
说明所开发程序系统具有的实际功能。
4.基本流程
用图给出所开发程序系统的实际处理流程。
5.出错原因分析
给出开发过程中出现错误的原因分析。
6.开发心得
篇7:android开发实习报告总结
一、项目简介:
送祝福App是一款逢年过节为方便发送祝福信息的软件,并且介绍各种节日的相关情况。包含节日祝福短信,支持直接发送短信给好友,也可定时发送给好友,编写模版。为生活提供了便利。
二、个人在项目中承担的任务:
我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面
三、学习本门课程收获、体会及建议:
篇8:Android平台开发媒体盒子
对于媒体盒子 (Media Box) , 相信读者都不陌生。网络上各种炫酷的音乐盒子、视频盒子等工具, 就是媒体盒子程序。打开这些媒体盒子工具, 用户可以及时获取到最新的媒体资源、播放排名等信息, 还可以方便地对网络中的音乐和视频进行点播、下载、共享等操作。一般地, 媒体盒子工具还提供了搜索平台来让用户根据条件 (标题名称、艺人姓名、分类信息等) 来搜索其所感兴趣的媒体资源。而且, 当用户成为社区的注册用户之后, 还可以将本地的资源发布到社区中, 分享给其他的成员。
相比通过访问媒体网站的网页来获取媒体资源, 使用媒体盒子的方式更为简单和方便。用户无需打开浏览器工具, 更无需在多个浏览器窗体中切换所要的页面。同时使用媒体盒子产生的网络流量要比使用浏览器少, 从而也节约了不少系统资源。
2分析
2.1分析思路
使用十六进制读取软件解析音乐盒工具的主程序文件, 找出该工具所使用的API或组件类的名称 (如图1所示) , 再根据这些API或组件类的功能说明, 并结合工具的使用特征来推断出其应用机制。
2.2分析结果
使用上述的分析方法, 找到该音乐盒工具所使用的API或组件类, 如表1所示。
通过表1, 初步判断该音乐盒工具内嵌了网页浏览器组件和媒体播放器组件, 通过从互联网读取媒体资源文件来实现多媒体数据的下载和播放。至此, 就会产生如何将网页中的媒体资源的URL传递给播放器组件的问题。
结合对该音乐盒工具的使用, 作者发现, 网页浏览器组件的上下文菜单被屏蔽。当用户点击媒体资源链接 (Anchor) 时, 该资源将自动加入到播放列表当中。从而可以推断, 该工具“截获”了网页浏览器组件对网页中链接元素的分析, 并把与媒体资源相关的链接“提供”给播放器组件。
2.3分析结论
至此, 相信读者已经大致明白了该音乐盒工具的运作机制:当工具启动时, 会通过互联网连接到指定的服务器, 并从服务端获取包含媒体资源并以网页形式存储的数据文件, 继而将该文件载入到网页浏览器组件中。当用户点击网页中所包含的链接时, 工具会对当前所请求的链接进行“截获”。如果判断是媒体文件链接, 那么工具会将该项添加到播放列表, 并根据链接信息通过互联网获取文件流, 继而提供给媒体播放器组件进行播放。如图2所示。
3设计
3.1运行机制
通过以上的分析结论, 相信读者对于在Android平台中开发媒体盒子程序也有了大致的思路。同样的, Android平台中的媒体盒子程序也有网页浏览器组件 (Web View) 和媒体播放器组件 (Video View和Media Player) , 而且幸运的是, Android平台简化了通过网络来获取文件流的过程:网页浏览器组件只需要指定网页资源的URL即可实现网页的加载;播放器组件只需指定播放资源的URL即可实现自动播放。
对于用户所点选链接的URL的“截获”行为, 将由网页视图客户端 (Web View Client) 接口来进行处理。图3是在Android平台中的媒体盒子工具的运作示意图。
3.2界面设计
此外, 考虑到手机设备中屏幕资源的“紧缺”, 所以Android平台中的媒体盒子工具的用户界面不可能像PC平台中的那样“平铺直叙”, 而是需要“紧凑”一些。这里, 选用的主要的界面组件是标签页视图 (Tab Host) , 该组件继承于框布局 (Frame Layout) 。图4是该媒体盒子的主界面。
3.3界面板块
通过图4可以看出, 该媒体盒子工具分为“推荐资源”、“当前播放”、“播放列表”和“本地资源”这4个标签页。其中:
(1) “推荐资源”页所展示的是从服务端获取的、包含媒体资源信息的网页, 其效果如图4所示。该页的主要组件是网页视图 (Web View) 。
(2) “当前播放”页所展示的是当前所播放的视频内容, 如图5所示。
该页面主要的组件是视频视图 (Video View) 和播放控制器 (Media Controller) 。当用户在“推荐资源”页的网页视图中点击视频资源链接 (图5中所选取的视频资源类型为3GP) 时, 媒体盒子将切换到“当前播放”页, 并开始播放视频。
(3) “播放列表”页所展示的是当前添加到播放序列的音频资源列表, 如图6所示。
该页面主要的组件是列表视图 (List View) 。当用户在“推荐资源”页的网页视图中点击音频资源链接 (图6中所选取的音频资源类型为MP3) 时, 媒体盒子将切换到“播放列表”页, 并将当前播放项添加到列表首位, 继而开始播放音频。
(4) “本地媒体”页将要展示的是通过扫描本地存储器之后形成的媒体资源列表, 该功能在这里不予关注。
3.4后台功能
3.4.1加载网页
通过网页视图实例的“load Url”方法可以载入URL所指定的网页资源。
3.4.2分发资源URL
当用户点击网页中的链接时, 网页客户端 (Web ViewClient) 实例可以通过重载URL的加载方法来“截获”目标资源的URL, 再通过判断URL所指明的资源类型来决定将URL提交给相应的组件 (网页视图、媒体播放器或视频视图) 。
3.4.3媒体播放
通过Media Player实例的“set Data Source”方法可以设置URL所指定的音频媒体为播放的数据源;通过Video View实例的“set Video Path”方法可以设置所要播放的视频资源路径。
3.4.4播放列表更新
播放列表的更新包括添加项和调整项顺序。最近播放的项总在整个播放列表的首位。如图7中, 当选择播放列表中第2项后, 第2项的位置将调整为首位, 原第1项的位置调整为第2。
播放列表使用的是列表视图, 列表项的顺序更新实际上是组件所关联的适配器 (Adapter) 的数据容器中的元素位置的更新, 通过适配器的“notify Data Set Changed”方法就可以实现界面与数据容器的“同步”显示。
3.4.5资源下载
当用户长按 (相当于PC平台的右键菜单) 网页视图中链接时, 将会弹出上下文菜单 (Context Menu) , 其中的“下载”菜单项用于下载链接所指向的媒体资源, 如图8所示。
资源下载不仅需要连接到URL所指定的连接结点, 而且还需要在本地创建文件。通过网络连接接口 (URLConnection) 从URL所描述的结点处读取资源的字节流, 再写入到本地文件中, 即实现下载。
4开发
4.1界面布局定义
代码1是图4所示的媒体盒子工具的界面布局定义。
代码1媒体盒子界面布局定义
代码1中第6行即为标签页组件 (Tab Host) 的定义, 有关标签页组件的用法请参考Android SDK的参考。此外, 第34行中定义的按钮组件用于“绑缚”播放控制器。
4.2工程清单
代码2是媒体盒子工具的工程清单文件 (Android Manifest xml) 内容。
代码2媒体盒子工程清单文件内容
代码2中第7行设置了该工具的界面主题为无状态栏 (“No Title Bar”) , 所以工具的主界面 (图4) 没有状态栏。从第8行读者可以看出, 工具的主Activity组件是Media Box Act。第15行中的SDK版本为8表示Android的版本为2.2。
特别的, 第16行和第17行声明了2个使用许可 (Usespermission) , 第16行的是允许访问互联网, 因为有通过互联网获取资源URL的需要;第17行的是允许往扩展存储器 (SD卡) 上写入内容, 因为有下载文件到外部存储器的需要。
4.3功能模块划分
根据功能之间的耦合度, 作者将该媒体盒子工程划分为4个模块:
(1) 配置接口 (Config) , 定义工程中所有配置 (例如:下载目录、服务主页等) 的常量。
(2) 主Activity (Media Box Act) , 主要负责用户界面与后台的交互。
(3) 网页视图客户端实例 (Media Box Web View Client) , 用于“截获”和分发通过网页视图“转发”过来的资源URL。
(4) 下载线程 (Download Thread) , 用于提供后台下载。
4.4功能实现
4.4.1主Activity填充界面布局
代码3是主Activity填充界面布局的关键代码。
代码3 Activity填充界面布局
代码3中, 主Activity填充界面布局资源为内容视图 (第4行) 。从第7行到第10行, 初始化资源文件中定义的组件 (标签页视图、视频视图、列表视图、网页视图) 。从第13行到第22行, 初始化标签页视图中的4个标签页内容。
4.4.2初始化核心组件
(1) 播放列表视图
代码4是初始化播放列表视图的主要代码。
代码4初始化播放列表视图
代码4中, 使用数组适配器对列表视图 (播放列表组件) 进行初始化 (第5行) 。
(2) 音频播放器
(3) 网页视图
代码5是初始化网页视图的主要代码。代码5初始化网页视图
代码5中, 第3行中构造了网页视图客户端实例, 并绑定到网页视图 (第5行) 。第9行中指明网页视图载入指定的网页 (HTML文件) 。
(4) 视频视图
代码6是初始化视频视图的主要代码。
代码6初始化视频视图
代码6中, 创建了一个播放控制器实例 (第4行) , 然后将其绑缚到可视组件中 (第7行) , 同时将播放控制器与视频视图相互绑定 (第9行和第11行) 。
4.4.3主界面线程消息队列处理器
代码7是初始化主界面线程消息队列 (Message Queue) 处理器的主要代码。消息队列处理器给下载线程提供了向主Activity发送消息 (例如:下载完毕的消息) 的接口。
代码7初始化主界面线程消息队列处理器
代码7中, 定义了消息的处理函数 (第3行) , 一旦主线程消息队列接收到消息, 就会获取消息内容 (第8行) 并以提示条的形式进行显示 (第10行) 。
4.4.4网页链接URL分发
当用户在网页视图中点击资源链接时, 视图载入对应链接URL的行为将在网页视图所绑定的网页视图客户端来进行。代码8是媒体盒子网页视图客户端的完整定义代码。
代码8媒体盒子网页视图客户端定义
代码8中, 媒体盒子网页视图客户端重载了URL的载入方法 (第15行) , 并将所获取到的URL转给主Activity来处理 (第16行) , 而不再执行默认的载入行为 (第17行) 。
代码9是主Activity对从网页视图客户端传递过来的资源URL进行判断和分发的主要代码。
代码9代码标题
代码9中, 先对播放状态进行了重置 (第4行和第5行) , 然后在通过URL判断媒体资源类型是视频还是音频, 从而调用对应的播放方法 (第8行或第12行) 。
4.4.5播放音频资源
代码10是停止和启动播放音频资源的主要代码。
代码10停止和启动播放音频资源
代码10中, 第11行是对包含“file://”前缀 (文件传输) 的URL进行调整, 应该去掉协议模式部分 (有关URL的组成请参考有关资料) , 对“http://”前缀是无需调整的。第18行, 通过媒体播放器的“set Data Source”方法来指定所要播放的音频资源的URL。
4.4.6播放视频资源
代码11是停止和启动播放视频资源的主要代码。
代码11停止和启动播放视频资源
代码11中, 通过视频视图的“set Video Path”方法来指定所要播放的视频资源的路径 (第10行) 。
4.4.7资源下载
代码12是当用户点选上下文菜单中“下载”项进行资源下载 (见图8) 的主要代码。
代码12启动资源下载
代码12中, 当用户点选网页视图的上下文菜单项后, 可以通过视图的“get Hit Test Result”方法来获取该点击测试结果 (第5行) , 并获取有关的资源URL (第6行) 。获取到目标资源的URL之后, 就可以以此来启动下载线程 (第22行) 。
代码13是下载线程的核心代码。
代码13下载线程核心代码
代码13中, 通过URL来建立连接接口 (第10行) , 并获取接口的输入流 (第11行) , 用于从URL所指定的结点处获取字节流。同时根据文件名来创建本地文件系统的输出流 (第14行) 。通过从远程输入流到本地文件输出流的字节拷贝即完成下载过程 (第20行到第22行) 。
当下载线程下载完毕时, 该线程通过主界面线程消息队列处理器来向主Activity传递消息 (第32行) , 再由主Activity显示消息内容 (见代码7) 。代码14是下载线程向主Activity发送消息的核心代码。
代码14下载线程向主Activity发送消息
读者可以看出, 代码14中的过程与代码7中的是逆向的:代码14中是将消息内容添加到数据包 (第5行) 中并发送 (第10行) ;而代码7中是接收消息, 并提取数据包中的消息内容。
4.4.8更新播放列表
代码15是更新播放列表的主要代码。
代码15更新播放列表
代码15中, 首先要对新增项进行是否重复的判断 (第4行) , 如果存在重复项 (第6行) , 则需要先删除已存在项对应的元素 (第7行) 。总而言之, 新增项都会放置到列表的首位 (第11行) 。
当数据集更新之后, 还需要通过列表适配器来“通知”列表视图重绘内容 (第18行) 。
5结语
通过上述的介绍, 相信读者已经大致理解在Android平台下开发媒体盒子程序的功能框架和过程细节。而且, 只要读者有一定的Android平台开发经验, 甚至可以依葫芦画瓢地开发出一款定制的媒体盒子工具。但是从商业应用的角度而言, 运行于移动设备上的媒体盒子工具需要无线网络和内容管理平台的支持。通过GPRS或Wi-Fi接入的方式, 连接到无线互联网服务商所提供的无线网络, 这样才能与内容管理服务器进行通信, 从服务端获取媒体资源信息。
篇9:android开发实习报告总结
我于2012年8月13日进入公司,根据公司的需要,目前担任Android软件工程师 一职,负责综合代维,考务通手机客户端的开发工作。将近3个月的时候在这个新的工作环境我收获颇深。开始让我独立完成整个项目,这还是我的第一次,之前在公司是多人完成,过程中也遇到了许多困难,但是都一一解决了,我想这是我最宝贵的经历,通过三个月的不断学习,在项目开发中的不断锻炼以及同事、领导的帮助,我已逐渐融入这个大家庭,个人的工作技能也有了明显的提高,虽然仍有一些不足,但三个月以来我付出了不少,也收获了不少,我感觉自己成长了,也逐渐成熟了。
初到公司,加入了咨询与信息化部,加入了综合代维项目组,我也曾担心自己不知道该怎么与项目组的同事沟通,担心不知道怎么做好工作,但是项目组的前辈们都很亲切,也很耐心的教导我,解答我的疑问,以及他们团结向上的精神,让我很快的熟悉了工作,融入了项目组。
在这三个月的学习和工作中,我一直严格要求自己,遵循公司的规章制度,认真完成领导布置的每一项任务,遇到的问题虚心的向项目组的前辈们学习、请教,不断的提高、充实自己。开发过程中出现的一些差错,也有前辈们耐心的指出和指导我修改,这些经历让我不断成熟,处理问题时考虑得更全面,杜绝类似情况的发生。在此我要特地感谢部门的领导和同事们对我的指引和帮助,感谢他们对我工作上失误的提醒和指正。
经过这三个月,我已经能独立进行开发任务,按时按质的完成分配的工作任务,当然还有许多不足,开发的经验仍有待提高,编写代码的简洁性和完整性也需要进一步增强,需要不断的继续学习以提高自己的工作能力。
总之,这三个月来我学到了很多,感悟了很多;看到公司的迅速发展,看到部门的同事越来越多,我深深地感到骄傲和自豪,也更加迫切的希望以一名正式员工的身份在这里工作,实现自己的奋斗目标,体现自己的人生价值,和公司一起成长。
我会用谦虚的态度和饱满的热情做好我的本职工作,为公司创造价值,同公司一起展望美好的未来!
XX
篇10:Android实训实习报告总结
巩固和学习了更多的Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。android入门后,只会照着别人的葫芦来画瓢,即没有设计思想,也没有自主原创的代码,不好不好
于是乎,进了公司跟着项目走,用项目来驱动自己去学习和提高
公司是1+1开发模式,即1个美工 + 1个工程师,负责完成一个项目(主要是游戏开发),就完全需要自己设计游戏的布局、逻辑,以及各种动画,来增强用户体验的效果 当时主要是看Android官方的SDK API文档、中文API文档、JDK源码,对有些感念不清楚,就上论坛去找答案,如CSDN、ITEye、IBM、知乎,或者去啃google 官方的文档。
二、新掌握的Java基础学习
2.1、Activity View、Surfaceview的理解
掌握了常用控件、view、surfaceview使用方式,知道怎样去适配不同屏幕后,每天就是重复的工作,堆砌代码,难以进一步去提升自己
于是就自己给自个找点事干,自定义控件,如对话框背景等,或去google code找些开源的代码下来研究,学习人家的设计思想、模块功能的划分、代码组织结构等知识 这个过程中,涉及到的知识比较多,如版本管理工具SVN、Git、Mercurial,如设计模式
的思想,如怎样构建通用的开源应用框架(考虑sdk1.5等版本),如何适用在不同屏幕分辨率的手机上等等
学习中会不断遇到一个又一个新的问题,因此需要不断去查资料、再学习各种工具,逐步积累,潜移默化中自己掌握的知识和工具就多了,眼界也开阔了。
2.2、android-pulltorefresh
一个强大的拉动刷新开源项目,支持各种控件下拉刷新,ListView、ViewPager、WevView、ExpandableListView、GridView、ScrollView、Horizontal ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且它实现的下拉刷新ListView在item不足一屏情况下也不会显示刷新提示,体验更好。
成果: ListView能满足一个Android 项目的列表:
(1)下拉刷新ListView(2)下拉刷新及滑动到底部加载更多ListView(3)拖动排序的ListView,同时支持ListView滑动item删除,各个Item高度不
一、单选、复选、CursorAdapter做为适配器、拖动背景变化等。
2.3、Menu MenuDrawer 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕上下左右划出,支持当前View处于上下层,支持Windows边缘、ListView边缘、ViewPager变化划出菜单等。
SlidingMenu 滑出式菜单,通过拖动屏幕边缘滑出菜单,支持屏幕左右划出,支持菜单zoom、scale、slide up三种动画样式出现。
ArcMenu 支持类似Path的左下角动画旋转菜单及横向划出菜单、圆心弹出菜单
android-satellite-menu 类似Path的左下角动画旋转菜单
radial-menu-widget 圆形菜单,支持二级菜单
2.4、异常处理
登录提交时,用户名、密码不能为空,否则不与提交。数据库返回登录信息,处理登录成功与否的异常。
注册提交时,检查注册用户名,密码不能为空,密码与确认密码要相同,否则不与提交注册。
三、Android Xutils 框架的使用
在开发中还学习了一套强大的快速开发框架,Android Xutils 框架。
3.1、xUtils使用
xUtils 包含了很多实用的android工具。
xUtils 源于Afinal框架,对Afinal进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持,拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...xUitls最低兼容android 2.2(api level 8)
3.2、DbUtils数据库
android中的orm框架,一行代码就可以进行增删改查; 支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新; 自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
3.3、ViewUtils视图
android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定; 新的事件绑定方式,使用混淆工具混淆后仍可正常工作; 目前支持常用的11种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
3.4、HttpUtils网络请求 支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件; 返回文本内容的GET请求支持缓存,可设置默认过期时间和针对当前请求的过期时间。
3.5、BitmapUtils图片异步加载
加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象; 支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。
四:发现式学习
工作情况及遇到的问题等:
4.1、Bitmap的生成
Bitmap实现在android.graphics包中。但是Bitmap类的构造函数是私有的,外面并不能实例化,只能是通过JNI实例化。这必然是 某个辅助类提供了创建Bitmap的接口,而这个类的实现通过JNI接口来实例化Bitmap的,这个类就是BitmapFactory。
4.2、必要知识认知
1、在使用方法decodeFile()/decodeResource()时,都可以指定一个BitmapFacotry.Options。
利用Options的下列属性,可以指定decode的选项:
inPreferredConfig 指定decode到内存中,手机中所采用的编码,可选值定义在Bitmap.Config中。缺省值是ARGB_8888。
inJustDecodeBounds 如果设置为true,并不会把图像的数据完全解码,亦即decodeXyz()返回值为null,但是Options的outAbc中解出了图像的基本信息。inSampleSize 设置decode时的缩放比例。
谈通过HttpGet和HttpPost向服务器提交请求,并从服务器返回结果信息。通过如下3步访问Http资源。
(1)创建HttpGet或者HttpPost对象,将要请求的URL通过构造方法传入HttpGet或HttpPost对象。(2)使用DefaultHttpClient.execute方法发送Http Get或Http Post请求,并返回HttpResponse对象。
(3)通过HttpResponse.getEntity方法返回响应信息,并进行相应的处理。
如果使用HttpPost方法提交Http Post请求,还需要使用HttpPost.setEntity方法设置请求参数。
2、实习任务概述:
1.面向对象编程(封装,继承,多态)。
2.this关键字使用,JavaBean定义规范以及作用
3.方法的重载(overLoading),构造方法的作用
4.package(创建包)import(导包)的使用以及作用
5.super关键字使用
6.方法的重写(override)
7.访问修饰符(public,protected,默认,private)的使用
8.static修饰符的作用及用法
9.final修饰符的作用及用法
10.抽象类(abstract)的定义和特点以及使用
11.接口(interface)的定义 12.接口的实现(implements)13.接口和抽象类的区别
14.对象包装器,装箱和拆箱的使用
15.数组的使用。
16.String类,StringBuffer类,StringBuilder类的使用以及三者之间的区别 17.JavaSE API的使用。
18.日期类Date,SimpleDateFormat的使用,数学类Math和Random类的使用
19.异常的处理(try,catch,finally,throw,throws)20.Java中的集合类(List,Map,Set接口的使用以及Properties属性文件的操作)21.编写音乐播放器应用 22.编写电话及短信应用 23.编写SD卡存取应用
3、实习所用软件简介: Eclipse
Eclipse 是一个开放源代码的、基于java的可扩展开发平台。就其本身而言,它只是一个框架 和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。
Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
JDK JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。
JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
JDK中还包括完整的JRE(Java Runtime Environment,Java运行环境),也被称为private runtime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。
Android SDK 指的既是Android专属的软件开发工具包。
PopupWindow是应用开发中经常用到的组建,使用它可以在当前屏幕的上层显示一个弹窗,同时也可以指定弹窗的位置以及背景色等特性,大大提高用户体验,那么这里我就以下几点介绍它的使用: 从指定的位置弹出这个窗口(淡入淡出动画)从屏幕底部弹出这个窗口(带有透明度背景,自定义触摸其他位置自动关闭弹窗)
4.3、遇到的问题及解决方案
在Android编程过程中巩固熟悉了Java的编程。由于Android应用程序的开发离不开Java的支持,所以基础的Java知识是必须的。Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linux,CC++高级编程才能深入的涉及Android Framework和Android内核开发。成为Android开发的高素质人才。所以,在后续对Android的学习中可能会看一些较底层的书籍。
android低版本工程(如1.5)放到高版本环境中(如2.2)可能会上述错误,解决方法如下:
1。如果不修改android sdk版本,则使用project clean 命令作用于某工程即可。
(该处理方式只是在高版本中兼容了低版本工程,未真正意义上的升级)2。如果修改android sdk版本,则需要以下几个步骤:
1)修改SDK:选择工程,build path--> configure build path---> library 删除引用的低版本SDK,然后add External JARs,选择高版本SDK,OK,保存。
2)修改classpath文件: 该文件可能存在该项:
3)修改AndroidManifest.xml在AndroidManifest.xml文件中,application标签后添加
4)修改default.properties(很重要): 该文件最后一行(前面没用#的)target=android-3 该成target=android-8,保存。再看看工程和新建的android 2.2的工程结构就一样了。
五、实习心得
Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信编程、Android平台的Web Service、传感器应用开发、GPS应用开发、Google Map服务等都是非常重要的知识点以及学习领域。
1.IDE
这半年来,从Eclipse到Android Studio,经历了两个IDE,在这里做一下简单的评价。
如果真要说,Android Studio是基本上大胜Eclipse的,至少Android Studio不会像Eclipse那样卡,公司配的电脑是渣了点,64位,win7,只有4G内存,跑Eclipse跑久了简直就是噩梦。
Android Studio的智能提示比Eclipse强多了,快捷键也很强大。至于工程的组织结构,Android Studio和Eclipse的差距还是很大的,但习惯了也不觉得有啥,哪种都行。
Android Studio有个不好的地方就是无法在同一个窗口显示多个工程,所以只能多开一个。。
Android Studio采用Gradle构建,一开始的构建简直是丧心病狂。。如果没有VPN,想都不敢想。。构建上,Eclipse是比Android Studio快,但Android Studio导第三方库很方便,写一个Gradle脚本就行,并且配置上更加灵活。可以这样说:Eclipse是帮我们搭好了房子,我们只要熟悉它就行,而Android Studio是让我们用工具去搭建自己喜欢的房子。
更加重要的是,aar包只能由Android Studio构建,而谷歌现在推崇的方式就是aar包,所以以后开源的项目很有可能都是打成aar包,并且基本上,大部分的开源项目已经是采用Gradle构建。。
Android Studio一个不好的地方就是升级太快,在半年的 时间内,我从0.8.1升级到1.0。。可恶的是,每次升级,Gradle也升级,并且还断代。。虽然么官方现在是版本稳定了,因为IDEA已经出了新版本了,但我试过1.0出事了,直接撤回0.9.4。。
总体而言,未来Android开发一定是用Android Studio或者IDEA,Eclipse已经被官方抛弃了。。2.版本控制工具
我使用SVN比较少,刚工作的时候,刚好就是把SVN换成Git,但对于Git的使用方式也经历了一番变化。
一开始使用Git,就像SVN一样,一个master分支,大家都往上面推,一旦出事了,大家都卡住了。。后来使用SourceTree做管理,分支切换,提交和解决冲突好多了。现在的开发模式是这样的:
master分支是正式分支,在没确保稳定之前是不会推东西上去的,dev分支是开发分支,而每个人本地也有一个dev分支,大家可以根据自己的需求在本地开多几个分支,这样就不会出现master分支无法发布的现象,因为master分支永远是正确的。
遗憾的是,由于使用的是工具,对命令行还是不熟悉。。3.数据库
数据库一开始采用的是原生,编写了一大堆Helper,而且光是存表,就已经写了很多代码,一个一个set进去。。后来换成对象数据库LitePal,好多了,但LitePal本身的效率是原生的三分之一,但基本的情况已经足够了。。不过,必须直视的是,LitePal的功能支持还不够完善,一开始不支持索引,后来的版本才支持,并且很多情况下,采用Sql语句都比使用LitePal的接口方法方便多了,LitePal的查找数据竟然是根据那个自增长的id。。只要稍微改一下,LitePal还是很好用的,尤其是对象一建好,表就建好了,特别方便,还有就是数据库的升级也非常方便。
有个不好的地方就是,可以直接操作表对象,这样很可能就会将不想存的数据存进表里,于是就封装了一下,不能直接操作表对象,而是操作实体对象,数据库的操作都是通过实体对象的接口方法,而接口方法调用的就是表对象的方法。4.网络库和异步库
这部分的工作并不是我做的,但还是可以说一下。
一开始是自己封装的网络库,但封装得太复杂了,很难维护,而且它不是一个简单的网络库,是一个网络异步和本地异步一起实现的库,基于大量的回调,使用起来也是不错的。
后来换成Volley,不过就发现Volley的实现不太满足我们的要求,就用OkHttp将Volley的底层改掉,然后上层的接口形式采用链式调用的方式,代码的形式更加简单。
原生的异步AsnyTask简直就是个坑,它就是一个任务队列,多个任务执行并不是并发的,有可能就卡在其中一个出不来了。。试过debug的时候跳进去就跳不出来了。。后来就自己写了一个,也是采用链式调用的接口形式。
5.事件采用EventBus作为事件管理,简直就是爽。简简单单就可以跨线程,跨组件通信,很多以前要很复杂才能实现的功能一下子就可以实现了。
相关文章:
校长杨建生学校管理心得体会01-07
android java 实习总结01-07
微信公众平台开发教程01-07
Android期末复习题总结01-07
爱国主义教育主题班会内容01-07
爱国电影观后感500字作文01-07
android开发实训报告01-07
Android应用程序开发-个人总结01-07