【问题标题】:Can I use a custom made Shared Preference XML to set up application at startup?我可以使用自定义的共享首选项 XML 在启动时设置应用程序吗?
【发布时间】:2018-02-23 14:02:49
【问题描述】:

我想知道共享偏好是否是一种干净的方式来完成我想要完成的事情。我正在构建一个应用程序,我需要能够允许第 3 方在用户使用它之前在手机上预先设置该应用程序。我认为这样做的一种方法是让第 3 方提供一个共享首选项 XML 文件,并让应用程序在启动时尝试读取它。如果没有提供自定义文件,应用程序将在默认条件下启动。

我知道这也可以使用常规文件来完成,我可以通过文件读取和解析,我只是想知道共享首选项是否是这样做的干净方式。

我对 Android 开发还有些陌生,所以我也欢迎更好的想法来完成这项工作。

谢谢

【问题讨论】:

  • 这取决于您计划如何在最终用户使用应用程序“之前”将属性文件“放入”应用程序的文件夹中。打算怎么做?
  • 第三者可以虚拟访问我的设备。这样他们就可以将文件提供到我为他们指定的目录中。
  • 我不确定“虚拟访问”是什么意思。我认为 ithis 适用于手动安装数量有限的应用程序(而不是通过 google play)。看看这是否有助于您确定文件位置:stackoverflow.com/questions/6146106/…
  • 虚拟访问本质上就是 Windows 的远程桌面。我看过那篇文章。由于我对 Android 有点陌生,我不确定这是否是一个权限被阻止的目录,或者我可以在安装应用程序后浏览到它。我还发布了这个可能更好的方法来完成这个,我不同意共享偏好的想法。

标签: java android xml sharedpreferences


【解决方案1】:

在设备上安装应用程序后,您将无权写入应用程序的任何文件夹。您将需要应用程序本身在启动时安装配置文件。

这将是读取配置文件,它可以是一个属性文件,并让应用程序将值写入或复制到 sharedpreferences。

要让应用程序获取属性文件,可以通过从服务器下载文件或什至从设备的 ExternalFiles 文件夹中读取它来完成(对于第二种选择,您需要在 manifest 中设置相应的权限,也可以在运行时请求本地存储的权限)。

应用程序在启动时必须检查它是否已使用属性文件(可以是 sharedpreferences 中的标志)进行初始化,如果没有,则尝试获取属性文件以进行设置。

【讨论】:

  • 谢谢,我曾考虑过这种方法,但希望 Android 可能包含预定义的方法来进行预设。不过我喜欢这个,而且很可能会选择这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多