android - 检查共享首选项是否为空

标签 android sharedpreferences

我正在借助这段代码检查共享首选项值是否为空

    SharedPreferences myPrefo = this.getSharedPreferences("myPrefo", MODE_PRIVATE);
    ostt = myPrefo.getString(Sharedprefse.KEY_FSHD, null);

    if(ostt!= null && !ostt.equals(""))
    {
        Toast.makeText(context,"f"+ ostt,                Toast.LENGTH_SHORT).show();

    }
    else{
        Toast.makeText(context, ostt+"n",
                Toast.LENGTH_SHORT).show();

    }

我的问题是,即使共享首选项不为空,每次它都返回 null

这是正确的流程还是我必须尝试其他方式??

如果 sharedpreference 为空,那么我从远程服务器获取一个字符串并将其存储在 shared preference 中

这是我的代码

   if(ostt == null || ostt.matches("") || ostt.isEmpty()) {
                try {
                    HttpClient httpclient = new DefaultHttpClient();
                    HttpPost httppost = new HttpPost("Remote Address");
                    HttpResponse response = httpclient.execute(httppost);
                    str = EntityUtils.toString(response.getEntity());

                } catch (Exception e) {
                    e.printStackTrace();
                }
                finally {
                    if(!(str==null) || !(str.matches("")) || !(str.isEmpty())) {
                        session.createFS(str);
                    }
                }

这是我的 createFS() 函数

 public void createFS(String str){

    editor.putString(KEY_FSHD, str);


    editor.commit();
  }

最佳答案

在你的代码中这样做:

保存到共享首选项:

public void createFS(String str){

SharedPreferences sharedPreferences = getSharedPreferences("myPrefo", Context.Mode_Private);
SharedPreferences.Editor editor = sharedPreferences.edit();

    editor.putString("KEY_FSHD", str);


    editor.commit();
  }

检索时

SharedPreferences myPrefo = this.getSharedPreferences("myPrefo", MODE_PRIVATE);
    ostt = myPrefo.getString("KEY_FSHD", null);

您将获得所需的值。

关于android - 检查共享首选项是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29276786/

相关文章:

android - 无法解析 : com. android.support :support-annotations:23. 1.1

android - 从我的自定义主屏幕启动时相机和 map 崩溃

android - 无法在后台线程上调用观察

android - 无法在对话框 fragment 中滚动

用于创建一次性 Activity 的 Android 共享首选项(示例)

android - 如果从最近的 Activity android 中删除应用程序,则会清除 SharedPreferences

android - 将焦点移动到数组中的下一个 EditText

android - ACTION_OPEN_DOCUMENT_TREE 和 uri 序列化

flutter - 如何在构建方法flutter中访问共享首选项字符串

android - OnPreferenceChangeListener 和 OnSharedPreferenceChangeListener 有什么不同