1

我的桌面上有 4 个 txt 文件。我创建了一个 android 应用程序,我将在其中读取这些文件并在 EditText 中打印这些文件,但这些文件是 ddms -> myapp -> data -> files 中的药物。

所以使用模拟器我的应用程序可以正常播放,但是在我的手机中,不要读取这些文件并关闭应用程序。

这是我的代码:

    public String ReadFileTrack1()
    {
      FileInputStream fIn = null;
      InputStreamReader isr = null;
      char[] inputBuffer = new char[900];
      String data = null;

      try
      {
         fIn = openFileInput(tracks[0]+".txt");
         isr = new InputStreamReader(fIn);
         isr.read(inputBuffer);

         data = new String(inputBuffer);
      }   

      catch (Exception e) 
      {
         e.printStackTrace();
      }

      finally 
      {
         try 
         {
             isr.close();
             fIn.close();
         } 

         catch (IOException e) 
         {
             e.printStackTrace();
         }
      }

      return data;
    }

代码是正确的,但不要在我的手机上玩。我能为这个问题做些什么?如何在我的手机中加载这 4 个 txt 文件,以便我的应用程序正常播放?

4

1 回答 1

1

您不能在安全设备上写入应用程序的私有存储目录​​,除非应用程序首先创建一个子目录并授予其他人对其的写入权限(这通常是一个坏主意)。

将文件放在外部存储(sdcard)上,或者在构建时将它们打包为 apk 中的资产。

(有一个例外:如果应用程序是可调试的,那么可以使用 adb shell 的 run-as 工具以应用程序用户的身份将某些内容复制到私有目录中,但这很晦涩,不是您想要使用的内容不适用于最终的应用程序。通常,该功能用于另一个方向,以检查正在开发的应用程序在其无法正常工作时对其文件或数据库所做的事情)

于 2012-12-08T03:08:27.153 回答