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项
}

您是否尝试与内容提供商一起存储数据?共享首选项并不适用于此。要么是共享首选项,要么是数据库。