【发布时间】:2013-07-17 07:50:46
【问题描述】:
我正在创建一个使用传感器数据并对其进行实验的应用。 我想在每次使用应用程序时创建一个文件夹,并将所有数据存储在文件夹中的文件中。 每次使用应用如何新建文件夹?
【问题讨论】:
标签: android directory filenames
我正在创建一个使用传感器数据并对其进行实验的应用。 我想在每次使用应用程序时创建一个文件夹,并将所有数据存储在文件夹中的文件中。 每次使用应用如何新建文件夹?
【问题讨论】:
标签: android directory filenames
您将在上一篇文章中获得所有答案:
How to create directory automatically on SD card
实现它的关键是方法:
mkdirs();
别忘了在 Android.xml 中为您的设备授予必要的权限!
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
【讨论】:
每次都尝试使用 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 存储的数据将在清除应用数据(从设置)时被清除。
如果您不想这样,那么您可以尝试根据系统时间(以毫秒为单位)创建目录名称。
【讨论】:
在你的主要活动开始时写下:
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" />
【讨论】: