【问题标题】:creating different folders each time android app is used每次使用 android 应用程序时创建不同的文件夹
【发布时间】:2013-07-17 07:50:46
【问题描述】:

我正在创建一个使用传感器数据并对其进行实验的应用。 我想在每次使用应用程序时创建一个文件夹,并将所有数据存储在文件夹中的文件中。 每次使用应用如何新建文件夹?

【问题讨论】:

    标签: android directory filenames


    【解决方案1】:

    您将在上一篇文章中获得所有答案:

    How to create directory automatically on SD card

    实现它的关键是方法:

    mkdirs();
    

    别忘了在 Android.xml 中为您的设备授予必要的权限!

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

    【讨论】:

      【解决方案2】:

      每次都尝试使用 SharedPreferences 创建唯一文件夹。

      在 onCreate 方法中维护一个计数器并每次递增。 要创建目录(在 SD 卡中),您可以使用上述答案中的逻辑。

      SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(context);

          /* Get the value of the Counter */
          counter = app_preferences.getInt("counter", 0);        
      
          /* Increment the counter and store it in the Shared Preferences */
          SharedPreferences.Editor editor = app_preferences.edit();
          editor.putInt("sessionInitiatorCounter", ++counter);
          editor.commit();
      

      请记住,使用 SharedPreferences 存储的数据将在清除应用数据(从设置)时被清除。

      如果您不想这样,那么您可以尝试根据系统时间(以毫秒为单位)创建目录名称。

      【讨论】:

        【解决方案3】:

        在你的主要活动开始时写下:

        UUID uuid = UUID.randomUUID();
        String randomUUIDString = uuid.toString();
        String folderPath = "/sdcard/"+randomUUIDString;
        File dataDirectory = new File(folderPath);
        dataDirectory.mkdirs();
        

        这将在您的 SD 卡上创建一个名为“Data”的文件夹。

        如果您使用更高级别的 API 4(1.6),那么不要忘记将这一行添加到 AndroidManifest.xml 中

        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        

        【讨论】:

        • 我希望每次使用应用程序时都创建一个新文件夹。上面所说的只创建一个文件夹,我想每次都创建一个新文件夹。怎么办?
        • 那我会说,尝试使用 UUID 作为文件夹名称。它是一个随机生成的 ID,代表一个 128 位的值。 2 个 UUID 相同的可能性很小 :) 一秒钟,我更新了我的代码。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-15
        • 2015-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多