安卓开发心得5篇最新实例.docx

上传人:b****8 文档编号:10997245 上传时间:2023-02-24 格式:DOCX 页数:12 大小:25.84KB
下载 相关 举报
安卓开发心得5篇最新实例.docx_第1页
第1页 / 共12页
安卓开发心得5篇最新实例.docx_第2页
第2页 / 共12页
安卓开发心得5篇最新实例.docx_第3页
第3页 / 共12页
安卓开发心得5篇最新实例.docx_第4页
第4页 / 共12页
安卓开发心得5篇最新实例.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

安卓开发心得5篇最新实例.docx

《安卓开发心得5篇最新实例.docx》由会员分享,可在线阅读,更多相关《安卓开发心得5篇最新实例.docx(12页珍藏版)》请在冰豆网上搜索。

安卓开发心得5篇最新实例.docx

安卓开发心得5篇最新实例

安卓开发心得5篇最新实例

  android开发是指android平台上应用的制作,Android早期由“Android之父”之称的AndyRubin创办。

下面给大家带来一些关于安卓开发心得,希望对大家有所帮助。

  安卓开发心得1

  时间飞快,转眼毕设实训已经结束,我们也完成了所选的项目任务。

从实训开始到现在,经历了三个多月的时间,在这段时间里,我们着手安卓应用程序开发,刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的AndroidSDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想。

我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.现在我对这半个月的实习做一个工作小结。

  1通过半个月的android实习,基本掌握了Android应用程序开发的一般流程。

对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。

学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。

  2通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。

例如:

要的布局(或者控件),在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。

对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。

对一些点击、选中、按键等处理的事件,界面之间的跳转Intent管理,通过Bundle对数据在界面之间进行传输。

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

在Android编程过程中巩固熟悉了Java的编程。

由于Android应用程序的开发离不开Java的支持,所以基础的Java知识是必须的。

Android系统是基于Linu_的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linu_,C/C++高级编程才能深入的涉及AndroidFramework和Android内核开发。

成为Android开发的高素质人才。

所以,在后续对Android的学习中可能会看一些较底层的书籍。

  由于这次实习时间较短,对于Android应用程序的高级编程讲的很少,是这次实习中的不足。

要想开发一些好的应用程序,还需要更多的知识支持。

在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的Activity忘记注册,对SD卡存取需要权限,在写SQL语句时细微的错误就可能导致程序运行错误。

这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。

通过Android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也有了更多的发展方向,这在以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可以根据我们自己的需要设计一些小的程序。

总之,在这次实习中,我获得了很多东西,提高了自己的编程技巧和编程方法,并且认识了Android应用程序的开发,以及加深了对Java的认识。

  最后,通过实习,我收获了很多东西,特别是编程方面的,这对即将毕业的我们来说,这次实习是一次较为珍贵的充电!

  安卓开发心得2

  知不觉中为期三周的实训已经接近尾声。

虽然时间很短,不过我确实学到了一些我觉得有用的东西,并且是平时上课学不到的东西。

三周的实训,时间很短,确实很短。

原本刚开始,乃至之前听说有为期三周的实训的时候,都觉得,这样的实训不过就是走过场罢了,只有三周的时间,能学到什么东西呢?

所以一开始也没当回事。

  就这样,带着这样的心态,开始了实训。

安卓实训。

因为第一天周一上午没有课,下午,才算是正式开始了三周的实训。

一开始听老师讲课的时候,感觉很舒服啊,噼里啪啦一讲一堆,不过我就喜欢这样的,听着爽啊。

平时老师上课的时候都是讲一句顿一顿,或者一句话反复琢磨半天,这样的话,虽然老师的出发点是好的,是为了让学生更容易理解,但这样的话,教学的整体进度就下来了。

而且就算是一个知识点反复讲,也不见得能就精通了这个东西,或者说对这个有多么理解。

反而容易让学生产生一种懈怠的情绪。

  一、第一件事:

说话做事要有真凭实据

  而这样一开始,老师就给我一种耳目一新的感觉:

这老师上课带劲啊!

不过也就仅此而已了。

老师花了一下午的时间着重介绍了老师所在的公司,以及我们接下来三周的实训计划。

接下来一周实训之后,这个实训在老师的刻意营造下,尽量模仿公司的氛围。

而让我感受最受的就是:

凭事实说话。

就是无论要下什么结论的时候,都要拿得出能够说服人的数据。

  这是我在第一周中感受最深的一件事。

也是我学到的第一件事。

说话下结论要有真凭实据。

  二、第二件事:

专业技术的不断学习

  在这一周中,老师着重讲了如何进行系统构架。

因为之前也跟老师做过项目,所以对进行系统构架的理解要稍微深入些,对其重要性的了解也要多一些。

这样,在老师的讲解下,再和我以前的理解相互验证,感觉就像武功高手,在前辈的点拨下顿悟了一样。

  这就是我学到的第二件事,是在专业技能方面的收获。

  三、第三件事:

学会寻找动力

  然后在接下来的一周中,这样的学习中老师让我们每组一个白板,然后把每天的任务完成情况着实记录。

这样,不同的组之间要对比;同组,不同的组员之间对比;自己今天和昨天的对比。

无形中产生了一种强大的推理,推动我们前进。

  这是我学习到的第三件事:

没有动力,就学会寻找动力,而比较,是最有效的激励。

  四、第四件事:

学会尊重别人,那样你也会获得别人的尊重

  在第二周结束的时候,我们用来结束实训的一个项目就正式开始了。

这个项目的时间很短,三天,如果算上上周末的时间的话,那就是五天,但前一周的时间确实没有有效的利用起来。

那么这样只好算三天了。

在这次项目中,我没有一个人大包大揽,一个人把项目扛下来。

因为之前跟老师做过项目,并且我也是小组负责人,虽然作为这个小组负责人,我做的很不好,但有这样的一次经历之后,我知道我哪里做的不好,哪里有问题,虽然不会很全面,但至少有一些努力的方向了。

  而这次,我就尝试着,去真正的发挥一个团队的作用,而不只是一个人完成项目。

可以说,这次项目我的目标是:

以团队的形式去推动项目的进展。

  我不一个人做的原因有这么几点:

首先,一个人做太没有挑战性了,为了完成任务而做项目,没意思。

第二点:

团队的成员对参与这个项目比较积极。

不管怎么说,我的团队小组成员就算基础很差,但只要是真心的想要学习的,想要把项目做好的,那我就不应该拒绝他们,因为一个小小的拒绝,可能会对别人的一生产生巨大的影响,而这个影响似乎不是积极的。

所以,我觉得我应该尽我所能去帮助我的小组成员。

第三点:

我想锻炼一下,作为一个小组负责人,我的职责是什么。

我应该怎么做才能充分发挥小组成员的能力。

我甚至自己都没有参与核心代码的编写。

我既然决定要帮助我的小组成员,那么我就是真心实意的帮助我的小组成员,而不是敷衍,也不想让我的小组成员觉得我是在敷衍他们,那么我就把真正重要的东西交给我的小组成员,这样让我的小组成员感觉到自己受到重视,这样也可以更好的激励我的小组成员。

  虽然,或许这样短短的几天不能够改变一个人太多。

但或许我可以给他们在心里种下一颗积极的种子,或许以后,只要一点点阳光,一点点水分,这颗种子就可以发芽,破土而出,成长为一个坚定的信念。

  这是我学到的第四件事:

真心地为他人着想,尊重他人。

这样才能够使一个团队产生真正的凝聚力。

  安卓开发心得3

  刚开始接触Android感觉到它很有意思,在界面开发上和web也可以形成了相通的架构,更加方便,视觉上也是非常的酷,在前期我通过的大量的AndroidSDK开发范例大全中的例子以及Android提供的APIDEMOS进行学习,尽管例子之间的连接比较零散,不过通过这些例子的学习我可以学习到了很多和以前java上相通的思想。

  我在为期半个月的实习中学到了很多在课堂上根本就学不到的知识,收益非浅.现在我对这半个月的实习做一个工作小结。

  通过半个月的android实习,基本掌握了Android应用程序开发的一般流程。

对常用控件基本掌握其用法,对其事件的监听方法也基本掌握。

学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。

通过学习Android的控件、布局、Activity、Service等一系列基础知识,对整个Android的开发有了大致的了解。

例如:

要的布局(或者控件),在学习界面中,我发现Android为我们提供了很好的类似反射机制,通过Layout文件夹下的配置文件,可以快速的形成界面,在配置文件可以设置属性或者样式都是很快捷方便。

对比较特殊的界面也可以通过处理嵌入到指定的界面,同样你可以通过java代码直接创建View进行添加,不过这种方式比较复杂。

对一些点击、选中、按键等处理的事件,界面之间的跳转Intent管理,通过Bundle对数据在界面之间进行传输。

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

  在Android编程过程中巩固熟悉了Java的.编程。

由于Android应用程序的开发离不开Java的支持,所以基础的Java知识是必须的。

Android系统是基于Linu_的手机操作系统平台,要深入系统的学习Android,不仅仅是有Java和Android应用开发,必须要具备Linu_,C/C++高级编程才能深入的涉及AndroidFramework和Android内核开发。

成为Android开发的高素质人才。

所以,在后续对Android的学习中可能会看一些较底层的书籍。

  由于这次实习时间较短,对于Android应用程序的高级编程讲的很少,是这次实习中的不足。

要想开发一些好的应用程序,还需要更多的知识支持。

在做实习最后的项目时,遇到了很多平时没有遇到或者没有特别关注的问题,如常见的Activity忘记注册,对SD卡存取需要权限,在写SQL语句时细微的错误就可能导致程序运行

  错误。

这些问题只有自己在实际开发中才能体会到并且解决,并且在解决后可以长时间的记住。

  通过Android的实习,我们在大四毕业前,我们又掌握了一项新的前沿的开发技能,也有了更多的发展方向,这在以后的找工作的过程中无疑为我们增加了砝码,也可以成为我们的一项兴趣爱好,可以根据我们自己的需要设计一些小的程序。

总之,在这次实习中,我获得了很多东西,提高了自己的编程技巧和编程方法,并且认识了Android应用程序的开发,以及加深了对Java的认识。

  安卓开发心得4

  从20XX年4月到6月主要做的工作是网站的开发,而6月到现在20XX年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主。

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

  1.开发环境和参考资料

  由于学会__的时间比较短(20XX年7月才学会),现在在用的mac版AndroidStudio是在国内某站上下载的。

今年将开发环境由windows转为mac了,好在各种IDE都是跨平台的,迁过来后麻烦不多,AndroidStudio也贴心地支持Eclipse风格快捷键,使用技巧方面,《Android群英传》的第2章「Android开发工具新接触」讲了些很好的技巧。

  同样因为学会__比较晚,主力参考资料一直是手头的几本书籍:

可以当词典用的《疯狂Android讲义》,手把手地带新手入门的《第一行代码》,优雅细致地讲Android体系结构的《Android开发精要》,这三本是20XX年买的,很喜欢读,另外《Android群英传》《AndroidUI设计》《打造高质量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的开发,善于将各种编程技能元素组合使用即可(界面知识+数据知识=一切),但还有些具体工作了才会获得的经验。

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

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

  尝试手动实现定时轮询来获得服务器上的提醒,不成功,但对Service和BroadcastReceiver的理解更深了,Service的主要用途就是保证它打开的线程一直活着,但怎么保证这Service不死?

一是设成常驻在通知栏的前台Service,二是在安卓手机「设置」里将该App设为「锁屏后继续运行」,还要将网络设为「锁屏后不断网」,以保证锁屏后线程能继续轮询并从网络上得到最新信息。

而BroadcastReceiver的主要作用是,让两个相互之间解耦合得很好的组件可以互相通讯,只需要发起通讯那方指定一个字符串——既不需要访问对象,也不需要指定class类对象,指定一个字符串即可,这时通讯发起方根本不知道会不会有人响应它、会有几个人响应它,零个、一个、多个响应者都有可能,这就是「广播」的意义,可以联系「消息队列」来理解它,主要的目的是解耦。

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

另外第三方的「统计」还在摸索。

  程序更新提示的实现是在启动时向服务器发一个请求了解最新版本号,与本地程序版本号比对后,如果有更新的,则询问是否要更新。

apk包是在AndroidStudio里签名打包之后,用360加固了之后(否则各平台不允上线),传到了「七牛云存储」的服务器上,在App获取最新版本号时,将最新的apk包的地址一并获取下来,如果用户同意更新,则在后台启动线程下载该apk包,下载完成后自动安装。

  App的登录,是将用户名密码提交到服务器,服务器检查正确后返回一个token,App将这token保存在本地,以后请求api时附带用户名和token一起发给服务器,服务器检查用户名和token正确,则将关键的数据返回给App,否则视具体需求返回不完整的数据(未注册用户看到的数据不完整),或者直接返回错误(未注册用户完全不允许访问的数据)。

注册时,则是生成一个验证码,将手机号和验证码存到库里,调用发短信的服务商的接口发到用户手机,当用户输入验证码发送请求到服务器,服务器检查手机号和验证码是否匹配,如果匹配,则注册成功。

  Android页面中嵌入Html页面很简单,但这两者产生交互的功能还没做过,如果以后做到,再补充进来,这里留个TODO的「抽象方法」占位置。

还有图像的延迟加载、数据库的使用,都要留个「TODO」。

有时间即实践之。

  5.个人感想

  「应用程序员」做久了,总是觉得没太多成就感,虽然功能有人用会很开心。

但当陷入没什么技术含量的细枝末节,觉得「知道这些东西仅代表有经验,没什么了不起」,就觉得很虚无。

安卓的知识,对我来说最有趣的还是体系结构、界面的逻辑、数据的逻辑这三者,当陷入具体的事务,某个api该怎样调,函数有几个该怎样写,甚至最无聊的安卓各版本差异,就算做成功了,也觉得没什么好满足的。

  而关于代码质量,在写了这么多年Java的服务器代码,用过市面上几乎所有流行框架,做过无数次封装之后,写这种App的代码,真提不起重构的兴头,「重构的第一原则就是不要重构」,这种思辩,恐怕没几个人辩得过我,因为我对在设计模式、重构、软件工程这些方面的阅读和思考量都非常大,而且逻辑清晰,文采飞扬,曾经而且如今也正在因一些文字被有大名气大影响力的人物欣赏,这些事情久了,就觉得无聊,很多时候人的火气不是****于别人不认同自己,而是****于自己不认同自己,当你对自己有了认同,就会觉得别人的发言很无聊,连反驳的兴头都没有,有那工夫,不如真真切切地读两本书,写两行代码。

自身修为的提升,总要依赖于这些脚踏实地的努力,而非****于口舌上的斗争。

最重要的是,要知道自己想要的是什么。

  安卓开发心得5

  Android开发感想

  18年从.net转行做安卓开发,现在已经过去一年多了。

说一下感想和心得体会!

  一、开始

  说一下我的经厉,从毕业开始出来工作一直是从事.net方向的开发工作。

一开始也是没什么经验,加上也没有其他手艺就找了一个.net的开发岗位,刚开始两年都是做一些基本的系统开发OA、CRM什么的。

后来跳槽换了几家公司,也都差不多主要是.netweb系统开发或者是后台接口的开发。

跟着团队一起做项目,完成需求开发,解决bug等等。

做了几年看到现在移动互联网是趋势就打算换个方向,本来在我工作的第二年是有一次机会的但是错过了,当时买了mac准备转ios开发的但是刚出来工作基础不好加上没有自制能力所以就没有成功转型。

  后来就还是在做.net相关的工作,结果发现做.net的越来越少,加上51上面发现工作岗位远远没有java和Android的多就想着换个方向了,另一个原因是做.net技术一般工资也没提高多少。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1