[Powered by Google Translate] [संगोष्ठी] [Android के Apps (अब जेली बीन्स के साथ!)]
[जॉर्डन Jozwiak] [हार्वर्ड विश्वविद्यालय]
[यह CS50 है.] [CS50.TV]
>> सभी को नमस्कार, और Android के Apps (अब जेली बीन्स के साथ!) संगोष्ठी में आपका स्वागत है.
क्योंकि यह, ज़ाहिर है, जेली बीन्स के साथ अब कहा जाता है
ओएस के नवीनतम संस्करण जेली बीन कहा जाता है.
मैं पिछले साल Android के बारे में बात की और यह मूल रूप से एक ही संगोष्ठी किया था
मैं, जिंजरब्रेड के लिए डिजाइन पैटर्न और स्टाइलिश विकल्प पेश किया गया था
आइस क्रीम सैंडविच समय पर बाहर आया था, भले ही
और यह हम थोड़ा आगे जाने के बारे में बात करेंगे कुछ है.
एंड्रॉयड, ज़ाहिर है, विखंडन के साथ कुछ मुद्दों है
इतना नवीनतम गूगल ऑपरेटिंग सिस्टम आम तौर पर है
वास्तव में दुर्भाग्य से, संभवतः एक साल तक के लिए उपयोगकर्ताओं के बीच आम बनने के लिए नहीं जा रहा.
>> लेकिन उस की अनदेखी, हम कारणों क्यों के बहुत सारे के बारे में बात करेंगे
एंड्रॉयड आईओएस की तुलना में काफी बेहतर है.
ठीक है, हम, एंड्रॉयड बनाम IOS के बारे में बात करेंगे
आप सिर्फ एक स्लाइड में स्थापित हो जाएगी कि कैसे कुछ डिजाइन मानदंड,,
और इस और पिछले साल के बीच बड़ा अंतर यह है कि मैं अभी करना चाहते है
साथ काम कर रहे कुछ वैचारिक चीजों के माध्यम से ज़ूम
तो ऑपरेटिंग सिस्टम और एक सच में बुनियादी उदाहरण में चलते हैं.
वास्तव में, गूगल अपने पहले अनुप्रयोग के निर्माण के लिए का वर्णन करता है कि सिर्फ उदाहरण,
और हम एक साथ यह माध्यम से जाओ और बस का वर्णन करेंगे.
>> मैं आप में से कई केवल सी में कोडित है पता है, ताकि जावा पहले से ही होने जा रहा है
एक अलग परिप्रेक्ष्य, और आप अपने पैरों को मिलेगा इस तरह से गीला
और उम्मीद है कि इसके साथ एक छोटे से अधिक सहज महसूस करते हैं.
एक त्वरित सारांश, एंड्रॉयड बनाम आईओएस.
एंड्रॉयड में 25 डॉलर की इस एकमुश्त डेवलपर शुल्क, वहाँ
इस साल 100 डॉलर प्रति बात से कोई नहीं.
जिसका मतलब है कि कोई प्रतिबंध नहीं कर रहे हैं, कि, मैं एक app प्रस्तुत करना चाहते हैं
मैं सिर्फ यह सबमिट करें, और आईओएस के लिए वहाँ की तरह कोई अनुमोदन प्रक्रिया है.
आप ग्रहण का उपयोग कर जावा के साथ विकसित करने के लिए मिलता है
जो पार मंच है, तो आप एक मैक है, तो यह बात नहीं है,
विंडोज, या कुछ लिनक्स मशीन.
बेशक, iOS के साथ आप एक मैक पर XCode का उपयोग करने के लिए है
और Android, बहुत से अधिक लोगों द्वारा प्रयोग किया जाता है
आप अपने अनुप्रयोग कुछ दृश्यता की तरह या शायद है चाहता हूँ ताकि अगर
विज्ञापनों से थोड़ा पैसा बनाने
आप शायद एंड्रॉयड से लाभ होने की संभावना हो.
>> और हमेशा Android के बारे में जाना जाता रहा है कि एक बात
आईओएस बहुत अपने तरीके में तय हो गई है, जबकि अनुकूलन के चरम राशि है
वे बनाए रख सकते हैं ताकि सुरक्षा और हर छोटे पहलू पर नियंत्रण
अपने ओएस और व्यक्तिगत क्षुधा भीतर डिजाइन की.
एंड्रॉयड बहुत स्वतंत्र रूप है, और इतने अधिक संभावनाएं है.
ठीक है, कुछ डिजाइन मानदंड.
सिर्फ IOS की तरह यहां सूचना गोलियाँ और iPhone और आइपॉड छू है
आप का समर्थन चाहते हैं अगर वे एक दर्जन से अधिक उपकरणों की तरह, कहते हैं, का समर्थन किया है
ऐतिहासिक चीजों के रूप में अच्छी तरह से.
एंड्रॉयड के साथ आप उपकरणों के सैकड़ों का समर्थन किया है
तो गूगल को लागू करने की कोशिश कर रहा है कि कुछ चीजें हैं
उपयोगकर्ता एक छोटे से अधिक सुसंगत अनुभव बनाने के लिए,
लेकिन हम भी इस विखंडन के मुद्दों कर रहे हैं इसका मतलब है कि कैसे के बारे में बात करेंगे
आप लगातार समर्थन के बारे में पता होना जरूरी है.
विखंडन, कई अलग ऑपरेटिंग सिस्टम है कि वहाँ का मतलब
एक ही समय में सभी Android चल रहे विभिन्न हार्डवेयर के साथ कई अलग अलग फोन,
इसलिए इस ग्राफ यहां के बारे में 6 महीने के लिए वापस चला जाता है.
हाँ, 6 महीने, और आप कैसे अंधेरी बैंड देख सकते हैं
तल पर गर्मियों में बाहर आया था जो जेली बीन,, है
और आप अभी शायद फोन के बारे में 2% यह है देख सकते हैं.
>> आइस क्रीम सैंडविच, एक साल पहले बाहर आया
और फोन के एक चौथाई के पास है.
साल पहले से ओएस संस्करण का उपयोग कर रहे हैं कि फोन का एक बहुत अभी भी कर रहे हैं.
गूगल उपयोगकर्ता अनुभव बनाने के लिए करने की कोशिश की गई है कि एक बात
क्षुधा भर में लगातार एक बहुत, छत्ते के साथ शुरू होता है
गोली संस्करण जो है, तो आइस क्रीम सैंडविच और जेली बीन,
वे वास्तव में, इस कार्रवाई पट्टी के उपयोग पर जोर करने की कोशिश कर रहे हैं
जो, तुम यहाँ शीर्ष पर देख सकते हैं क्या है
इस छोटे से सेटिंग बटन सहित यहीं सब कुछ,.
यह डिजाइन पसंद है.
अब, आप 3 डॉट्स देख जब भी यह, इस पर क्लिक करें का मतलब
और सेटिंग्स को किसी प्रकार का है जो एक ड्रॉप डाउन मीनू, वहाँ हो जाएगा.
मैं इस बटन पर क्लिक किया है क्योंकि यह केवल दिखाता है.
यह है कि वे एक छोटे से अधिक संगत क्षुधा बनाने के लिए उपयोग करने के लिए कोशिश कर रहे हैं कि कुछ है
बोर्ड के पार और इसलिए उपयोगकर्ता वर्दी अनुभव की एक बेहतर समझ है.
>> यदि आप घर पर देख रहे हैं, तो ठीक है, तो मामले में आप पहले से ही यह किया या नहीं किया है
तो आप अपने कोडन वातावरण स्थापित करने के लिए इन चरणों का पालन कर सकते हैं.
यह यहां वेबसाइट के लिए जा शामिल होगी.
तुम Android SDK स्थापित गूगल कर सकते हैं
और वहाँ कुछ विवरण का पालन करें.
वे तुम्हें सब कुछ बता.
वे तुम्हें एसडीके, डाउनलोड ग्रहण क्लासिक संस्करण स्थापित है
भले ही, निश्चित रूप से, हम जावा में कोडिंग कर रहे हैं.
वे तो इस एडीटी, एंड्रॉयड विकास उपकरण, यह एक सुझाव है, और
आपको अनुमति देता है जो ग्रहण में आप स्थापित है कि एक प्लगइन है
ग्रहण के भीतर Android के साथ एक और अधिक सुव्यवस्थित अनुभव है.
यह तुम कुछ ग्राफिकल यूजर इंटरफेस दे देंगे
विचारों को डिजाइन करने के लिए, और यह आपको बहुत अधिक समर्थन देंगे
और क्षमता emulator और बात की है कि सभी प्रकार के साथ शुरू करने के लिए.
आवेदन ढांचे.
>> मैं Android के भीतर परियोजनाओं संरचित कर रहे हैं के बारे में बात करना चाहता हूँ
और फिर हम एक त्वरित उदाहरण में जाना है, और उम्मीद करता हूँ
आप किसी भी बिंदु पर सवाल पूछने और यह के अंत तक सहज महसूस कर सकते हैं.
हम पहले कुछ शब्दजाल है.
एक गतिविधि आप एक बॉक्स लांच जब आप देख स्क्रीन की तरह है.
पूरे अनुभव, गतिविधि ही है
इसलिए यदि आप एक स्क्रीन या एक दृश्य के रूप में इसके बारे में सोच भी नहीं सकते
लेकिन यह वास्तव में यह के सोर्स कोड के पक्ष में है.
हम अभी भी यह एक दृश्य की वास्तविक इंटरफ़ेस भाग कहते हैं.
यह pset 7 में हम नियंत्रक और फिर दृश्य था कि किस तरह तरह की है.
गतिविधि, अधिक या कम नियंत्रक है
और देखने हम एक्सएमएल के मामले में क्या कर रहे है
जो कि गतिविधि के साथ जुड़ा हुआ है.
टुकड़े आइस क्रीम सैंडविच आगे जाने में कार्यान्वित किया है कि कुछ कर रहे हैं.
यह सिर्फ देखने के कुछ हिस्सों में ले जाने की एक विचार या गतिविधि है
और अलग अलग क्षेत्रों में उन्हें विभाजित हम कर सकते हैं कि इतना
इनमें से कई विभिन्न उपकरणों के लिए हमारे कोड और अधिक उपयोगी बनाने
हम समर्थन करने के लिए है, और यह सिर्फ करने के लिए प्रयास करने का एक तरीका है कि
भी अधिक कोड बाहर कारक.
सेवा संभावित संगीत या नेविगेशन दिशाओं खेल की तरह पृष्ठभूमि बातें कर रहे हैं.
सामग्री प्रदाताओं, इन ऑपरेटिंग सिस्टम के भीतर एपीआई हैं
कि, अगर आप इस तरह की संपर्क जानकारी साझा डेटा का उपयोग करने की अनुमति
और फिर एक आशय हम शुरू करना चाहते हैं जब हम इस्तेमाल करेंगे कुछ है
हमारे वर्तमान गतिविधि से एक नई गतिविधि.
>> नमस्कार एंड्रॉयड, इस बारे में हम बात करेंगे कि एक परियोजना होने जा रहा है.
मैं वास्तव में आप के लिए क्या करेंगे, और फिर हम एक बटन पर क्लिक करें जहां हम एक बात करूँगा
कुछ पाठ और एक नई गतिविधि के प्रक्षेपण के साथ.
बहुत सरल है, लेकिन मैं के माध्यम से जाना चाहते हैं
क्या इस तरह से एक परियोजना में जाना होगा.
आप नई परियोजना बनाने के लिए जब आप ग्रहण के भीतर देखेंगे
नमस्कार एंड्रॉयड नामक इस परियोजना है.
यहाँ तो फ़ोल्डरों की एक पूरी गुच्छा रहे हैं.
तुम सच के साथ संबंध रहे लोगों, स्रोत फ़ोल्डर हैं
संसाधन फ़ोल्डर, को छोड़कर, और कुछ हद तक पुस्तकालयों के लिए लिब्ज़ फ़ोल्डर में.
और अभी तो हम उस के साथ एक ही पृष्ठ पर हैं
यदि आप एक नई परियोजना बनाने के लिए किए गए
मैं यह HelloAndroid कॉल करना चाहते हैं, इसलिए यदि आप,, यहाँ यह सही कर सकते हैं
और तो यह स्वचालित रूप से हमारे लिए जानकारी की एक पूरी गुच्छा है.
पैकेज के नाम एक अद्वितीय पहचानकर्ता माना जाता है
आप एक था कि सामान्य रूप से, वेबसाइट के साथ संबद्ध किया जाएगा.
>> उदाहरण के लिए, मैं इस net.cs50.helloandroid भेंट करेंगे.
और मैं पहले से ही एक बार इस परियोजना बना दिया है.
ठीक है, माफ करना. चलो यह HelloCS50 कहते हैं.
और फिर यह हम करना चाहते हैं आइकन की किस प्रकार की तरह बातें पूछेंगे.
इस वजह से Android के डेवलपर उपकरण इंटरफेस के सभी है
हम ग्रहण करने के लिए जोड़ा कि प्लगइन, तो हम जैसे चीजें चुन सकते हैं
क्या आइकन हम चाहते हैं, और अगर हम चाहते हैं कि उस गहराई में जाना होगा.
लेकिन अंत में, बस, परियोजना बनाना
और सब कुछ यहीं से पता चलता है.
मैं अन्य स्क्रीन पर दिखाया है, के रूप में
, हम स्रोत फ़ोल्डर है, और मैं यह सब जल्द ही इसका क्या मतलब के बारे में बात करेंगे
लेकिन आप इसे तुरंत HelloCS50 स्क्रीन करने के लिए हमें लगता है कि देख सकते हैं.
पाठ और पाठ क्षेत्र लेआउट जोड़ने के लिए यहाँ पर कुछ बटन रहे हैं.
यह XCode तरह तरह की है लेकिन दुर्भाग्य से नहीं काफी सुव्यवस्थित रूप में.
लेकिन क्लिप इस काम को करने के लिए विशेष रूप से अपने दोस्त और एडीटी हो जाएगा.
>> ठीक है, स्रोत फ़ोल्डर जहाँ है
जावा फ़ाइलों को आयोजित किया है, और यह वास्तव में अपने कार्यक्रम का शुभारंभ कर रहे हैं.
यह मूल रूप से नियंत्रकों की तरह है.
हम स्क्रीन लेआउट रखेंगे जहां संसाधन फ़ोल्डर या छोड़कर, है
छवियाँ, लगता है, पाठ, एनीमेशन और सब कुछ, लिब्ज़, जाहिर है, पुस्तकालयों.
और मैनिफ़ेस्ट, यह एंड्रॉयड सिस्टम जानता है कि जिस तरह से है
कैसे अपने अनुप्रयोग के साथ बातचीत करने के लिए.
यह अनुमतियों के बारे में यह कहता है और क्या गतिविधियों वास्तव में चला जाएगा.
यह अपने अनुप्रयोग को चलाने के लिए आवश्यक है कि सभी आवश्यक जानकारी है.
स्रोत फ़ोल्डर है, अगर तुम सही यहाँ देख सकते हैं कि हम इसे विस्तार.
और एक उदाहरण एक कोड देखो यह होगा कि डिफ़ॉल्ट कोड है.
हम यह कहा जाता है, के रूप में, MainActivity.
डिफ़ॉल्ट रूप से, हम, जब इस गतिविधि भार कहा जाता है कि एक समारोह है, जो OnCreate मिल
तो आप OnCreate (savedInstanceState) कॉल करना चाहते हैं.
इस जानकारी के किसी भी बिट्स बहाल करेगा
मामले में अनुप्रयोग रोक दिया गया था.
>> आप देख सकते हैं जो एक पूरी गतिविधि के जीवन चक्र चार्ट नहीं है
आप इसे में गहराई में एक छोटे से अधिक मिलता है,
लेकिन कोड का सबसे महत्वपूर्ण रेखा इस setContentView समारोह है
जो लेआउट के लिए संसाधन फ़ाइल लोड होगा.
तो क्या यहाँ OnCreate मूल रूप से कर रही है, यह कह रहा है
मुझे लगता है मैं इस लेआउट लोड करना चाहते हैं इस गतिविधि बनाते समय.
और हम उस लेआउट एक दूसरे में क्या है के बारे में बात करेंगे.
हम यहां यह वास्तव में इस तरह लग रहा है कि प्रक्षेपण के लिए गए थे,
और डिफ़ॉल्ट रूप से हम यह कर ग्रहण और हमारे लिए यह कर एडीटी है क्योंकि
यह हमारे लिए बनाया है कि सभी boilerplate कोड है
और हम आगे बढ़ने और हम पसंद के रूप में चीजों को बदल सकते हैं.
जैसा मैंने कहा कि हम सभी लेआउट पकड़ जहां संसाधन फ़ोल्डर, यह है
किसी भी प्रकार के मामले में drawables छवियों
वे drawables और फिर ध्वनि फ़ाइलें, मेनू कहते हैं.
यह एक अच्छा क्रमबद्ध फैशन में XML की एक पूरी गुच्छा का एक तरीका है.
आप देख सकते हैं, कर रहे हैं. Hdpi, ldpi, MDPI और drawables लिए xhdpi फ़ोल्डरों.
ये अलग स्क्रीन घनत्व, इंच प्रति इतना उच्च घनत्व पिक्सेल हैं
कम घनत्व, मध्यम घनत्व, अतिरिक्त उच्च घनत्व.
>> यह फिर से है, इसलिए हम इन सभी विभिन्न उपकरणों का समर्थन कर सकते हैं
और आदर्श, आप एक अलग समाधान के लिए विभिन्न छवियों होगा.
हम विभिन्न गतिविधियों में इस्तेमाल किया जाएगा कि सभी विभिन्न लेआउट शामिल हैं जहां लेआउट हैं.
उन्होंने यह भी टुकड़े के लिए लेआउट शामिल हो सकते हैं
जो मूल रूप से आंशिक गतिविधियों का मतलब है.
यदि आप फोन बारी बारी से जब भी तरह शांत कुछ करना चाहते हैं
आप इसे आप एक अलग फ़ोल्डर के रूप में लेआउट परिदृश्य कर सकते हैं एक अलग लेआउट है चाहता हूँ
और Android स्वचालित रूप से, संसाधन फ़ोल्डर में इन नियमों की एक पूरी गुच्छा है
तो यह फोन की मौजूदा सेटअप के आधार पर विभिन्न फ़ोल्डरों को देखने के लिए पता चल जाएगा
आप उपयोग कर रहे हैं हार्डवेयर किस तरह.
इसी प्रकार यहां, इस मूल्यों V11 और मूल्यों-V14
और मूलभूत मूल्यों यह है के लिए फ़ोल्डर
ठीक है, अपने आप में मूल्यों, इस ऑपरेटिंग सिस्टम के सभी संस्करणों में डिफ़ॉल्ट मान होगा.
दूसरी ओर, V11 और V14 छत्ते के साथ पत्राचार
और आइस क्रीम सैंडविच, क्रमशः.
फिर, इन के भीतर है कि इन फ़ोल्डरों अलग तार कर रहे हैं तरीके हैं
और शैलियों, तो आप अपने अनुप्रयोग की उपस्थिति को अनुकूलित कर सकते हैं
या संभवतः भी अपनी कार्यक्षमता, कि शायद एक बुरा विचार किया जाएगा, हालांकि,
ऑपरेटिंग सिस्टम के संस्करण पर आधारित है.
>> और मैं यहाँ इस सब के बारे में बात की थी.
फिर, drawable, कच्चे, लेआउट, मूल्यों.
चूक, हम अभी हैलो Android या नमस्कार CS50 में जाने
यह सिर्फ इस तरह दिखेगा.
यह दुनिया हैलो कहना होगा.
आप Android के पाठ के साथ सही यहाँ देख सकते हैं
इस पाठ को देखने के लिए पाठ, जो मूल रूप से सिर्फ एक लेबल है
हम IOS में यह नहीं कह सकता है.
यह इस अजीब अंकन @ स्ट्रिंग / hello_world है.
यह तो हम कर सकते हैं हम, तार के सभी निकालने का प्रयास है
एंड्रॉयड में हार्ड कोडित तार के सभी एक अलग फ़ोल्डर में,
जो values.strings में होना होता है.
हम यहां से देखो, हम यहाँ बचाया एक हार्ड कोडित स्ट्रिंग है कि देख सकते हैं
एक से नमस्ते दुनिया के लिए, और यह दुनिया नमस्ते कहा जाता है, और यह है है प्रकार
आप चाहते हैं कि करने के लिए कई प्लेटफार्मों भर में आम डिजाइन निर्णय
तार हम संभावित परिवर्तन करने में सक्षम होना चाहता हूँ कि चीजों की तरह कर रहे हैं.
हम अपने एक्सएमएल में हमारे स्रोत कोड फ़ाइल में एफ नियंत्रित करने के लिए नहीं करना चाहती.
हम मौका मिलता है जब भी इस परिवर्तन करने में सक्षम होना चाहता हूँ.
>> इस एक्सएमएल फाइल, strings.xml, निकालने के लिए एक रास्ता है
अन्यथा हमारे लेआउट संसाधनों में होगा कि हार्ड कोडित तार
या हमारे स्रोत कोड में.
हम आवेदन के बारे में यह आवश्यक जानकारी रखने जहां प्रकट है.
यह पैकेज का नाम भी शामिल है. यह एक अद्वितीय पहचानकर्ता हो गया है.
IOS के अनुप्रयोगों के नाम के लिए app स्टोर के विपरीत
अद्वितीय होना जरूरी नहीं है, और आप वास्तव में अपने आवेदन का नाम बदल सकते हैं
आप, मैं गुस्से में पक्षियों के साथ शुरू करते हैं, इसलिए यदि यह सबमिट करने के बाद
और फिर मैं एक अद्यतन बनाने के लिए, और मैं एक नया संस्करण जारी नहीं करना चाहती
मैं एक ही रिलीज चक्र पर हूँ मैं 2 मैं यह गुस्सा पक्षी कह सकते.
यह सिर्फ एक अद्यतन के रूप में दिखा सकते हैं.
अद्वितीय हो गया है कि केवल एक चीज है, इस पैकेज का नाम है
जो कई लोगों को नहीं देखेंगे.
आप स्रोत कोड में या त्रुटि के कुछ प्रकार अगर वहाँ देख रहे थे तो ठीक है, तुम ही देखना चाहते हैं.
घटकों गतिविधियों में शामिल हैं, तो हम घोषित करने के लिए है
हम उपयोग गतिविधि के किसी भी प्रकार.
इस बात की अनुमति तरह है.
>> Android के इस कठोर आवेदन प्रक्रिया नहीं है क्योंकि
बजाय क्षुधा प्रस्तुत करने के लिए वे सब कुछ बस अनुमतियों के बंद आधारित है
और मैनिफ़ेस्ट में बातें की घोषणा.
एसडीके संस्करण भी महत्वपूर्ण है.
हम एसडीके न्यूनतम संस्करण कुछ के रूप में उपयोग कर सकते हैं.
जाहिर है, आप कोड बनाना चाहते हैं
नए ऑपरेटिंग सिस्टम के लिए और डिजाइन.
शायद आधुनिक नहीं है, शायद नहीं जेली बीन.
शायद तुम, मुख्य रूप से आइस क्रीम सैंडविच के लिए डिजाइन करना चाहते हैं
वे डिजाइन निर्णय के संदर्भ में बहुत ही ज्यादा हैं, हालांकि
और वास्तविक पुस्तकालयों और एपीआई.
लेकिन बजाय लोग हैं
मूल एंड्रॉयड की डोनट तरह से वापस संस्करण की तरह जब
अभी भी कहते हैं तो आपके आवेदन डाउनलोड करने के लिए कोशिश करते हैं और उस का उपयोग कर सकता हो जो
यह मेरे फोन पर आप कम से कम संस्करण स्थापित कर सकते हैं काम नहीं करता
और यह जिंजरब्रेड या आइस क्रीम सैंडविच हो गए हैं
आप आराम से प्रस्तुत लग रहा है या जो भी हो.
और यह प्रकट करने का एक उदाहरण है. हम एक बिट में वास्तविक एक पर देख सकते हैं.
>> ठीक है, हम अभी डेमो के साथ आगे जाना होगा.
आप गूगल के एंड्रॉयड अपनी पहली अनुप्रयोग या ऐसा कुछ का निर्माण अगर इस डेमो है.
हम वहाँ में चल रहा है कि सब कुछ के माध्यम से जाना होगा
और खेद, बस यहाँ किसी भी हद तक जावा जो जानता है कि एक संदर्भ के लिए?
ठीक है, तो जावा ज्यादातर लोगों CS50 से बाहर आने के लिए नई कोडिंग भाषा है.
संक्षेप में, यह यहाँ का कहना है कि क्या फिर से जाने के लिए
हम क्या करना चाहते हैं यह दुनिया नमस्ते आवेदन समायोजित बजाय है
यह सब होता है यह शुरूआत है और नमस्ते दुनिया यह कहते हैं कि
उस गतिविधि का नाम है और क्योंकि यह शीर्ष पर हैलो CS50 कहते हैं
हम एक पाठ क्षेत्र और एक बटन बनाने के लिए प्रयास करने के लिए जा रहे हैं
हम इस बटन को दबाने पर यह पाठ ले जाएगा ताकि
पाठ क्षेत्र से और एक नई गतिविधि शुरू करने, और यह कहना होगा
उस पाठ गतिविधि में कहा, और यह अपेक्षाकृत आसान है, जो भी हो.
यह बहुत दिलचस्प नहीं है. आप इस तरह की किसी भी एप्लिकेशन को रिलीज करने के लिए नहीं करना चाहती.
लेकिन यह कुछ महत्वपूर्ण डिजाइन चीजों को दर्शाता है.
>> हम लेआउट फ़ाइलों के साथ प्रकट के साथ बातचीत करने के लिए होगा
स्रोत कोड के साथ, और आप एक से एक गतिविधि शुरू करने के लिए कैसे देख सकते हैं.
हम हमारी पहली गतिविधि के लिए लेआउट के साथ शुरू करेंगे
जो मैं, यह छोटे तरह का पता
लेकिन आप अभी देख सकते हैं, यह सब है, यह हम बनाया कि हमारे लोगो है
गतिविधि का नाम है, और यह केंद्र में नमस्ते दुनिया कहते हैं.
इसके बजाय, मैं पहली बार एक रेखीय लेआउट में यह करने के लिए जा रहा हूँ
एक रिश्तेदार लेआउट, और ये सब बातें कर रहे हैं
आपको लग सकता है और लेआउट के संदर्भ में कुछ बिंदु पर ऊपर जा रहा लायक हैं.
यह HTML की तरह एक बहुत कुछ है.
हम इसे एक कार्यक्रम संबंधी भावना के रूप में जानने लायक नहीं है वास्तव में कहा
लेकिन आप नियंत्रित कर सकते हैं कि इतने सारे अलग अलग लेआउट, वहाँ रहे हैं
और यह शैलियों के संदर्भ में सिर्फ सीएसएस की तरह है.
>> यहाँ सिर्फ सौंदर्यशास्त्र के संदर्भ में चल रही एक बहुत है,
और हाँ, यह सीखने लायक है, लेकिन इसे आप देखना चाहिए बात की तरह है
आप जा सकते हैं और आप कुछ नया करने की जरूरत है की तरह लग रहा है.
मैं कम से कम के साथ शुरू करने के लिए यहाँ एडीटी उपकरणों में से कुछ का लाभ ले सकते हैं.
मैं एक पाठ क्षेत्र बना देंगे, और मैं एक बटन बनाना होगा.
एक दूसरे के बगल में उन्हें सही लगा.
वे पहले से ही उचित आकार.
क्षमा करें, फिर से,, रेखीय लेआउट और रिश्तेदार लेआउट के बीच अंतर करने के लिए वापस आ रहा है
एक रेखीय लेआउट एक छोटे से अधिक कार्यक्षमता देता है
अंतरिक्ष भरने और सुनिश्चित बनाने के मामले में
क्षैतिज या खड़ी हम स्थिति बातें.
एक रेखीय लेआउट और एक रिश्तेदार लेआउट के बीच बड़ा अंतर
अन्य विचारों के सापेक्ष सापेक्ष लेआउट पदों सब कुछ है
और इसके बारे में अच्छी बात यह आकर्षित करने के लिए कम समय लगता है
ऑपरेटिंग सिस्टम के सभी कोड को देखता है और यह हो जाता है क्योंकि यह कहते हैं
यह यहां के सापेक्ष, यहाँ.
यह नेस्ट रेखीय लेआउट की एक पूरी गुच्छा से कम मापन करता है इसका मतलब
जो मैं बातें यहाँ खड़ी जाना चाहता था तो मैं क्या करना होगा.
>> मैं पहले से ही कुछ बातें क्षैतिज जा रहा है, तो मैं एक अलग रेखीय लेआउट की आवश्यकता होगी
खड़ी घोंसला उन्हें, लेकिन मैं एक रिश्तेदार लेआउट कर रहे थे अगर मैं कह सकता
सही और नीचे इन बातों के लिए, बाईं करने के लिए यह इस रखना.
लेकिन मैं उन्हें अभी भरना चाहते हैं, क्योंकि मैं एक रेखीय लेआउट का उपयोग करने के लिए जा रहा हूँ
और तुम यह पहले से ही हमारे लिए इन चीजों का एक बहुत कुछ करता है देख सकते हैं.
सभी विचारों, चौड़ाई और ऊंचाई की एक संपत्ति की आवश्यकता है
और यह 1 के एक वजन के लिए होता है, और यह 1 के एक भार है
इसलिए कि यह पूरे अंतरिक्ष भरता है.
लेकिन चौड़ाई और ऊंचाई सबसे अधिक महत्वपूर्ण हैं.
यहीं इस आईडी क्षेत्र वास्तविक लेआउट के भीतर महत्वपूर्ण नहीं है
हम एक रिश्तेदार लेआउट का उपयोग कर रहा है और हम कर सकते हैं संदर्भ कह रहे हैं कि जब तक
दूसरे करने के संदर्भ में एक दृश्य की स्थिति.
हम एक रिश्तेदार लेआउट था तो हम इस इस एक नीचे की स्थिति कह सकते हैं
या इस आईडी से ऊपर है, लेकिन इस आईडी महत्वपूर्ण होगा
हम संदर्भित कर सकते हैं क्योंकि हम अपने कोड में यह प्रयोग कर रहे हैं जब
इस तरह से इन व्यक्तिगत विचार.
>> और फिर आप शायद pset 7 में देखा है, जो कुछ टैग requestFocus, देख सकते हैं.
क्षेत्रों में से एक के लिए एक ऑटो फोकस टैग या उन पंक्तियों के साथ कुछ था.
और एक बात, ज़ाहिर है, हम, एचटीएमएल में बस की तरह कर सकते हैं
और नोटिस एडीटी के बारे में अच्छी चीजों में से एक यह यहाँ autocompletes है.
यह Xcode में किया था, लेकिन यह फिर भी करता है, शायद नहीं के रूप में अच्छी तरह के रूप में
और हम संकेत कहते हैं और फिर यह स्ट्रिंग के कुछ प्रकार दे सकता है
, एक संदेश लिखना पसंद
मैं इसे एक पल दे तो और, मैं यहाँ एक छोटी सी त्रुटि मिलती है वह भी नोटिस
हम इस बात के लिए एक स्ट्रिंग संसाधन का उपयोग करना चाहिए कह रही है कि,
मैं यह मेरे लिए मुश्किल काम से कुछ करते हैं तो अगर
मैं वर्त्तक Android और निकालने एंड्रॉयड स्ट्रिंग करते हैं, इस स्ट्रिंग का चयन कर सकते हैं.
मैं यह है कि नाम दे सकते हैं, एक संदेश लिखना
और क्या यह अब यह है कि हार्ड कोडित स्ट्रिंग की जगह है था
स्ट्रिंग की. xml फ़ाइल में स्ट्रिंग के लिए एक संदर्भ के साथ,
जो यहाँ यह है अब इसका मतलब है.
>> और मैं इस बिंदु पर एक छोटी सी तुच्छ और की तरह अतिरिक्त काम लगता है कि पता
लेकिन आप चीजों की एक पूरी गुच्छा, तारों की एक पूरी गुच्छा है, जब
कि वास्तव में महत्वपूर्ण है, और विशेष रूप से स्थानीयकरण के लिए
जैसा कि मैंने पहले उल्लेख किया है, Android के एक बहुत ही विश्व स्तर पर इस्तेमाल किया ऑपरेटिंग सिस्टम है क्योंकि
आप बस मूल्यों एन या मूल्यों सपा क्या कर सकते हैं
अंग्रेजी या स्पेनी या अन्य भाषाओं के लिए या कुछ और.
और फिर तुम शायद यह अभी तक का अनुभव नहीं किया है
हम वेब प्रोग्रामिंग के मामले में ज्यादा जावास्क्रिप्ट नहीं किया है के बाद से,
लेकिन हम भी, बटन के लिए onClick कहा जाता है कि इस क्षेत्र से कर सकते हैं
और यह हमारे लेआउट के भीतर संदर्भित करने का एक तरीका है
हम अपने स्रोत कोड में कहा जा करने के लिए एक निश्चित समारोह चाहते हैं.
मैं इस SendMessage कॉल करने के लिए जा रहा हूँ
और क्रम में यहां मुख्य गतिविधि में इसका मतलब है कि यह काम करने के लिए
मैं जनता है कि एक समारोह बनाने के लिए होगा
यह लेआउट द्वारा पहुँचा जा सकता है.
आप सिर्फ यह कुछ भी वापस नहीं करना चाहता क्योंकि यह शून्य है.
, हम यह SendMessage फोन करता हूँ, और यह एक दृश्य लेता है
जो हम इस विधि लंगर कर सकते हैं कि संदर्भ का एक प्रकार है
उस व्यक्ति को देखने के लिए हम इसे चला रहे हैं.
>> आपने देखा, ठीक है, आपने देखा ही नहीं था और अगर मैं नहीं जानता,
लेकिन इस बिंदु पर यहीं
इस दृश्य में अभी तक शामिल नहीं किया गया है कि एक प्रकार है
और ज़ाहिर है, आप सभी प्रकार सहित नहीं के बारे में CS50 से जानते हैं.
आईडीई की तरह ग्रहण के बारे में अच्छी बात यह है कि
आप एक प्रकार शामिल करने के लिए भूल जाते हैं तो यह squiggly एक छोटे से लाल रंग से रेखांकित होगा
और फिर आप दृश्य आयात करने का विकल्प देते हैं.
कर रही है कि एक त्वरित तरीका नियंत्रण बदलाव हे है, और यह आयात करेगा
सभी यह है कि जरूरत फ़ाइलें.
अब हम इस समारोह SendMessage है कि,
जो, एक नई गतिविधि के लिए MainActivity से संदेश भेजने जा रहा है
हम इस एक से नई गतिविधि शुरू करने के लिए एक आशय का उपयोग करने के लिए जा रहे हैं
तो हम शायद एक वैश्विक स्थिर या भी विशेष रूप से एक सार्वजनिक स्थिर बनाने के लिए चाहता हूँ
कि हमें हम स्ट्रिंग संदर्भ के लिए जा रहे हैं पता है कि कैसे मदद करेगा
क्योंकि हम एक मंशा बनाते समय हम सिर्फ एक नई गतिविधि नहीं बुला रहे हैं
लेकिन हम भी यह जानकारी का एक बंडल दे सकते हैं.
एक बंडल वास्तव में एंड्रॉयड का उपयोग करता है कि शब्द है,
और यह है कि यह एक बहुत ही संवेदनशील डेटा प्रकार का नहीं हो सकता जो अतिरिक्त डेटा, दे कहने का एक तरीका है
लेकिन हम निश्चित रूप से booleans या तार या ints के शामिल कर सकते हैं.
बात का उस तरह.
>> यहाँ इन क्वालिफायर में से किसी के बारे में पूछने के लिए स्वतंत्र महसूस हो रहा है,
, सार्वजनिक अंतिम, स्थिर.
लोक महत्वपूर्ण एक है.
यह हम अन्य स्रोत कोड फ़ाइलों से इस चर का उपयोग कर सकते हैं इसका मतलब है कि
इस तरह हम एक नई गतिविधि बनाने के रूप में जब.
हम इस फ़ाइल में स्ट्रिंग संदर्भित कर सकते हैं.
यह निजी है, यह है कि यह यहाँ यह व्यक्तिगत फाइल करने के लिए सीमित है इसका मतलब है.
लेकिन हम अतिरिक्त संदेश की तरह यह कुछ फोन करता हूँ.
अब हम इस समारोह बना दिया है, और हम बटन क्लिक करते हैं, इस समारोह में बुलाया जाएगा.
लेकिन हम समारोह के साथ, जाहिर है, कुछ भी नहीं किया है.
अब हम क्या करना चाहते हैं, एक नई गतिविधि बना है
गतिविधि है कि वास्तव में शुरू किया जाएगा.
ग्रहण में हम नए, एंड्रॉयड गतिविधि, रिक्त गतिविधि कह सकते हैं.
हम इसे कोई नाम दे सकते हैं.
हम कहते हैं कि यह हमारे परिणाम गतिविधि कहते हैं.
और फिर इस पदानुक्रम माता पिता के क्षेत्र को निर्दिष्ट करने का एक तरीका है
कैसे गतिविधियों को एक दूसरे से जुड़े हुए हैं.
इस एक अन्य गतिविधि से शुरू किया जाएगा क्योंकि
हम यह माता पिता के मुख्य गतिविधि है कि निर्दिष्ट करना चाहिए.
>> और मुझे लगता है कि हमें बताया होता, जो वहाँ अगले क्षेत्र पर क्लिक किया जा सकता था
यह भी शामिल था कि कुछ वैकल्पिक क्षेत्रों,
लेकिन एडीटी के बारे में अच्छी बात यह है कि, फिर से, मैं यहाँ नीचे स्क्रॉल तो यह है कि
प्रकट में यह सब वास्तव में डिफ़ॉल्ट रूप से शामिल किया गया था कि याद
हम मूल रूप से परियोजना बनाई, जब
और अब हम इस एक नई गतिविधि बनाने के बजाय प्रयोग किया जाता है, क्योंकि बस
हम यह करने के लिए अपने जीयूआई के माध्यम से चला गया, क्योंकि हमारे अपने वर्ग फ़ाइल जोड़ने
यह पहले से ही हमारे लिए प्रकट करने के लिए यह सब जोड़
जो अभी ऑपरेटिंग सिस्टम शिकायत नहीं होगी कि इसका मतलब
हम इस गतिविधि शुरू करने की कोशिश.
और यह भी, ज़ाहिर है, यह भी तार में पता चलता है जो एक लेबल, दे दी है.
यह हमारे लिए वापस अंत पर बहुत सारी बातें करता है.
वैसे भी, अब हम भी इस परिणाम गतिविधि है कि,
स्रोत फ़ोल्डर में वास्तविक स्रोत कोड फ़ाइल,
और आप को देखने के लिए संक्षेप में इस छू सकता है
हम इस पदानुक्रम माता - पिता के बारे में यह कहा था क्योंकि
यह इस onOption चयनित बात में इस क्षेत्र android.r.ide.home दिया.
>> क्या यह मूल रूप से कह रहा है कि एक मेनू बटन अब वहाँ है
कि स्क्रीन के ऊपरी बाएँ कोने में
हम पहले कार्रवाई बार के बारे में बात की थी, जहां मैं PowerPoint के लिए वापस जाओ
क्योंकि पदानुक्रम माता पिता का अब वापस यहाँ एक छोटा सा तीर नहीं है
हम वास्तव में इस दौड़ के बाद सक्षम होना चाहिए और यह क्लिक करने योग्य है अनुप्रयोग
वापस जाने के लिए, और यह हमें वहाँ कोड का एक छोटा सा बचाने का एक तरीका है.
अब यह अच्छी तरह से भीतर, यह एक पल के लिए उस के बारे में शिकायत करने लगता है.
है कि बाहर टिप्पणी करते हैं.
अब, क्रम में वास्तव में, इन 2 गतिविधियों के साथ बातचीत करने के लिए
हम इस डेटा के सभी शामिल हैं जो एक आशय बनाने के लिए है.
SendMessage में अब मैं कोड के कुछ टुकड़े के माध्यम से क्रूज के लिए जा रहा हूँ
और मैं जाने के रूप में समझा है कि.
एक इरादे, जैसा कि मैंने कहा, एक से एक गतिविधि शुरू करने के लिए एक रास्ता है.
आशय प्रकार है. हम एक चर myIntent बना रहे हैं.
>> और यह वास्तव में हम नए फोन किया है यही वजह है कि एक वस्तु है.
यह करने के लिए इस्तेमाल किया जा रहा का एक छोटा सा लग सकता है, जो वहाँ आम जावा के उपयोग है.
यह हम, गतिविधि या वर्ग MainActivity का उपयोग कर रहे हैं इसका मतलब
और इस तरह के इरादे से यह हो रहा है गतिविधि लेता है
और गतिविधि यह, हम ResultActivity कॉल, जो हो रहा है
और कि अपने ही वर्ग है.
कि शामिल करें.
मैंने पहले उल्लेख किया और फिर, हम संपादित पाठ क्षेत्र के लिए कि आईडी दिया
और पाठ देखने के लिए, ताकि क्रम में प्रोग्राम द्वारा कब्जा करने के लिए
EditText में मौजूद है कि पाठ
हम findViewByID नामक इस समारोह का उपयोग करें,
जो डोम से खेतों पाने के लिए कोशिश कर रहा है जब आप इस्तेमाल करेंगे कि कुछ करने के लिए इसी तरह की है.
व्याख्यान में इस बारे में शायद डेविड वार्ता.
लेकिन यह सिर्फ होने का एक तरीका है उन में है कि हम उन क्षेत्रों के साथ इन बातों टैग क्यों है.
Id.editText1.
यह पहले से ही वहाँ मेरे लिए autocompleting है.
>> और फिर हम भी शामिल है इस देंगे EditText अब हम क्षेत्र है कि
हमारे कार्यक्रम के भीतर, यह सब findViewByID मूल रूप से किया गया था
आप के रूप में हमें उस EditText के लिए एक संदर्भ दे यह सोच भी नहीं सकते.
अब हम स्ट्रिंग या संदेश प्राप्त करना चाहते हैं
हम का उपयोग करके कर सकते हैं जो कि EditText भीतर
आप एक के रूप में EditText के बारे में सोच सकता है संरचना-
हम उस में एक वस्तु विभिन्न तरीकों की एक पूरी गुच्छा जावा के साथ फोन
या खेतों और विशेषताओं से जुड़ा है.
मैं EditText कहते हैं. यह मुझे का उपयोग करने का मौका देता है
मौजूदा पाठ मिल जाएगा जो इस तरह के gettext के रूप में एक विधि,
कि EditText में और फिर कि स्पष्ट रूप से परिवर्तित
एक स्ट्रिंग के लिए, और हम संदेश को बचाया है.
अब हम वास्तव में हम सिर्फ क्षण पहले बनाया कि इरादे के साथ कुछ करना चाहते हैं.
यह मंशा में कहा जाता है के रूप में मैं, अतिरिक्त डाल देंगे
जो, फिर, जैसा मैंने पहले कहा, इस बंडल बनाने का एक तरीका है
डेटा की एक पूरी गुच्छा के साथ.
हम हम के तहत इस बचत कर रहे हैं क्या पता है तो अतिरिक्त संदेश, हमारे टैग है
और फिर मैं संदेश सहित हूँ.
>> और फिर हम वास्तव में यह पैरामीटर myIntent देकर गतिविधि शुरू कर सकते हैं.
मैं विंडोज 8 के लिए उन्नत और के बाद से यह वास्तव में अब तो, गतिविधि का शुभारंभ करेंगे
वहाँ संक्षेप में दिखाने के कुछ त्रुटियाँ हो, लेकिन उन्हें नजरअंदाज करने की कोशिश हो सकती है.
और यह एंड्रॉयड एमुलेटर है.
उम्मीद है कि कोड वास्तव में एक पल में पॉप जाएगा.
फिर, उन सभी छोटी बातों की अनदेखी.
लेकिन एंड्रॉयड एमुलेटर आप ऑपरेटिंग सिस्टम के किसी भी संस्करण का अनुकरण कर सकते हैं
जल्द से जल्द लोगों से, डोनट, जिंजरब्रेड.
यह जेली बीन 4.1 है.
लेकिन आप अभी देख सकते हैं, यह हम बनाया है.
इस MainActivity, EditText, बटन है.
मैं यहाँ कुछ लिख सकते हैं, लेकिन हम इस बिंदु पर क्या याद आ रही है?
हम संदेश भेजने के लिए जा रहा है कि MainActivity में क्षेत्र बनाया
अन्य गतिविधि के लिए, लेकिन इस बिंदु पर
हम अन्य गतिविधि में कुछ भी नहीं किया है, तो यह कुछ भी प्राप्त नहीं हो रहा है.
हम आगे बढ़ने से पहले के उस हिस्से को खत्म करते हैं.
>> इस परिणाम गतिविधि, हम क्या करने की आवश्यकता होगी कि हम क्या करने की आवश्यकता होगी है हम की आवश्यकता होगी करने वाली है
हम भी, इस गतिविधि के भीतर इरादे संदर्भित कर सकते हैं
इसलिए हम वास्तव में सरल है जो मंशा पर कब्जा किया.
यह गतिविधि वर्ग में शामिल एक समारोह है
तो हम सिर्फ "इरादे से संदेश मिलता है." कह सकते हैं
"आशय myIntent = getIntent."
और यह, myIntent एक वस्तु है हमें अब देना होगा
जो इस गतिविधि के लिए हमें का नेतृत्व किया है कि इरादे के लिए एक संदर्भ है.
MainActivity कॉल और गतिविधि के परिणाम को अतिरिक्त जानकारी देता है.
रिजल्ट गतिविधि अब, यहाँ यह है कि नेतृत्व मंशा पर लग रहा है
और हम, हम एक दूसरे में बनाए गए संदेश का उपयोग कर सकते हैं
getStringExtra, और यह मेरे लिए स्वत: पूर्ण होगा.
और फिर, हम टैग किया जिस तरह से याद है कि डेटा का सा
,, यहाँ पर इस सार्वजनिक स्ट्रिंग इस क्षेत्र देकर था
जो हम वास्तव में शामिल स्ट्रिंग के लिए टैग है.
>> मैं MainActivity.Extra_Message कहते हैं
यह सही नहीं है, और इस पैरामीटर नाम की तरह की तरह है
हम नियंत्रक से टेम्पलेट के लिए कोड पारित कर दिया, जब
हम शीर्षक तीर कुछ कह सकता हूँ जब.
यह वहाँ विचार की ही तरह है.
अब, यह याद रखना.
कोड हम भी इस ऑटो बनाया था या स्वत: उत्पन्न
परिणाम गतिविधि के लिए, जो बीच में पाठ दृश्य भी शामिल
कि दुनिया नमस्ते कहते हैं.
हम संभावित है कि बड़ा बना सकता है.
पहला यह है कि क्या करना चलो.
हम इसे 40 घनत्व स्वतंत्र पिक्सल बना सकता है.
चलो विशाल सुपर है, देखते हैं. यह ठीक हो जाएगा.
और फिर हमारे कोड के भीतर इस व्यक्ति पाठ दृश्य का संदर्भ के लिए आदेश में
हम, यह एक पहचान पत्र देने की आवश्यकता होगी
और हम कहते हैं कि ऐसा करने के क्रम में @ हम इसे पहचान प्रदान जिसका अर्थ है + आईडी,.
हम सिर्फ @ आईडी कहा तो यह है कि हम पहले से ही मौजूद है कि एक आईडी संदर्भित कर रहे हैं मान जाएगा
और चलो यह हमारे resultTextView कहते हैं.
और XML में अर्धविराम या कुछ भी की कोई जरूरत नहीं है कि नोटिस.
सब कुछ इन टैग्स के भीतर है.
यह होश का एक बहुत में HTML के समान है.
>> यह करने के लिए इस्तेमाल किया जा रहा का एक छोटा सा लगता है, लेकिन अंत में आप इसके साथ बहुत सहज महसूस करता हूँ.
चलो हमारे परिणाम पाठ को देखने के लिए पाठ को अद्यतन करते हैं,
और हम अपने अन्य गतिविधियों में है कि संपादित पाठ क्षेत्र हो रहे थे जब हमने किया
MainActivity में यहाँ हम भी करेंगे वैसे ही,
हम आईडी के आधार पर देखने के मिल जाएगा.
और आर के मामले में मैं यह पहले उल्लेख नहीं किया, हमारे संसाधनों फ़ोल्डर में संदर्भ है
और फिर आईडी, संसाधन फ़ोल्डर में सब कुछ, सब आईडी के लिए एक संदर्भ है
और resultTextView.
और बस के रूप में पहले, resultTextView, एक वस्तु है
जो यह इसके साथ जुड़े इन सभी गुण है इसका मतलब है.
हम इस पाठ क्षेत्र या पाठ को देखने के लिए संपादित पाठ के लिए gettext का उपयोग करते हैं
हम वास्तव में, setText का उपयोग कर सकते हैं
और फिर हम पहले से ही इरादे से संदेश मिला
इसलिए मैं संदेश कह सकते हैं, और यह वास्तव में संदेश की स्थापना की जाएगी.
>> इसे शुरू करने के लिए एक क्षण ले, और फिर हम, यह दुर्घटनाओं जाए या नहीं देख सकते हैं
लेकिन अभी भी वहीं है कि इस प्रक्रिया के बारे में कोई सवाल है, बातचीत का है कि तरह?
कई मायनों में यह स्पष्ट है.
मैं अपेक्षाकृत सरल कुछ के माध्यम से जा रहा हूँ कारण
आप लेआउट के बीच बातचीत देखने को मिलता है, क्योंकि, फिर, है
स्रोत कोड, कैसे आप संदर्भ बातें
और शायद जावा वहाँ कैसे काम करता है के लिए थोड़ा जोखिम मिलता है.
मैं वास्तव में ohai की तरह, यहां कुछ लिखें, और तो मैं, बटन क्लिक करें
यह एक नई गतिविधि की शुरूआत, और उस पाठ को देखने ohai कहते हैं.
यही कारण है, बहुत आसान है, लेकिन उम्मीद है कि उदाहरण के बाद
आप की तरह इस बातचीत कैसे काम करता है, और फ़ाइलों की अब कि गंदगी
इन सभी परियोजना फ़ोल्डर्स के लिए बाईं ओर, उम्मीद है कि आप जहां अब देखना पता है.
यह अपने स्रोत कोड क्षेत्र है.
>> लेआउट वास्तव में आप छवियों में शामिल हैं जब तक आप के साथ सौदा होगा ही बात है
और drawables या जो कुछ भी है, और मूल्यों, कि, तार शामिल होंगे
हम उल्लेख किया है, और फिर शैलियों सीएसएस की तरह तरह की है कि कुछ है.
यदि आप चाहते हैं कि जब यह पता है, लेकिन आप अतिरिक्त क्षमता जोड़ने के साथ सहज महसूस करते हैं जब तक
अपने आवेदन करने के लिए बहुत ज्यादा है इसके बारे में चिंता करने की कोई जरूरत नहीं है.
बस एक दूसरी बात लपेट आप निश्चित रूप से शामिल करने के लिए चाहते हो जाएगा
आप शांत सुविधाओं एकीकृत और अपने आप को कुछ अतिरिक्त सहेजना चाहते संभालने कोडिंग-
3 पार्टी पुस्तकालयों को शामिल करने के लिए किया जाएगा.
यहाँ शर्लक होम्स टोपी के साथ थोड़ा एंड्रॉयड लड़का है.
यह एक एक्शन बार शर्लक पुस्तकालय है
जो मूल रूप से, आप पहले देखा था कि कार्रवाई पट्टी का मतलब
जो, अब आइस क्रीम सैंडविच और जेली बीन में मानक है
आप पुराने संस्करण पर उपयोगकर्ताओं के लिए उपयोगकर्ता अनुभव की तरह है कि लाने के लिए चाहते हैं
और उपयोगकर्ता नेविगेट करने के लिए जा रहा है के बारे में चिंता करने से अपने आप को बचाने के
पुराने संस्करण पर बात यह है कि वहाँ नहीं है जब आप इस पुस्तकालय में शामिल कर सकते हैं
और फिर आप बस के लिए है संदर्भ के बजाय डिफ़ॉल्ट एंड्रॉयड
कार्रवाई पट्टी के लिए पुस्तकालयों, आप इस समर्थन पुस्तकालय संदर्भ.
>> आप एक खेल को शामिल करने जा रहे हैं Scoreloop जैसे हालात, यह बहुत अच्छी बात है.
यह आप खेल के लिए नेता बोर्डों और उपलब्धियों को जोड़ देता है.
Admob अपने आवेदन में विज्ञापन लगाने का एक तरीका है
मामले में आप इसे से पैसे का एक छोटा सा बनाना चाहते हैं.
बेशक, फेसबुक और ट्विटर वहाँ एकीकृत करने के लिए नहीं है
आप वगैरह, आसानी से चीजों को साझा करना चाहते हैं.
ड्रॉपबॉक्स, वैसे ही, और गूगल एनालिटिक्स वहाँ एक लग रही है कि चार्ट है.
आप वास्तव में बातचीत कर रहा है जो देखना चाहते हैं तो यह बहुत महत्वपूर्ण होगा
अपने अनुप्रयोग या यह कौन है, कैसे वे बातचीत, वगैरह के साथ.
गूगल, डिफ़ॉल्ट रूप से, आप अपने अनुप्रयोग स्थापित किया गया है, जो के बारे में आंकड़ों का एक बहुत कुछ कहता है
और वे क्या फोन, क्या ऑपरेटिंग सिस्टम संस्करणों वे हैं.
लेकिन अगर आप एक दैनिक आधार पर प्रयोग और कैसे वे इसका इस्तेमाल किया जाता है जो देखना चाहते हैं
तो आपको लगता है कि जैसे ट्रैकिंग प्रणाली के कुछ प्रकार शामिल करने के लिए चाहता हूँ.
>> आप अपने अनुप्रयोग वितरित करने के लिए तैयार हैं
मैं बहुत ज्यादा गहराई में है कि में जाने की जरूरत नहीं है.
यहाँ के लिंक पर क्लिक करें, गूगल खेलें.
यह एंड्रॉयड बाजार हुआ करता था.
वे, गूगल प्ले के साथ सब कुछ rebranded
तो अब आप उस के लिए प्रस्तुत.
यह बहुत स्पष्ट है.
आपको एक विवरण, कुछ स्क्रीनशॉट शामिल है.
जैसे मैंने कहा, IOS की तरह कोई अनुमोदन प्रक्रिया है.
और जहां यहाँ से जाने के लिए?
मैं आपको एक बहुत ही सरल उदाहरण से पता चला है.
यह बहुत आसान लगता है, उम्मीद है कि अगर
तो है कि शायद एक अच्छा संकेत है.
आप सभी को मैं टाइप किया गया था कि क्या वास्तव में के बारे में थोड़ा उलझन या अनिश्चित लगा
वह भी ठीक है, लेकिन यहाँ से गूगल गाइड्स के पास जाओ.
यह शुरू करने के लिए एक महान जगह है.
यह आवेदन डिजाइन के मामले में वे क्या उम्मीद माध्यम से बात करेंगे
उपयोगकर्ताओं को सामान्य रूप से इसके साथ कैसे बातचीत.
इसे और अधिक मुक्त फार्म आईओएस से है, मैं कह सकता हूँ,
तालिका दृश्य, मैं कर रहे हैं पता नहीं है की तरह लगता है, जो कि उनकी रोजी रोटी है.
सब कुछ ऊपर और नीचे फिसलने एक तालिका दृश्य है.
Android के साथ वे निश्चित रूप से लोगों से यह देखने के लिए प्रोत्साहित करते हैं
अलग अलग दृष्टिकोण की एक पूरी गुच्छा.
>> आप इस एडीटी में सॉफ्टवेयर विकास किट में शामिल हैं
डिफ़ॉल्ट रूप से आप एंड्रॉयड में नमूना परियोजनाओं की एक पूरी गुच्छा है.
यहीं पर, एंड्रॉयड, एंड्रॉयड नमूना परियोजना.
मैं उस पर क्लिक करते हैं, तो मैं परियोजनाओं को लागू नमूना की है जिसके लिए एक संस्करण का चयन कर सकते हैं.
विभिन्न चीजों की एक पूरी गुच्छा यहाँ है.
यह कार्रवाई बार संगतता के साथ बंद शुरू
accelerometer का खेल, बैकअप और बहाल, ब्लूटूथ, इशारा बिल्डर.
LunarLander है के रूप में JetBoy, वे तुम्हें दे एक नमूना खेल है.
नमूना अनुप्रयोगों की एक पूरी गुच्छा, यहाँ कर रहे हैं
और वे सभी, Android के एपीआई के विभिन्न पहलुओं पर लक्षित कर रहे हैं
और विचार है कि आप अपने आवेदन के रूप में यह है कि
आप एक Android app बनाने के लिए Android के बारे में सब कुछ जानने की जरूरत नहीं है.
आप ही आप वास्तव में उपयोग करने के लिए जा रहे हैं कि भागों के बारे में जानने के लिए है.
इन नमूना पुस्तकालयों को देखो.
कॉपी और पेस्ट कोड और इसे पुन: लागू करने के लिए स्वतंत्र महसूस हो रहा है.
यह और अधिक मुश्किल कोड को देखने के लिए एक बड़ी बात है
और इसे समझने की कोशिश करते हैं, जो निश्चित रूप से है क्यों CS50 में
हम अक्सर आप स्रोत कोड की बड़ी मात्रा में दे.
आप इसी तरह पुस्तकालयों का उपयोग करने के लिए जा रहे हैं इनमें से कुछ को देखो
और फिर अपने खुद के कोड के लिए इसे लागू.
और हां, ट्यूटोरियल हैं.
ट्यूटोरियल के लिए खोजें.
मैं गति के लिए आप को ला सकते हैं जो अच्छे लोगों का एक बहुत ऑनलाइन पाया
क्या टुकड़े वास्तव में कर रहे हैं और आप उन्हें कैसे उपयोग कर सकते हैं के साथ.
>> टुकड़े की तरह इन नए डिजाइन चीजों में से कुछ,,
आप एक कर रहे हैं जब तक आप वास्तव में के बारे में चिंतित होने की जरूरत नहीं है
गुंजाइश परियोजना में बहुत बड़ी.
वे गूगल के अंदर चरण के लिए कोशिश कर रहा है कि बातें कर रहे हैं
Stackoverflow निश्चित रूप से अपने दोस्त है.
उम्मीद है कि मैं, Android पर आप थोड़ा और बेचा
इसे और अधिक आसान बस कोडन भाषा के संदर्भ में करने के लिए दृष्टिकोण है साकार.
जावा मैं उद्देश्य सी से समझने के लिए बहुत आसान कहूँगा है.
एंड्रॉयड मैं बहुत अधिक आईओएस से लगता है कि बढ़ रही है.
मेरा मतलब है, डेटा मैं क्या लगता है कि एक तरफ से, वहाँ भी है.
यह थोड़ी देर के लिए चारों ओर हो रहा है
और वे अपने डिजाइन चक्र के संदर्भ में कुछ साल पीछे हैं
तो यह है कि वे अभी भी इनमें से कुछ के माध्यम से काम कर रहे हैं उस तरह से समझ में आता है
स्थिरता के सवाल, इस कार्रवाई बार की तरह, अभी भी उनके लिए एक नई बात है
अपने सभी क्षुधा भर में समान उपयोगकर्ता अनुभव बनाने की तरह.
उम्मीद है अब आप आगे जाना है और ग्रहण खोल सकते हैं
और अपनी खुद की Android क्षुधा बनाने.
>> हम कुछ के बारे में लपेट से पहले किसी को भी किसी भी सवाल है?
मैं इसका जवाब 42 है आप बता सकते हैं.
खैर, हर कोई, और अच्छी किस्मत कोडिंग खुश.
[CS50.TV]