安卓实习心得

关键词: 心得

安卓实习心得(精选4篇)

篇1:安卓实习心得

来北大青鸟武汉宏鹏鲁广校区学习已经三个星期了,说心得好像还算不上,其实也只能算得上是一点体会吧!大学学的是电子,接触过C语言,刚开始学习Java,起步阶段还是可以接受的,虽然可以算是有点基础,但也因为这个使自己没有那么仔细,常犯一些小错误,这是我们要警惕的,不管是否学过,都要持着一种虚心的态度。

接下来说一下自己的体会。

一 心态

我们每个人都存在着一种心态,都想走捷径,这就像一种侥幸心理。其实学习有没有捷径可以走呢,肯定是有的,我认为最短的捷径就是不要走弯路就已经是捷径了。前辈们常说:“欲速则不达”,这句话存在肯定是有它的道理的,所以我们不能浮躁,要静下心来做好自己该做的事就可以了。

二 理论与实践相结合

为什么要理论与实践相结合呢?只有理论是不够的,它要通过实践才能更好的理解,也只有有了理论才能更好的实践,做出更好的东西。比如我们现在要写一段程序,只有看了书我们才知道是一个什么样的格式,也只有通过我们来编写程序才能知道理论知识是否已经掌握。有时候我在想,为什么老师能够将一段程序进行随意的更改,能够做到随心所欲呢?而我们自己该怎么学才好?其中的道理,我认为应该是将每一个类型的题目都搞懂,做到举一反三,那么就能一通百通。也就是说我们不能紧紧看中多做题,更重要的是要在搞懂各种类型的题的基础上去进行有针对性的练习,在不懂的时候尽量自己想办法解决,实在没办法再去请教高手,这样印象会更深刻,同时也能培养自己独特的编程思想。

三 培养自己对Android的兴趣

在这个时代,我们都知道软件开发是一个带着光环的职业,那么软件开发之路好不好走呢?其实老鸟们都回答了我们这个问题,用他们的话说,软件开发之路就是:编程---编程---再编程。实际上也是在说这条路是很枯燥的,需要培养自己对它的兴趣,兴趣是我们能够坚持下去的动力,而不能紧紧将它作为一种谋生的手段,这样会很累,说实话也对不起自己。说到这里,怎样培养自己的兴趣呢?第一,多了解一些Android和编程上有趣的事。比如说多去论坛转转,我们会发现其实那些老鸟是很幽默的,他们在枯燥的世界里还寻求着属于自己的一份甜蜜;第二,要让自己对它充满渴望。我们手上都有一本书,清华大学出版的《流动的世界》,我刚拿起这本书看的时候,觉得写的很无聊,我就想清华大学怎么会出这样的一本毫无价值的书?看着看着就有了不同的想法,它的存在是有它的价值的,这是一本漫天想象的书,主要讲的是对未来高技术的渴望和期盼,这些技术现在有些我们已经在用了,有些还没有被发明,而这份渴望和期盼就是我们前进的动力,它会引导我们对开发之路的产生兴趣。

这些体会是我现在也是我以后需要的东西,在这里与大家一起分享。

篇2:安卓实习心得

1、掌握 android 系统开发的一些常用知识

2、拥有独立解决开发中遇到问题的能力

3、熟悉 android 软件开发流程并至少做一个 android 软件项目。 了解现阶段互联网发展主流,了解移动互联网,认识移动互 联网的发展与展望 , 认 识Android, 了解基于Android 的应用软件开发 方法及其商业流程。把理论与实际结合,通过对理论知识的理解, 领悟从而运用到生活实际巩固所学的知识, 提高对实际生活的认 识,积累经验。使学生在此期间能够初次体会到实际生产中的种 种技能与经验,完成一项项目锻炼独立思考及团队合作能力。使 学生们进一步加深对所学知识的理解,理论联系实际,巩固所学 有关计算机基础理论知识和基本技能, 学习有关计算机最新技术 方面的应用,增强学生对计算机在社会生活,社会生产中应用的 感性认识,深入了解计算机在各个领域中的应用状况。生产实习是学校教学的重要补充部分, 是区别于普通学校教育的一个显著 特征, 是教育教学体系中的一个不可缺少的重要组成部分和不可 替代的重要环节。它是与今后的职业生活最直接联系的,学生在 生产实习过程中将完成学习到就业的过渡, 因此生产实习是培养 技能型人才,实现培养目标的主要途径。它不仅是校内教学的延 续,而且是校内教学的总结。生产实习一方面巩固了书本上学到 的理论知识,另一方面,可获得在书本上不易了解和不易学到的 生产现场的实际知识,使 我 们 在 实 践 中 得 到 提 高 实 训 环节对于提高学生的综合能力和全面素质具重要意义

要求:

1、确定开发的程序,收集和调查有关技术资料。

2、按软件工程步骤进行程序设计。

3、对完成的程序进行测试和完善。

4、完成课程设计报告。

二.实习内容:

本次实习主要分为 2 个部分,前半部分是学习java 的相关基础知识 , 后半部分是学习android 开发基础及制作小组 android 项目 APP。 由于实习

的最终目的是做出一个 APP,所以开始我们学习了 制作 APP 要用到的 java。在学习之前可以说自己对于 java 是一 窍不通,经过大约一周的基础知识学习之后,我对 java 有了一 定的了解并可以用之 android 的项目开发。 第一天的学习让我们知道了 java 的起源,组成,体系及优 势等轮廓,知道了 java 是由 Sun Microsystems 公司于 19xx年5 月推出的 Java 面向对象程序设计语言。Java 由4个部分组成: java 编程语言;java 文件格式;java 虚拟机(JVM) ;java 应用 程序接口。 Java 主要可分为3种:java 标准版,java 企业版,java 微 型版。 Java SE(Java Platform,Standard Edition) 。Java SE 以 前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境 和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition (Java EE)提供基础。 Java EE(Java Platform,Enterprise Edition) 。这个版 本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可 伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的, 它提供 Web 服务、组件模型、管理和通信 API, 可以用来实现企业级的面向服务体系结构(service-oriented

architecture,SOA)和 Web 2.0 应用程序。 Java ME(Java Platform,Micro Edition) 。这个版本以前 称为 J2ME,也叫 K-JAVA。Java ME 为在移动设备和嵌入式设备 (比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提 供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮 的安全模型、许多内置的网络协议以及对可以动态下载的连网和 离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需 编写一次,就可以用于许多设备,而且可以利用每个设备的本机 功能。 至于java 的优势,Sun 公司对Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 Java平台是基于 Java 语言的平台。这样的平台非常流行。因此微软 公司推出了与之竞争的.NET平台以及模仿 Java 的C#语言。Java 是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。詹老师给我们演示了java 运行环境(JDK)的安装及环境变 量的设置,还有java开发工具Eclipse 的安装及使用。前半部分的学习的侧重点主要还是 java 的基础知识,几天的学习我们也仅仅只是了解

了个大概,对java 的编程风格有个模糊的认识,詹老师重点讲解了java 中包的概念以及怎样在程 序中调用包。在学习过程中詹老师也留了几个练习,其中包括水 仙花数,回文数等,让我们可以在实际操作中熟悉 Eclipse 的用 法,而作业则是编辑一个购物的 shopping 程序。 当然还有每一门编程语言的第一个程序: 经典入门程序 public class hello { public static void

main(String[] args) { System.out.println(“hello,world”); } } 学习过程中不可避免的会遇到很多困难,尤其对于初学者来 说,各种困扰一直陪伴着我半个月的实习生活。虽然困难很多, 但是通过自己的努力克服困难之后的满足感更让我感到欣喜。 记 得当初在做回文数的练习时,我提出的算法不仅满足了老师的4 位数要求,还可以保证10位数之内都有效,最重要的是算法非常 简洁,这使得我的算法得到了很多人的承认。虽然花费了很多时 间去思考,但是获得的回报是足够的,其实这样真的很好。 后半部分是 android 基础知识学习及项目开发,在正式做项 目之前, 詹老师给我们讲解了关于 android 的基础知识及如何运 用 myeclipse 去开发 APP。

三.实习内容及过程分析:

⑴确定开发的系统,收集和调查有关技术资料。

⑵按软件工程步骤进行系统开发。

⑶对系统进行测试和完善。

⑷完成课程设计报告。

设计思路 (需求分析、功能介绍、模块划分、数据流图)或实训内容与安排 一.需求分析: 计算器:通过计算器实现简单的加减乘除的运算 相册浏览器:通过相册浏览器浏览图片,并应用了重力感应系统,增加菜 单项,通过菜单,可以退出程序,查看作者,查看关于该软件的一些信息,并能 把图片设置为背景图片。 猜数字:自动生成一个 1-100 的整数,然后再文本框里输入一个 1-100 的 数字,然后跟自动生成的数字比较,如果小了,提示“太小了” ,如果大了,提 示“太大了” ,如果两个数相等,就提示“恭喜中奖了” 。 二:功能介绍 计算器:计算器拥有加、减、乘、除四个简单的运算。并有清除功能。 相册浏览器:按“上一张”按钮可以当前图片的前面一张图片,按“下一 张”按钮可以当前图片的后面一张图片。按“menu”按钮可以弹出菜单选项,菜 单选项里

有 4 个选项,分别为“退出”“作者”“关于”“设置”。按“退出” 选项,可以退出程序;按“作者”选项,查看作者信息;按“关于”选项,查看 软件信息;按“设置” ,把图片设为背景图片。 猜数字:系统自动生成一个 1-100 的整数,然后再文本框里输入一个 1-100 的数字,两数比较,如果小了,就提示太小了,如果大了,就提示太大 了,并在 textview 中输出还有几次机会。 当两数相等时, 就提示 “恭喜你中奖”。当按“重新来过”,游戏重新开始。之后进行装机实验。具体过程如下:

(1)添加一个新的 android 模拟器

(2)通过 eclipse 创建一个项目。选择 File->New->Project。在菜单中选 择 Android->Android Project,点击 Next

(3)创建一个新的 Android 工程。

(4)选择 run as,选择 android application,启动手机模拟器,即可看到 运行效果

四.实习总结:

1、通过几个月的android实习,基本掌握了Android应用程序开发的一般流程。对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。

2、通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。例如: 要的布局(或者控件) ,在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。对一些点击、选中、按键等处理的事件,界面之间的 跳转Intent管理,通过Bundle对数据在界面之间进行传输。

3、在手机交互式通信服务中,学习了Android手机之间进行短信发送、广播、对广播的监听、服务等,在Service类中没有context,可以通过Handler来每秒反复运行,自动送出系统广播信息,同时在这里我们也知道可以设计一个常用的变量类,设计一个当前的CurrentActivity这个变量进行控制,进行处理。

4、在Android编程过程中巩固熟悉了Java的编程。由于Android应用程序的开发离不开Java的支持,所以基础的Java知识是必须的。Android系统是基于Linux的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linux,C/C++高级编程才能深入的涉及Android Framework和Android内核开发。成为Android开发的高素质人才。所以,在后续对Android的学习中可能会看一些较底层的书籍。

篇3:安卓开发实习总结

刚来学习java+android培训的时候就感受到了很好的`学习氛围,这个当然和全体老师们的工作态度和对待学生的积极性是密不可分的。

整个课堂上下都充满了浓郁的学习氛围。

让刚到这里的我,感受到了充满的正能量。

在学习中班主任也是十分的负责,授课老师更是不遗余力的为我们讲授知识。

在这四个月的学习中,每个阶段的老师都给了我很大的帮助,对我们的问题总是耐心的解答。

课程内容安排的很是合理与实用,在日后工作中所将要遇到的知识点都会有很好的讲解。

在这四个月来java+android培训,不仅让我学到了很多实用的知识,更是给我一种家的温暖让我在学习中始终保持着高度的集中状态和饱满的学习热情。

非常感谢千锋给了我这么好的一个学习的机会。

让我在之后找工作的道路上可以快人一步,更加的轻松和方便的选择一个适合自己的好的工作。

在这四个月培训里,我对android有了更深入的了解,经过老师的讲解,我对android这个行业也有更多的了解,发现这个行业很适合我。

另外,老师的讲课方式也很适合我。

首先,老师讲课很幽默,让我们的学习变得不那么枯燥。

其次老师用的是边讲边练的方式,而不是给我们一大堆的理论让我们不知如何入手,我很喜欢这种讲课方式。

从java+android培训毕业后我找到了工作,现在已经工作了半个月的时间了,在这段工作中,我深刻的体会到了这里学到的知识有多么的宝贵和实用,工作中需要到的很多技能我都锻炼的很熟练了,但是短短的四个月我们不可能学到全部的知识,在工作中也时而会遇到一些难题,这个时候老师更帮助我很好的解决这些难题,我在这里真的是非常的感谢帮助过我的老师和同学。

千锋的这种良心理念很让我感动,对于每一个毕业的学生也是抱着十分热情和认真的态度,永不放弃任何一个学生!!

篇4:安卓开发心得实例

将这段时间的Android开发心得记录如下。

1.开发环境和参考资料

由于学会__的时间比较短(年7月才学会),现在在用的mac版AndroidStudio是在国内某站上下载的。今年将开发环境由windows转为mac了,好在各种IDE都是跨平台的,迁过来后麻烦不多,Android Studio也贴心地支持Eclipse风格快捷键,使用技巧方面,《Android群英传》的第2章「Android开发工具新接触」讲了些很好的技巧。

同样因为学会__比较晚,主力参考资料一直是手头的几本书籍:可以当词典用的《疯狂Android讲义》,手把手地带新手入门的《第一行代码》,优雅细致地讲Android体系结构的《Android开发精要》,这三本是买的,很喜欢读,另外《Android群英传》《Android UI设计》《打造高质量Android应用》《App研发录》《Android开发艺术探索》买来后翻开的次数较少,感觉对不起它们。这几本其实也都是好书,以后要多看。

学会__之后,Android官网也成了好选择,但不代表书本就没用了。官方资料的优势是正统和条理清晰,但在「最佳实践」甚至「黑科技」上还是一线程序员写的书更接地气。而当想深入理解底层原理、类库的作用时,官网是好选择,而不像书本上的知识会让你有「说得对吗」「没翻译错吧」「没过时吧」的担忧。官网和书本,应当优势互补。具体编程中遇到的各种问题,书本上当然不能穷尽,官网就更不可能了,这时候Google和StackOverflow就有了巨大作用,当然,这也不能解决一切问题,很多时候还是要耐心地慢慢调试。

2.页面知识

这方面《Android开发精要》讲得非常好:安卓的四大组件,被以「任务」的方式组织在一起,「应用边界」和「进程边界」都被打破了。个人感觉,这是学习Android编程时极为重要、应该最早学习到的基础知识。

四大组件中,Activity最重要,它名为「活动」,视为「页面」更容易理解。页面间的关系,以「栈」的方式组织,显示一个新页面即将新页面入栈,总显示栈顶的页面,点击手机上的返回键,则弹出栈顶页面,这些跟浏览器的「前进/后退」按钮的逻辑是一致的,有些时候需要更复杂的控制,例如A打开B,B打开C,希望关闭C时直接返回到A,则应在显示C时将B关掉,栈内元素由ABC变成AC,即可实现目的。

国人用App,习惯了底部标签栏,但官方只有顶部标签栏,所以只好自己实现,Activity中放一个Fragment和一组显示为标签栏的页面元素(具体使用的是RadioGroup,也可以使用别的元素,这不重要),实现当点击标签按钮时,菜单、标签栏、Fragment的样式和逻辑都符合要求即可。Fragment的生命周期和能力,跟Activity几乎一模一样,问题只在于当和另外Activity交互时,接到信息的往往是TabActivity(即Fragment所在的Activity),需要把消息从TabActivity转交给Fragment。菜单的控制也是,点击菜单的消息会到TabActivity手里,要由它转交给具体的Fragment。

Activity和Fragment(下简称页面)中的元素关系,与html的dom类似,是树状的层次,事件也是先由子元素接收,再冒泡到父元素。布局方面,LinearLayout(线性布局)和RelativeLayout(相对布局)最常见,线性布局可以思路清晰地将元素摆在一条直线上,线性布局嵌套,即可先行后列地摆放,类似bootstrap中的row和column,可以嵌套许多层,而RelativeLayout适合用来摆以元素之间的相对位置为核心的页面,在思路上比LinearLayout要复杂一点,但功能强大,布局层次扁平,页面效率高。这两者的关系有点像html中的布局:各种block和inline元素的使用是常规武器,大部分时间好用且省心,但个别时候则需要脱离文档流。

页面中具体的单个元素,则与html的dom中的元素也非常类似,有宽度、高度、margin、padding、背景色、文本色、字号等「样式」属性,因此正如html中可以把样式写在html里,也可以写在css里一样,Android页面的样式也可以拿出来放到style配置文件里,这样能减少重复,便于维护。输入元素中用户输入的内容,当然也能从该元素的属性中读出。响应事件的元素的响应函数注册,也是在该元素上直接声明即可,类似网页中的__.onClick方式。元素和所属页面之间的关系,在页面的onCreate方法中使用findView找到该元素,并设到该页面的成员变量上。页面持有它的元素,元素拥有属性、输入值,并绑定有响应函数,这在任何有界面的编程中都是一致的。

3.数据知识

作为c/s程序,在本地当然有保存数据的能力,包括了键值对保存和数据库保存,这能力连html5后的b/s程序都具有了(5之前只有cookie的方式),Android这些能力的代码都很简单,不多说。

与服务器的交流,rest的交流方式是事实标准,这种交流方式保证了服务端写好rest接口后,开发的Android、IOS甚至Angular这种OPOA的网页程序都能共用这一套接口。rest的编码规范,网上早已有很多了,不多说。Android的HttpClient程序,只要指定url、参数、Get或Post等请求类型,即可发送请求,当服务器给出Http响应之后,Android程序可以从中拿到返回的json字符串,用JSON等库解析为集合或实体(其实json本质无非是map和list两种集合的混搭),然后遍历和取值,自动或手动构造成实体对象,然后改变页面的显示。在要页面显示时,由于Http返回的处理函数运行于另一个线程,直接调用页面的成员变量以试图修改其显示内容会报错。为此需要提早注册一个Handler,用于在接收到消息时读取页面的「数据属性」并改变页面显示,Http返回处理函数将数据更新到页面的「数据属性」中,向Handler发送一个消息,让Handler读取「数据属性」并更新页面即可。

在页面显示数据时,最常用到是ListView,可以定义一个Adapter,实现根据下标返回Item页面元素的方法,方法是声明一个Item布局文件,Adapter持有数据集合,在要实现的方法中使用传入的下标获得单个实体,再使用Item布局文件实例化一个页面元素对象,用实体的属性渲染页面元素对象,将页面元素对象返回即可,推荐使用ViewHolder来提高性能,这在包括《打造高质量Android应用》等书都讲了。

4.实践经验

有了上面1至3的知识,理论上即可完成App的开发,善于将各种编程技能元素组合使用即可(界面知识 + 数据知识 = 一切),但还有些具体工作了才会获得的经验。

在Android Studio中引入第三方库是使用Gradle,类似maven,写配置文件即可。

App上架方面360、百度、腾讯、豌豆荚、小米都成功上线了,华为和PP助手不允许非公司用户上线,没办法。

尝试手动实现定时轮询来获得服务器上的提醒,不成功,但对Service和BroadcastReceiver的理解更深了,Service的主要用途就是保证它打开的线程一直活着,但怎么保证这Service不死?一是设成常驻在通知栏的前台Service,二是在安卓手机「设置」里将该App设为「锁屏后继续运行」,还要将网络设为「锁屏后不断网」,以保证锁屏后线程能继续轮询并从网络上得到最新信息。而BroadcastReceiver的主要作用是,让两个相互之间解耦合得很好的组件可以互相通讯,只需要发起通讯那方指定一个字符串——既不需要访问对象,也不需要指定class类对象,指定一个字符串即可,这时通讯发起方根本不知道会不会有人响应它、会有几个人响应它,零个、一个、多个响应者都有可能,这就是「广播」的意义,可以联系「消息队列」来理解它,主要的目的是解耦。

虽然如此还是常有用户反馈收不到消息推送,只好使用专业的推送服务,目前使用的是「友盟」,文档很好,还提供了编程式发消息的sdk,测试也很友好,调了两天,用户基本能顺利收到推送了,当然还是要在手机设置中将App加入「锁屏后继续运行」的白名单,否则友盟的PushService被杀掉就收不到推送了。另外第三方的「统计」还在摸索。

程序更新提示的实现是在启动时向服务器发一个请求了解最新版本号,与本地程序版本号比对后,如果有更新的,则询问是否要更新。apk包是在Android Studio里签名打包之后,用360加固了之后(否则各平台不允上线),传到了「七牛云存储」的服务器上,在App获取最新版本号时,将最新的apk包的地址一并获取下来,如果用户同意更新,则在后台启动线程下载该apk包,下载完成后自动安装。

App的登录,是将用户名密码提交到服务器,服务器检查正确后返回一个token,App将这token保存在本地,以后请求api时附带用户名和token一起发给服务器,服务器检查用户名和token正确,则将关键的数据返回给App,否则视具体需求返回不完整的数据(未注册用户看到的数据不完整),或者直接返回错误(未注册用户完全不允许访问的数据)。注册时,则是生成一个验证码,将手机号和验证码存到库里,调用发短信的服务商的接口发到用户手机,当用户输入验证码发送请求到服务器,服务器检查手机号和验证码是否匹配,如果匹配,则注册成功。

Android页面中嵌入Html页面很简单,但这两者产生交互的功能还没做过,如果以后做到,再补充进来,这里留个TODO的「抽象方法」占位置。还有图像的延迟加载、数据库的使用,都要留个「TODO」。有时间即实践之。

5.个人感想

「应用程序员」做久了,总是觉得没太多成就感,虽然功能有人用会很开心。但当陷入没什么技术含量的细枝末节,觉得「知道这些东西仅代表有经验,没什么了不起」,就觉得很虚无。安卓的知识,对我来说最有趣的还是体系结构、界面的逻辑、数据的逻辑这三者,当陷入具体的事务,某个api该怎样调,函数有几个该怎样写,甚至最无聊的安卓各版本差异,就算做成功了,也觉得没什么好满足的。

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:安卓终端设计方案 下一篇:java安卓开发应用