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 开发技术图谱相关推荐

  1. android 平面图app_Android App 开发技术图谱

    引言: 今天偶然看到StuQ的技术图谱, 找了找竟然没有Android开发的. 想起之前自己弄了一个, 翻出来看看并不过时, 整理下发出, 大家共同进步. 图片比较大, 加载较慢, 请等待~~ And ...

  2. 5G 时代的 Android App 开发入门与项目实战

    随着移动互联网的持续发展,Android系统从智能手机逐步拓展到平板电脑.智能电视.车载大屏.智能家居.智能手表等诸多设备,Android开发依然是前景可期的IT岗位. 当然,整个社会正在迈向5G时代 ...

  3. Android app开发捷径,让你少去踩坑

    Android APP开发完成后,通常需要在哪些机型上进行测试? 开发Android APP时,需要考虑的分辨率有哪些? 目前华为.三星和小米市场占有率是遥遥领先的,华为各机型.三星Note2.Not ...

  4. Android APP开发

    Android APP开发 Android 是基于Linux平台的.开源的.智能手机操作系统.Android APP开发现在使用比较广泛的程序语言是Java,Java是安卓APP开发的基础,我们在上学 ...

  5. Android APP开发需求文档范本

    Android  APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...

  6. android开发入门与实践_我的新书《Android App开发入门与实战》已经出版

    前言 工作之余喜欢在CSDN平台上写一些技术文章,算下时间也有两三年了.写文章的目的一方面是自己对技术的总结,另一方面也是将平时遇到的问题和解决方案与大家分享,还有就是在这个平台上能和大家共同交流. ...

  7. 【Android应用开发技术:媒体开发】音频

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  8. 一眼就看懂;Android App 开发前景介绍及学习路线规划

    Android App 开发的发展趋势和前景 安卓 App 开发是大趋势 从目前的各大社交终端以及移动媒体中手机占了百分之75.5的比例,随着各种移动端的系统升级,手机 App 也在现今这个社会面临着 ...

  9. android app开发_如何雇用Android App开发人员

    android app开发 You have thought of a good project for an application in android and you have a gut fe ...

最新文章

  1. 9月22日我国垃圾邮件报告:湖北省再居榜首
  2. velocity用法简单实例说明 .
  3. 高中python公开课怎么上好_如何上好高中英语公开课
  4. 计算机语言低下限高上限,学习语言有没有上限
  5. HiddenField控件[转载]
  6. hihoCoder挑战赛25
  7. HDU 5900(区间DP)
  8. nexus build docker private registry
  9. 在浏览器中输入url地址 - 显示主页的过程
  10. python对接60码平台
  11. html/css表单美化
  12. 渗透测试之信息收集(下篇)
  13. 开发“小米商城官网首页”(静态页面)
  14. 慎用!网传一公司用微软雅黑和盗版PS损失近3000万
  15. 今日接手一个项目,服务器重启后,mysql启动失败
  16. 《利用python进行数据分析》读书笔记--第十一章 金融和经济数据应用(一)
  17. mcu 与电量计 BQ40Z80 通信,读取电芯电量
  18. 归并排序算法代码实现
  19. 计算机一级ps知识,2017年9月计算机一级photoshop考试试题
  20. SQL Prompt5 破解版+使用说明

热门文章

  1. Cmake Ninja
  2. 小程序访问,提示网络不给力,请稍后再试
  3. 023 TripleGan的合成癫痫脑活动2022
  4. 大量ICON图标下载网站汇总
  5. slice和splice数组的截取/splice可以插入、删除、替换/数组截取 slice的详细解释
  6. 阿里云基础产品技术月刊 2018年12月 1
  7. vue 组件拖拽和缩放,支持在容器为transform:scale和zoom情况下的正常显示
  8. Python类中super()和__init__()的关系
  9. android面试基础知识,小程序FMP优化实录,经典好文
  10. 作为一名Java程序员一定要不断关注学习最前沿的技术...