1.Intent类:
功能主要有:
(1)启动服务;
(2)启动用户自定义的activity ui;
(3)启动系统自带的活动功能比如打开拨号盘,发送短信,打开一个视频,打开摄像头拍照等.
(4)传递数据,除了常见的类型外,还可以传送多媒体类型的数据
(5)可以获得一个蓝牙设备,进而进行蓝牙的通信
(6)可以获得一个Uri对象,从而可以对本地文件等数据进行操作
此类相当于一个运输工具,在android应用中频繁使用.
-------------------------------------------------------------------------------------------------------------------
2.Activity类:
此类相当于一个空的窗口,可以在里面加入一些布局和控件.在onCreate方法之前,activity实际上是一个phonewindow对象,在此方法中通过setContentView方法把布局xml解析成View树,进而显示在phonewindow上.获得组件可以通过findViewById和项目中的R类获得id来获得.
3.Service类:
跟activity一样此类是Context的子类,诸如启动服务,订阅广播,启动其它activity等操作都是公共的.所不同的是,service没有界面,启动的和停止等方法跟activity有点不同.
分为之间启动的和绑定的服务两种.
-------------------------------------------------------------------------------------------------------------------
4.BroadcastReceiver类:
此类可以被context的对象注册registerxxx,即订阅.通过sendxxx方法可以发送一个广播,凡是订阅了该广播的对象都可以接收到广播.通常需要ActionFilter进行过滤.
-------------------------------------------------------------------------------------------------------------------
5.ContentProvider类:
此类负责把数据的操作接口统一话,常用的数据的增删改查都有,问题是继承了此类的类要负责具体的实现其中的方法.常用的参数便是Uri对象了,它的形式很多,电话薄,短信等数据都可以获得.与ContentProvider对应的是ContentResolver对象,这个类仅仅负责数据的管理,实际上应该是ContentProvider对象在底部实现,在表面上是这个ContentResolver在弄.ContentResolver可以通过Context对象如activity或service获得.
================================================================
四大组件中ContentProvider类与界面的关系最弱,基本上是独立使用的.其它的3个依照上面的顺序对界面关系依次减弱.4大组件都是可以在AndroidManifet.xml文件里面配置的.
特殊的功能开发还需要配置一定的权限:android.permmition.xxx.
================================================================
最后说说bluetooth和wifi
这两者都是一个接口而已,真正用于通信的是socket.两者都需要扫描到信号,然后连接.
wifi可以得到ip地址而蓝牙不能.