Java android应用程序中的设置文件
首先,我需要一个如何在Android应用程序中存储私有设置的建议。此设置将包含应用程序登录RESTAPI所需的服务器/登录名/密码/客户端ID。设置可能会在将来更改,所以我需要一个解决方案,可以“轻松”在所有设备上更新它-该应用程序将用于+700客户端手机。手机没有SD卡 我的概念是将这些设置存储在散列文本文件中。我可以将准备好的设置文件发送到客户机,然后客户机通过USB将其复制到设备内存中的给定位置-主存储器中的新文件夹,在该文件夹中存储报警、DCIM等信息 这是一个好的解决方案吗 检查存储的示例方法-在我的测试手机上都返回false:Java android应用程序中的设置文件,java,android,Java,Android,首先,我需要一个如何在Android应用程序中存储私有设置的建议。此设置将包含应用程序登录RESTAPI所需的服务器/登录名/密码/客户端ID。设置可能会在将来更改,所以我需要一个解决方案,可以“轻松”在所有设备上更新它-该应用程序将用于+700客户端手机。手机没有SD卡 我的概念是将这些设置存储在散列文本文件中。我可以将准备好的设置文件发送到客户机,然后客户机通过USB将其复制到设备内存中的给定位置-主存储器中的新文件夹,在该文件夹中存储报警、DCIM等信息 这是一个好的解决方案吗 检查存储的
public boolean isExternalStorageWritable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
return true;
}
return false;
}
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}
如何将文件保存在android外部存储器(不是SD卡)中?这里有一个很棒的文档:
请阅读它以理解外部存储并不意味着android的SD卡。即使是没有sd卡的手机也会有外部存储器
您的清单中需要此权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
然后我使用getExternalFilesDir获取应用程序目录以存储一些文件。
但由于您不需要可移动存储,因此最好使用getFilesDir https://developer.android.com/reference/android/content/Context.html#getFilesDir()
附言:我刚刚注意到文件上说,自从KitKat以来,你不需要任何权限来访问你的应用程序目录。请稍后再看一看…为什么不为此使用中央服务器,并在用户首次登录时向服务器发出请求,然后将设置存储在本地。这样,当您必须更改设置时,您只需在服务器上更改它们,它将在所有设备上更新,而不是向700多台设备发送设置文件
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (PackageManager.PERMISSION_GRANTED != this.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, READ_EXTERNAL_STORAGE_RIGHT_REQUEST_CODE);
}
}