亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在共享首選項中分配唯一的字符串值

如何在共享首選項中分配唯一的字符串值

浮云間 2023-10-13 09:45:27
我使用共享首選項將呼叫者詳細信息存儲在我的應用程序中,如下所示。每當有電話時,我都會保存呼叫者的以下詳細信息。 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 之外的其他方法嗎?
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

如果您只需要保存最多 10 條通話記錄(小數據集),那么共享首選項就可以了。


您需要為您的記錄分配一個唯一的密鑰。


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);


}


查看完整回答
反對 回復 2023-10-13
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號