Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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_Storage - Fatal编程技术网

Android 关于共享首选项

Android 关于共享首选项,android,sharedpreferences,storage,Android,Sharedpreferences,Storage,我正在寻找存储用户数据的最佳方法,如(IP地址、端口号、用户名、密码)用于活动的生命周期 所以我决定使用SharedReferences。在提及时,我看到了一个答案,即“如果用户从以下位置清除应用程序数据: 设置->应用程序管理器->应用程序->清除数据 然后,保存在共享首选项中的所有数据都将被删除 这是真的吗?请帮帮我。我提到过 但它并没有提到用户可以清除共享偏好数据 这是一个很好的方法吗?还是有其他更好的方法获得它?是的,如果用户通过设置清除数据,则共享首选项中的所有数据都将消失 Andro

我正在寻找存储用户数据的最佳方法,如(IP地址、端口号、用户名、密码)用于活动的生命周期

所以我决定使用SharedReferences。在提及时,我看到了一个答案,即“如果用户从以下位置清除应用程序数据:

设置->应用程序管理器->应用程序->清除数据

然后,保存在共享首选项中的所有数据都将被删除

这是真的吗?请帮帮我。我提到过 但它并没有提到用户可以清除共享偏好数据


这是一个很好的方法吗?还是有其他更好的方法获得它?

是的,如果用户通过设置清除数据,则共享首选项中的所有数据都将消失

Android为您提供了多个保存持久应用程序数据的选项。您选择的解决方案取决于您的具体需求,例如数据是应用程序的私有数据还是其他应用程序(和用户)可以访问的数据,以及您的数据需要多少空间

您的数据存储选项如下:

共享首选项 在键值对中存储私有基元数据

内部存储器 在设备内存中存储私有数据

外部存储器 将公共数据存储在共享的外部存储器上

SQLite数据库 将结构化数据存储在专用数据库中

网络连接 使用您自己的网络服务器在web上存储数据


Android为您提供了一种方法,可以通过内容提供商将您的私人数据公开给其他应用程序。内容提供商是一种可选组件,可公开对您的应用程序数据的读/写访问,但需遵守您想要施加的任何限制。有关使用内容提供商的更多信息,请参阅内容提供商文档。

是的,如果用户通过设置清除数据,则共享首选项中的所有数据都将消失

Android为您提供了多个保存持久应用程序数据的选项。您选择的解决方案取决于您的具体需求,例如数据是应用程序的私有数据还是其他应用程序(和用户)可以访问的数据,以及您的数据需要多少空间

您的数据存储选项如下:

共享首选项 在键值对中存储私有基元数据

内部存储器 在设备内存中存储私有数据

外部存储器 将公共数据存储在共享的外部存储器上

SQLite数据库 将结构化数据存储在专用数据库中

网络连接 使用您自己的网络服务器在web上存储数据


Android为您提供了一种方法,可以通过内容提供商将您的私人数据公开给其他应用程序。内容提供商是一种可选组件,可公开对您的应用程序数据的读/写访问,但需遵守您想要施加的任何限制。有关使用内容提供商的更多信息,请参阅内容提供商文档。

当然可以,如果您擦除所有应用程序数据,这就像您卸载并重新安装了它一样。
SQLiteDatabases
SharedReferences
中的所有数据都将丢失。但这在您的情况下并不重要!如果您想保存这样的静态资源,那么您需要使用。应用程序资源是静态的无法在运行时擦除或更改nd。请尝试以下操作:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="username">SomeUserName</string>
    <string name="password">123456</string>

<resources>
String username = context.getString(R.string.username);
String password = context.getString(R.string.password);
转到项目中的res/values文件夹,并创建一个名为strings.xml的文件(如果该文件尚不存在)。在该文件中,您可以定义各种
字符串
,如IP地址或端口号、登录凭据、API密钥等等:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="username">SomeUserName</string>
    <string name="password">123456</string>

<resources>
String username = context.getString(R.string.username);
String password = context.getString(R.string.password);

当然,如果您擦除所有应用程序数据,就好像您卸载并重新安装了它一样。
SQLiteDatabases
sharedreferences
中的所有数据都将丢失。但这在您的情况下并不重要!如果您想这样保存静态资源,那么您需要使用。应用程序资源是静态的,无法擦除或在运行时更改。请尝试以下操作:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="username">SomeUserName</string>
    <string name="password">123456</string>

<resources>
String username = context.getString(R.string.username);
String password = context.getString(R.string.password);
转到项目中的res/values文件夹,并创建一个名为strings.xml的文件(如果该文件尚不存在)。在该文件中,您可以定义各种
字符串
,如IP地址或端口号、登录凭据、API密钥等等:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="username">SomeUserName</string>
    <string name="password">123456</string>

<resources>
String username = context.getString(R.string.username);
String password = context.getString(R.string.password);

是的,当执行清除数据时,所有应用程序数据(包括用户详细信息)都将被删除。如果您存储在sqlite数据库中,则会发生这种情况。。。 简而言之,清除应用程序数据意味着应用程序的生命周期已经结束…从这一点上,您的应用程序将作为新安装的应用程序启动


如果您需要在清除应用程序数据时保留数据而不被销毁,则需要将数据保存在远程数据库中,并在本地不可用时进行同步…

是的,清除数据时,包括用户详细信息在内的所有应用程序数据都将被擦除。如果您存储在sqlite数据库中,则会发生这种情况。。。 简而言之,清除应用程序数据意味着应用程序的生命周期已经结束…从这一点上,您的应用程序将作为新安装的应用程序启动


如果您需要在清除应用程序数据时保留数据而不被销毁,则需要将数据保存在远程数据库中,并在本地不可用时进行同步…

Yes当执行清除数据时,所有应用程序存储数据都将被使用。签出其他选项:您应该将该数据保存在SQLite数据库Yes当执行全部清除数据时应用程序存储数据将被使用。检查其他选项:您应该将该数据保存在SQLite数据库中。我认为此值是动态的,因此用户可以将其存储在字符串中。xml可能不是一个好的解决方案。如果我错了,请更正我@Xaver Kapeller,实际上我正在接受用户提供的此值,那么您可以告诉我如何将值设置为stri吗NGA据我所知,当值从用户处接受时,我们无法在string.xml文件中设置值,因为它们是动态的。对于静态,上述答案为b