栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

想要自学Android?看这里,从入门到入土的学习方法!

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

想要自学Android?看这里,从入门到入土的学习方法!

前言

零基础自学 Android是一定可以的,所以接下来面临的问题是该如何自学Android,并且在短时间内达到一定的效果!


学习Android开发,首先要有个大致的方向,这样才不至于两眼一抹黑,不知道怎么开始从哪开始
首先要学习的是Java基础,很多人哪怕是有了3年以上的开发经验,对Java的了解还是很片面
事实上,恰恰是这种看似很基础的东西,掌握和精通的差距是非常大的

很多人为了加薪往往会学习新出的开源框架,学习那种带“炫技”成分的技术,短期来看的话很有效,飞得很快,但是我们的工作不是一条百米赛道,而是贯穿你一生的一件事,飞得快是好,但我们还要飞得足够远,而这些“基础”的知识恰恰就确定了你能走多远


泛型、多线程、反射、JVM、Java IO、注解、序列化等,这些都是要学习并深入了解的
然后就要学习 Android框架体系架构 ,这块是现在使用者最多,但我们称之为Android 2013~2016年的“过时”技术

我们需要学习哪些技术?


四大组件、高级UI、自定义View、数据持久化、framework、事件分发、Handler等
即使是这样的技术,很多开发者也因为经常网上Copy代码 而导致对这块经常“使用”的代码熟悉而又陌生:


天天在和它们打交道,天天在复制这些代码,但连个自定义View都玩不转(你可千万别说你是搞Android开发的……)


虽然天天和这些代码打交道,但是很多人并没有深入研究过这些代码的原理和代码深处的内涵。
这些都是做Android开发,做高级工程师的基础知识
基本学完上面这些,就可以独立开发一款APP了,而要继续深造的话,就要学习性能优化这块的知识了,光靠上面这些写出来的APP……emmm,自己体会


性能优化


六大设计原则、常用的设计模式、数据结构与算法,OOM问题、ANR问题
还有各种启动优化、执行效率优化、内存优化、耗电优化、网络优化、APK优化、屏幕适配等等

性能优化是针对整个app开发而言的。一个好的项目被开发出来,不单是产品要好,开发者也需要知道,为什么我开发的这个app能够在绝大多数的手机运行,为什么用户在使用的时候绝大部分的手机不会出现bug。我们的apk文件可以优化到很小的,比如你做一个项目,打包之后可能是10m,但是经过优化之后可能就只有8m,甚至更小。另外,我们做的项目安全性如何?我们凭什么断定我们做出来的app安全性好。这都是性能优化中会涉及的

一个app的性能好不好我们需要从两个层面努力。

第一个层面:从写代码的时候就需要注意,让自己的代码是高性能高可用的代码,这个过程是书写高性能代码;

第二个层面:对已经成型的代码通过工具检查代码的问题,通过检查到的问题来指导我们进行代码的删改,这个过程被称为调优

这一块所涉猎的知识会非常的广,这里一定要“深点…深点…再深点……”如果你能成为性能优化领域的专家的话,那简直是妙不可言,不信你随便去搜一下岗位,50W+、60W+……
这方面的人才都去了大公司,福利待遇那都是杠杠的


开源框架


热修复、插件化、组件化、强制更新、图片加载框架、网络加载框架、Rxjava、IOC架构方法,Hook技术、jetpack等等
深入源码,从底层研究,你就会发现其中的奥妙
多看,多做,多写,融会贯通以后基本上可以改进这些框架了,对原理的理解更强一点的可以实现手写
开源框架这块,大厂的朋友们会更有优势一些,大厂的框架都是用自己设计的定制框架
最近网上也流出腾讯、阿里等等大厂的一些框架,感兴趣的可以多去学习一下


NDK


C/C++、jni、Linux基础、音视频编解码技术、流媒体协议、ffmpeg,OpenCV、OpenGl等等
音视频、直播、“人工智障”,前些年比较火的一些项目最终都是落地与移动平台,而现在 NDK 技术已经成为了Android开发的必备技能了


Flutter


混合开发的flutter现在已经逐渐变成了主流的混合开发框架
另外由于阿里系的强大存在,导致阿里系的公司都在用Weex混合架构,这些都是一个Android工程师开拓视野,走向未来(大前端)必不可少的基本技能


至于如何学习
我个人推荐,有老师带>看系统的学习视频>有交流圈子>有系统的学习资料
为什么不推荐博客呢,博客很多人都看,甚至有些也在坚持写,不过你以后就会发现,很多博客只贴代码,不说原理,慢慢的就会养成CV的毛病了,并且CV能解决就算了,很多博客的代码还有这样那样的坑和问题也不做注明……瞎写博客的人你别跑!等我掏出我40米长的大刀出来!
心累啊……
有老师带效果排第一这是肯定的,出了校园的朋友可以考虑一下培训机构,虽然现在大家对培训机构褒贬不一,但不容否认,花点钱请培训机构系统的提升一下自己是非常有效且快速的,很多还提供面试指导、简历优化、内推这种服务,相比起你自己摸索两三年还学不会,血赚。

而且培训机构分为两张,一是线上,一是线下,互联网发展到今天,线上教育的优势越来越明显。。。


看系统的学习视频


这里要注意必须要系统,零零散散的那种毫!无!用!处!
学习就像以前LOL的天赋点,基础天赋还没点呢,你想直接点最高级的?根本不可能的事!


圈子的重要性(附)


很多人对圈子的使用还只停留在遇到不会的问题甩群里的阶段
你有没有想过,别人甩群里的问题可以变成以后你面试时“我之前遇到的问题”?
然后:“我是这么解决的……”
以及一些资源的共享和消息的互通,比方说你准备去面A公司,群里A公司内部的人说公司内部存在****问题,你不会全信,但是完全可以作为你参考对比的信息,不是吗?
以及内部消息的降薪、裁员……
更别说别人的思路对你也很有帮助,以及在圈子中积累的人脉了
“做程序员,圈子很重要”圈子可以让你少走弯路,拓宽人脉,拓展思路,学习他人失败和成功的经验,获取最新经验与信息,抱团取暖等!圈子的高度决定人生的高度!
系统的学习资料
这一块本来不想说的,因为作用其实很小,大多都是电脑几十G,存着就不看了……
其实主要还是你们保存的资料太零散了,根本提不起看的兴趣,几十G,几百G,有用吗?
这里我做一个推荐:↓↓↓ 这是我21年9月底才做出来的,偶尔有空我也在做补充

Github地址:https://github.com/hunanmaniu/AndroidNoteshttps://github.com/hunanmaniu/AndroidNotes

Codechina地址:Android.md · master / Android · CODE CHINACODE CHINA——开源代码托管平台,独立第三方开源社区,Git/Github/Gitlabhttps://codechina.csdn.net/weixin_55362248/android/-/blob/master/Android.md

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号