Android 共享首选项-哈希集<;字符串>/设置<;字符串>;限制/最大尺寸
我使用Android 共享首选项-哈希集<;字符串>/设置<;字符串>;限制/最大尺寸,android,sharedpreferences,hashset,Android,Sharedpreferences,Hashset,我使用.putStringSet()使用SharedReferences来存储字符串的集,但使用.getStringSet()无法从中获取超过99个项目 HashSet/Set是否有大小限制 如果是,我如何增加/更改它 请参阅下面的代码: //Always return 99 items. private Set<String> getIdentifers(){ Set<String> identifiers = preferences.getStringSe
.putStringSet()
使用SharedReferences来存储字符串的集,但使用.getStringSet()
无法从中获取超过99个项目
HashSet/Set
是否有大小限制
- 如果是,我如何增加/更改它
请参阅下面的代码:
//Always return 99 items.
private Set<String> getIdentifers(){
Set<String> identifiers = preferences.getStringSet("my_ids", new HashSet<String>());
return new HashSet<String>(identifiers);
}
//`Identifiers` contains 100 items.
private Boolean saveIdentifier(Set<String> identifiers){
SharedPreferences.Editor editor = preferences.edit();
editor.putStringSet("my_ids", identifiers);
return editor.commit();
}
//`Identifiers` show 100 items on Android Studio Debug Console after added `Identifier`to it.
public Boolean addIdentifierToMemory(String identifier){
Set<String>identifiers = getIdentifers(); //99 items
identifiers.add(identifier); //99 items
return savePurchasedProductsIdentifier(identifiers); //100 items
}
//始终返回99个项目。
私有集getIdentifers(){
Set identifiers=preferences.getStringSet(“my_id”,new HashSet());
返回新的哈希集(标识符);
}
//`标识符`包含100项。
专用布尔存储标识符(设置标识符){
SharedReferences.Editor=首选项.edit();
putStringSet(“我的id”,标识符);
返回editor.commit();
}
//`标识符`在添加了`标识符'后,在Android Studio调试控制台上显示100项。
公共布尔addIdentifierToMemory(字符串标识符){
Setidentifiers=getIdentifiers();//99项
标识符。添加(标识符);//99项
返回savePurchasedProductsIdentifier(标识符);//100项
}
您是否尝试与内容提供商一起存储数据?共享首选项并不适用于此。要么是共享首选项,要么是数据库。