2015-09-29 44 views
-1

我正在製作一個簡單的醫療組件數據庫。我在android studio中做了一個簡單的ListView,其中包含大約9000個名稱的毒品名稱。名都位於一個陣列(string[]),所以我可以在裏面尋找他們,但是當我編譯它,它說:錯誤:(30,17)錯誤:代碼太大的解決方案?

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. 

是否有一個解決這個問題?

+0

從外部源讀取列表而不是在java文件中編碼? – RobAu

+0

放置代碼如何試圖做到這一點,以便它可以很容易地找到確切的問題 –

回答

3

是的 - 基本上不要在源代碼中放入大量的數據。只需包含一個包含所有名稱的文本文件,然後在執行時加載它。 (在正常的Java我會使用Class.getResourceAsStream;在Android中,你或許應該使用的Android resource mechanisms,你應該考慮本地化了。)

這將使人們更方便閱讀和編輯數據。

+0

我認爲類資源可以在Android中工作,但是您通常會發現它們的地方是項目中的src/main/res/raw /'目錄:http://developer.android.com/guide/topics/resources/providing-resources.html - 雖然藥物名稱可能在本地化字符串部門更好。 – zapl

+0

@zapl:將兩個方面都添加到答案中。 –

+0

@JonSkeet你應該寫一封電子郵件給StackOverflow,以便獲得更多的空間,因爲你的徽章不能正常顯示(對於非現場談話抱歉,順便說說很棒的工作)。 – Apurva