Android App 开发技术图谱

作者: LeoYan_blog | 来源:发表于2017-03-07 17:39 被阅读212次

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

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

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

    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

    联系我

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

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


    公众号

    相关文章

      网友评论

      本文标题:Android App 开发技术图谱

      本文链接:https://www.haomeiwen.com/subject/poomgttx.html