学习啦 > 学习方法 > 通用学习方法 > 学习经验 >

如何系统有效的学习androidapi

时间: 欣怡1112 分享

  互联网的高速发展促使IT人才越来越抢手,Android开发工程师这一职业备受青睐。那么如何成为一名优秀的Android开发工程师?以下是学习啦小编分享给大家的有效的学习android api的方法,希望可以帮到你!

  有效的学习android api的方法

  英语

  老实说,没有比英语性价比更高的,需要学习的东西了。靠着别人的翻译,或者机翻,终究不是办法的。笔者自己日语英语姑且算是熟练掌握的地步,但在初期直接看那些全英文的书籍,仍然会觉得头痛(谢谢HKUST虐我),但坚持下来就会发现其实计算机的英语还是有一个范围的,多看看熟悉起来,就会觉得并没有什么难,甚至比起很多翻译来说更容易看懂。

  混迹GitHub就会发现国内的很多开发者英语上欠缺还是很大的,尤其是一些description和readme直接就上中文的。即便你英语渣,机翻也行啊。毕竟是计算机社区,英语才是通用语言。用中文去一些国外开发者的仓库里提issue或者回复也是一种很粗鲁的行为。

  如果让我说一种对技术帮助做大的语言,那必然就是英语。有了英语,才能真正地独立学习。

  Google

  问小白问题之前,你Google过吗?如果让我看到一个开发动不动去搜百度,那我估计会武断地认定他很菜。其实Google是我们最好的老师,只要能正确把握问题的关键字,几乎没有找不到的答案,大部分会在StackOverflow上,其他散落在GitHub、博客等等地方。

  如果你要找的知识实在冷门,比如react native的一些深入用法,android上的视频so阉割这种,那恐怕只能找找做这块的朋友或者自己研究了,国内有一些好心的开发者或许会分享在自己的博客。

  至于科学上网,这个话题相关的技术太多了,请自行找方法,SS也好,都很简单,相对的投入和产出对程序员来说性价比是很高的。实在不想花钱的去用AWS的免费云服务器搭SS也行。

  实践

  看是没有用的。比如看一篇关于Hybrid App原理的文章,或许它写得很好,但其实就算看完了,让我自己去写一个,或者讲讲怎么去做一个我们应用的版本,Android/iOS端通用的方案,最后也是支支吾吾说的不知所以。最后还是要去实践做一些Hybrid页面才能真正掌握,能说清楚这里面的原理和应用场景。

  纸上谈兵终觉浅。

  警惕体力劳动

  当你的工作成为一种体力劳动,而自己无法从中获得新的体验和知识的时候,需要警惕究竟发生了什么。

  想得太少

  对做的内容停留在完成的阶段,而不对更好的方案,实现细节去思考更多,比如用了某个API,会不会去仔细看看其究竟是怎么做的。或许你知道Handler,Looper,那你知不知道主线程的一切,四大组件的生命周期,各种View的触摸事件都是消息驱动,在mainLooper里面进行处理的呢?

  工作内容重复

  当Focus在一块上太久之后,难免会碰到这种瓶颈,这时候可以看看是不是能换一块做,比如做做缓存、Hybrid、启动优化、视频等等。可以做的领域很多,实在发现兴趣不在此,换着做后台或者前端也行。倘若因为个人原因,比如公司不让换或者可能工资会低很多,挤一挤时间在side project里面搞搞也可以,只是有没有心的问题罢了。

  我面试过一些做Android 5-6年的程序员,但大部分真的连一些优秀的2-3年经验的开发者都远远不如,问设计不懂设计,问流行的开源项目回答就是“好像听说过”。我不希望我认识的开发者以后变成这样的人。但你若是总是重复劳动,难免像这样1年的工作经验重复了5年。

  在额外学习的时候,更多关注的应该是不同的地方,而不是说这个学Python,下个月去学Go,想想语言的差异性在哪里,自己试试看做一些项目,培养全栈工程师的底子。还在念大学的时候,我学了C、C++、Java、Node.js、Python、Ruby、PHP、HTML、Perl、SQL/Redis/HBase等等等等,但对每个的理解都不够深刻,现在想来那时候是做错了的,思考的都不够深刻,也直到这一两年,我才足够明白这个错误。

  你应该有自己的专长,但也要能从全局的角度思考问题,一个不懂前端的后端老大会导致前端过重不灵活,反正只要自己这儿的模块清晰就好,一个不懂前端的前端老大也会让下面的人不要抱怨,做出来就好。

  公司问题

  发生在一些项目经理逼得特别紧,老大又比较无能的地方。项目经理为了向上面交待,对工程师说“这个进度能不能再压一下呀”,或者干脆直接不听工程师的意见强行缩短工期,导致没有时间去深入学习。老大明知这种情况,却睁一只眼闭一只眼。这种公司,还是离开为妙。

  一个合格的leader,或者说mentor应该做些什么?至少从我的角度来看,尽管对公司他需要对项目负责,但对团队内的开发者,他更应该做的是观察和指导,看清楚那些团队毒瘤(不做正经事,得过且过,假加班,抢功劳推脱责任,等等),营造团队氛围,而不是一味Push催进度和表现自己。

  记录和总结

  写博客是为了什么?

  至少对我来说,写下的东西更多是对自己的一个总结和交待。如果我能写下来,至少能证明我有信心自己确实是这么去理解的,没有去坑人。另外,姑且也算是一种成长的足迹吧,偶尔自己还会去看看笔记。

  分享也是目的之一,希望大家能互相进步,这样才能促进发展。

  写博客也好,写一些笔记也好,点点滴滴也是对自己的一种整理。

  问自己

  想清楚自己要的究竟是什么。

  做全还是钻?想做一个超强并发量的后台?想黑别人的系统?想做出精准有效的推荐算法?还是想做别人能实际用到的产品?

  笔者正是因为想要的是后者,所以成为了Android开发(为什么没有选iOS,大约是Android的开放性吸引了我)。而现在,因为发现自己欠缺的(对前端驾轻就熟,大部分的事情对我来说只是体力活,而自己想承担一个完整的项目却又不行),所以又重新拾起了Node.js,看起了ES6,思考设计和产品的问题。

  希望大家都能想清楚自己想做的,要成为的样子。能自主地去学习。毕竟师傅带进门,修行靠个人。我不想鸡汤,大家各自走好,望来日可并肩一起,彼此说一句“很高兴遇见你”。

有效的学习android api的技巧

  1、每节课程至少反复听三遍。

  2、每节课都跟随讲师,把代码敲出来,并调试成功。

  3、中间遇到代码问题,可通过项目经理”或其他方式寻求答案,暂时解决不了的问题记录下来,通过知识的积累一定会慢慢得到解决。

  4、学习自己调试代码的方法,从而自己找到代码的问题所在,不要过于依赖他人或放弃。

  5、多看技术大咖分享的技术精华、多看技术牛人博客。

  关于Android的一些问答

  1、如何区分JAVA和Android?

  简单地说,一种是操作系统,一种是开发语言。

  Android是一种基于Linux的开放源码操作系统,主要用于便携设备(智能手机,平板电脑)。

  Java是一种面向对象的编程语言,它的最大的特点就是开源和免费,这因为如此,中国的大部分大型的软件系统是用Java开发的。

  2、JAVA和Android有什么关系?

  Android的应用层上的应用程序是用Java编写的,以Java作为开发语言。但是,Java并不等同于Android,因为Android SDK引用了Java SDK的大部分,少数部分被Android SDK所抛弃。

  所以,要想从事Android的开发,就必须有Java基础。另外,在Windows系统中可以搭建Android的Java开发环境,这样就可以实现在Windows系统中测试Android项目了。

  3、学Android好还是JAVA好?

  很多小伙伴刚接触学习编程语言都是零基础,迫切想知道哪个就业方向会更好? 学习难易程度怎样?

  Android是主流智能手机的操作系统、Java是一种开发语言、两者没有好坏优劣之分、只是两种职业岗位的选择。

  学安卓从事移动互联方向开发。

  学Java从事软件、网站开发、而安卓上的应用大多是Java编写的。

  所以建议在安卓前期的Java学习阶段中、要用心学好。

  4、学了Android或JAVA,能互相转岗吗?

  学Android或者Java,后期能不能互相转岗,首先要搞清楚你要处在哪个行业:互联网?手机?企业软件?软件外包公司?游戏开发行业?行业不同,使用的语言也不尽相同。

  在开发中,Android与Java的开发环境都可以用Eclipse,但具体操作差异非常之大。

  Android开发,Java只是基础,不仅Java基础要好,还需要掌握XML,配置文件和数据的传递和返回等技术,熟悉JSON的解析,开发和调试工具的使用,多参考API[SDK]。

  如果你学好了Java课程,后期转型做Android开发也是非常容易的,因为具备Java基础。

  Java和Android的前景都不错,不过近几年Android的发展要比Java好些,如果懂jJava的话,Android就很容易了,Android在很多地方和Java很类似,如果你确定要做Android的话,其实没必要学Java在转Android,可以直接学Android的,只是学了Java之后学Android比直接学android简单些。

猜你喜欢:

1.手机Android系统各个版本系统特性整理

2.安卓8.0系统怎么更新

3.Android系统发展史大全

4.Android系统如何配置L2TP VPN客户端拨号

5.android的学习心得

3743361