将文件存储在SD卡/内部存储器上

时间:2013-07-30 13:18:07

标签: android

我为一个记录声音的应用程序工作。记录使用根路径存储在SD卡上:Environment.getExternalStorageDirectory().getAbsolutePath();。我假设有一些设备没有SD卡(可移动或不可移动),只有内部存储。我该如何处理这些手机来存储录音?我还有一个文件浏览器,用户可以为录音选择所需的位置。

如果缺少sdcard(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);),我应该告诉用户他没有空间可以录制,还是只是写在内部存储上?

2 个答案:

答案 0 :(得分:1)

阅读this

另外在我看来你要么有一个设置来选择存储,然后通知用户是否没有空的空间,但要确保录制的声音不会丢失(例如你录制的第一个字一个小孩,然后你因为没有空间而丢失了记录),或者你可以向他们提出一个问题,在哪里保存,但为了方便使用,你应该有一个默认的地方,所以你不需要在每次录制后浏览目录

答案 1 :(得分:0)

根据以下评论的讨论:

提出一个对话框,让用户决定是否要使用内部存储器(显示他/她剩下多少以及您需要多少)。在做任何事情之前,让用户决定每一步。如果您已经记录了文件,则可以要求用户选择是否删除它们。这是完成任务的一种自然方式,而不需要考虑简化用户的生活。

最后,来自here

context.getFilesDir(); //to get folder
getApplicationContext(); //and the context is retrieved by calling this