Android App 开发技术图谱
Android App 开发技术图谱
转载请注明出处:www.leoyanblog.com
本文出自 LeoYan 的博客
本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 LeoYan 即可关注。
简单总结了一下 Android App 开发中使用到的知识,以脑图的形式呈现。后续会慢慢补全各个分支相应的链接。
注:如图片显示不清晰,请在图片上右键另存为到本地查看高清大图。
一、开发工具
1. IDE
- Android Studio
- Eclipse
2. 调试工具
Android Tools
- adb
- Hierarchy Viewer
- draw9patch
- UI Automator Viewer
- Trace View
- Lint
网络调试
- Charles
- Wireshark
- Fiddler
- tcpdump
- Paw/Postman
内存分析
- Android Monitor
- MAT
3. 版本控制
Git
- Git命令
- Github/GitLab
SVN
4. CodeReview
- Gerrit
- Github pull request
5. Bug/任务管理
- Redmine
- JIRA
- Bugzilla
- Teambition
- Tower
6. 编译工具
- Gradle
7. 持续集成
- Jenkins
- Travis CI
8. 应用分发
- 蒲公英
- fir.im
二、App 基础
1. 基础知识
- java基础
- 数据结构
- 面向对象思想
- 设计模式
- 面向对象思想
2. Android基础
Android SDK
基本组件
- Activity
- Service
- BroadcastReceiver
- ContentProvider
- Intent/Intent Filter
- AndroidMainfest
UI
Layout
- LinearLayout
- RelativeLayout
- FrameLayout
- GridLayout
- TableLayout
- DrawerLayout
- SlidingPaneLayout
View
Widget
- TextView
- Button
- ImageView
- ImageButton
- RadioButton
- ToggleButton
- CheckBox
- Switch
- ProgressBar
- SeekBar
- RatingBar
- Spinner
- WebView
Container
- RadioGroup
- ScrollView
- ListView
- GridView
- ExpandableListView
- Gallery
- ViewPager
- SlidingDrawer
- TabHost
- VideoView
- RecyclerView
- CardView
Date&Time
- DatePicker
- TimePicker
- CalendarView
- TextClock
- AnalogClock
- Chronometer
Expert
- ToolBar
- Fragment
- Space
- PopupWindow
- CheckedTextView
- AutoCompleteTextView
- MultiAutoCompleteTextView
- QuickContactBadge
- ExtractEditText
- NumberPicker
- ZoomButton
- ZoomControls
- GestureOverlayView
- SurfaceView
- TextureView
- StackView
- ViewStub
- ViewAnimator
- ViewFlipper
- ViewSwitcher
- ImageSwitcher
- TextSwitcher
- AdapterViewFlipper
- MediaController
- DialerFilter
- PopMenu
Other
- include
- requestFocus
Custom View
- extend system View
- combination View
- extend View
Animation
View Animation
- Tween Animation
- Alpha
- Scale
- Translate
- Rotate
- Interpolator
- Frame Animation
- animation-list
Property Animation
- ValueAnimator
- ObjectAnimator
- AnimatorSet
Resource
assets
- AssetManager
res
- anim
- animator
- color
- drawable
- interpolator
- layout
- menu
- raw
- values
- arrarys
- attrs
- bools
- colors
- string
- styles
- xml
OpenGL
3. 数据持久化
Sqlite
- SQLiteOpenHelper
- ContentProvider
File
- Internal Storage
- External Storage
SharedPreferences
4. 通信
Http
- HttpClient
- HttpConnection
Socket
Bluetooth
NFC
Headset
USB
5. 手机功能
电话
- 联系人
- 通话记录
短/彩信
Camera
Audio
SD卡
Wifi
感应器
- 加速
- 方向
- 重力
- 光线
- 陀螺仪
- 磁场
- 接近
- 温度
- 压力
- 线性加速度
- 旋转
三、App 进阶
1. Process&Thread
Process
- Linux进程
- App进程原理
AIDL
- 实现方式
- 原理
Handler/Looper/MessageQueue/Thread
Loader
AsyncTask
2. 性能优化
- ANR
- 布局层级性能优化
3. 内存优化
- 内存检测工具
- 内存分析工具
- Bitmap优化
- 内存泄露查找及分析
4. 网络优化
API优化
低网速下优化
流量使用优化
- 判断当前网络类型
- 使用缓存
5. 单元测试
- JUnit
四、App 高级
1. 相关原理熟悉
Activity
- 启动流程
- 生命周期回调原理
- 与View/Window的关系
- 与Fragment的关系
View/Window
- View/Window关系
- View渲染
- View事件分发机制
编译打包
- 编译打包原理
- 逆向工程分析
- 热修复
2. Hybrid App
与Native App的异同
主流框架
- React Native
- Weex
- PhoneGap
- ionic
3. 架构能力
架构
- MVC
- MVP
- MVVM
- Flux
- Clean Architecture
App框架
- 分包
- 分层
设计模式
- OOD原则
- 常用设计模式运用
4. ART&Dalvik
- AOT compilation
- GC
- Bytecode&Dex
5. 自动化测试
- Monkey/MonkeyRunner
- UIAutomator
- Espersso
- Robotium
- Appium
- Athrun(TMTS)
五、扩展学习
1. 响应式编程
Rx
- RxJava
- RxAndroid
- RxBinding
Agera
2. 快速开发
- ButterKnife
- Android Annotation
- AFinal
- xUtils
3. Views
- 太多…
4. 网络请求
- OkHttp
- Retrofit
- Volley
5. 图片请求
- Glide
- Fresco
- Picasso
- Universal-Image-Loader
6. 依赖注入
- Dagger2
7. 事件总线
- EventBus
- Otto
8. 数据库
- ORMLite
- GreenDAO
- Realm
- SugarORM
- ActiveAndroid
9. 图表
- MPAndroidChart
- HelloCharts
10. 辅助
- Logger
- LeakCanary
- DbInspector
11. 支付
- 支付宝
- 微信
- 银联
- Ping++
12. 地图
- 百度地图
- 高德地图
- Google地图
13. 分享
- ShareSDK
- 友盟Ushare
14. 统计分析
- 友盟
15. 语音识别
- 科大讯飞
16. 人脸识别
- Face++
- ReadFace
17. 广告
基本信息
作者
- LeoYan
日期
- 2017/02/16
联系我
- 个人博客: http://www.leoyanblog.com
- 简书:http://www.jianshu.com/u/37cf98f479ea
- CSDN博客:http://blog.csdn.net/leoyan_blog
- Github:https://github.com/leoyanblog
- 新浪微博:http://weibo.com/leoyanblog
- 邮箱: leo_1553@163.com
- 微信公众号:LeoYan
关注我的微信公众号,会有优质技术文章推送。
微信扫一扫下方二维码即可关注:
Android App 开发技术图谱相关推荐
- android 平面图app_Android App 开发技术图谱
引言: 今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步. 图片比较大, 加载较慢, 请等待~~ And ...
- 5G 时代的 Android App 开发入门与项目实战
随着移动互联网的持续发展,Android系统从智能手机逐步拓展到平板电脑.智能电视.车载大屏.智能家居.智能手表等诸多设备,Android开发依然是前景可期的IT岗位. 当然,整个社会正在迈向5G时代 ...
- Android app开发捷径,让你少去踩坑
Android APP开发完成后,通常需要在哪些机型上进行测试? 开发Android APP时,需要考虑的分辨率有哪些? 目前华为.三星和小米市场占有率是遥遥领先的,华为各机型.三星Note2.Not ...
- Android APP开发
Android APP开发 Android 是基于Linux平台的.开源的.智能手机操作系统.Android APP开发现在使用比较广泛的程序语言是Java,Java是安卓APP开发的基础,我们在上学 ...
- Android APP开发需求文档范本
Android APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...
- android开发入门与实践_我的新书《Android App开发入门与实战》已经出版
前言 工作之余喜欢在CSDN平台上写一些技术文章,算下时间也有两三年了.写文章的目的一方面是自己对技术的总结,另一方面也是将平时遇到的问题和解决方案与大家分享,还有就是在这个平台上能和大家共同交流. ...
- 【Android应用开发技术:媒体开发】音频
作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...
- 一眼就看懂;Android App 开发前景介绍及学习路线规划
Android App 开发的发展趋势和前景 安卓 App 开发是大趋势 从目前的各大社交终端以及移动媒体中手机占了百分之75.5的比例,随着各种移动端的系统升级,手机 App 也在现今这个社会面临着 ...
- android app开发_如何雇用Android App开发人员
android app开发 You have thought of a good project for an application in android and you have a gut fe ...
最新文章
- 9月22日我国垃圾邮件报告:湖北省再居榜首
- velocity用法简单实例说明 .
- 高中python公开课怎么上好_如何上好高中英语公开课
- 计算机语言低下限高上限,学习语言有没有上限
- HiddenField控件[转载]
- hihoCoder挑战赛25
- HDU 5900(区间DP)
- nexus build docker private registry
- 在浏览器中输入url地址 - 显示主页的过程
- python对接60码平台
- html/css表单美化
- 渗透测试之信息收集(下篇)
- 开发“小米商城官网首页”(静态页面)
- 慎用!网传一公司用微软雅黑和盗版PS损失近3000万
- 今日接手一个项目,服务器重启后,mysql启动失败
- 《利用python进行数据分析》读书笔记--第十一章 金融和经济数据应用(一)
- mcu 与电量计 BQ40Z80 通信,读取电芯电量
- 归并排序算法代码实现
- 计算机一级ps知识,2017年9月计算机一级photoshop考试试题
- SQL Prompt5 破解版+使用说明
热门文章
- Cmake Ninja
- 小程序访问,提示网络不给力,请稍后再试
- 023 TripleGan的合成癫痫脑活动2022
- 大量ICON图标下载网站汇总
- slice和splice数组的截取/splice可以插入、删除、替换/数组截取 slice的详细解释
- 阿里云基础产品技术月刊 2018年12月 1
- vue 组件拖拽和缩放,支持在容器为transform:scale和zoom情况下的正常显示
- Python类中super()和__init__()的关系
- android面试基础知识,小程序FMP优化实录,经典好文
- 作为一名Java程序员一定要不断关注学习最前沿的技术...