安卓开发心得实例(通用4篇)
安卓开发心得实例 篇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
从20__年4月到6月主要做的工作是网站的开发,而6月到现在20__年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主。
将这段时间的Android开发心得记录如下。
1.开发环境和参考资料
由于学会__的时间比较短(20__年7月才学会),现在在用的mac版AndroidStudio是在国内某站上下载的。今年将开发环境由windows转为mac了,好在各种IDE都是跨平台的,迁过来后麻烦不多,AndroidStudio也贴心地支持Eclipse风格快捷键,使用技巧方面,《Android英传》的第2章「Android开发工具新接触」讲了些很好的技巧。
同样因为学会__比较晚,主力参考资料一直是手头的几本书籍:可以当词典用的《疯狂Android讲义》,手把手地带新手入门的《第一行代码》,优雅细致地讲Android体系结构的《Android开发精要》,这三本是20__年买的,很喜欢读,另外《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读取「数据属性」并更新页面即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。