Tag: android

ADT Bundle無法自動提示程式碼(ADT Bundle Content Assist not working )

之前灌standard eclipse和ADT Bundle都有遇過類似的問題, 有時候是Alt + / 沒有作用或輸入「.」符號的時候不會有作用, 少了輔助提示真的會很不習慣,有時候突然碰到這個問題也要花不少時間解決, 趁現在還有點印象趕快做一下紀錄

在開發android app的過程中, 最常編輯的檔案就是.java和.xml, 所以分兩個部份來說:

.java

Window->Preferences->Java->Editor->Content Assist

Enable auto activation

2014-08-02_230335

這裡的Auto activation triggers for java是觸發auto activation(語句提示)所需輸入的字元, 預設只有「.」而已, 當然也可以擴充, 像Visual Studio一樣, 輸入每個字都會自動過濾並提示, 想要做到上述所說的可以輸入:.abcdefghijklmnopqrstuvwxyz(,

complete content assist

如果還是不行, 請檢查Advanced中的Java Proposals有沒有勾選

Java Proposals

.xml

1.Associating xml editors with Android Common XML Editor(default)

File Associations

2.Enable Automatically make suggestions

 

XML Auto Activation

3.Setting alt + / keyboard shortcut

這個方法剛好解決我這次碰到的問題

預設的 alt+/ 快捷鍵 是 Word Completion 而不是 Content Assist

1.將Word Completion的快捷鍵設為alt+C

2.將Content Assist的快捷鍵從ctrl+space改為alt+/

XML Content Assist

Word Completion 將剩餘的字自動完成

Content Assist 顯示提示視窗

 

Advertisements

Android java.lang.NoClassDefFoundError: org.jsoup.Jsoup

最近想要做一個android版的RSS Reader, 所以找了一些資料, 發現比較多範例是用jsoup這個第三方套件中的一些api來 取得xml的element, 也試了一下, 但一直出現:

 java.lang.NoClassDefFoundError: org.jsoup.Jsoup

因為我已經把jsoup.jar加到我的專案了(Select Android Project → Right Click →Properties → Java Build Path → Libraries → Add External JARs  → Select .jar→ OK→ OK )

我檢查了Android Project的Android Private Libraries和libs都有

但還是java.lang.NoClassDefFoundError:org.jsoup.Jsoup

所以我只好求助Google大神了

我先上StackOverFlow找到這個Android java.lang.NoClassDefFoundError: org.jsoup.Jsoup問題的答案

但試了一下發現這不適用我, 因為我的ADT已經upgrade到20+而且Android Project也有libs的資料夾(中文資源

但投票最多的答案有給一個linkNoClassDefFoundError – Eclipse and Android這個問答就解決我的問題了

看到第三個答案:

I didn’t have to put the jar-library in assets or lib(s), but only tick the box for this jar in Properties -> Java Build Path -> “Order and Export” (it was listed before, but not selected)  – by Till

 

其實第二個答案, 也有提到適合我的解決方法:

By adding the external jar into your build path just adds the jar to your package, but it will not be available during runtime.

In order for the jar to be available at runtime, you need to:

  • Put the jar under your assets folder
  • Include this copy of the jar in your build path
  • Go to the export tab on the same popup window
  • Check the box against the newly added jar  – by Anthony Forloney

其實, 這兩個答案說的都是一樣的事情(紅線的部份)

先撇開ADT Upgrade遇到的問題, 在ADT中加入第三方套件(.jar)的完整方式應該是:

Select Android Project → Right Click →Properties → Java Build Path → Libraries → Add External JARs  → Select .jar→ OK  → Order and Export  →Check the box against the newly added jar” → OK

看起來要Debug NoClassDefFoundError除了確認有沒有import正確的package, 再來就是檢查有沒有把.jar加入到Android Project重要的是要加入「正確」啊