ApplicationContext的四个实现类

1、ClassPathXmlApplicationContext

2、FileSystemXmlApplicationContext

3、XmlWebApplicationContext

4、WebApplicationContext

1、作用:

Context的实现类有很多,但是 CI 是唯一做具体工作的,其他实现都是对 CI 做代理。CI 中有一些成员对象,先来看看这些对象的用处:

1.mResources(Resources):获取 Apk 中 Res 资源的对象。

2.mOuterContext(Context):用于指向代理本对象的 Context,例如 Activity、Service 等。

3.mTheme(Resources.Theme):主题

4.mPackageManager(PM):包管理类,不仅可以获取我们apk包的信息,还能获取本机apk包的信息。

2、Api 归类

CI 中有很多 Api,我将这些 Api 归了一下类:

1.Service 操作:启动、停止、重启、绑定、解绑、获取系统服务以及多用户操作。

2.权限操作:检查本 App 是否有某种权限、检查某 App 是否有某种权限、检查Uri权限、授予权限等等。

3.关于 SP 的操作:我们知道 SP 其实就是 Xml 文件,所以这里的操作有:获取、移动、删除。

4.文件操作:增删移文件、打开文件流、获取 App 私有文件夹地址等等。

5.数据库操作:我们知道 Sqlite 其实是一种文件型数据库,所以有:打开、创建、移动、删除、获取数据库文件路径等操作。

1.

ClassPathXmlApplicationContext
e1. ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");

e2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};
ApplicationContext ctx = new ClassPathXmlApplication(locations);

注:其中FileSystemXmlApplicationContext和ClassPathXmlApplicationContext与BeanFactory的xml文件定位方式一样是基于路径的。

2.

FileSystemXmlApplicationContext
e1. ApplicationContext ctx = new FileSystemXmlApplicationContext("bean.xml"); //加载单个配置文件
e2. String[] locations = {"bean1.xml", "bean2.xml", "bean3.xml"};          

ApplicationContext ctx = new FileSystemXmlApplicationContext(locations );

3.

XmlWebApplicationContext

e1. ServletContext servletContext = request.getSession().getServletContext();    
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

4.

WebApplicationContext初始化需要ServletContext事例,可在web.xml中配置启动Servlet或者容器监听器。

转载于:https://my.oschina.net/u/4118408/blog/3053152

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值