如何存储android通知的日期和时间?

时间:2014-03-02 02:36:29

标签: android notifications sharedpreferences

目前我已经创建了应用程序来存储sdcard中的音频文件。我将所有音频文件列出到ListView,当用户单击该项目并设置项目的日期和时间通知时,它应该显示为notify。我想问的问题是我需要将此通知(日期和时间)存储到数据库中吗?如何将它存储在SD卡中?

1 个答案:

答案 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()));

更新:刚修复了代码中的一些小错误