起初,这个过程似乎很简单,但在完成这项任务时,我肯定缺少一些东西。我想在我的应用程序本地创建一个设置文件,用于存储一大堆数据(不值得偏好)。我最终使用以下代码片段保存了文件。
protected File createSettingsFileLocation(String fileNameF)
{
File directoryFile = context_.getDir("settings", Context.MODE_PRIVATE);
File settingsFile;
settingsFile = new File(directoryFile, fileNameF);
if (!settingsFile.exists())
{
try
{
settingsFile.createNewFile();
} catch(IOException e)
{
Log.e(MyConstants.LOG_TAG, "Could not create the file as intended within internal storage.");
return null;
}
}
return settingsFile;
}
然后通过以下代码片段在本地查找文件,然后继续检索该文件。
public String getCurrentFileContainingSettings()
{
List<String >settingFilesInFolder = getLocalStorageFileNames();
if (settingFilesInFolder == null || settingFilesInFolder.isEmpty())
{
return null;
}
String pathToCurrentSettingsFile = settingFilesInFolder.get(0);
return pathToCurrentSettingsFile;
}
protected List<String> getLocalStorageFileNames()
{
return Arrays.asList(context_.fileList());
}
但是,settingFilesInFolder
总是不返回任何条目,所以我从getCurrentFileContainingSettings()
. 正如我从文档中看到的那样,我认为我做得对。但是,我一定是错过了什么,所以我希望有人能向我指出一些事情。一旦在系统中在首选项文件中创建文件名后,我可能会对文件名进行硬编码,以便稍后在第一次创建设置时访问,但我不应该做我想的那样的事情。