新思路团队Android小组技术栈

一、 基础篇

1、Android Studio 熟练使用:包括环境的配置和编译器的使用

1.1 AndroidStudio环境配置


(1) jdk下载和环境配置
下载网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
环境配置:
jdk8会自动配置环境变量,在cmd中输入javac可查看是否已经成功配(如若未自动设置环境变量,自行百度设置方法)
(2) AndroidStudio下载
中文社区:
http://www.android-studio.org/
官网(需要翻墙):
http://developer.android.com/studio/index.html

1.2 AndroidStudio的使用


(1) AndroidSDK下载
(2) AndroidStudio常用快捷键的使用
(3) 在AndroidStudio中使用git进行版本控制以及利用github实现远程仓 库使用和项目分支管理
(4) 在AndroidStudio中安装插件

2、Android四大组件:

2.1 Activity


(1) 什么是Activity?
(2) 在AndroidManifest.xml中配置Activity
(3) Activity的生命周期
(4) 启动Activity的两种方法:startActivity()和startActivityForResult()使用区别
(5) 退出Activity的方式:onBackgress()和finsh()的异同
(6) 使用Bundle在Activity之间交换数据

2.2 Service


(1) 创建和配置Service
(2) Service的生命周期
(3) 启动Service的方法:startService()和bindService()的使用区别
(4) 本地Service的绑定和通信
(5) 怎么保证service不被kill

2.3 Broadcast Receiver


创建和配置BroadcastReceiver组件

2.4 Content Provider


ContentProvider配置和调用

3、Intent使用

3.1 显式和隐式Intent


(1) 显式Intent的使用方法
(2) 隐式Intent的使用方法:使用category、setData()实现启动自己程序内的活动或启动其他程序的活动

3.2 使用Intet运用手机多媒体,比如调用系统摄像头、相册、照片裁剪器等

3.3 使用Intet传递或返回数据


(1) 传递数据和接收数据的方式
(2) 使用Intent传递数据大小限制,不要使用Bundle传递大容量数据
注:intent API中文翻译:http://www.oschina.net/question/565065_67909

4、常见控件和布局的使用

4.1 基本布局:LinearLayout、RelativeLayout、FrameLayout、TableLayout

4.2 常见控件:


(1) TextView、EditText:文本显示和文本输入
(2) ImageView:图片显示控件
(3) Button和ImageButton:设置监听的两种方式(布局中设置和代码中设置)
(4) Progress、Dialog、PopupWindow:实现弹窗
(5) ListView和RecyclerView:Adpter加载列表
(6) SwipeRefreshLayout:实现下拉刷新
(7) ScrollView、NestedScrollView:实现屏幕滑动和滑动监听

5、数据存储:

5.1 掌握SharedPreferences存储的存储和查询数据方式。

5.2 了解使用SQLite进行数据库的创建、升级以及数据的添加、查询、删除、更新等功能。

5.3 文件存储

6、基本的网络访问技术:

6.1 HttpURLConnection,学会调用API

6.2 使用JSONObject解析JSON数据

6.3 线程的简单理解和使用

7、学习Python:

7.1 Python的基本数据类型和语法

7.2 函数的定义和调用

7.3 Python语言的高级特性


注:还有python里的面向对象编程,函数式编程、进程和线程都可以参照Java语言来学习。参考学习网站:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

该阶段推荐书籍资料:《第一行代码》、《疯狂Android讲义》、《Python基础教程》

二、提高篇

1、UI进阶

1.1 Fragment


(1) 什么是Fragment?
(2) Fragment的生命周期
(3) Fragment与Activity之间的通信
(4) Fragment的管理,包括fragment的hide、show和add方法的理解,以及对fragment栈的掌握

1.2 Viewpager


(1) 掌握Viewpager的adapter的构造
(2) 学会viewpager和底部Tab栏的结合使用

1.3 Android中常用动画有哪两类,各自的特点


(1) 补间动画
(2) 属性动画

1.4 自定义View,重点View绘制的几个方法


(1) 自定义View的属性
(2) 在View的构造方法中获得我们自定义的属性
(3) 重写onDraw,onMesure方法

1.5 View的事件分发机制


(1) 点击事件的传递机制
1) 什么是事件序列
2) 点击事件的传递顺序
3) 分发事件的三个重要方法
(2) 分析源码,根据view点击事件实例学习

1.6 Materail Design设计:


掌握MD设计思想,以及MD风格的控件和布局的使用

2、Android进阶知识储备

2.1 Activity的四种启动模式和特点:


(1) standard
(2) singleTop
(3) singleTask
(4) singleInstance

2.2 掌握activity返回栈的工作原理

2.3 Broadcast Receiver


(1) Android常见广播Action常量
(2) Service的启动方法

2.4 Content Provider


(1) Uri是什么,Url是什么(二者不可混淆)
(2) 什么是ContentProvider,完整开发一个ContentProvider的步骤
(3) 使用ContentProvider操作数据
(4) ContentProvider子类开发:实现query(),insert(),update(),delete()方法,AndroidManifest.xml注册
(5) 操作系统的ContentProvider

2.5 Android IPC机制


(1) 什么是进程,什么是线程,什么是多进程模式
(2) Binder的工作机制
(3) Android中如何实现进程间通信

2.6 Android多线程编程


(1) 理解异步消息处理机制,重点Message、Handler、MessageQueue、Looper的工作原理。
(2) 掌握AsyncTask的使用

2.7 OkHttp、Retrofit实现网络访问:


(1) 了解Http的基础知识,包括请求/相应报文格式、header和请求体的三种形式(参考网站:http://www.jianshu.com/p/e544b7a76dac)。
(2) 学会使用OkHttp,并了解其中的原理。
(3) 熟悉Retrofit,探索与OkHttp之间的关系。

2.8 使用GSON解析数据

2.9 Intent传递对象的两种方式及原理:


(1) Serializable方式
(2) Parcelable方式

2.10 Android中的权限管理和运行时权限机制:


(1) 权限分类、授权机制
(2) 申请权限及权限回调

3、Android中的代码设计思想

3.1 设计模式


(1) 什么是设计模式:
(2) Android开发中常见的设计模式有23种:
1) 创建型模式5种:单例模式,抽象工厂模式,工厂模式,原型模式,建造者模式。
2) 结构型模式7种:适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式。
3) 行为型模式11种:观察者模式,中介者模式,访问者模式,解释器模式,迭代器模式,备忘录模式,责任链模式,状态模式,策略模式,命令模式,模板模式。
(3) 重点掌握:
1) 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
2) 工厂模式:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。
3) 建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
4) 观察者模式:一个对象发生改变时,所有信赖于它的对象自动做相应改变。

3.2 RxJava


(1) 什么是RxJava
(2) 简单了解RxJava的适用场景和使用方式
(3) 重点掌握与Retrofit的结合,用此示例来学习。

3.3 接口回调机制:


(1) 回调函数
(2) 可根据view的点击事件理解接口回调机制

3.4 Android中的弱引用和软引用:


(1) 弱引用的应用环境
(2) 软引用的应用环境
(3) 软引用与弱引用的区别

该阶段推荐书籍资料:《Android开发艺术探索》、《设计模式之禅》、《Android源码设计模式解析与实战》、《Android群英传》、《Java核心技术》

三、竞赛篇

  1. Android项目架构模式:MVC、MVP、MVP-RxJava、MVP-databinding等等
  2. 熟悉各种常用API调用:百度或者高德地图等
  3. 了解各种开源框架:LitePal、Picasso、Glide等(开源框架作用仅限缩短开发周期,所以重要的还是学习其中的原理)
  4. 熟练Git操作,利用GitHub或者Coding管理代码仓库

版本号 修订人 修订日期 修订描述
1.0 2015级Android组成员 2017.09.14 创建

大胖倪的慢灵魂 wechat
感觉有用打赏一个呗~