• 为什么 SharedPreferences 可以直接 调用,前面却没有对象


    获取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的

  • 相关阅读:
    【题解】P2262 [HNOI2004]FTP服务器
    关于大模拟
    CodeForces 666E Forensic Examination
    Bzoj3233 [Ahoi2013]找硬币
    Bzoj4350 括号序列再战猪猪侠
    UOJ#31 【UR #2】猪猪侠再战括号序列
    UOJ#21 【UR #1】缩进优化
    51nod1667 概率好题
    [CodeChef
    51nod1245 Binomial Coefficients Revenge
  • 原文地址:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/5142091.html
Copyright © 2020-2023  润新知