我必須保存用戶ID。我想強制保存用戶ID在長期偏好類型。什麼問題是如果服務器分配我22作爲用戶ID是整數類型。我通過它來優先保存。它保存在putInt方法下,因爲數字的長度很短。如果我檢索它說,整數不能被施放長時間。下面是保存用戶標識的prefrence util類中的重載方法。強制一個變量爲'長'型總是
public int read(String valueKey, int valueDefault) {
return mPreferences.getInt(valueKey, valueDefault);
}
public void save(String valueKey, int value) {
mEditor.putInt(valueKey, value);
mEditor.commit();
}
public long read(String valueKey, long valueDefault) {
return mPreferences.getLong(valueKey, valueDefault);
}
public void save(String valueKey, long value) {
mEditor.putLong(valueKey, value);
mEditor.commit();
}
我想保存用戶ID並保存爲相同的長度。它所做的是,它預測用戶id是整數,因爲數字的長度可能並將其保存在put mEditor.putInt(valueKey,value);希望你明白挫敗感。我可以想到的可能的解決方案是,而不是將價值傳遞給這些方法。我只是用putLong方法顯式保存用戶標識..或者還有其他解決方案嗎?
轉換爲長,或用文字符號'22L' – CollinD
@Usman Ghauri使用以下內容:Long.valueOf(int);. –
@CollinD和tushar:謝謝,但這可能會解決一個案例,但可能會導致int情況下的問題。保存和讀取是我用於其他int/long首選項的通用方法。所以這可能不是最好的解決方案 –