Android中的消息机制
- Handler+Message消息机制,是用于子线程与主线程的通讯;
- 广播+广播接收者也是消息机制,是重量级别的,四大组件之一,需要激活组件,
是用于组件和组件之间通讯,应用和应用之间通讯
Android广播的理解:
- 发送广播:理解为学校的广播,发出讯息
- 广播接收者:理解为学生听到的广播发出的讯息
Android中无序广播与有序广播
无序广播:
特点一:发送广播后,所有的广播接收者同时接收,这种类型的广播是没有办法中断的
有序广播:
特点一:发送广播后,广播接收者可以指定自己接收的顺序,-1000 到 1000,如果设置为1000,优先级最高,最先接收,如果先接收到了广播,其他的广播接收者就无法接收到了
特点二:属于例外(发送广播的时候,能明确指定广播接收者,一旦明确指定了广播接收者,是无法中断的,指定的这个接收者一定会接收到的)
SharedPreferences的理解与使用
Android 五种数据存储的方式分别为:
- SharedPreferences:以Map形式存放简单的配置参数;
- ContentProvider:将应用的私有数据提供给其他应用使用;
- 文件存储:以IO流形式存放,可分为手机内部和手机外部(sd卡等)存储,可存放较大数据;
- SQLite:轻量级、跨平台数据库,将所有数据都是存放在手机上的单一文件内,占用内存小;
- 网络存储 :数据存储在服务器上,通过连接网络获取数据;
Sharedpreferences是Android平台上一个轻量级的存储类,用来保存应用程序的各种配置信息,其本质是一个以“键-值”对的方式保存数据的xml文件,其文件保存在/data/data//shared_prefs目录下。在全局变量上看,其优点是不会产生Application 、 静态变量的OOM(out of memory)和空指针问题,其缺点是效率没有上面的两种方法高。
1.获取SharedPreferences
要想使用 SharedPreferences 来存储数据,首先需要获取到 SharedPreferences 对象。Android中主要提供了三种方法用于得到 SharedPreferences 对象。
- Context 类中的 getSharedPreferences()方法:
此方法接收两个参数,第一个参数用于指定 SharedPreferences 文件的名称,如果指定的文件不存在则会创建一个,第二个参数用于指定操作模式,主要有以下几种模式可以选择。MODE_PRIVATE 是默认的操作模式,和直接传入 0 效果是相同的。
MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 这两种模式已在 Android 4.2 版本中被废弃。