## Android 入门学习指南 ## 思维导图 ![Android 基础](https://raw.githubusercontent.com/jeanboydev/Android-ReadTheFuckingSourceCode/master/resources/images/xmind/Android%E5%9F%BA%E7%A1%80.png) ## 基础知识 ### 四大组件 - Activity 掌握生命周期、IntentFilter、启动模式、页面状态保存与恢复。 - Fragment 掌握生命周期、与 Activity 通信的方式。 - Service 掌握生命周期、与 Activity 通信、IntentService、ForegroundService。 - Broadcast 掌握静态广播、动态广播。 - ContentProvider 掌握增删改查。 ### Application 掌握生命周期。 ### Manifest 熟悉怎么使用?作用是什么? ### 图片加载 掌握怎么加载图片、图片下载、缓存、LRU。 ### 界面 ### 常用布局 掌握 FrameLayout、RelativeLayout、LinerLayout、AbsoluteLayout 的使用与特点。 ### 常用控件 掌握 TextView、EditText、ImageView、Button、RadioGroup、RadioButton、ListView、RecyclerView、ViewPager 等常用控件的使用。 ### 动画 - View 动画 掌握 Tween 补间动画、Frame 帧动画的使用。 - 属性动画 掌握属性动画的使用,可实现简单的动画。 - 转场动画 掌握转场动画的使用,可自定义转场动画。 ### 屏幕适配 - attr 熟悉dp、sp、px 的转换与使用。 - drawable 熟练使用 drawable 进行屏幕适配。 - .9 图 熟练使用 .9 图进行屏幕适配。 - 了解头条适配方案 - 了解 smallestWidth 限定符适配方案 ## 进程与线程 - 熟悉进程与线程的概念 - 熟练使用 Handler,了解常见优化。 - 熟悉 AsyncTask 的使用。 ## 数据持久化 - 熟练使用 SharedPreference。 - 熟练使用 SQLite 增删改查数据。 - 熟练使用 File 操作文件。 ## 第三方开源库 - 熟练使用 Retrofit。 - 熟练使用 Okhttp。 - 熟练使用 RxJava。 - 熟练使用 Glide。 - 熟练使用 ButterKnife。 ## 网络 - 熟悉 HTTP、HTTPS 的区别。 - 了解 Socket 通信。 - 熟练掌握网络状态的监听。 - 熟悉上传文件、下载文件的操作。 ## 多媒体 - 熟练掌握播放音频。 - 熟练掌握播放视频。 ## 设备 - 拨打电话、通话记录、操作联系人 - 定位(GPS、网络定位) - 拍照、闪光灯 - 相册操作 ## Git 了解 Git 工作流程,了解冲突解决方法,了解代码回滚,分支、标签相关操作。 ## 单元测试 可进行简单的单元测试。 ## 总结 以上就是 `Android 初级工程师` 需要掌握的知识点,如果能全部掌握以上知识点,应聘 1 - 2 年工作经验,薪资 12k - 15k 以下的职位是没有问题的。这里的薪资范围是根据加分项来向上浮动的,加分项越多向上浮动的范围越大,下面会有加分项的介绍。 如果还没有完全掌握,推荐找一下相关视频或者书籍,书籍推荐: - 郭霖的《第一行代码》 - 刘望舒的《Android 进阶之光》 这里没有打广告的意思,仅仅推荐下。 Java 基础不扎实的推荐看一看 Java 四大名著: - 《Java 编程语言》 - 《Java 编程思想》 - 《Java 核心技术(1,2)》 - 《Effective Java》 如果想让自己更加有优势,有加分项。可以看看: - Handler 源码 - ListView 源码 - RecyclerView 源码 - ArrayList 源码 - HashMap 源码 - 常用第三方框架的源码 多看看一些相关技术博客,基础越扎实进阶越快。 这里解释下加分项,比如说公司只招 1 个人,来应聘的有 2 个或者更多。大家都是初级工程师,技术都差不多,那公司会选择谁呢?这时候加分项就很重要了,当然如果有持续高质量输出的博客也是加分项哦,也就是自己的亮点。 如果以上知识点对你来说太简单了,那说明你已经晋级了,敬请期待下一阶段 `Android 高级工程师` 的学习指南,这里推荐先看下任玉刚的《Android 开发艺术探索》、刘望舒的《Android 进阶揭秘》。 ## 我的公众号 欢迎你「扫一扫」下面的二维码,关注我的公众号,可以接受最新的文章推送,有丰厚的抽奖活动和福利等着你哦!😍 如果你有什么疑问或者问题,可以 [点击这里](https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode/issues) 提交 issue,也可以发邮件给我 [jeanboy@foxmail.com](mailto:jeanboy@foxmail.com)。 同时欢迎你 [![Android技术进阶:386463747](https://camo.githubusercontent.com/615c9901677f501582b6057efc9396b3ed27dc29/687474703a2f2f7075622e69647171696d672e636f6d2f7770612f696d616765732f67726f75702e706e67)](http://shang.qq.com/wpa/qunwpa?idkey=0b505511df9ead28ec678df4eeb7a1a8f994ea8b75f2c10412b57e667d81b50d) 来一起交流学习,群里有很多大牛和学习资料,相信一定能帮助到你!