(1)Android的定义
(2)Intent
Intent,直译为意图,是Activity、Service和BroadcastReceiver这三个应用组件之间进行通信的信使;
(3)Activity的一般启动与一般返回
(4)Activity的带回调启动与带结果返回
(6)Activity的Task Stack结构来存储管理启动的Activity对象
Activity的加载模式:
(1)为什么要有ContentProvider?
功能需求:一个应用需要访问另一个应用的数据库表数据;
实际情况:一个应用的数据库文件是应用私有的,其它应用不能直接访问;
(2)ContentProvider是什么?
ContentProvider是Android的四大应用组件之一,当前应用使用ContentProvider将数据库表数据操作暴露给其它应用访问,其它的应用需要使用ContentResolver来调用ContentProvider的方法,它们之间的调用是通过Uri来进行交流的;
(3)相关的API
ContentProvider:内容提供者类;
ContentResolver:内容解析器类;
Uri:包含一个具有一定格式的字符串所对应资源的类;
UriMatcher:用来识别Uri的一个Uri容器;
ContentUris:操作Uri的工具类;
(1)特点与作用
a)广播事件处理属于系统级的事件处理(一般事件处理是属于View级的事件处理);
b)一个应用可以在发生特定事件时发送Broadcast,系统中任何应用只要是注册了对应的Receiver就会接收到此Broadcast;
c)一个应用如果对某个广播感兴趣,就可以注册对应的Receiver来接收广播;
d)广播事件机制是应用程序(进程间)之间的通信的一种手段;
(2)常见的广播
a)收到短信广播:android.provider.Telephony.SMS_RECEIVED(发送一个有序广播);
b)开机完成广播:Intent.ACTION_BOOT_COMPLETED;
c)应用被卸载广播:Intent.ACTION_PACKAGE_REMOVED;
d)手机锁屏:Intent.ACTION_SCREEN_OFF;
e)手机开屏:Intent.ACTION+SEREEN_ON;
(3)发送广播
(1)什么是Service?
(2)Service的特点:
(3)Service的分类
本地服务:Service对象与Service的启动者在同个进程中运行,两者的通信是进程内通信;
远程服务:Service对象与Service的启动者不在同一个进程中运行,这时存在一个进程间通信的问题,Android专门为此设计了AIDL来实现进程间通信;
(4)Service的生命周期
startService(intent):
第一次调用:构造方法()->onCreate()->onStartCommand();
再次调用:onStartCommand();
stopService():onDestroy();
bindService(intent,serviceConnection):
调用:构造方法()->onCreate()->onBind()->onServiceConnected();
unBindService():onUnBind()->onDestroy();
(5)AIDL
AIDL:Android Interface Definition Language,即Android接口定义语言,用于生成可以在Android设备上两个进程之间进行进程间通信的代码;
每个应用程序都运行在自己的独立进程中,并且可以启动另一个应用进程的服务,而且经常需要在不同的进程间传递数据对象;
在Android平台,一个进程不能直接访问另一个进程的内存空间,所以想要对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界;
(6)Service与Activity的区别?
Activity:
Service:
(7)Service与Thread的区别?
Service:
Thread: