从离开学校到工作快两年了,这期间感悟良多,喜悦、悲伤、希望、失望、、、总的说来在曲折中不断前进,相信乘风破浪会有时,直挂云帆济沧海。

从事Android有些偶然因素,原始打算做WPF相关的开发,或是C#方面的,之前也做过MFC相关的编程,对嵌入式编程也有所了解,总的来说,主要在Windows平台上,基本算上微软的忠实跟随者。但因各种机缘巧合,开始了Android开发之旅,这一开始却感觉已经出不来了,对于Android来说要学的实在太多,沧海一粟或冰山一角能恰当的形容初入Android开发之门。面对如此庞然大物,刚开始的那些迷茫和无所适从真的让人窒息,所幸导师能指点一二,切入其中一块,找到一些共通的地方,尔后以此推之,便得以早点入门。如今想来,很感谢这个过程,花明尚且经历柳暗,成功更没有捷径。

在学生时代,编程多以语法、算法论英雄,很多时候都想自己来完成某功能,对框架、流程、事务逻辑关心较少。如果带着这份心态到工作中,肯定碰壁。因为实际工作中,要做的是大量阅读别人的程序,找出其中的框架,理解业务流程,有些时候根据客户需求稍加改动即可。或是移植开源程序,引用开源库等。

刚开始阅读别人的程序,首先觉得很敬畏,迫不急待想看大神写的程序,慢慢的发现很多看不懂,甚至开始抱怨程序注释太少、变量名取和不好、函数太长、格式有问题、编辑器不习惯等。尤其是从windows上的c、c++转到Android上去的程序员,对大括号的位置和变量命名很是不习惯。再经过一段漫长的时间,发现按这样的格式写出来程序也很优雅,甚至觉得Windows上的那些格式有点碍眼了。再到后来了解了若干机制之后,发现大神的程序恰到好处,自己补充的注释的打的点用处不是特别大,不过也不会再去修改。

经历完这个过程,应该算是入门了。对Android系统开发人员来说,此时,应该掌握repo、git(svn)、gerrit、adb、fastboot、vim、bash、sourceinsight、notepad++、putty或secureCRT、ssh、sftp、eclipse、adt或android studio等工具的用法,可以进行日常的代码修改,烧写验证,拉代码、review、代码上库等操作,这也是一般开发人员最常见的操作。当把这些工具用得出神入画时,就可以成为别人眼中的大牛(即使是表面上的)。尤其在熟练使用Linux命令或cmd命令时,会给人一种神秘且高手的感觉。

在这里,真的特别感谢为Linux作出贡献的人,我们现在用的这些命令,都是这些人辛勤劳动的智慧结晶,当我们熟练使用这下命令完成工作时,从来都没有担心过这些命令会出问题,所以当我们开发程序时,也要时刻为用的人着想,稳定、高效、方便是我们要不断追求的。慢慢的就会觉得,程序开发很难,不仅要在功能上满足苛刻的要求,还要满足同行自定的程序开发标准。如同写作文一样,不仅要言辞优美、内容详实,还要文字书写好看,段落结构布局合理。当然程序中还包括了可扩展性等一系统要求。初听这些可扩展、可维护、复用高等术语,觉得有些空,当对操作系统的代码和Android框架代码有一定的了解后,甚至是写过驱动、写服务后,会对Linux文件这一概念印象深刻,从而对可扩展也明白了许多。

工作慢慢进入正轨,但工作毕竟是工作,也只是生活的一小部分,时刻保持一颗平和之心才是正道,此为后话。如果你在学校学习能力强,在工作中同样不会差到哪儿去,如果学样能力欠缺些,也不用担心,多花些时间补上。不过我认为很重要的一个环节,就是入门,正所谓师傅领进门,修行靠个人。入门序篇就此为止。

工作感悟之Android系统开发入门相关推荐

  1. Android系统开发-入门篇

    参见:[视频教程] 写给应用开发的 Android Framework 教程--玩转 AOSP 篇之 Android 系统开发工具推荐 - 掘金 前置条件: android系统源码位于 linux 服 ...

  2. 5G 时代的 Android App 开发入门与项目实战

    随着移动互联网的持续发展,Android系统从智能手机逐步拓展到平板电脑.智能电视.车载大屏.智能家居.智能手表等诸多设备,Android开发依然是前景可期的IT岗位. 当然,整个社会正在迈向5G时代 ...

  3. Android系统开发和性能优化——查漏补缺【建议收藏】

    做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...

  4. android开发入门与实践_我的新书《Android App开发入门与实战》已经出版

    前言 工作之余喜欢在CSDN平台上写一些技术文章,算下时间也有两三年了.写文章的目的一方面是自己对技术的总结,另一方面也是将平时遇到的问题和解决方案与大家分享,还有就是在这个平台上能和大家共同交流. ...

  5. 张利国,龚海平,王植萌.android移动开发入门与进阶,开题报告-基于Android的手机音乐播放器的设计与实现.doc...

    盐城师范学院 毕业设计开题报告 题 目: 基于android的手机音乐播放器 的设计与实现 姓 名: 二级学院: 信息工程学院 专 业: 软件工程 班 级: 12(1) 学 号: 指导教师: 职称: ...

  6. 我的新书《Android App开发入门与实战》已经出版

    文章目录 1. 前言 2. 写书的目的 3. 书籍简介 4. 书籍目标读者群体 5. 书籍比较 6. 书籍特色 7. 书籍章节 8. 书籍封面 9. 购书地址 10. 本书案例及源码下载 1. 前言 ...

  7. 《Android应用开发入门经典(第3版)》——第6.1节创建演示应用

    本节书摘来自异步社区<Android应用开发入门经典(第3版)>一书中的第6章,第6.1节创建演示应用,作者 [美]Carmen Delessio , Lauren Darcey , Sh ...

  8. Android 游戏开发入门

    Android 游戏开发入门 图书描述: Android系统已经红遍了大江南北,持有Android设备的人也在不断增长.看着大街上用手指划着手机玩游戏的人,你有没有一种自己做一个游戏的想法呢?然而,入 ...

  9. Android菜鸟如何学习Android系统开发?

    如何做好Android学习前的准备? 如果你已经确定了学习Android的目标,那么,应该提前做好哪些工作.先打下哪些基础呢? 首先,你最好先熟悉一门编程语言,现在大学里面和计算机相关的专业甚至理工类 ...

最新文章

  1. HDFS源码分析心跳汇报之BPServiceActor工作线程运行流程
  2. MySQL 优化原理(三)
  3. python进程数上限_python-使用multiprocessing.Process并发进程数最多
  4. 【渝粤教育】电大中专中成药作业 题库
  5. python 截取字符串6位_在Python中从字符串获取x个最低有效位
  6. AI和大数据结合,智能运维平台助力流利说提升核心竞争力
  7. 4.5 面部验证与二分类
  8. 06-07 Jenkins中配置 Git 认证信息
  9. Bailian2800 POJ NOI0113-04 垂直直方图【打印图形】
  10. 基于QT实现简单的音乐播放器
  11. python程序设计题库-知到智慧树_Python程序设计基础_完整免费答案
  12. 英语句子组织的5个步骤
  13. 软件测试-黑盒测试方法(二)---正交实验法、场景图、错误推测法
  14. P5200 Sleepy Cow Sorting(树状数组,模拟)
  15. 高级事件----笔记
  16. 《HelloGitHub》第 60 期,你喜欢玩游戏吗?
  17. 趣味计算机冷知识,19个科学趣味冷知识,你知道多少个
  18. python修改列表元素_python 3 基础之列表和列表添加元素、修改元素、查找元素、删除元素、排序、嵌套、取最值...
  19. Ruby on Rails社区网站开发
  20. TL494制作0-60V/0-20A/BUCK恒流恒压可调稳压电源/效率大于95%

热门文章

  1. 四川岳池2021年高考成绩查询,2021年岳池中学升学率高不高?
  2. DVWA V1.9:Reflected Cross Site Scripting(存储型XSS)
  3. 百度地图经纬度与腾讯地图经纬度之间的转换
  4. [数据可视化] 雷达图(Radar)
  5. 学财会的懂计算机会加分吗,财会大学生在大学期间可以考这些证书
  6. 思岚科技即将亮相2019上交会 展示机器人自主行走背后的技术
  7. BZOJ4408: [Fjoi 2016]神秘数
  8. JAVA MemCache 史无前例的详细讲解【转】
  9. 九章算术卷第八 方程
  10. leetcode877