安卓开发心得体会,做安卓开发2年了下一步怎么走

1 , 做安卓开发2年了下一步怎么走我也一样,做了两年应用了 各种类型的接触过点现在开始研究android敏捷开发,和应用层级别的框架设计,也研究用户体验这块事 。其实可以研究的还很多,也可以一个固定的产业方向走,产品化之路都做两年了?。蠢词乔氨?nbsp;, 入行比较早的 , 可怜我现在刚想踏入这个行列 , 从应用层做起……
2,软件开发 半年工作心得或者工作总结怎么开发遇到的问题,获得的经验 。怎样才能提高效率楼主可以去www.fanwenf.com找找,应该有您需要的、希望能帮到你、1、个人半年的工作清单,也就是你主要做了什么项目或者功能?承担了什么角色?学到了什么东西?2、个人半年的读书学习情况 , 读的技术类书籍有哪些?非技术类书籍有哪些?3、工作中遇到的问题或困惑及目前考虑到的解决办法4、 对公司部门(或者小组)的建议和意见5、个人上半年的收获【安卓开发心得体会,做安卓开发2年了下一步怎么走】
3,学习android后有何感想我的一点心得:Android开发环境搭建:因为新手关系,遇到很多问题,可以问问度娘下载地址和环境配置参数搜一下到处都是,注意安装顺序,以下是我的安装顺序:先装jdk配置jdk环境变量鼠标右键我的电脑属性里面选择高级系统设置里的环境变量,在系统变量中新建两个变量 。一个名为path变量值为你的jdk安装目录后加bin,另一个变量名为classpath,安装eclipse安装SDK最后配置eclipse,安装ADT当然,作为新手,一个好的培训机构可以让你省不少功夫,中关村黑马训练营挺好的搜一下:学习android后 , 有何感想
4 , Android开发易错点有哪些对于Android程序员来说平时开发Android应用很多地方需要我们注意 , 下面是Android123通过浏览大部分源码易的地方 。一、数据库的Cursor对于Android SQLite数据库封装的查询返回对象Cursor来说比较容易出错的有1. Cursor返回可能为null 。如果query返回的Cursor对象为空 , 执行cursor的任何方法肯定有空指针异常了,这点Android的代码有40%都没有注意到 。2. Cursor返回为0 。我们仅仅判断不为空还不行 , 如果Cursor的对象为0 , 执行了moveToFirst(); 这样的方法就比较尴尬了,这点Android开发网格外提示大家注意 。3. 遍历Cursor时没有执行moveToFirst() , 这样游标的位置就不确定了 。4. Cursor使用完后要手动关闭 , cursor.close()这个方法不要忘记了 。5. Cursor的类型获取 , 比如说getInt和getLong,由于在SQLite中boolean和long型均为SQLite的Integer所以,读取时一定记住转换 。二、新建的service、activity没有在androidmanifest.xml中注册,对于activity还好说,如果是service同时service使用的package name和主程序的package name有出入还记得手动写上相对的包名三、Parcelable使用时内部类的异常处理,比如内部存储Bitmap对象时,如果Bitmap对象为空就会出现问题了 。5,软件开发工作感想你自己工作时有的想法及感受学出来就可以了,另外就是把你的目标和对未来的想法说出来,就是你的工作感想了 。加油吧,还需要你自己去写,只给你见议对任何系统来说:无非是做好3件事:IPO 。也就是Input,Process,Output 。对需求分析来说: 最重要的是搞明白,用户的需求 。也就是搞清用户的输入(Input)和输出(Output)是什么,它的要求达到的功能(Process)是什么 。明白以后,就可以写一些用户需求说明书,描述用例,输入输出处理异常什么的,或者做一个简单的Demo系统,拿去给用户看,看看这个界面是不是用户喜欢的,这个流程是不是用户所需要的等等 。然后就是系统分析: 首先 , 需要对用户的需求分模块 , 每个模块的IPO是什么,他们应采用什么架构,需要和那些模块交互,互相之间的接口是怎样的,需要使用什么技术 。每个模块的运行环境是什么样子的 , 对效率,安全或者容错等特性是否要着重考虑 。接着就是系统设计:每个模块的数据库要怎么设计 , 所用技术和架构决定后 , 要确定不同层次有哪些接口 , 比如说表现层,业务逻辑层,数据库访问层,相互之间怎么调用,定好框架和开发模式和格式,剩下的就是编码了 。编码部分:首先团队要有一个良好的编码规范 。并且对每个人提交的代码要review,我发现程序编多了,自己就成了一台计算,看到程序就会知道会出现什么结果,根本都不用跑起来 。测试: 单元测试是否编写测试用例,Junit是个好工具 。每个人都要保证好自己的代码没有问题 。整体测试就要整个流程的跑一下 , 看看需求实现的对不对,还有没有什么其他纰漏 。风险管理:这一点很重要,要时刻知道自己的项目有什么风险,无论是人员的,技术的,时间的,还是协调上面的 。都要心里有数,按时按周向领导汇报 。也许写的简单了一点,不过觉得真的是如此,面试的时候,经常会有人问,有没有做过一些复杂的业务逻辑,其实说实话,我还真不知道怎么回答这个问题,我一直都觉得,,把IPO搞明白,多复杂的业务逻辑都会简化成一个一个小的步骤,处理完输入的数据后,就进行数据库更新或保存,然后就返回给用户处理后的反馈信息 。复杂点的最多就是涉及到多数据库或者嵌套事务的处理,只要把握好事务的生命周期,是否互相影响,处理好提交和回滚也就OK了 。如果是涉及到工作流的 , 就要记录和管理好它的位置,上下流程的关系状态什么的 。还有什么复杂的业务逻辑形式?也许大型的数据量的访问和处理就需要一些技巧了 。典型的就是把经常访问的变化不经常的动态页面,转换成静态的html分配给apache处理,注意更新 。或者使用集群Cluster来缓解压力 。这又会涉及到怎样追踪用户的问题了 , 一个最简单的方式就是对用户取模来进行分配 。如果对数据库的存取量太大,一般可以使用缓存,多弄几台数据库,搞成集群形式,一台主的多台辅的 。如果后台表数据量太大的话,就是用分表方式 。别太累!多去网站上下!多和同事沟通软件开发工作的几点感想一、软件开发中的角色划分在一个软件项目从规划、论证到设计、实现的整个过程中,需要众多不同技能的人员参与 , 为了便于任务分工和人尽其才 , 在项目小组中应当设定许多角色,小组成员都拥有相应的角色,每种角色都必须具备相应的技能,同时从事相应的工作 。在整个软件工程过程中 , 一般可划分下面几类角色(可根据公司的规模和项目规模调整):系统研发工程师、项目经理、系统分析员、系统设计工程师、软件编码工程师、软件测试工程师、系统支持工程师等 。系统研发工程师(也叫产品经理)负责软件产品的功能设计 , 他对市场有敏锐的洞察力和感悟力,同时对软件技术内涵有深刻的理解(不一定对语言本身非常熟悉),能够把握市场需要什么,知道什么样的需求可以通过软件实现 , 实现的成本有多大,他熟悉同类产品或相关产品的优势和不足 。项目经理负责人员安排和项目分工,保证按期完成任务,对项目的各个阶段进行验收 , 对项目参与人员的工作进行考核,管理项目开发过程中的各种文档,直接对公司领导层负责,他既能处理好与客户之间的关系,又能协调好项目小组成员之间的关系 。系统设计工程师负责软件产品的系统设计,包括需求分析、概要设计和详细设计(最好详细到对象的每个函数接口),他非常熟悉软件工程理论,熟悉常规的软件设计思想(例如结构化设计思想、面向对象OOP设计思想)和常用技术,包括语言、服务和组件技术(例如CORBA、COM、DCOM、JavaRMI、JAVABEAN、EJB等) , 能熟练使用一种CASE工具进行设计并能用规范化的文档清晰地描述出来,同时他能准确的理解软件产品的功能和知道如何实现,而且对相关语言非常熟悉,能面向特定语言完成系统的详细设计 。软件编码工程师负责软件模块的编码实现,他非常熟悉相关的语言细节 , 熟悉软件基础理论和常用算法,熟悉常规的软件编码标准 。软件测试工程师负责软件测试工作 , 尽量发现软件设计和编码中的缺陷,他熟悉常用的软件测试方法,能设计测试用例 , 能够细心地做软件测试工作 。系统支持工程师负责帮助用户顺利实施软件系统,他能够编写软件使用手册、对用户进行培训,熟悉相关的软件运行环境 。在以上几种角色中 , 系统研发工程师、系统设计工程师和项目经理是最重要的三个角色,他们的能力和经验是项目成功的根本保证,是公司最宝贵的技术财富 。根据项目的规模不同 , 角色划分和设置也不仅相同,对于较大规模的项目 , 可能由多人担任一个角色,对于小规模的项目可能一人就担任多个角色,但是与角色相关的职能划分是不可少的 。角色划分是为了适应任务的分解和合理分工 , 是为了安排合适的人做合适的事,相应角色的人员必须作好相应角色的事,不能因为自己可以做另一个角色的事,就忘记了自己的主要任务 。二、软件企业的技术体系建设软件技术是在日新月异地发展的 , 任何人要想熟悉所有的软件技术是不现实的,软件技术涉及到不同的层次和不同的领域,不同层次有不同层次的协议和功能,上一层次的技术是建立在下一层次的基础之上的,任何人要学习软件技术,必须明确相应的层次,要把注意力集中在本层次的功能和协议上 , 不要深究下一层怎么实现,这是最关键的 。不要一味的追逐新技术,软件只是一种工具,最重要的是用这个工具做什么有价值的东西,要学会以不变应万变 , 因为万变不离其宗 。一个好的软件工作者,最重要的是有悟性和创造力,对市场的感悟、对软件技术的感悟 , 把二者进行有机结合形成软件产品的创造力 。软件开发人员应该在一条技术主线上深入学习和研究,在一条主线的前提下,再研究常用的规范和技术 。对于初学者,在掌握好一条主线的相关知识的基础上就可以迅速设计软件产品,而不应把面开的太广 。譬如,掌握一点基础理论、一门数据库系统、一门开发工具就可以开发常用的信息管理系统 。切记在同一层面上涉猎太多 , 学了PB,又研究VB , 是毫无意义的重复 。对一个公司来说,也应有一个技术主线,以及与之相关的一只开发队伍,这样才能实现软件复用和人才复用 。在一个公司中,不应鼓励技术人员都去努力学习新技术 , 要给每位员工一个角色定位,要求他做好相应角色的工作,为了作好工作必须拥有相应角色的技术 。对于大多数人来讲,自己可能不知道该学什么好,需要公司帮他定位 。任何人在不影响本角色工作的基础上可以有自己的学习计划,但不应作为公司的计划 。公司根据员工人能力的变化可以及时调整其角色 。对于一个公司来说 , 应下大力气培养系统研发工程师和系统设计工程师,好的系统研发工程师(或称为产品经理)能保证一个软件项目甚至一个公司沿着一个正确的方向走,好的系统设计工程师能保证软件实现预定的功能 。纲张则目举,有了纲 , 目就容易定了 。有了好的系统设计,软件编码工作就很容易 , 单纯的软件编码工程师也容易找 。如果有大量的软件高手,但是谁也做不了系统设计,这些人在一块做项目,沟通和合作都成问题,做出的软件就可想而知了 。软件是一种服务工具,它辅助人类实现管理和服务 。人类工作的任何一个领域,软件都可以进入 。软件应用领域非常广阔 。与其说研究软件产品如何定位,不如说是研究人类在管理和服务上的需求,哪些需求可以用软件实现、该需求的市场有多大、客户能支付的费用有多大等,都是必须研究的范围 。常规的需求,基本已经实现了 , 没有实现的不是因为技术达不到就是因为经费和市场的问题 。因此必须去挖掘潜在的需求和把握将要扩大的需求,就是要创新 。降低软件开发成本就变相的提高了公司的利润 , 因此在开发软件项目的时候要仅可能的利用已有的组件和代码,构建新的产品,实现代码级复用,如果能开发通用化的软件产品,实现软件级的复用就更好了 。开发大范围的通用软件比较困难,开发某个行业的通用软件相对容易些 。好的软件产品并不一定非得使用了多高深的技术,关键是在适当的时刻推出适当的产品 。能把各种不同的技术融合在一起也是一个很好的卖点 。总之,对一个软件公司来说,技术、产品、管理(包括公司管理和技术管理)和市场是最重要的四个要素,作为公司的管理层要时时刻刻确保这四项要素能得到很好的管理和控制 。仅供参考哈对任何系统来说:无非是做好3件事:IPO 。也就是Input,Process,Output 。对需求分析来说: 最重要的是搞明白,用户的需求 。也就是搞清用户的输入(Input)和输出(Output)是什么,它的要求达到的功能(Process)是什么 。明白以后,就可以写一些用户需求说明书,描述用例,输入输出处理异常什么的,或者做一个简单的Demo系统 , 拿去给用户看,看看这个界面是不是用户喜欢的,这个流程是不是用户所需要的等等 。然后就是系统分析: 首先,需要对用户的需求分模块,每个模块的IPO是什么,他们应采用什么架构,需要和那些模块交互,互相之间的接口是怎样的,需要使用什么技术 。每个模块的运行环境是什么样子的,对效率,安全或者容错等特性是否要着重考虑 。接着就是系统设计:每个模块的数据库要怎么设计 , 所用技术和架构决定后,要确定不同层次有哪些接口 , 比如说表现层,业务逻辑层,数据库访问层,相互之间怎么调用,定好框架和开发模式和格式,剩下的就是编码了 。编码部分:首先团队要有一个良好的编码规范 。并且对每个人提交的代码要review,我发现程序编多了,自己就成了一台计算,看到程序就会知道会出现什么结果 , 根本都不用跑起来 。测试: 单元测试是否编写测试用例,Junit是个好工具 。每个人都要保证好自己的代码没有问题 。整体测试就要整个流程的跑一下 , 看看需求实现的对不对,还有没有什么其他纰漏

    推荐阅读