Android学习路线

笔者也不是安卓出身,但是在工作早期,因为需求尝试过一段时间的安卓开发。如果说学习安卓,那首推的就是一部神书——《第一行代码》。

相信想学习安卓的朋友们已经被推荐过无数次了吧,那就不要犹豫了,开始吧。

这里笔者也斗胆写了一些学习笔记,供大家思考。在学习笔记中除了对书中案例的操作,还加入了一些自己的思考,希望对大家有帮助。在写这么笔记的过程中,自己的水平不仅得到了提升,还为以后复习也留有存根,所以希望大家也可以多动手。在学习的过程中,相信你会和我一样,感受到郭神的强大。

这是专栏链接,里面有本篇文章提到的所有文章。https://www.cnblogs.com/zllk/category/1789393.html
希望大家在看书的时候可以按照书籍的顺序来看,因为作者这么排布是有意义的。但是笔者也在这里对自己的笔记做了一些分类,有需求的朋友们可以找到自己需要的地方进行浏览。

打开大门——安装

【超详细全过程】Android环境配置
顺便送大家一份资源,有条件的朋友希望可以买一本实体书来支持一下。
《第一行代码》阅读笔记(一)——导读+资源分享

初识安卓——helloworld和资源文件

《第一行代码》阅读笔记(二)——HelloWorld
《第一行代码》阅读笔记(三)—— 一个Android程序的体系结构

四大组件——活动

《第一行代码》阅读笔记(四)——探究活动
《第一行代码》阅读笔记(五)——活动的最佳实践
安卓四大组件中最重要的部分,郭神讲解的非常详细,看完大家一定能懂。
《第一行代码》阅读笔记(十二)——探究碎片
《第一行代码》阅读笔记(十三)——碎片的最佳案例
碎片和活动是不可分割的两个部分,书中的例子时为了适应不同尺寸的设备而使用碎片,这是碎片存在的本意,而实际开发中碎片还发挥着其他重要的作用,这个在后期会讲解到。所以碎片和活动这部分一定要融会贯通,最起码把书中的案例可以自己不看书敲出来。这部分笔者也是花了一部分时间,而且很多东西当时看的时候不理解,后来才慢慢懂的。所以遇到不懂的东西,不要怕,书读百遍,其意自现。

《第一行代码》阅读笔记(三十五))——进阶开发
在这一篇博客中,主要是一些进阶开发的过程,但是主要还是围绕着Activity的,所以笔者还是放在了一起,但是朋友们暂时不用看,等了解了基础再来进阶吧

控件

《第一行代码》阅读笔记(六)——AndroidUI控件(初级)
《第一行代码》阅读笔记(七)——Android经典四种布局
《第一行代码》阅读笔记(八)——自定义控件
《第一行代码》阅读笔记(九)——ListView
《第一行代码》阅读笔记(十)——RecyclerView
《第一行代码》阅读笔记(十一)——编写界面的最佳案例
控件其实是安卓最好学的部分,因为所见即所得,每一次的进步都可以得到反馈。也是基础,需要夯实。

进阶控件

《第一行代码》阅读笔记(十四)——ViewPager
《第一行代码》阅读笔记(十五)——ViewPager的最佳案例(TabLayout+ViewPager+Fragment)
《第一行代码》阅读笔记(十六)——Shape
这里笔者补充了一些开发中非常常用的控件,其实后期你会发现,控件不就是那么几个属性,那么几个方法吗?也就这么回事。如果你这么想,那说明你已经炉火纯青了。
《第一行代码》阅读笔记(十七)——ViewBinding
每次都使用findVIewById?太麻烦了,看看ViewBinding吧。
《第一行代码》阅读笔记(三十四)——Material Design
谷歌发布的控件,设计感十足,不愧是国际大厂,让你的交互更上一层楼。

四大组件——广播和服务和内容提供器

《第一行代码》阅读笔记(十八)——探究广播机制
《第一行代码》阅读笔记(十九)——广播的最佳实践(强制下线功能)
《第一行代码》阅读笔记(二十六)——内容提供器
《第一行代码》阅读笔记(三十二)——探究服务
这些说实话,初级开发者的用处不大。建议了解,在有需求的时候,可以百度方法,然后知道怎么回事即可。

数据库

《第一行代码》阅读笔记(二十)——持久化技术(文件存储+SharedPreferences)
《第一行代码》阅读笔记(二十一)——SQLite数据库(CRUD)
《第一行代码》阅读笔记(二十二)——LitePal操作数据库
《第一行代码》阅读笔记(二十三)——数据库设计(补充)
数据库也是非常重要的一部分。这里总结一下,SharedPreferences适合存储一些简单的值,例如是否第一次打开程序。很方便,不用建表,直接存取。而复杂的类型,就必须数据库了。SqLite是基础,Litepal是非常优秀的框架,都可以学习。这里笔者还补充了一个公司大神的数据库设计,使用的是原生的SqlLite,有兴趣的小伙伴,可以改成Litepal。

网络编程

《第一行代码》阅读笔记(二十八)——网络技术(OkHttp+JSON/GSON)
《第一行代码》阅读笔记(二十九)——网络框架 OkHttp+Retrofit+Rxjava
《第一行代码》阅读笔记(三十)——MVP(补充)
网络编程又是项目开发中的重要一环。现在都是使用OkHttp+Retrofit+Rxjava+MVP的请求模式。除了MVP还有MVVM,都是必不可少的设计模式。

其他

《第一行代码》阅读笔记(二十四)——Android动态请求权限
《第一行代码》阅读笔记(二十五)——PermissionsDispatcher(补充)
动态权限请求也是安卓中非常重要的一部分,具体的就看文章吧。这里笔者补充了非常好用的PermissionsDispatcher,赶紧学习一下吧。
《第一行代码》阅读笔记(二十七)——多媒体播放Demo
申请了权限,来玩玩多媒体吧,让你的程序更加丰富。
《第一行代码》阅读笔记(三十一)——多线程
相信有过Java基础的朋友们对多线程已经不陌生了,没错安卓的多线程和Java的没什么区别。在服务和网络请求中,可以使用。
《第一行代码》阅读笔记(三十三)——基于位置的第三方SDK使用
这里作者介绍了百度地图的SDK的使用,其实各种SDK都是大同小异,好好学习,融会贯通。

项目

《第一行代码》阅读笔记(三十六)——酷欧天气
学了那么多,来大展身手吧,一款酷欧天气,麻雀虽小,五脏俱全。
《第一行代码》阅读笔记(三十七)——productFlavors+广告SDK
最后作者又介绍了一些发布应用的小知道和广告SDK,这些在开发中都是非常常用的。总之学就完事了。

结束语

虽然这只是一篇非常普通的博客,但是凝结了笔者近两个月的心血,虽然不能说多么多么优秀,但是笔者在写这些文章的的时候,是真实的感受到了自己的成长。也算是一种见证吧。发布博客后,也有很多小伙伴积极和我讨论互动,为能帮助别人而感到自豪,也为得到帮助而感觉欣慰。害,不感慨了。学习到这里,相信大家应该对安卓有了一定的了解,未来的路还很长,让我们一起努力。

——2020.8.15

你可能感兴趣的:(程序员的自我修养)