一、 数据存储
1. 掌握Android 的3种本地数据存储方式以及应用场景
第一种: 使用SharedPreferences存储数据
适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口 令密码等
核心原理:保存基于XML文件存储的key-value键值对数据,通常用来存储一些简单的配置信息。通过DDMS的File Explorer面板,展开文件浏览树,很明显SharedPreferences数据总是存储在/data/data//shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过SharedPreferences.edit()获取的内部接口Editor对象实现。 SharedPreferences本身是一 个接口,程序无法直接创建SharedPreferences实例,只能通过Context提供的getSharedPreferences(String name, int mode)方法来获取SharedPreferences实例,该方法中name表示要操作的xml文件名,第二个参数具体如下:
Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写。
Context.MODE_WORLD_READABLE: 指定该SharedPreferences数据能被其他应用程序读,但不能写。
Context.MODE_WORLD_WRITEABLE: 指定该SharedPreferences数据能被其他应用程序读,写
SharedPreferences对象与SQLite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。
第二种: 文件存储数据
可以在设备本身的存储设备或者外接的存储设备中创建用于保存数据的文件。同样在默认的状态下,文件是不能在不同的程序间共享。
写文件:调用Context.openFileOutput()方法根据指定的路径和文件名来创建文件,这个方法会返回一个FileOutputStream对象。
读取文件:调用Context.openFileInput()方法通过制定的路径和文件名来返回一个标准的Java FileInputStream对象。
第三种:SQLite存储数据
SQLite Database数据库。Android对数据库的支持很好,它本身集成了SQLite数据库,每个应用都可以方便的使用它,或者更确切的说,Android完全依赖于SQLite数据库,它所有的系统数据和用到的结构化数据都存储在数据库中。 它具有以下优点: a. 效率出众,这是无可否认的 b. 十分适合存储结构化数据 c. 方便在不同的Activity,甚至不同的应用之间传递数据。
2.掌握 Android 的文件存储系统的内部存储、外部存储的存储位置、读写流程
3. 理解外部存储涉及的运行时权限的申请
4.掌握 SharedPreferences存储和读取的开发流程
5. 掌握 SQLite 数据库的基本概念
6.掌握 SQLlite 数据库的增删改查的开发流程
7.了解ORMLite、GreenDAO 或 Room 等一种数据库框架的使用方法
8.理解 ContentProvider 实现不同应用之间数据共享的方法
二、 多线程及网络编程
1.理解Android 的多线程的基本概念
2. 掌握 Android 的主线程与子线程交互的常用方法
3.理解 Handler 的异步消息机制的实现原理
4. 掌握 AsyncTask 类的各个方法的定义及作用
5.掌握 Handler、AsyncTask 的开发流程
6.掌握 Http 协议的基本概念
7.掌握 HttpURLConnection 访问网络的开发流程
8. 掌握 OkHttp、Voiley 或 Retrofit 等一种网络通讯框架的使用方法
三、 Material Design 及Android 新特性
1.了解 Material Design 设计风格在 Android 中的应用
2.掌握 RecyclerView 的开发流程
3.了解3种类型的通知的区别
4.掌握 Notification 的开发流程
5. 掌握Toolbar、CardView、FloatingActionButton、Snackbar 和ViewPager 等新控件的使用
6.掌握 CoordinatorLayout、TabLayout、NavigationView 等多种控件的配合使用.产生不同的效果。
四、 View 体系及自定义 View
1.理解View的坐标体系
2.了解View 滑动的实现机理
3.了解View 动画的种类及实现
4.掌握属性动画涉及的相关类,以及开发流程
5.了解 View 的事件分发机制
6.理解 View 的工作流程,以及measure过程、layout过程和draw过程的实现机理
7.理解自定义 View的4种类型,掌握最简单的自定义View的实现。