2011-10-08 16 views
31

मैंने स्कैला सीखना शुरू कर दिया है, और मैं ... मुझे लगता है कि मैं प्यार में हूं। मैंने अभी तक छोटे टेस्ट स्निपेट को कोड किया है, लेकिन चूंकि मैं वर्तमान में एंड्रॉइड डेवलपमेंट में काम कर रहा हूं, मैं वास्तव में क्या करना चाहता हूं, स्कैला में एंड्रॉइड एप्लिकेशन लिखने पर मेरा हाथ आज़माएं।स्कैला, एंड्रॉइड और एक्लिप्स

मैंने पाया इस मामले पर लेख और सवाल है, लेकिन ज्यादातर तीन उपकरण (एंड्रॉयड एसडीके/स्काला/ग्रहण) के पुराने संस्करणों की चर्चा करते हुए, तो सामान्य सवाल यह है:

एंड्रॉयड क्षुधा कोडिंग किसी को भी है स्कैला में अभी, नवीनतम एसडीके, स्कैला 2.9 और एक्लिप्स इंडिगो के साथ? यह कितना व्यवहार्य है?

और, विशेष रूप से:

  1. कैसा है स्काला की सुविधाओं और एंड्रॉयड पुस्तकालय के बीच बातचीत/एकीकरण?

  2. ग्रहण के लिए स्काला प्लगइन का राज्य क्या है? मैंने उन सभी सुविधाओं को पढ़ा है जिन्हें आप उम्मीद करेंगे, लेकिन मैं पहली हाथ की कहानियों को जानना चाहता हूं, विशेष रूप से डीबगर के बारे में।

  3. कितनी अच्छी तरह से निर्माण प्रक्रिया (स्केला Dalvik, चींटी, ProGuard, आदि के लिए जावा के लिए) है को स्वचालित?

धन्यवाद!

+9

+1 "मुझे लगता है कि मैं प्यार में हूं" भाग के लिए +1;) – agilesteel

उत्तर

8

हम भारी हमारे एंड्रॉयड कोड का परीक्षण करने के स्काला का उपयोग कर रहे हैं - आप हम इतनी here कैसा कार्य कर रहे की एक writeup पढ़ सकते हैं। हम संकलन के लिए चींटी या एसबीटी का उपयोग करते हैं - Android विकास के लिए उत्कृष्ट SBT plugin है।

यह सब कहकर, मुझे यकीन नहीं है कि मैं उत्पादन एंड्रॉइड विकास के लिए स्कैला की सिफारिश करूंगा। विशेष रूप से स्कैला 2.9.एक्स मूल रूप से अनुपयोगी है क्योंकि पुस्तकालयों को एंड्रॉइड पर काम करने का कोई अच्छा तरीका नहीं है। आप here मुद्दे के बारे में पढ़ सकते हैं।

यह Android विकास स्काला से काफी फायदा हो अगर हम इसे ठीक से काम मिल सकता है के रूप में एक असली दया है,।

+2

मैं ग्रहण पर AndroidProguardScala प्लगइन के साथ स्कैला 2.10 के साथ प्रोग्रामिंग कर रहा हूं (नीचे देखें)। एंड्रॉइड विकास के लिए स्कैला की सिफारिश की जा सकती है। –

3

ScalaDays 2011 से यह वीडियो hepful हो सकता है:

Scala on Android: Real-world Experience at Bump Technologies माइकल Galpin द्वारा

संपादित करें:

तुम सच में वास्तव में (एंड्रॉयड पर स्काला कोड चलाना चाहते हैं और वास्तव में एक ऐप्लिकेशन नहीं हैं, लेकिन खुद के लिए), तो मेरे पास एक आसान समाधान है। यह इस बात पर निर्भर करता है कि आपका फोन प्रक्रिया का समर्थन करता है या नहीं। सारांश में कदम हैं:

  1. अपने डिवाइस पर उबंटू स्थापित करें (वर्णित के रूप में here)। यह एंड्रॉइड स्थापना को प्रभावित नहीं करेगा।

  2. बूट उबंटू, जेडीके, स्कैला इत्यादि स्थापित करें, अपने स्कैला जार की प्रतिलिपि बनाएँ और वहां से भागें।

3

मैंने कुछ समय पहले स्काला 2.9.0-1 साथ पुस्तक "Learning Android" से एंड्रॉयड आवेदन (एक चहचहाना ग्राहक) को लागू करने शुरू कर दिया।

मेरी राय में आप इसका उपयोग कर सकते हैं।AsyncTask पर पैरामीटर सूची के साथ मुझे केवल एक समस्या थी (यह link, समस्या # 3 देखें)। यदि आप प्रोजेक्ट को चेकआउट करना चाहते हैं, तो आप इसे here पा सकते हैं।

4

समाधान यहां पाया नवीनतम एंड्रॉयड एसडीके उपयोग करने के लिए, ग्रहण 3.7.2 और स्काला 2.9 के साथ:

https://stackoverflow.com/a/11084146/1287856

  1. यह पूरी तरह से एंड्रॉयड पुस्तकालय
  2. आप से बाहर एंड्रॉयड लाइब्रेरी बना सकते हैं संभालती है सामान्य रूप से स्केल परियोजनाएं
  3. निर्माण प्रक्रिया पूरी तरह से स्वचालित है, जिसमें प्रोजेर्ड एंड्रॉइड टूल के साथ प्रोजेक्टिंग और प्रोजेक्ट का निर्यात शामिल है।
+0

अजीब लेकिन सच है, कुछ दिन से मैं 'scala 2.9' (' 2.9.3 आरसी 1', सटीक होने के लिए) के साथ निर्मित एंड्रॉइड एप्लिकेशन लॉन्च नहीं कर सकता, क्योंकि मुझे रनटाइम पर 'नोक्लास डीफफाउंड' मिलता है, हालांकि संबंधित कक्षाएं वास्तव में लिखी जाती हैं 'classes। dex' में। लेकिन हाल ही में 'स्कैला 2.10.0' लगभग ठीक काम करता है (फिलहाल, एंड्रॉइड के साथ कुछ अजीब असंगतताएं हैं, उदाहरण के लिए' ".format (...) 'विधि बाइटकोड उत्पन्न करती है कि एंड्रॉइड सही ढंग से समझ नहीं पा रहा है –

+0

मुझे भी। मुझे नहीं पता क्यों। मेरे पास स्केल 2.10 के लिए आर्लेडी स्विच किया गया है –

संबंधित मुद्दे