课程大纲

Android大神班课程大纲

Android大神班

时长

四个月

课程内容

1 初识Android


1.1 了解安卓的历史,安卓手机的体系架构。

 

1.2 了解安卓的开发工具,模拟器(原生、genymotion、夜神、海马玩)等的安装、使用。

 

1.3 创建第一个安卓项目,了解安卓项目的详细结构

 

1.4 了解Android系统工具的使用(DDMS,ADB)


2 Android UI入门new (1).png


2.1 了解安卓的日志模式(Log)

  

2.2 了解安卓的尺寸单位(dp、dpi、sp)

  

2.3 认识View控件及其View控件的基础属性

  

2.4 认识ViewGroup控件及其相关属性

  

2.5 深入了解Android布局  

     2.5.1   LinearLayout的用法

     2.5.2   RelativeLayout的用法

     2.5.3   FrameLayout的用法

     2.5.4   AbsoluteLayout的用法

     2.5.5   TableLayout的用法

3 Android UI加强new (1).png


3.1 了解Android的系统控件    

     3.1.1  TextView的用法

     3.1.2  EditText的使用

     3.1.3  Button的使用

     3.1.4  RadioButton的使用

     3.1.5  CheckBox的使用 

     3.1.6  ProgessBar的使用  

     3.1.7  ImageView的使用

     3.1.8  DatePicker的使用

     3.1.9  TimePicer的使用

     3.1.10  WebView的使用  

   

3.2 动态添加控件  

     综合练习(布局复习)

     美团外卖、大众点评

4 Android资源文件详解new (1).png


4.1 BitmapDrawable 

  

4.2 ClipDrawable 

  

4.3 StateListDrawable 

  

4.4 TransitionDrawable 

  

4.5 LayerListDrawable 

  

4.6 LevelListDrawable 

  

4.7 InsetDrawable 

  

4.8 ShapeDrawable 

  

4.9 Nine-PatchImage

5 Android 列表控件


5.1  ListView的使用

     5.1.1 ListView的创建与使用

     5.1.2 ListView的缓存问题

     5.1.3 ListView的优化使用

     5.1.4 ListView的属性与监听器

  

5.2  GridView

  

5.3  Spinner

6 Android 列表控件进阶


6.1 ListView的各种适配器(ArrayAdapter SimpleAdapter)

  

6.2 ExpandableListView

  

6.3 Android 弹窗

     6.3.1 Dialog

     6.3.2 PopupWindow

     6.3.3 Notification

7 Android 数据存储


7.1 SharedPreferences的使用

 

7.2 文件存储

     7.2.1 手机内部存储和外部存储

     7.2.2 内部存储的划分

     7.2.3 外部存储的位置

     7.2.4 Linux文件权限

 


8 Android 数据库使用


8.1 数据库文件创建及版本更新

 

8.2 SQL语句执行

 

8.3 数据库的增删改查

 

8.4 SQLite3 使用  

9 Android网络编程


9.1 HTTP协议回顾

 

9.2 HttpURLConnection、HttpClient的使用

 

9.3 XML数据解析

 

9.4 Handler的使用

10 Android网络编程加强new (1).png


10.1 开源框架 volley 的使用

  

10.2 Android 多线程编程

     10.2.1 AsyncTask

     10.2.2 HandlerThread

     

10.3 Handler的源码分析 

         

综合练习(网络请求,ListView,SharePrefence)QQ


用户列表

11  四大组件——Activity


11.1 Activity的创建与启动

 

11.2 Activity数据交互

 

11.3 显示意图/隐式意图

 

11.4 startActivityForResult


12  四大组件——Activity 2


12.1 Activity生命周期 

 

12.2 任务栈/启动模式 

 

12.3 onSaveInstanceState

13  四大组件 - BroadcastReceiver


13.1 广播接收者入门

 

13.2 自定义广播(有序、无序)


13.3 静态与动态注册广播

14 四大组件 - Service


14.1 服务入门

 

14.2 启动/绑定服务

 

14.3 服务的生命周期 

 

14.4 本地/远程服务

 

14.5 服务的常用实例(音乐播放器、侦探程序)

15 四大组件 - ContentProvider


15.1 ContentProvider入门

  

15.2 短信、联系人操作

  

15.3 内容观察者的使用

16 Android 图片处理


16.1  计算机图形学基础

  

16.2  Bitmap绘制

  

16.3  大图片处理

  

16.4  实现一个图片画板应用

17 Android 多媒体new (1).png


17.1 视频播放器

     17.1.1 MediaPlayer SurfaceView

     17.1.2 播放网络视频

     17.1.3 播放本地视频

  

17.2 拍照

  

17.3 系统的图片库

18 Android动画new (1).png


18.1  帧动画 

  

18.2  补间动画 

  

18.3  属性动画 

19 碎片——Fragmentnew (1).png


19.1 Fragment入门

  

19.2 FragmentTransision

  

19.3 回退栈

  

19.4 Fragment生命周期

  

19.5 Fragment的交互

  

19.6 Pad与手机的适配

   

19.7 Fragment切换

20 传感器、JSON入门


20.1 传感器的使用

     20.1.1 光、方向

  

20.2 JSON数据

     20.2.1 原生JSON数据解析

     20.2.2 Gson使用

     20.2.3 fastjson 使用

21 自定义控件


21.1 自定义控件的流程

  

21.2 onMeasure 方法

  

21.3 onLayout 方法

  

21.4 onDraw 方法

  

21.5 Android 的触摸事件传递机制

  

21.6 自定义控件与动画的结合

22 JNI 入门


22.1 JNI入门

 

22.2 C语言入门

     22.2.1 C语言的数据类型

     22.2.2 C语言的输出与输入函数

     22.2.3 C语言的指针与数组

     22.2.4 C语言的多级指针

     22.2.5 内存管理

23 NDK入门


23.1 NDK工具简介

  

23.2 NDK的开发步骤

  

23.3 so库加载

  

23.4 NDK的小应用(加密器、图片处理器)  

24 JNI进阶


24.1 C++ JNI开发

  

24.2 C++ NDK开发

25 第三方插件new (1).png


25.1 第三方接入库接入的一般方法

   

25.2 百度地图

      

 25.2.1 手机定位的方式

       25.2.2 百度地图的申请

       25.2.3 百度地图的定位

       25.2.4 百度地图增加标注

   

25.3 新浪微博

       25.3.1 新浪微博接入申请

       25.3.2 常见的加密方式

       25.3.3 新浪微博的分享

       25.3.4 新浪微博登陆

   

25.4 shareSDK

       25.4.1 注册shareSDK

       25.4.2 引入SDK

       25.4.3 一键分享到各大平台   


26 应用优化入门new (1).png


26.1 更优秀的列表控件——RecyclerView

      26.1.1 RecyclerView的导入

      26.1.2 RecyclerView加载数据

      26.1.3 RecyclerView不同的展示效果

      26.1.4 RecyclerView增加点击

      26.1.5 RecyclerView动画效果

      26.1.6 RecyclerView分割线

   

26.2 如何内存优化

   

26.3 Java的对象引用类型

     

 26.3.1 强引用

      26.3.2 软应用

      26.3.3 虚引用

      26.3.4 弱引用

   

26.4 MAT 内存分析

   

26.5 LeakCanary 分析工具

      26.5.1 LeakCanary的使用

      26.5.2 检测Fragment

      26.5.3 检测某个特定对象  

      26.5.4 LeakCanary的原理简介

   

26.6 常见的内存泄露

      26.6.1 内部类导致内存泄露

      26.6.2 Context导致内存泄露    

27 应用优化进阶new (1).png


27.1 内存优化的原理

      27.1.1 减少内存使用

      27.1.2 内存回收

      27.1.3 内存重用

       

27.2 内存检查   

      27.2.1 查看UI布局过度绘制

      27.2.2 查看UI布局的渲染速度

      27.2.3 查看UI布局的层级

   

27.3 UI布局优化

      27.3.1 如何避免过度绘制

      27.3.2 减少布局层级

      27.3.3 复用

      27.3.4 使用include、merge、viewStub标签    

   

27.4 BlockCanary的使用   

28 Android新特性、蓝牙、WIFInew (1).png


28.1 Material Design 介绍

  

28.2 波纹触摸反馈

  

28.3 CardView的使用

  

28.4 TextInputLayout的使用

  

28.5 NestedScrollView的使用

  

28.6 FloatActionButton的使用

  

28.7 Toolbar

  

28.8 Snackbar

  

28.9 CoordinatorLayout 


28.10 Palette

  

28.11 ActivityOptionsCompat过渡效果

  

28.12 transition系统

  

28.13 波纹动画

  

28.14 Android 蓝牙开发(蓝牙播放器、蓝牙聊天室)

  

28.15 Android WIFI开发

  


29 代码管理工具、项目管理new (1).png


29.1 SVN  


29.2 GitLab  


29.3 项目管理经验

     29.3.1 需求文档的编写与分析

     29.3.2 项目的时间的管理

     29.3.3 项目的质量的管理

     29.3.4 项目的风险的管理

     29.3.5 项目管理的工具

30 HTML_CSS 入门new (1).png


30.1 HTML基础知识介绍

  

30.2 常见的HTML标签

  

30.3 HTML5新增的标签

  

30.4 CSS样式简介

  

30.5 CSS选择器

  

30.6 CSS选择器的优先级别

  

30.7 HTML标签的类型

  

30.8 CSS属性

  

30.9 盒子模型

  

30.10 HTML内容居中

31 CSS 加强new (1).png


31.1 CSS的布局

  

31.2 综合小练习01-百度首页

  

31.3 综合小练习02-登录界面

  

31.4 综合小练习03-宠物网

  

31.5 Bootstrap简介

  

31.6 综合小练习04-仿Mac OS界面

32 JavaScript入门与加强new (1).png


32.1 JS简介-基本数据类型

  

32.2 JS语法-对象语法

  

32.3 JS语法-内置对象window

  

32.4 JS语法-内置对象document

  

32.5 JS语法-DOM操作 

  

32.6 Canvas画板

  

32.7 JS综合demo-选项卡切换

33 HTML5综合练习new (1).png


33.1 jQuery入门

  

33.2 瀑布流显示的实现

  

33.3 前端知识总结

  

33.4 响应式设计


34 React Native课程new (1).png


34.1 React Native开发介绍   

      34.1.1 配置React Native的开发环境   

      34.1.2 React Native的常用组件View   

      34.1.3 FlexBox布局之React Native篇


34.2 React Native组件生命周期   

      34.2.1 React Native常用组件之ScrollView   

      34.2.2 React Native请求网络数据   

      34.2.3 React Native常用组件之ListView

      34.2.4 ListView综合小练习-1   

      34.2.5 ListView综合小练习-2   

      34.2.6 React Native常用组件之TabBar和TabBar.Item组件   

      34.2.7 React Native常用组件之Navigator



35 项目实战new (1).png


项目1 手机管家

  

项目2 网易新闻


项目3 安智市场 


项目4 手机京东


项目5 映客直播


项目6 投哪儿


项目7 小码哥超市(跨平台)