Android 学习流程

1、java

* 基础语法
1. 常量、变量
2. 运算符
3. 流程控制
4. 一维数组、二维数组
5. 方法
* 面向对象
1. 封装、继承、多态、抽象类、接口
2. 单例模式
* 集合
1. Collection
2. Map、Set、List
* 多线程
1. Thread 
1. Runnable
* 异常
  1. 异常机制原理
  2. 自定义异常
* 输入、输出流
1. File、FileRandomAccess 类
2. 字节流 InputStream 和 OutputStream 、字符流 Reader 和 Writer 
* 反射

2、工具

* Android Studio
* 使用Git 进行版本管理
1. 本地仓库基本操作
2. 搭建远程仓库
* 点9图片处理
* Android 程序签名打包

3、UI

* Layout 布局
1. 线性布局 LineraLayout
2. 相对布局 RelativeLayout
3. 表格布局 TableLayout
4. 帧布局 FrameLayout
5. 网络布局 GridLayout
6. 绝对布局 AbsoluteLayout
* 基本控件
1. 文本框 TextView 
2. 输入框 EditText
3. 按钮 Button & 图像按钮 ImageButton
4. 图像视图 ImageView
5. 单选按钮 RadioButton & 复选框 Chekbox
6. 开关按钮 ToogleButton  & 开关 Switch 
7. 进度条 ProgressBar
8. 滑动条 SeekBar
9. 星级评分条 RatingBar
10. 滑动视图 ScrollView
11. 文本时钟 TextColor &  模拟时钟 AnalogClock
12. 日期选择器 DatePicker & 时间选择器 TimePicker & 数字选择器 NumberPicker
1. 日历控件 CalendarView
* Adapter 适配器相关UI控件
1. 列表视图 ListView
2. 网格视图 GridView
3. 列表选项框 Spinner 
4. 画廊视图 Galley
5. 自动提示文本框 AutoCompleteTextView & 多提示项的自动提示文本框 MutiAutoCompleteTextView
1. 可折叠列表 ExpandableListView
2. 栈视图 StackView
* 提示 & 对话框
1. 吐司 Toast
2. 系统提示框 Notification
3. 提示对话框 AlertDialog
4. 进度条对话框 ProgressDialog
5. 日期选择对话框 DatePickerlog & 时间选择对话框 TimePickerDialog
6. 悬浮框 popWindow
* 菜单
1. 选项菜单 OptionMenu 
2. 子菜单 SubMenu
3. 上下文菜单 ContextMenu

4、事件处理机制

* 基于监听的事件处理机制
1. 匿名内部类做监听
2. 内部类做时间监听
3. 外部类作监听
4. Activity 实现对应接口
5. 重写相关方法
* 基于回调的时间处理机制
* 基于监听的TouchListener 与基于回调的 OnTouchEvent ,多点触碰
* EditText 数据变化监听 (TextChangeListener)
* 相应系统设置的时间 (Configuration 类)
* 异步任务 AnsyncTask
* 手势 (Gesture)

5、绘画与动画

* 常用绘画类
1. Paint、Canvas、Bitmap、BitmapFactory
* 图形绘制,添加特效
1. BitmapShader 渲染图像,简单图象处理
* 双缓冲技术,全屏显示,获得屏幕属性
* 动画
1. Tween 动画
2. Frame 动画
3. GIF 动画

6、四大组件

* Activity (活动)
1. 生命周期详解
2. 创建 Activity 的流程
3. 多个 Activity 间的数据床底
4. Activity 的四种加载模式 ( standard 、singleTop、singleTask、 SsingleInstance)
5. 随时关闭所有 Activity
6. 双击退出App
7. 设置 Activity 过场动画
8. 保持 Activity 状态
* Service (服务)
1. Android 多线程编程
2. AsyncTask 的使用
3. Service 的生命周期
4. 使用 Service 方式
5. AIDL 实现跨进程通讯
* BroadcatReceiver (广播)
1. 广播类型(标准和有序)
2. 接收系统广播(动态或静态注册广播接收者)
3. 广播发送
4. 本地广播
* ContentProvider(内容提供者)
1. 使用系统提供的 ContentProvider
2. 通过ContentObserver 监听 ContentProvider 数据变化
3. 自定义ContentProvider 的流程掌握

7、Fragment

* Fragment 的生命周期
* Fragment 创建方式
* Fragment 管理与事务
* Fragment 与 Activity 交互
1. 组件获取
2. 数据交互

8、数据储存

* 文件读取
1. 操作模式与操作方法
2. SD 卡文件读取
* 保护用户偏好参数 sharedPreferences
1. 使用流程
2. 读写其他app 的sharedPreferences
* SQLite 数据库
1. SQLiteDatabase 与 Cursor
2. 事务(Transaction)
3. 二进制大文件保存读取(图片)
  • ContentProvider数据提供者

9、网络操作

* 解析XML 方式:SAX、DOM、PULL
* JSON 数据解析
* HTML 解析
1. HTML 协议流程
2. 获取网络图片
3. 获取网页的 HTML 代码
4. 获取服务器返回 XML
5. 获取服务器返回 JSON
* HTTP 协议解析
1. HTTP 消息头与响应头
2. HTTP 请求方式: HttpURLConnection、HttpClient
* 网络数据下载
1. 单线程下载文件
2. 普通多线程下载文件
3. 多线程断点续传下载
4. 发送XML 数据给服务器
5. 使用 HTTP 协议完成大文件上传
* WebService 调用
* Socket 网络编程初涉
1. TCP/IP 协议了解
2. Socket 概念与传输方式
3. Socket 的通信流程
4. Socket 搭建简单聊天室
5. Socket 实现大文件的断点续传

10、多媒体开发

* 了解 OpenCore 多媒体h框架核心,还有 MideaPlayer、MediaRecorder
* 音乐播放
* 视频播放
* 声音录制
* 摄像头拍照
* 闹钟
* 铃声设置
* 振动器
* 电源服务
* 窗口管理
* 音频管理
* 电话管理
* 短信管理
* 壁纸管理
* 传感器

10、kotlin

* 基本语法
* 数据类型
* 控制结构
* 集合、数组
* 集成、封装、多态

11、第三方API

* 热修复Bugly
* OKHttp网络
1. 拦截器(责任链模式)
2. 超时重传、重定向
3. HTTP 缓存
4. Socket 连接池复用
* EventBus 通信
* ButterKnife 注解式开发
* 极光推送
* 百度地图
* GreenDao 数据库操作

待更新...

你可能感兴趣的:(Android 学习流程)