Android: 正在初始化一个包含大量项目的列表

Android: initializing a list with a large number of items

我需要使用包含超过 31,000 个字符串的列表作为下拉菜单。现在,如果我在 java 中声明这个 List/Array,我会得到一个错误,指出代码太大而无法编译。另一方面,如果我将这些值放在 strings.xml 中的 string-array 中,我会在尝试构建应用程序时收到消息 Resource compilation failed

还可以做什么来存储这个列表?

我不想将数据保留在服务器中并使用 API 获取它,因为这会增加我的服务器成本。

您可以将数据放入本地 SQLite 数据库中的 table(不需要服务器),然后在需要时只检索可见部分。我建议使用 RecyclerView 来显示项目列表:它需要更多的时间来实现,但对于大数据列表效果很好。

假设列表是静态的,您可以在您的资产文件夹中包含一个 pre-filled 数据库,并在您的应用程序首次启动时将其复制到 /databases 文件夹中。无需应用程序使用大数组填充它。