android开发教程 安卓app开发菜鸟教程

android开发教程 安卓app开发菜鸟教程

大学

大学是国内二流本科,专业是数学。大学的总结是:逃课,不及格,篮球,泡妞,Dota。

到目前为止,可以说我的大学是我人生中最美好的时期。大一开学就逃课了。更好的原因是我对那些大学课程完全不感兴趣。其实本质上是因为高考太压抑了,上了大学就没人管了,我开始无休止的放纵自己。不夸张的说,大学四年的课应该没有逃课多。逃课最直接的影响就是课程不及格。从大一到大三,专业课数学分析每年都停课。后来听说补考要重考,要交钱。这让家里人知道还是好的,我就生气了,想尽办法。最后,我以优异的成绩通过了每一次补考。

我认为大学英语四级考试应该是大学的必修考试。我这辈子都不会忘记四级考试。只过了三次,每次都被夸裸奔。大学英语都是以高中为基础的。第一次没通过,差了十分。第二次睡了,就没拿。现在想想当时真的很傻,最后第三次才勉强及格。现在想想,还好当时就过去了。毕业后,找工作的时候四级是最低要求。在编程方面,英语真的很重要。当我在大学的时候,我必须想办法通过四级。

现在我觉得大学里唯一和编程相关的课程就是C语言,但是对于我们专业来说,属于全校公开课。虽然最后我考上了,但是我连i++和++i都看不懂,所以你可以想象我是怎么度过的。

从高中开始打篮球,到大学的时候毫无疑问的加入了大学篮球队,我担任队长。所以我大一大二一大半都是在篮球场上度过的,也是因为篮球征服了我现在的老婆。高二下学期周围的人都在打Dota,于是我开始打游戏,基本放弃了篮球。那时候我在玩疯。我记得最长的一次和同学在网吧过夜两个星期,不过白天回来睡觉,不然早就猝死在网吧了。

转眼间我就高三了,今年终于在老婆的监督下失败了。而且毕业前的最后一次评比,拿到了三等奖学金,我受宠若惊。后来我的钱被朋友贪污了。身边的同学都在准备考研,我却对考研不感兴趣。我从来没有为考研花过一分钱,从头到尾买过一本书。后来证明我的决定是正确的。身边的朋友都放弃了,放弃了。考不上的就考不上,考上的学生也没看到自己有多优秀。当然,如果他们能考上好学校,那就很有帮助了。

毕业

转眼间就毕业了,去学校参加几场招聘会都是醉了。所有这些都是我从未听说过的小企业。去参观的时候都是各种工厂,根本不需要什么学历。这是那种个人可以靠自己的努力,或各种电话营销。。。当时真的很着急。大学四年,毕业后找不到一份体面的工作。回去怎么面对老乡?

3月份有一家IT测试培训机构来做宣讲(具体叫什么名字我就不说了,以免以为是广告)。我听了之后说,经过培训,我会找到工作的。培训地点在上海市中心,当然是自费,不过工作后可以分期付款。那时候我不知道考什么,也不知道考什么。回来后查了一下,这个机构确实存在,有网站。我就知道决定来上海试一试的不是骗子。当时我下定决心来上海培训后,有几个朋友义无反顾的跟着我来了。总共应该有七个人。决定后的几天,我毅然带着大包小包来到了上海。我们有些人一次付清,另一些人分期付款。事实证明,我们当时来上海的决定是正确的。

培训之路

这不是提倡大家去培训,而是工作所迫,学校不好,大学没学到什么真本事,连一点出路都不会培训!

训练日相当轻松。我一周上四天课,从九点到五点工作。毕竟大家家里都不富裕。大学四年努力学习,毕业还要花钱培训,让大家都很内疚。刚开始我努力学习,没多久就放松了,但至少大家都学习了。

我在培训期间接触到了编程。课程包括C语言,Oracle,Linux,软件测试的其他理论,其实都是很基础的东西。让我们带你进入正题。Orace学了一些基本的SQL语句,Linux学了几个命令,但至少我知道计算机可以做这么多事情。我一直以为电脑是用来看电影,聊天,玩游戏的。现在回想起来,我可以看一周的完整培训课程,但当时的培训周期是四个月。

第一份工作–SunNet

7月份拿到毕业证就直接来上海了。四个月对我来说太长了,我等不及了。于是在课程的最后一个月,我早早出来独自找工作。当时培训老师说工作后工资大多在3500左右。觉得自己学习比别人好,所以要比别人高,准备了很久的面试。没想到第一次面试就直接被录取了(后来才知道是公司的检测,家里怀孕了,急需检测)。公司名字叫SunNet,在中国很有名,工资四千。收到offer的时候欣喜若狂!

真正接触编程

之后,我正式加入了SunNet,我的工作是测试,但正是在SunNet,我才真正接触到什么是编程。SunNet是一家小外企,总部在休斯顿,R&D部门主要在上海。R&D人员不到10人,主营业务是web,使用的语言是。网。当然我的职责是web测试,但是工作上没有难度。主考只有我一个人。一进来就有几个项目等着我去测试。还好我是数学专业的,逻辑思维能力还不错。加班加点,终于可以按时完成任务了。

三个月后,我成了正式员工。然后有一天,偶然得知公司一个开发人员的工资比我高2000块。其实我比我早毕业一年。才知道开发和测试的工资差距这么大,当时就下定决心转行做开发。所以我从测试转行做开发的原因是因为钱。一开始我说因为兴趣而坚持是扯淡。。。

编程之路

因为我在公司的主要任务还是测试,任务很多,每天9点就能到家。下定决心后,只能利用业余时间学习。由于公司的主营业务是。NET,我在里面学习很自然。一开始是网。后来我才知道。NET是基于C#的,学之前要学习C#。于是我从公司借了一本C#学习资料,学习了大概两个星期,也认真做了很多笔记。之后觉得语法差不多了,就借了一本. NET的书,开始学习web开发。

然而,web开发远不是学习一门语言那么简单。后来了解到web开发涉及HTML、CSS、JaScript、Ajax、数据库等。,而且范围太广。所以为了效率,我只能掌握每一项的基础,于是网上搜索找到了好东西w3school在线教程,里面的东西都是基础的。我把教程整理到手机里。每天上下班的地铁上,吃饭的时候,回家的时候等等,我都把时间花在了学习上。我花了大概两周的时间,掌握了一点HTML,CSS,JS的基础。当我准备正式学习时。NET,老板知道我在研究开发。我们老板的名字叫亚伦,他是一个典型的程序员。他很胖,性格超级好。知道后,他没有推荐我学习。网,说那个。网出来十次。现在移动开发刚刚兴起,没多少人会。建议我直接学习移动开发。多么令人警醒啊!!

移动开发

听了老板的建议,我放弃了。NET,开始准备学习移动开发。当时是12年的开始,整个移动互联网刚刚起步。在iPhone4还很受欢迎的时候,毫无疑问,我瞄准了iPhone的发展。

这次我有经验了。我知道iPhone开发首先要有编程语言,我也知道是客观的——c .于是我从公司借了一本OC的书(公司的书很多,老板每个月都买很多书,虽然很少有人看)。我花了将近一周的时间才理解基本语法。因为之前学过C#,所以想在没有全部看完的情况下直接开始练习。当我打算学习的时候,我意识到iOS开发必须在mac上完成。也就是说,我必须拥有一台mac电脑。虽然公司有,但我回家后无法继续学习和练习,肯定影响效率。mac在当时对我来说是奢侈品。虽然现在还是奢侈品,但当时是不可能买得起的。于是我只有放弃iPhone开发,转向Android(后来才知道有虚拟机这种东西。。。)

Android学习之路

几经周折,终于确定了自己的方向。期间耽误了很多时间,走了很多弯路,但还是挡不住职业发展的脚步。公司没有关于Android的书,我就自己买了一本Android的书,叫《疯狂Android讲义》,李刚写的!!且不说这本书有多好,这本书很厚,非常厚,所以一些基础的东西都很详细,新手按照上面的完全可以看懂。现在不知道这本书的内容有没有更新,之前的内容对于现在来说有点老了。这个时间应该是2012年3月。无独有偶,这个月公司刚接到一个移动项目,iOS有人做,但是公司没有人会开发Android。其他人都忙于自己的项目。老板看出我的兴趣,就问我要不要试试。我当然欣然同意,开始一边正式做一边学习Android。

当时测试任务还是很重的,只能挤出时间来做这个项目。基本上,我每天晚上和周末都会自动加班来完成这个项目。现在看来,这个项目真的太简单了。如果不到一周,就可以完成。但那时候,我终于熬过了一个多月。

做完这个项目,我觉得有点自信,但当时主要任务是测试,没什么时间去开发,于是下定决心离职,找一份专门做Android的工作。说明原因后,老板很理解,建议我如果想做开发,就放手去找一个专门做开发的岗位,这样进步会更快。

我很幸运在我的第一份工作中遇到了我的老板亚伦!

薄荷

2012年4月底离职后,开始准备面试,在家投简历。因为我基础比较薄弱,之前的安卓经验也很少,当时说是招聘安卓岗位,但是很多公司面试基本都是Ja内容,能感觉到工作内容跟安卓的关联比较少。来薄荷面试的时候,感觉很不错,包括CTO和CEO的面试。果然,没几天就收到了offer。这是一个来之不易的机会,我非常珍惜。

我于2012年5月中旬加入Mint。你觉得我到了Mint之后安卓之路会一帆风顺吗?错了,路更难走。我是第一个加入Mint的Android工程师。Mint当时只在iOS平台做App。原来这种做法并不可取,包括老板亲口说投资人来投资的时候数据那么少,然后用户数据在Android平台之后慢慢上来。毕竟,Android用户基数很大。

来薄荷的第一个任务就是做一个联想电视的视频App,很痛苦,折腾联想的SDK,遥控器等。至少App功能比较简单,试用期间完成的不错,所以转正比较顺利。我成为正式会员后,做了第一个安卓App,叫减肥美食库,所有的功能和页面都复制到了iOS版的App上。这时候一大堆还没做的东西进来了,比如网络库,http,api对接,组件定制等等。那时候还没有像现在这样大量的资料和开源库,公司里也没有人能给指导。我只是慢慢来。为了赶进度,上线前夕我连续在公司呆了三天三夜。累了就在公司呆一会儿。虽然项目最后延期了,但我经历了人生中的这段时间。不过最后还是在接受范围内推出了。当时是第一个测试Android平台的App。可惜推出后表现不佳,没有达到预期效果。

Ruby、Rails

在这款App表现不佳后,公司决定暂停Android业务,专注于iOS平台。我的处境变得非常尴尬。CTO找我谈话,希望我能转投Ruby,Android业务暂停。我们的后端api都是基于Ruby语言的。虽然当时有点舍不得,但是也没有办法。为了不丢掉工作,我不得不硬着头皮去做,于是开始了我的红宝石之旅。

学习Ruby和Rails是我目前为止遇到的最大困难。Ruby是一种动态语言,Ruby On Rails是一种流行的web快速开发框架。学ruby的区别在于你得学Linux。代码基本在终端完成,没有IDE,编译检查,你也习惯了各种命令行。这对于一个刚开始开发的人来说,真的太难了。当时也有发自内心的抵触,学习理解能力差。我能感觉到公司的领导对我不是很满意。现在我觉得当时公司没能炒掉我,多亏了我们的CTO,一个敢于给新人机会的有耐心的人。中间遇到了很大的困难,但幸运的是,我得到了我的朋友们的帮助,他们是薄荷红宝石的工程师,他们一直鼓励我。当我遇到问题时,我总是煞费苦心。在基础、经验、能力都不好的情况下,我总是要克服这个困难,让别人看到我的态度。所以我在学习Ruby和Rails的那段时间,每天都是坐末班车回去。我记得大概是11点40分。这种状态持续了一个月,包括周末,从未间断。

我这个月在公司的主要任务是学习。我什么都没安排。偶尔帮同事修电脑,调电话线。正因如此,我非常感谢Mint和我的CTO Vincent。这恐怕在任何公司都不能给一个人单独的学习时间。一个月后,我的学习终于好了一点,开始实际做Rails项目,做后台,写API。虽然效率很低,代码很烂,但是我在做Ruby的过程中,跟我们CTO学到了很多设计的东西。面向对象的思想和设计模式都是在这个阶段接触的。从那以后,我习惯了各种终端操作,熟悉了一些基本的Linux命令,热爱Ubuntu,参加了Ruby Conf 2012大会,喜欢上了Sublime。我很感激我作为Ruby工作的这段时间。它让我接触到了一个不一样的世界,彻底改变了我的想法,让我变得更开放,更愿意分享。

回归Android

我在红宝石时代非常快乐。我付出了一生中最努力的努力,也取得了一些小小的成就。我喜欢ruby语言,到目前为止我认为ruby是最优雅的语言。但安卓在我心中一直占有一席之地,从未放弃。直到13年5月,安卓份额近乎疯狂的增长,公司不得不开始关注安卓市场,于是公司计划推出安卓版app。于是作为公司唯一的Android程序员,CTO再次询问我的意见,问我是继续做ruby还是Android,虽然我更喜欢ruby语言。但从内心来说,我更喜欢客户端开发,和语言无关。客户端是用户最能感知的部分,我做的东西更有成就感。我正在等待这个机会。此时此刻,我会毫不犹豫地选择继续做安卓。

回到Android开发,我自己开发了一个新的App。经历了一系列的挫折,突然觉得没有什么比这更难的了。我自己摸索架构,自己克服问题。App一上线,就一直在快速疯狂的增长。目前,薄荷App总用户数已超过1000万,公司成功融资,业务发展越来越好。

后话

当我一步一步来到这里,我知道这并不容易。从那以后,我一直坚持写博客。除了自己的积累,也希望能帮助到更多的人。所以现在你可以看到我的GitHub,博客,微博,微信公众号都很乐意分享。希望你能少经历这些弯路。虽然最后还是走到了最后,但是如果有直接的方法就最好了。

总结

以上啰嗦的我的老经验,看似与题主的问题无关,其实大有关系:

1.非专业班毕业想转行编程,看了我的经历一定很有自信和上进心。我可以,你也可以,更何况我还走了那么多弯路;

2.如果你已经接触过一些数据结构,编程语言等等,想学编程,应该更有信心。你比那些不在班里的人更有基础。你要做的就是坚定信念,坚持走下去。

3.不要觉得上天的不公平。这是一段悲伤的旅程,太多的弯路,太多的困难,这些都是我一生难忘的坎坷。但同时,我也很幸运。我以前的老板Aaron和现在的CTO深深影响了我后来的职业发现。薄荷的朋友都帮过我,女朋友也日夜理解支持我。上帝在为你制造坎坷的时候,总会给你一些帮助。

4.如果你正在准备或者已经在做开发的人没有信心和动力,或者对未来很迷茫,那就把它当做一部励志小说吧。你要做的就是做好你现在在做的事情。我相信,你的努力一定会有回报;

建议

评论里有人说自己是学生,想给点建议。然后事后给出一些建议作为反例:

1.每天花在阅读上的不是一个小时,而是坚持。

2.最好不要失败,因为你还是要花时间去弥补。

3.英语对编程很重要,尽量习惯英文阅读;

4.学好数据结构和算法,是编程最重要的课程。以后可能用不到,但至少你用的时候有印象;

5.一定要在大三或者大四的时候练习。经验对编程更重要,实习经验比你的理论有效得多。

6.找个女朋友。不是工作后找不到,而是从事编程工作后很少有时间和精力去接触其他女生,所以如果可以的话,在毕业前找个能同甘共苦的女朋友吧。

7.第一份工作很重要,因为你会受到周围一些同事和公司氛围的影响。遇到亚伦和文森特,我感到很幸运,他们是我迄今为止最尊敬的两个人。

如何自学android编程

最后,应该是主体最需要的:

1.Android学习之路如前所述,我的这篇博客是Android初学者的必备资料;

2.书不多,只要适合你就行。这里推荐一本安卓和两本Ja的书。

《第一行代码》:郭林的作品,声明下我没看过,但是郭申博的质量很高,书自然不会差;

用Ja思考:一本经典的Ja书,不用多说;

《有效的Ja:Ja高级入门书》;

3.有的人刚开始看书有困难,没关系。然后上网看视频,和书一起看,边看边敲。推荐Mars老师的视频,包括ja基础和Android文章:Ja4Android.zip_免费高速下载。

极客学院视频:零基础安卓学习路径图

不同口味的人可以去各大网站搜索自己的教学视频。

4.Mix GitHub,目前最流行的开源社区,参与开源项目,慢慢尝试读懂牛人的代码。到时候也可以贡献给开源社区。可以说,在GitHub上认真混一年,比你大学四年学到的东西要多得多;

6.善于使用搜索引擎,从Google开始,学习英文关键词搜索,有问题第一时间想到搜索而不是问别人;

上面每个人都有同样的教程,但人与人的区别在于别人有更强大的内心,可怕的是比你聪明的人比你更努力!!

当你下定决心,准备继续前行,剩下的只有坚持。。。

很多人想推荐培训机构。其实一方面他们当时经验不足,很迷茫,所以要尝试训练。后来我过来之后,其实从培训中学到了很多。我后来转安卓完全是因为培训机构,所以推荐培训。因为时间比较短,自学最终还是要靠自己的毅力;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论