gpt4 book ai didi

java - 如何在共享首选项中分配唯一的字符串值

转载 作者:行者123 更新时间:2023-12-02 09:26:13 24 4
gpt4 key购买 nike

我正在使用共享首选项将我的来电者详细信息存储在我的应用程序中,如下所示。每当有电话时,我都会保存调用者的以下详细信息。

 sharedPrefCallLog = getSharedPreferences("CallLogPref", Context.MODE_PRIVATE);
editorCallLogPref = sharedPrefCallLog.edit();
editorCallLogPref.putString("name", Name);
editorCallLogPref.putString("num", Number);
editorCallLogPref.putString("city",City);
editorCallLogPref.apply();

第一次通话一切正常。当收到第二个调用时,第一个调用的详细信息将被清除并替换为第二个调用。我怎样才能拯救一切?我想保存最近 10 次通话的详细信息吗?

我应该使用sharedPref之外的其他方法吗?

最佳答案

如果您只需要保存最多 10 条通话记录(小数据集),那么共享首选项就可以了。

您需要为您的记录分配一个唯一的 key 。

private void saveCallLog(final int callRecordID){
// key here is callRecordID
sharedPrefCallLog = getSharedPreferences("CallLogPref", Context.MODE_PRIVATE);
editorCallLogPref = sharedPrefCallLog.edit();
editorCallLogPref.putString("name_"+ callRecordID, Name);
editorCallLogPref.putString("num_"+ callRecordID, Number);
editorCallLogPref.putString("city_"+ callRecordID,City);
editorCallLogPref.apply();
}

要获取通话记录详细信息,请使用

private void getCallDetails(int callRecordID){
sharedPrefCallLog.getString("name_"+ callRecordID, null);
sharedPrefCallLog.getString("num_"+ callRecordID, null);
sharedPrefCallLog.getString("city_"+ callRecordID, null);

}

关于java - 如何在共享首选项中分配唯一的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58323108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com