我需要创建最后 5 个通话日期的数组。
我知道我必须将日期保存在数组中,但我不知道如何重新排序其他记录以将最后一次调用日期保留为第一条记录。并且始终只维护 5 条记录
目标是保存最后一个调用字符串并添加到数组中,之后我重新排序并仅维护 5 条记录,之后我使用 FlexJson 创建一个字符串并保存在 sharedpreferences 上。有人有这个完整的流程吗?
这是我正在做的,但到处都抛出错误:
节省
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss dd-MM-yyyy", Locale.getDefault());
Calendar calendar = Calendar.getInstance();
String currentDateTimeString = df.format(calendar.getTime());
List<String> textList = new ArrayList<>();
JSONSerializer ser = new JSONSerializer();
textList.add(currentDateTimeString);
String jsonText = ser.deepSerialize(textList);
editor.putString("lastCall", jsonText);
editor.commit();
读:
String lastCall = callLogPreferences.getString("lastCall", null);
JSONDeserializer<List<String>> der = new JSONDeserializer<>();
List<String> textList = der.deserialize(lastCall);
我正在使用 FlexJson:GSON 和 InstanceCreator 问题
它没有从字符串转换为数组列表