Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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,如果我们从存储在某个密钥下的SharedReferences中删除所有设置,该密钥是否已删除? 如果没有,如何移除它 例如: SharedPreferences settings = getSharedPreferences("settings", MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); editor.remove("username_field"); editor.remove("password_fi

如果我们从存储在某个密钥下的SharedReferences中删除所有设置,该密钥是否已删除? 如果没有,如何移除它

例如:

SharedPreferences settings = getSharedPreferences("settings", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.remove("username_field");
editor.remove("password_field");
editor.commit();
存储的“settings.xml”文件会发生什么情况

  • 它是被操作系统自动删除还是永远留在那里
  • 如果它仍然存在,我们如何删除该文件

如果名为“设置”的共享引用包含“用户名字段”和“paddword字段”,则
值和键都从“设置”首选项中删除。
因此,当您打开SharedReference文件--“settings.xml”时,无法找到该密钥。

另一种情况是,如果共享首选项没有“username\u field”和“paddword\u field”, 没有发生什么事。没有错误

如果您理解“更改SharedReference命名设置,它将更改Android系统设置”,请参见下文。
本地存储的SharedReference


SharedReference也存储在您自己的应用程序包中

见下文

package com.test.setting;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;

public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        SharedPreferences settings = getSharedPreferences("settings", MODE_PRIVATE); 
        SharedPreferences.Editor editor = settings.edit(); 
        editor.putString("username_field","id"); 
        editor.putString("password_field","1111"); 
        editor.commit(); 
        }
    }
此应用程序的包名为“com.test.setting”。
SharedReference的名称为“设置”,访问模式为私有模式。

因此,Android会在应用程序包中创建“settings.xml”文件。
并设置文件权限“rw rw-->”(防止从其他应用程序访问)


如果名为“设置”的共享引用包含“用户名字段”和“paddword字段”,则
值和键都从“设置”首选项中删除。
因此,当您打开SharedReference文件--“settings.xml”时,无法找到该密钥。

另一种情况是,如果共享首选项没有“username\u field”和“paddword\u field”, 没有发生什么事。没有错误

如果您理解“更改SharedReference命名设置,它将更改Android系统设置”,请参见下文。
本地存储的SharedReference


SharedReference也存储在您自己的应用程序包中

见下文

package com.test.setting;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;

public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        SharedPreferences settings = getSharedPreferences("settings", MODE_PRIVATE); 
        SharedPreferences.Editor editor = settings.edit(); 
        editor.putString("username_field","id"); 
        editor.putString("password_field","1111"); 
        editor.commit(); 
        }
    }
此应用程序的包名为“com.test.setting”。
SharedReference的名称为“设置”,访问模式为私有模式。

因此,Android会在应用程序包中创建“settings.xml”文件。
并设置文件权限“rw rw-->”(防止从其他应用程序访问)


是的,我的问题是。。。settings.xml是否已删除或保留在前面。虽然settings.xml文件为空(filesize为零),但settings.xml文件并没有被删除,而是保留下来。并且没有删除xml文件的方法。(虽然xml文件为空,但用户无法知道xml文件是否存在。)为了完整性,请将此添加到您的答案中。。。将此标记为正确答案。是的,我的问题是。。。settings.xml是否已删除或保留在前面。虽然settings.xml文件为空(filesize为零),但settings.xml文件并没有被删除,而是保留下来。并且没有删除xml文件的方法。(虽然xml文件为空,但用户无法知道xml文件是否存在。)为了完整性,请将此添加到您的答案中。。。将此标记为正确答案。