【问题标题】:Storing files on SD card/internal storage将文件存储在 SD 卡/内部存储器上
【发布时间】:2013-07-30 13:18:06
【问题描述】:

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

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

【问题讨论】:

  • 建立一个对话框,让用户决定他/她是否要使用内存(告诉他/她还剩多少以及您需要多少)。
  • 所以我可以在内部存储器上创建一个包含文件的文件夹。我应该听从你的建议
  • 但是如何获取内部存储的“根”呢? Environment.getExternalStorageDirectory().getAbsolutePath() 的等价物?
  • 这完全取决于你,如果你的录音不是很大,你可以在内部存储它们,但我在许多应用程序上遇到了问题,即使我有足够的内部存储空间,我也无法将文件保存为 1KB 大小; ) 用我的手机做点什么..
  • 从这里:developer.android.com/guide/topics/data/… - context.getFilesDir() 并通过调用 getApplicationContext() 获取上下文。

标签: android


【解决方案1】:

阅读this

在我看来,您也可以设置选择存储,然后通知用户是否没有剩余空间,但请确保录制的声音没有丢失(例如您录制的第一个单词一个孩子,然后你因为没有空间而丢失了记录),或者你可以向他们提出一个问题,保存在哪里,但为了方便使用,你应该有一个默认位置,这样你就不需要在每次录制后浏览目录.

【讨论】:

    【解决方案2】:

    根据问题下方的 cmets 的讨论:

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

    最后,来自here

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 2015-06-15
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多