每次使用android应用程序时创建不同的文件夹

每次使用android应用程序时创建不同的文件夹,android,directory,filenames,Android,Directory,Filenames,我正在创建一个应用程序,它使用传感器数据并对其进行实验。 我想在每次使用应用程序时创建一个文件夹,并将所有数据存储在文件夹中的文件中。 如何在每次使用应用程序时创建新文件夹?您将在上一篇文章中获得所有答案: 实现这一目标的关键是方法: mkdirs(); 别忘了在Android.xml中给你的设备必要的权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 在您的主要活动开始

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

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

实现这一目标的关键是方法:

mkdirs();
别忘了在Android.xml中给你的设备必要的权限

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

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

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" />

每次尝试使用SharedReferences创建唯一文件夹

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

SharedReferences应用程序\u首选项= PreferenceManager.GetDefaultSharedReferences(上下文)

请记住,使用SharedReferences存储的数据将在清除应用程序数据(从设置中)时被清除


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

我希望每次使用应用程序时都创建一个新文件夹。根据您上面所说的,只创建一个文件夹,我希望每次都创建一个新文件夹。怎么做?然后我会说,尝试使用UUID作为文件夹名。它是一个随机生成的ID,表示128位的值。2个UUID相同的可能性很小:)一秒钟后,我更新代码。
    /* 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();