【发布时间】:2023-03-17 21:07:01
【问题描述】:
安卓 4.4.4 编写一个简单的应用程序来学习 Android 编程的基础知识。 运行调试版本(在我的设备上而不是在模拟器中),无论是在 Android Studio 的 USB 调试中,还是从 USB 断开后的设备上。
我只是想将文本数据写入外部存储上的文本文件。在这个阶段不要关心它是内部存储还是 SD 卡(安装了 SD 卡)。
我已在清单中设置了 WRITE_EXTERNAL_STORAGE 权限。 我正在检查外部存储是否已安装 - 确实如此。
我已经尝试了我找到的代码here:
File file = new File(myContext.getExternalFilesDir(null), "state.txt");
try {
FileOutputStream os = new FileOutputStream(file, true);
OutputStreamWriter out = new OutputStreamWriter(os);
out.write(data);
out.close();
}
我将文件名记录到 LOGCAT,它显示为 /storage/emulated/0/Android/data/com.amazed.matthew.brunel/files/file.csv
这看起来很合理。没有抛出异常,代码运行良好,只是没有创建文件!!那么,是因为我在调试中而在其他地方创建了一个文件,还是什么?我错过了什么吗?
谢谢。
【问题讨论】:
-
1) 它是什么 -
state.txt或file.csv? 2) 什么是data? -
ps.: csv 文件对于 Android 来说是一个非常糟糕的替代方案。有更好的数据存储,例如 SQLite 和 SharedPreferences
-
@Budius - 代码 sn-p 是从给定的链接粘贴的。我的文件名是按照完整路径/stor....../file.csv。选择 csv 是因为平面文件适合应用并且数据不需要索引,所以应该紧凑且快速。
-
没有索引,紧凑且快速。谷歌搜索“android sharedpreferences”。我再说一遍
*.csv对于 Android 来说是一个非常糟糕的选择。 -
很高兴告诉我为什么 csv 不好 - 但到目前为止你还没有告诉我!!!
标签: android android-external-storage