目前我已经创建了应用程序来存储sdcard中的音频文件。我将所有音频文件列出到ListView,当用户单击该项目并设置项目的日期和时间通知时,它应该显示为notify。我想问的问题是我需要将此通知(日期和时间)存储到数据库中吗?如何将它存储在SD卡中?
答案 0 :(得分:0)
在Android中保存日期集合的最佳方法是将它们保存到Shared Preferences。共享首选项使用键值关系,因此您可以使用音频文件的名称或ID作为键,并将日期转换为毫秒作为您的值。
这是一些示例代码,我创建了一个可以加载并保存到存储首选项的帮助程序类:
public class PreferenceUtil {
public static void saveDateInMillis(Context context, String name, long value) {
SharedPreferences sharedPreferences = context.getSharedPreferences("AppName", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putLong(name, value);
editor.commit();
}
public static long loadDateInMillis(Context context, String name, long defualtValue) {
SharedPreferences sharedPreferences = context.getSharedPreferences("AppName", Context.MODE_PRIVATE);
return sharedPreferences.getLong(name, defualtValue);
}
}
并使用该课程:
//Save a calendar object
PreferenceUtil.saveDateInMillis(getActivity(), "audioID", Calendar.getInstance().getTimeInMillis());
//Load a calendar object
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(PreferenceUtil.loadDateInMillis(getActivity(), "audioID", Calendar.getInstance().getTimeInMillis()));
更新:刚修复了代码中的一些小错误