Android App 开发技术图谱

转载请注明出处:http://www.jianshu.com/p/e4c6401e9ac0

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 LeoYan 即可关注。

简单总结了一下 Android App 开发中使用到的知识,以脑图的形式呈现。后续会慢慢补全各个分支相应的链接。

Android App 开发技术图谱_第1张图片
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

联系我

  • 个人博客: 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
  • 邮箱: [email protected]
  • 微信公众号:LeoYan

关注我的微信公众号,会有优质技术文章推送。

微信扫一扫下方二维码即可关注:


Android App 开发技术图谱_第2张图片
公众号

你可能感兴趣的:(Android App 开发技术图谱)