博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么 SharedPreferences 可以直接 调用,前面却没有对象
阅读量:7064 次
发布时间:2019-06-28

本文共 1037 字,大约阅读时间需要 3 分钟。

获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他 共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.
 
 
  1. public class MainActivity extends Activity {
  2. PopupWindow popupWindow;
  3. View parent;
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. //第一种  通过 context调用 getApplicationContext().getSharedPreferences(name, mode)
  8. //第er种  通过 activity调用 this.getSharedPreferences(name, mode)    ,  this  代表当前对象mainactivity, 可以省略    也就是   写成  getSharedPreferences(name, mode) 
  9.  }

 

我的问题是    

我查到 getSharedPreferences 是contextwrapper 类的 方法。mainactivity 虽然继承自  activity  继承自contextwrapper 。

但是方法一定要对象调用才可以啊。

其实 是 java基础没有掌握牢固

所以  maiactivity 继承自  contextwrapper。 

contextwrapper 内  有 getsharedpreference

所以 相当于mainactivity 内部有   这个方法。

所以  在 mainactivity  内部的  oncreat()方法 调用时候 是可以 直接调用  。而可以省略this的

转载于:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/5142091.html

你可能感兴趣的文章
VUE基础插值表达式
查看>>
如何在mysql客户端即mysql提示符下执行操作系统命令
查看>>
人月神话读后感
查看>>
Learning Agile software Development
查看>>
Flask学习笔记
查看>>
浏览器缓存问题的解决
查看>>
刚学玩原生JS,自己写了一个小游戏,希望在以后能不断地进步加以改善
查看>>
【转】最牛B的编码套路
查看>>
基本服务集与扩展服务集
查看>>
WPF PasswordBox MVVM 实现
查看>>
git配置
查看>>
jq 块的拖拽效果
查看>>
AJAX编程实践
查看>>
SQLSERVER常用系统表
查看>>
Cookie
查看>>
IPC——信号量
查看>>
C++——多维数组动态开辟与释放
查看>>
Linux命令——trap
查看>>
Linux命令——blkid
查看>>
UML——从类图到C++
查看>>