我正在尝试使用一些代码将基本变更日志从文本文件加载到警报对话框中。唯一的问题是我无法让我的代码找到我的变更日志文件的位置。文件“changelog”位于 app/src/main/中。这是我的代码示例。
private void displayChangelogDialog() {
Context context = this;
try {
new AlertDialog.Builder(this)
.setTitle("Changelog")
.setMessage(readFile(getApplicationContext().getFilesDir().getAbsolutePath() + "/app/src/main/changelog"))
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do nothing
}
})
.show();
} catch (IOException e) {
Toast.makeText(MainActivity.this, "Error", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
我对 getFilesDir() 或 getAbsolutePath() 不是很熟悉,所以我想如果有人能帮助我找出我做错了什么,这将是一次很好的学习经历。我确定问题出在我输入的路径上,但此刻我有点难过。提前致谢。
最佳答案
getFilesDir
文档:
返回文件系统目录的绝对路径,其中存储了使用 openFileOutput(String, int)
创建的文件。
通常,openFileOutput
访问/data/data
,这与您的应用程序安装路径完全不同。
如果你想访问一个文件,把它放在 assets
文件夹中检查 Assets 相关的功能(参见 AssetManaget
)
关于Android:加载位于 app/src/main/中的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22788105/