Android简介

Android一词最早出现在法国作家维里耶德利尔·亚当1986年发表的《未来夏娃》这部科幻小说中,作者利尔·亚当将外表像人类的机器起名为Android。这就是Android小人名字的由来。

05年,Google低调收购了一家公司。
07年,Android系统首次亮相。
08年,Google推出Android 1.0。
11年,Android系统全球份额位居第一。

自从Android发布以来,凭借开源的优势,迅速占领了市场。又因为使用Java就可以开发Android应用,软件开发者们也迅速的涌入到Android开发的潮流之中。

序言

我从大二开始接触Android,中间断断续续做了几个项目。中间有很长一段时间感觉到了瓶颈,无法进步。所处的状态就是做项目的话能做,该实现的功能一般都实现得了,但是总感觉写的代码灵活性、扩展性方面甚是欠缺。后来静下心对framework源码进行一些学习后,才感觉有所进步,突破了之前的瓶颈,也感觉重回到了一开始进步快速的状态。目前也在继续探索系统源码,思考一些设计模式和架构方面的东西。

另外高人指点或有人一起学习特别重要,而我之前在这方面做得确实不足,希望之后能和大家一起讨论一些问题。

最近在探究Android拉活机制和Android插件化开发。晚点我会整理成文章发出来。之后我也会写一些Android开发中实用的技巧,Android进阶需要掌握的知识和思想,希望能尽快和大家分享和交流。

挖了很多坑,希望填的满。

简单来说,Android开发其实就是编写Java代码,配合xml文件和图片资源,然后打包安装到Android系统的软件。

以下是我总结的Android开发涉及知识的简要内容,供大家参考。

准备
  • Android历史
  • Android已发布版本及更新历史
  • 开发语言:Java基础、C++基础(JNI)
  • 系统架构简介
  • 开发环境、AndroidStudio简单使用,AS插件使用,命令行工具
基础
  • 界面:四大组件、布局、UI组件、自定义view、动画
  • 网络:okhttp、Gson等
  • 数据持久化:SharedPreference、SQLite、文件等
  • 进程、线程、同步、异步
  • 辅助开发工具的使用:依赖管理Maven、构建工具Gradle、Crash处理、调试、日志
  • APP打包、上传、升级
进阶
Framework底层代码角度重新思考Android开发
  • AIDL、Binder、多进程
  • 事件分发、view
  • handler、looper、MessageQueue
  • 动画细节
  • 性能优化
  • JNI
  • 开源框架、开源库:OKhttp、EventBus、Retrofit等
  • 注解
  • 优化工具:Hierarchy Viewer、OOM检测优化工具MAT、Lint
  • 设计模式、架构
  • Activity启动模式、标记位、Intent Filter
  • Service启动、绑定
  • 多线程:AsyncTask、HandlerThread、IntentService
  • 线程池
系统核心机制
  • AMS、PMS
  • Window和View的关系
  • 四大组件工作过程(Activity启动过程)
  • SystemServer启动过程
其他
需求不同,需要掌握的技术不同
  • 硬件调用相关(传感器、定位等)
  • 持续集成
  • 版本管理Git
  • Material Design
  • 第三方服务:
    广告、Crash、统计、应用分发、数据存储、推送、分享、便捷登录、Google Play服务
  • Android安全、反编译
  • 增量更新、热更新
  • 插件化
学习资源

书籍、博客、Android training & guide、源码

写(总结很重要)

博客、笔记

一些资源
  • http://gityuan.com/
  • CSDN博客:罗升阳、邓凡平、任玉刚
  • 上也有很多高质量的博客
  • 基础书籍《Android4高级编程》《第一行代码》《Android 50 hacks》
  • 进阶书籍《Android开发艺术探索》《Android源码设计模式》《Android系统源代码情景分析》
  • 其他书籍《代码大全》《重构》《深入理解Java虚拟机》《Java并发编程》《efficient Java》等

版权声明
本文首发自,搜索作者 QinGeneral
同步发于CSDN博客,搜索作者 QinGeneral
同步发于微信公众号:AndroidRain
无需授权即可转载,甚至无需保留以上版权声明;
转载时请务必注明作者。

Android开发知识概要_第1张图片扫码关注微信公众号

更多相关文章

  1. Android和IOS系统对比
  2. android系统
  3. Android编译系统-上

随机推荐

  1. Android中如何使用 address2line
  2. 开关
  3. Android(安卓)TextView图文混排
  4. android 的中文意思
  5. 《Android系统学习》第十一章:Android应用
  6. title上左右按钮
  7. asss
  8. tools:context=".MainActivity的作用
  9. Android: Android(安卓)Reboot流程
  10. Androidの游戏源码下载地址