在开发过程中,我们经常会需要用到一些全局的变量或者全局的“管理者”,例如QQ,需要有一个“全局的管理者“保存好友信息,各个activity即可直接通过该”管理者“来获取和修改某个好友信息,显然,这样的一个好友信息,保存到某一个具体的activity里面,然后依靠activity的intent来传递参数是不合适。我们有两种方法来实现这样一个全局的管理者,一种是使用C++/Java中常用的单例模式,另一种是利用Android的Application类,下面一一阐述。
单例模式在面向对象的开发中很常见,我也不详细描述,简单地给出实现的代码示例吧:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public class QQInfoManager {
private static final QQInfoManager mInstance = new QQInfoManager();
private QQInfoManager() {
}
public static QQInfoManager getInstance() {
return mInstance;
}
public boolean funcA() {
-
Vue中的scoped和scoped穿透,scoped原理
在Vue文件中的style标签上有一个特殊的属性,scoped。当一个style标签拥有scoped属性时候,它的css样式只能用于当前的Vue组件,可以使组件的样式不相互污染。如果一个项目的所有style标签都加上了scoped属性,相当于实现了样式的模块化。
-
聊聊keep-alive组件的使用及其实现原理
keep-alive是Vue.js的一个内置组件。它能够不活动的组件实例保存在内存中,而不是直接将其销毁,它是一个抽象组件,不会被渲染到真实DOM中,也不会出现在父组件链中。 它提供了include与exclude两个属性,允许组件有条件地进行缓存。
-
axios(封装使用、拦截特定请求、判断所有请求加载完毕)
在浏览器中发送 XMLHttpRequests 请求 在 node.js 中发送 http请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 取消请求 自动转换 JSON 数据 客户端支持保护安全免受 CSRF/XSRF(跨站请求伪造) 攻击
|