【问题标题】:Error:(30, 17) error: code too large solutions?Error:(30, 17) error: code too large 解决办法?
【发布时间】:2015-12-26 14:11:40
【问题描述】:

我正在制作一个简单的医疗组件数据库。我在 android studio 中制作了一个简单的ListView,其中包含大约 9000 个药物名称。名称位于数组中(string[]),所以我可以在其中搜索,但是当我编译它时,它说:

Error:(30, 17) error: code too large    
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details. 
Error:Execution failed for task ':app:compileDebugJava'.
Compilation failed; see the compiler error output for details.  

这个问题有解决办法吗?

【问题讨论】:

  • 从外部源读取列表而不是在您的 java 文件中编码?
  • 输入您尝试执行该操作的代码,以便轻松追踪确切的问题

标签: java android listview search large-data


【解决方案1】:

是的 - 基本上不要在源代码中放入大量数据。只需包含一个包含所有名称的文本文件,然后在执行时加载它。 (在普通 Java 中我会使用 Class.getResourceAsStream;在 Android 中您可能应该使用 Android resource mechanisms,并且您也应该考虑本地化。)

这将使读取和编辑数据变得更加容易。

【讨论】:

  • 我认为类资源可以在 Android 中使用,但您通常可以在项目中的 src/main/res/raw/ 目录中找到它们:developer.android.com/guide/topics/resources/… - 尽管药物名称在可本地化的字符串部门中可能会更好。
  • @zapl:将两个方面都添加到答案中。
  • @JonSkeet 你应该给 StackOverflow 写一封电子邮件,以获得更多的空间,因为你的徽章不正确可见(对不起,场外谈话,顺便说一句,干得好)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-05
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-06
相关资源
最近更新 更多