मुझे एंड्रॉइड पर स्कैला में विकास के साथ एक अजीब समस्या है। मैं एसबीटी एंड्रॉयड प्लगइन का उपयोग कर रहा है और अभी मैं सामग्री प्रदाताओं काम कर पाने के कोशिश कर रहा हूँ, लेकिन ...एंड्रॉइड में स्कैला से जावा स्थिरांक का उपयोग
मैं स्तंभों की सरणी प्राप्त करने की आवश्यकता है, और मैं यह वास्तव में ट्यूटोरियल यहाँ की तरह कर रहा हूँ: http://developer.android.com/guide/topics/providers/content-providers.html
बस जावा के सरणी कोड को स्कैला के साथ बदल दिया। यह इस तरह दिखता है:
val projection = Array(
People.NAME,
People.NUMBER
)
लेकिन तब, स्केला संकलक रिटर्न त्रुटि
[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 में परिभाषित किया गया है (जो लोगों द्वारा लागू किया जाता है)। मैंने पीपुल्स कॉलम से सीधे किसी भी सफलता (एक ही त्रुटि) के बिना इसे प्राप्त करने का प्रयास किया है। स्कैला में जावा से स्थिरांक कुछ अलग है या मैंने अभी एक बेवकूफ गलती की है?
अद्यतन:
अगला समस्या। ContactContract का उपयोग करते समय। संपर्क त्रुटि वही रहता है, और जब कोई अन्य विधि आज़माती है तो मैं संपर्कों तक पहुंच नहीं पा रहा हूं। संपर्क सीधे कॉलम क्योंकि यह सुरक्षित इंटरफ़ेस है।
[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
अभी के लिए, इसके लिए सबसे अच्छा संभव समाधान जावा में कक्षा के रूप में सभी क्वेरी कोड लिख रहा है, और फिर इसे कॉल कर रहा है। इसमें भाषा मिश्रण शामिल है, जटिलता बढ़ जाती है और यह ऐसा कुछ है जिसे मैं पसंद नहीं करता हूं। – exine