Android 如果删除了所有设置,保存这些设置的文件是否仍然存在
如果我们从存储在某个密钥下的SharedReferences中删除所有设置,该密钥是否已删除? 如果没有,如何移除它 例如: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
SharedPreferences settings = getSharedPreferences("settings", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.remove("username_field");
editor.remove("password_field");
editor.commit();
存储的“settings.xml”文件会发生什么情况
- 它是被操作系统自动删除还是永远留在那里
- 如果它仍然存在,我们如何删除该文件
值和键都从“设置”首选项中删除。
因此,当您打开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文件是否存在。)为了完整性,请将此添加到您的答案中。。。将此标记为正确答案。