Android APP开发学习线路图,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
Android APP开发第二步: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
DateTime
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
感应器
加速
方向
重力
光线
陀螺仪
磁场
接近
温度
压力
线性加速度
旋转
Android APP开发第三步:App 进阶
1. ProcessThread
Process
App进程原理
AIDL
实现方式
原理
Handler/Looper/MessageQueue/Thread
Loader
AsyncTask
2. 性能优化
ANR
布局层级性能优化
3. 内存优化
内存检测工具
内存分析工具
Bitmap优化
内存泄露查找及分析
4. 网络优化
API优化
低网速下优化
流量使用优化
判断当前网络类型
使用缓存
5. 单元测试
JUnit
Android APP开发第四步: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. ARTDalvik
AOT compilation
GC
BytecodeDex
5. 自动化测试
Monkey/MonkeyRunner
UIAutomator
Espersso
Robotium
Appium
Athrun(TMTS)
Android APP开发第五步:扩展学习
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