android手机 scala环境,在Android中使用Scala中的Java常量
我在Android上的Scala中開發了一個奇怪的問題。我正在使用sbt android插件,現在我正在嘗試讓內容提供商工作,但是...在Android中使用Scala中的Java常量
剛剛用Scala替換了Java的數組代碼。它看起來像這樣:
val projection = Array(
People.NAME,
People.NUMBER
)
不過,Scala編譯器將返回錯誤
[error] /home/exine/proj/hello-world/src/main/scala/Activity.scala:12: value NAME is not a member of object android.provider.Contacts.People
[error] People.NAME,
[error] ^
[error] one error found
而實際上它是這個對象的成員,它的接口定義android.provider.Contacts.PeopleColumns(這是由People實現的)。我試著直接從PeopleColumns中獲取它,但沒有取得任何成功(同樣的錯誤)。從Scala的Java中獲取常量有點不同,或者我在某個地方犯了一個愚蠢的錯誤?
更新:
下一個問題。當使用ContactsContract.Contacts時,錯誤保持不變,當嘗試另一種方法時,我無法直接訪問ContactsContract.ContactsColumns,因為它是受保護的接口。
[error] /home/exine/proj/hello-world/src/main/scala/Activity.scala:13: object ContactsColumns cannot be accessed in object android.provider.ContactsContract
[error] ContactsColumns.LOOKUP_KEY,
[error] ^
[error] one error found
2011-07-08
exine
+0
現在,最好的解決方案是將所有查詢的代碼寫入java中的類,然后調用它。它涉及語言混合,增加復雜性,但這是我不喜歡的東西。 –
總結
以上是生活随笔為你收集整理的android手机 scala环境,在Android中使用Scala中的Java常量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《暗黑破坏神:不朽》两周吸金超1.6亿!
- 下一篇: 江西水库二次泄洪 百余村民下游捡鱼:最大