Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的共享引用问题_Android_Sharedpreferences - Fatal编程技术网

android中的共享引用问题

android中的共享引用问题,android,sharedpreferences,Android,Sharedpreferences,在这里,我的数据无法正确保存。我的代码出了什么问题。请尽量方便。 上述代码的注释也在检查中,但没有任何效果。首先,onStop()“可能”永远不会被调用(请参见活动生命周期),实践是将数据保存在onPause()方法中 也许尝试添加更多日志以查看发生了什么 是否调用了onStop() 保存/加载的值是什么 等等 首先,onStop()“可能”永远不会被调用(参见活动生命周期),实践是将数据保存在onPause()方法中 也许尝试添加更多日志以查看发生了什么 是否调用了onStop() 保存/

在这里,我的数据无法正确保存。我的代码出了什么问题。请尽量方便。 上述代码的注释也在检查中,但没有任何效果。

首先,
onStop()
“可能”永远不会被调用(请参见活动生命周期),实践是将数据保存在
onPause()
方法中

也许尝试添加更多日志以查看发生了什么

  • 是否调用了
    onStop()
  • 保存/加载的值是什么
  • 等等
首先,
onStop()
“可能”永远不会被调用(参见活动生命周期),实践是将数据保存在
onPause()
方法中

也许尝试添加更多日志以查看发生了什么

  • 是否调用了
    onStop()
  • 保存/加载的值是什么
  • 等等

使用类中的最后一个字符串常量进行尝试:

public class WordDisplay extends Activity {

private int level;      
private int group;      
private int set;        

private WordDisplay mContext=this;

private int l;
private int g;
private int s;

SharedPreferences preferences;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.wordset);
    set_Word_Display_Event();
    loadPreferences();

          }
protected void loadPreferences() {
 preferences = PreferenceManager.getDefaultSharedPreferences(this);
    // preferences = getSharedPreferences("one", Context.MODE_PRIVATE);

     l= preferences.getInt("Level", 0);
     g=preferences.getInt("Group", 0);
     s= preferences.getInt("Set", 0);
    // Log.d("lll"," - "+preferences.getInt("level",0));

}

    @Override
protected void onStop() {
    super.onStop();
    savePreferences(this.level,this.group,this.set);
 }

protected void savePreferences(int level, int group, int set) {
         preferences = PreferenceManager.getDefaultSharedPreferences(this);
        //preferences = getSharedPreferences("one", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();

        editor.putInt("Level", l);
        editor.putInt("Group", g);
        editor.putInt("Set", s);

       editor.commit();

        //return getPreferences(s).getInt("Set", 0);

    }
 }
然后始终使用成员函数:

public static final String PREFS_NAME = "MyPreferences";
通常情况下,没有魔法可施


使用类中的最后一个字符串常量进行尝试:

public class WordDisplay extends Activity {

private int level;      
private int group;      
private int set;        

private WordDisplay mContext=this;

private int l;
private int g;
private int s;

SharedPreferences preferences;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.wordset);
    set_Word_Display_Event();
    loadPreferences();

          }
protected void loadPreferences() {
 preferences = PreferenceManager.getDefaultSharedPreferences(this);
    // preferences = getSharedPreferences("one", Context.MODE_PRIVATE);

     l= preferences.getInt("Level", 0);
     g=preferences.getInt("Group", 0);
     s= preferences.getInt("Set", 0);
    // Log.d("lll"," - "+preferences.getInt("level",0));

}

    @Override
protected void onStop() {
    super.onStop();
    savePreferences(this.level,this.group,this.set);
 }

protected void savePreferences(int level, int group, int set) {
         preferences = PreferenceManager.getDefaultSharedPreferences(this);
        //preferences = getSharedPreferences("one", Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();

        editor.putInt("Level", l);
        editor.putInt("Group", g);
        editor.putInt("Set", s);

       editor.commit();

        //return getPreferences(s).getInt("Set", 0);

    }
 }
然后始终使用成员函数:

public static final String PREFS_NAME = "MyPreferences";
通常情况下,没有魔法可施


您的意思是,onStop()方法变为onPause()方法。我说得对吗?我这样做了,但同样的问题再次出现。是的,我的意思是关于onPause()。除此之外,我没有发现任何错误,但由于您没有发布修改l、g、s的代码,因此我只建议使用日志。显示有关这些l、g、s更新的更多代码?在savePreferences方法中,为什么不保存In参数中的level、group、set值?为什么用l,g,s来代替呢?它们是从哪里来的?因为你没有发布所有的代码,所以很难说,但是把l、g、s和级别、组都设置为私有成员似乎很奇怪;有问题吗?哇,很好,我把l,g,s改成了level,group,set,我解决了这个问题,我还伪造了调用方法set\u Word\u Display\u method()。谢谢,先生。你的意思是,onStop()方法变为onPause()方法。我说得对吗?我这样做了,但同样的问题再次出现。是的,我的意思是关于onPause()。除此之外,我没有发现任何错误,但由于您没有发布修改l、g、s的代码,因此我只建议使用日志。显示有关这些l、g、s更新的更多代码?在savePreferences方法中,为什么不保存In参数中的level、group、set值?为什么用l,g,s来代替呢?它们是从哪里来的?因为你没有发布所有的代码,所以很难说,但是把l、g、s和级别、组都设置为私有成员似乎很奇怪;有问题吗?哇,很好,我把l,g,s改成了level,group,set,我解决了这个问题,我还伪造了调用方法set\u Word\u Display\u method()。谢谢,先生。很抱歉,它不能工作。我将Context.MODE_PRIVATE更改为0,并将字符串作为您的想法。但是什么也没发生。很抱歉,它不能工作。我将Context.MODE_PRIVATE更改为0,并将字符串作为您的想法。但什么也没发生。