Android学习目录

2017/9/2 posted in  Android

20171105150981318733039.png
20171105150981318733039.png

基础知识

20171105150981323655802.jpg
20171105150981323655802.jpg

2017110515098132948858.jpg
2017110515098132948858.jpg

2017110515098133212830.jpg
2017110515098133212830.jpg

20171105150981334056897.jpg
20171105150981334056897.jpg

{% post_link android-learning-path Android学习路线 %}

{% post_link android-study Android学习资源 %}

Java基础

20171105150981320969279.jpg
20171105150981320969279.jpg

Java字符串(String、StringBuilder、StringBuffer)

Java线程池(newFixedThreadPool、newSingleThreadExecutor、newCacheThreadPool)

  • newFixedThreadPool:newFixedThreadPool,创建固定大小的线程池,poolCoreSize和maxPoolSize 相等,到达coreSize,则将新的任务放到缓存队列,有线程执行完毕,直接去取。

  • newSingleThreadExecutor:newSingleThreadExecutor,创建一个单线程的线程池,核心池的大小和最大池大小都为1.

  • newCacheThreadPool:newCacheThreadPool,无大小限制的线程池,提交一个任务就创建一个线程执行。

Java集合

Collection:

  • List:
    • LinkedList
    • ArrayList
    • Vector
  • Set
    • HashSet
    • TreeSet

Map:

  • HashMap
  • TreeMap
  • HashTable

Java内存模型

Java 内存模型这一块非常重要,因为它涉及到我们程序的性能,我们需要知道,内存是如何分配的,成员变量、静态变量、局部变量、对象等各自分配到哪一个区:栈内存、堆内存

数据结构

面向对象思想

OOP的的三大特性:封装、继承、多态。

设计模式

程序设计6大原则

  • 单一职责原则
  • 里氏替换原则
  • 依赖倒置原则
  • 接口隔离原则
  • 迪米特法则
  • 开闭原则

Android Studio

{% post_link android-studio-plugin Android Studio插件 %}

{% post_link android-studio-keywords Android Studio快捷键 %}

Android SDK

Activity

{% post_link android-activity-launcher Android-启动Acivity的工作流程 %}

Service

BroadcastReceiver

ContentProvider

StatusBar

{% post_link android-statusbar Android-StatusBar详细学习 %}

Fragment

DialogFragment

{% post_link android-dialogfragment Android-DialogFragment详细学习 %}

UI

{% post_link android-xml Android-XML参数详细了解 %}

Layout

{% post_link android-layout Android-Layout详细学习 %}

FrameLayout

LinearLayout

TableLayout

GridLayout

RelativeLayout

DrawerLayout

SlidingPaneLayout

CoordinatorLayout

{% post_link android-coordinatorLayout Android-CoordinatorLayout %}

View

{% post_link android-view-workflow Android-View的工作流程 %}

Widgets

TextView
EditText

{% post_link android-edittext Android-EditText详细学习 %}

{% post_link android-windowSoftInputMode Android-WindowSoftInputMode详细学习 %}

Button
RadioButton
CheckBox
Switch
ToggleButton
ImageButton
ImageView

{% post_link android-imageview Android-ImageView详细学习 %}

ProgressBar
SeekBar
RatingBar
Spinner
WebView

Containers

RadioGroup
ListView
GridView
ExpandableListView
ScrollVeiw
TabHost
SlidingDrawer
Gallery
VideoView
DialerFilter
RecyclerView

{% post_link android-recyclerview Android-RecyclerView详细学习 %}

CardView
PopuWindow

{% post_link android-popupwindow Android-PopupWindow详细学习 %}

DialogFragment

Date&Time

TextClock
AnalogClock
Chronometer
DatePicker
TimePicker
CalendarView

Expert

Space
CheckedTextView
QuickContactBadge
ExtractEditText
AutoCompleteTextView
MultiAutoCompleteText
NumberPicker
ZoomButton
ZoomController
GestureOverlayView
SurfaceView
TexttureView
StackView
ViewStub

{% post_link android-viewstub Android-ViewStub详细学习 %}

ViewAnimator
ViewFlipper
ViewSwitcher
ImageSwitcher
TextSwitcher
AdapterViewFlipper
ViewPager

{% post_link android-viewpager Android-Viewpager详细学习 %}

Custom

include
fragment
requestFocus

Custom View

extend system View

combination View

extend View

{% post_link android-view Android-View详细学习 %}

{% post_link android-draw Android自定义控件——绘图 %}

ViewTreeObserver

{% post_link android-getViewTreeObserver Android-getViewTreeObserver() %}

ColorFilter

{% post_link android-colorfilter Android-ColorFilter详细学习 %}

Xfermode

{% post_link android-xfermode Android-Xfermode详细学习 %}

Paint

{% post_link android-paint Android-Paint详细学习 %}

{% post_link android-paints Android-Paint详细学习 %}

Matrix

{% post_link android-matrix Android-Matrix详细学习 %}

Scroller

{% post_link android-scroller Android-Scroller详细学习 %}

ViewConfiguration

{% post_link android-viewconfiguration Android-ViewConfiguration解析 %}

MotionEvent

{% post_link android-motionevent Android-MotionEvent解析 %}

VelocityTracker

{% post_link android-velocitytracker Android-VelocityTracker详细学习 %}

SpannableString

{% post_link android-spannablestring Android-SpannableString设置复合文本 %}

animation

{% post_link android-animation Android动画详细学习 %}

{% post_link android-activity-handoff-animation Android切换动画 %}

ViewAnimation

TweenAnimation
FrameAnimation

PropertyAnimation

ValueAnimator
ObjectAnimator
AnimatorSet

VectorAnimation

SVG
VectorDrawable
AnimatedVectorDrawable

Resource

assets

AssetManager

res

anim
animator
color
drawable
interpolator
layout
menu
raw
values
arrays
attrs
bools
colors
string
styles

OpenGL

Bitmap

BitmapFactory

{% post_link android-bitmapfactory Android-BitmapFactory详细学习 %}

Material Design 系列

Toolbar的使用

{% post_link android-toolbar Android-ToolBar详细学习 %}

AppbarLayout+CollapsingToolbarLayout

{% post_link android-appbarlayout-collapsingtoolbar-toolbar Android-AppBarLayout&CollapsingToolbar&Toolbar组合使用 %}

{% post_link android-appbarlayout Android-AppBarLayout %}

Behavior 相关:

  • BottomSheetBehavior
  • BottomSheetDialog
  • SwipeDismissBehavior
  • 自定义Behavior

TextInputLayout + TextInputEditText

TabLayout

BottomNavigationView

CardView 阴影卡片

Snackbar , FloatActionButton

通信

Http

Socket

Bluetooth

NFC

Headset

USB

数据持久化

Sqlite

SQLiteOpenHelper

ContentProvider

File

{% post_link android-save-method Android存储方式以及路径API %}

InternalStorage

ExternalStorage

SharedPreferences

多线程

{% post_link android-thread Android Thread %}

性能

{% post_link android-performance-optimize Android性能优化 %}

UI优化

布局层次结构

{% post_link android-view-performance-optimizing Android界面性能调优 %}

抽象布局使用

HierarchyViewer

Lint工具

内存优化

OOM

ANR

分析

Heap
adb shell

{% post_link android-adb Android-ADB命令 %}

dumpsys meminfo
showmap
TraceView
Dalvik日志
logcat
MAT

电量优化

流量优化

调试(Debug)

{% post_link android-debug Android-Debug %}

Logcat

adb

HierarchyViewer

TraceView

Heap

Lint

适配

OS Version

min SDK

UI界面适配

{% post_link android-ui-adapt Android界面适配 %}

{% post_link android-screen-adapt Android屏幕适配 %}

drawable

测试

Monkey

MonkeyRunner

JUnit

Robotium

Appium

Athrun(TMTS)

UIAutomator

安全

服务器安全

通信安全

与服务器通信

组件间通信

反编译

{% post_link android-decompile Android反编译 %}

{% post_link android-get-sha1 Android-获取sha1 %}

{% post_link android-smali Android-smali文件格式 %}

数据加密

数据验签

代码混淆

WebView/JS安全调用

MD5、DES、RSA、https、证书、权限

NDK

{% post_link android-ndk Android-NDK %}

JNI

C语言

C++

Android 多媒体

相机开发

使用自带的相机APP拍照

系统相册选择照片

系统相机或相册获取的照片裁剪

使用相机API 开发相机:

  • Android 5.0 (API 21 )以下 使用Camera API
  • Android 5.0 以上使用 Camera2 API

自定义相册开发

自定义裁剪界面

视频开发

视频播放

  • MediaPlayer
  • VideoView

视频编解码

音频开发

AudioPlayer

音乐播放器

Android权限配置

Gradle

自定义Gradle插件

Gradle多渠道打包

手机功能

电话

联系人

通话记录

短/彩信

Audio

SD卡

感应器

加速

方向

重力

光线

陀螺仪

磁场

接近

温度

压力

线性加速度

旋转

第三方扩展

地图

语音识别

支付

统计分析

广告

其他

Intent

AndroidManifest

AIDL

Wifi

{% post_link android-wifi Android-WiFi %}

国际化

响应式编程

{% post_link android-permissions Android权限机制 %}

其他

{% post_link android-responsive-code Android响应式编程 %}

{% post_link android-mvp Android MVP模式 %}

{% post_link android-cold-launch Android冷启动实现APP秒开 %}

{% post_link android-studio-bitbucket AndroidStudio关联Bitbucket %}

{% post_link android-issues Android-Issues %}

{% post_link android-base-class Android-基类实现 %}

{% post_link android-modularization Android组件化学习%}

Library

{% post_link android-library Android-开发中常用的支持库 %}

{% post_link android-efficient-tools Android高效开发工具库 %}

{% post_link android-quick-develop-frame Android快速开发框架 %}

{% post_link android-picasso Android-Picasso图片框架 %}

{% post_link android-greendao Android-GreenDao3.2.0的使用 %}

{% post_link android-eventbus Android-EventBus3.0的使用 %}

{% post_link android-common-android-library Android-常用的库 %}

{% post_link android-fresco Android-Fresco详细学习 %}

{% post_link android-rxjava Android-RxJava详细学习 %}

{% post_link android-gson Android-Gson详细学习 %}

{% post_link android-retrofit Android-Retrofit详细学习 %}

{% post_link android-databinding Android-DataBinding详细学习 %}

实现

{% post_link android-custom-lock-screen Android自定义锁屏页 %}

{% post_link android-custom-skin Android自定义皮肤 %}