1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [संगोष्ठी] [Android के Apps (अब जेली बीन्स के साथ!)] 2 00:00:02,610 --> 00:00:04,210 [जॉर्डन Jozwiak] [हार्वर्ड विश्वविद्यालय] 3 00:00:04,210 --> 00:00:06,780 [यह CS50 है.] [CS50.TV] 4 00:00:06,780 --> 00:00:11,600 >> सभी को नमस्कार, और Android के Apps (अब जेली बीन्स के साथ!) संगोष्ठी में आपका स्वागत है. 5 00:00:11,600 --> 00:00:14,530 क्योंकि यह, ज़ाहिर है, जेली बीन्स के साथ अब कहा जाता है 6 00:00:14,530 --> 00:00:17,310 ओएस के नवीनतम संस्करण जेली बीन कहा जाता है. 7 00:00:17,310 --> 00:00:22,950 मैं पिछले साल Android के बारे में बात की और यह मूल रूप से एक ही संगोष्ठी किया था 8 00:00:22,950 --> 00:00:29,150 मैं, जिंजरब्रेड के लिए डिजाइन पैटर्न और स्टाइलिश विकल्प पेश किया गया था 9 00:00:29,150 --> 00:00:31,250 आइस क्रीम सैंडविच समय पर बाहर आया था, भले ही 10 00:00:31,250 --> 00:00:33,680 और यह हम थोड़ा आगे जाने के बारे में बात करेंगे कुछ है. 11 00:00:33,680 --> 00:00:35,720 एंड्रॉयड, ज़ाहिर है, विखंडन के साथ कुछ मुद्दों है 12 00:00:35,720 --> 00:00:40,240 इतना नवीनतम गूगल ऑपरेटिंग सिस्टम आम तौर पर है 13 00:00:40,240 --> 00:00:44,710 वास्तव में दुर्भाग्य से, संभवतः एक साल तक के लिए उपयोगकर्ताओं के बीच आम बनने के लिए नहीं जा रहा. 14 00:00:44,710 --> 00:00:49,960 >> लेकिन उस की अनदेखी, हम कारणों क्यों के बहुत सारे के बारे में बात करेंगे 15 00:00:49,960 --> 00:00:53,000 एंड्रॉयड आईओएस की तुलना में काफी बेहतर है. 16 00:00:53,000 --> 00:00:56,410 ठीक है, हम, एंड्रॉयड बनाम IOS के बारे में बात करेंगे 17 00:00:56,410 --> 00:00:59,770 आप सिर्फ एक स्लाइड में स्थापित हो जाएगी कि कैसे कुछ डिजाइन मानदंड,, 18 00:00:59,770 --> 00:01:03,410 और इस और पिछले साल के बीच बड़ा अंतर यह है कि मैं अभी करना चाहते है 19 00:01:03,410 --> 00:01:06,860 साथ काम कर रहे कुछ वैचारिक चीजों के माध्यम से ज़ूम 20 00:01:06,860 --> 00:01:09,950 तो ऑपरेटिंग सिस्टम और एक सच में बुनियादी उदाहरण में चलते हैं. 21 00:01:09,950 --> 00:01:13,730 वास्तव में, गूगल अपने पहले अनुप्रयोग के निर्माण के लिए का वर्णन करता है कि सिर्फ उदाहरण, 22 00:01:13,730 --> 00:01:17,070 और हम एक साथ यह माध्यम से जाओ और बस का वर्णन करेंगे. 23 00:01:17,070 --> 00:01:22,100 >> मैं आप में से कई केवल सी में कोडित है पता है, ताकि जावा पहले से ही होने जा रहा है 24 00:01:22,100 --> 00:01:27,220 एक अलग परिप्रेक्ष्य, और आप अपने पैरों को मिलेगा इस तरह से गीला 25 00:01:27,220 --> 00:01:31,540 और उम्मीद है कि इसके साथ एक छोटे से अधिक सहज महसूस करते हैं. 26 00:01:31,540 --> 00:01:35,330 एक त्वरित सारांश, एंड्रॉयड बनाम आईओएस. 27 00:01:35,330 --> 00:01:39,200 एंड्रॉयड में 25 डॉलर की इस एकमुश्त डेवलपर शुल्क, वहाँ 28 00:01:39,200 --> 00:01:42,390 इस साल 100 डॉलर प्रति बात से कोई नहीं. 29 00:01:42,390 --> 00:01:45,440 जिसका मतलब है कि कोई प्रतिबंध नहीं कर रहे हैं, कि, मैं एक app प्रस्तुत करना चाहते हैं 30 00:01:45,440 --> 00:01:51,560 मैं सिर्फ यह सबमिट करें, और आईओएस के लिए वहाँ की तरह कोई अनुमोदन प्रक्रिया है. 31 00:01:51,560 --> 00:01:53,890 आप ग्रहण का उपयोग कर जावा के साथ विकसित करने के लिए मिलता है 32 00:01:53,890 --> 00:01:57,090 जो पार मंच है, तो आप एक मैक है, तो यह बात नहीं है, 33 00:01:57,090 --> 00:01:59,600 विंडोज, या कुछ लिनक्स मशीन. 34 00:01:59,600 --> 00:02:03,730 बेशक, iOS के साथ आप एक मैक पर XCode का उपयोग करने के लिए है 35 00:02:03,730 --> 00:02:06,930 और Android, बहुत से अधिक लोगों द्वारा प्रयोग किया जाता है 36 00:02:06,930 --> 00:02:11,580 आप अपने अनुप्रयोग कुछ दृश्यता की तरह या शायद है चाहता हूँ ताकि अगर 37 00:02:11,580 --> 00:02:14,110 विज्ञापनों से थोड़ा पैसा बनाने 38 00:02:14,110 --> 00:02:17,450 आप शायद एंड्रॉयड से लाभ होने की संभावना हो. 39 00:02:17,450 --> 00:02:20,630 >> और हमेशा Android के बारे में जाना जाता रहा है कि एक बात 40 00:02:20,630 --> 00:02:25,100 आईओएस बहुत अपने तरीके में तय हो गई है, जबकि अनुकूलन के चरम राशि है 41 00:02:25,100 --> 00:02:29,380 वे बनाए रख सकते हैं ताकि सुरक्षा और हर छोटे पहलू पर नियंत्रण 42 00:02:29,380 --> 00:02:34,180 अपने ओएस और व्यक्तिगत क्षुधा भीतर डिजाइन की. 43 00:02:34,180 --> 00:02:40,180 एंड्रॉयड बहुत स्वतंत्र रूप है, और इतने अधिक संभावनाएं है. 44 00:02:40,180 --> 00:02:42,530 ठीक है, कुछ डिजाइन मानदंड. 45 00:02:42,530 --> 00:02:49,600 सिर्फ IOS की तरह यहां सूचना गोलियाँ और iPhone और आइपॉड छू है 46 00:02:49,600 --> 00:02:53,840 आप का समर्थन चाहते हैं अगर वे एक दर्जन से अधिक उपकरणों की तरह, कहते हैं, का समर्थन किया है 47 00:02:53,840 --> 00:02:55,450 ऐतिहासिक चीजों के रूप में अच्छी तरह से. 48 00:02:55,450 --> 00:02:58,410 एंड्रॉयड के साथ आप उपकरणों के सैकड़ों का समर्थन किया है 49 00:02:58,410 --> 00:03:01,240 तो गूगल को लागू करने की कोशिश कर रहा है कि कुछ चीजें हैं 50 00:03:01,240 --> 00:03:04,970 उपयोगकर्ता एक छोटे से अधिक सुसंगत अनुभव बनाने के लिए, 51 00:03:04,970 --> 00:03:08,560 लेकिन हम भी इस विखंडन के मुद्दों कर रहे हैं इसका मतलब है कि कैसे के बारे में बात करेंगे 52 00:03:08,560 --> 00:03:11,700 आप लगातार समर्थन के बारे में पता होना जरूरी है. 53 00:03:11,700 --> 00:03:16,140 विखंडन, कई अलग ऑपरेटिंग सिस्टम है कि वहाँ का मतलब 54 00:03:16,140 --> 00:03:20,330 एक ही समय में सभी Android चल रहे विभिन्न हार्डवेयर के साथ कई अलग अलग फोन, 55 00:03:20,330 --> 00:03:29,680 इसलिए इस ग्राफ यहां के बारे में 6 महीने के लिए वापस चला जाता है. 56 00:03:29,680 --> 00:03:36,460 हाँ, 6 महीने, और आप कैसे अंधेरी बैंड देख सकते हैं 57 00:03:36,460 --> 00:03:39,330 तल पर गर्मियों में बाहर आया था जो जेली बीन,, है 58 00:03:39,330 --> 00:03:42,970 और आप अभी शायद फोन के बारे में 2% यह है देख सकते हैं. 59 00:03:42,970 --> 00:03:45,520 >> आइस क्रीम सैंडविच, एक साल पहले बाहर आया 60 00:03:45,520 --> 00:03:47,770 और फोन के एक चौथाई के पास है. 61 00:03:47,770 --> 00:03:53,910 साल पहले से ओएस संस्करण का उपयोग कर रहे हैं कि फोन का एक बहुत अभी भी कर रहे हैं. 62 00:03:53,910 --> 00:03:57,820 गूगल उपयोगकर्ता अनुभव बनाने के लिए करने की कोशिश की गई है कि एक बात 63 00:03:57,820 --> 00:04:01,400 क्षुधा भर में लगातार एक बहुत, छत्ते के साथ शुरू होता है 64 00:04:01,400 --> 00:04:04,320 गोली संस्करण जो है, तो आइस क्रीम सैंडविच और जेली बीन, 65 00:04:04,320 --> 00:04:06,750 वे वास्तव में, इस कार्रवाई पट्टी के उपयोग पर जोर करने की कोशिश कर रहे हैं 66 00:04:06,750 --> 00:04:10,430 जो, तुम यहाँ शीर्ष पर देख सकते हैं क्या है 67 00:04:10,430 --> 00:04:14,730 इस छोटे से सेटिंग बटन सहित यहीं सब कुछ,. 68 00:04:14,730 --> 00:04:16,079 यह डिजाइन पसंद है. 69 00:04:16,079 --> 00:04:18,000 अब, आप 3 डॉट्स देख जब भी यह, इस पर क्लिक करें का मतलब 70 00:04:18,000 --> 00:04:21,880 और सेटिंग्स को किसी प्रकार का है जो एक ड्रॉप डाउन मीनू, वहाँ हो जाएगा. 71 00:04:21,880 --> 00:04:28,900 मैं इस बटन पर क्लिक किया है क्योंकि यह केवल दिखाता है. 72 00:04:28,900 --> 00:04:32,040 यह है कि वे एक छोटे से अधिक संगत क्षुधा बनाने के लिए उपयोग करने के लिए कोशिश कर रहे हैं कि कुछ है 73 00:04:32,040 --> 00:04:39,210 बोर्ड के पार और इसलिए उपयोगकर्ता वर्दी अनुभव की एक बेहतर समझ है. 74 00:04:39,210 --> 00:04:42,640 >> यदि आप घर पर देख रहे हैं, तो ठीक है, तो मामले में आप पहले से ही यह किया या नहीं किया है 75 00:04:42,640 --> 00:04:50,210 तो आप अपने कोडन वातावरण स्थापित करने के लिए इन चरणों का पालन कर सकते हैं. 76 00:04:50,210 --> 00:04:52,630 यह यहां वेबसाइट के लिए जा शामिल होगी. 77 00:04:52,630 --> 00:04:56,260 तुम Android SDK स्थापित गूगल कर सकते हैं 78 00:04:56,260 --> 00:04:59,130 और वहाँ कुछ विवरण का पालन करें. 79 00:04:59,130 --> 00:05:01,310 वे तुम्हें सब कुछ बता. 80 00:05:01,310 --> 00:05:05,160 वे तुम्हें एसडीके, डाउनलोड ग्रहण क्लासिक संस्करण स्थापित है 81 00:05:05,160 --> 00:05:07,450 भले ही, निश्चित रूप से, हम जावा में कोडिंग कर रहे हैं. 82 00:05:07,450 --> 00:05:12,190 वे तो इस एडीटी, एंड्रॉयड विकास उपकरण, यह एक सुझाव है, और 83 00:05:12,190 --> 00:05:17,300 आपको अनुमति देता है जो ग्रहण में आप स्थापित है कि एक प्लगइन है 84 00:05:17,300 --> 00:05:20,550 ग्रहण के भीतर Android के साथ एक और अधिक सुव्यवस्थित अनुभव है. 85 00:05:20,550 --> 00:05:24,070 यह तुम कुछ ग्राफिकल यूजर इंटरफेस दे देंगे 86 00:05:24,070 --> 00:05:29,610 विचारों को डिजाइन करने के लिए, और यह आपको बहुत अधिक समर्थन देंगे 87 00:05:29,610 --> 00:05:34,840 और क्षमता emulator और बात की है कि सभी प्रकार के साथ शुरू करने के लिए. 88 00:05:34,840 --> 00:05:36,090 आवेदन ढांचे. 89 00:05:36,090 --> 00:05:41,590 >> मैं Android के भीतर परियोजनाओं संरचित कर रहे हैं के बारे में बात करना चाहता हूँ 90 00:05:41,590 --> 00:05:44,830 और फिर हम एक त्वरित उदाहरण में जाना है, और उम्मीद करता हूँ 91 00:05:44,830 --> 00:05:48,820 आप किसी भी बिंदु पर सवाल पूछने और यह के अंत तक सहज महसूस कर सकते हैं. 92 00:05:48,820 --> 00:05:50,090 हम पहले कुछ शब्दजाल है. 93 00:05:50,090 --> 00:05:55,330 एक गतिविधि आप एक बॉक्स लांच जब आप देख स्क्रीन की तरह है. 94 00:05:55,330 --> 00:05:57,840 पूरे अनुभव, गतिविधि ही है 95 00:05:57,840 --> 00:06:00,790 इसलिए यदि आप एक स्क्रीन या एक दृश्य के रूप में इसके बारे में सोच भी नहीं सकते 96 00:06:00,790 --> 00:06:04,540 लेकिन यह वास्तव में यह के सोर्स कोड के पक्ष में है. 97 00:06:04,540 --> 00:06:12,680 हम अभी भी यह एक दृश्य की वास्तविक इंटरफ़ेस भाग कहते हैं. 98 00:06:12,680 --> 00:06:17,230 यह pset 7 में हम नियंत्रक और फिर दृश्य था कि किस तरह तरह की है. 99 00:06:17,230 --> 00:06:20,690 गतिविधि, अधिक या कम नियंत्रक है 100 00:06:20,690 --> 00:06:23,360 और देखने हम एक्सएमएल के मामले में क्या कर रहे है 101 00:06:23,360 --> 00:06:25,260 जो कि गतिविधि के साथ जुड़ा हुआ है. 102 00:06:25,260 --> 00:06:29,340 टुकड़े आइस क्रीम सैंडविच आगे जाने में कार्यान्वित किया है कि कुछ कर रहे हैं. 103 00:06:29,340 --> 00:06:36,380 यह सिर्फ देखने के कुछ हिस्सों में ले जाने की एक विचार या गतिविधि है 104 00:06:36,380 --> 00:06:39,990 और अलग अलग क्षेत्रों में उन्हें विभाजित हम कर सकते हैं कि इतना 105 00:06:39,990 --> 00:06:45,030 इनमें से कई विभिन्न उपकरणों के लिए हमारे कोड और अधिक उपयोगी बनाने 106 00:06:45,030 --> 00:06:51,890 हम समर्थन करने के लिए है, और यह सिर्फ करने के लिए प्रयास करने का एक तरीका है कि 107 00:06:51,890 --> 00:06:54,290 भी अधिक कोड बाहर कारक. 108 00:06:54,290 --> 00:07:01,090 सेवा संभावित संगीत या नेविगेशन दिशाओं खेल की तरह पृष्ठभूमि बातें कर रहे हैं. 109 00:07:01,090 --> 00:07:05,640 सामग्री प्रदाताओं, इन ऑपरेटिंग सिस्टम के भीतर एपीआई हैं 110 00:07:05,640 --> 00:07:09,070 कि, अगर आप इस तरह की संपर्क जानकारी साझा डेटा का उपयोग करने की अनुमति 111 00:07:09,070 --> 00:07:12,790 और फिर एक आशय हम शुरू करना चाहते हैं जब हम इस्तेमाल करेंगे कुछ है 112 00:07:12,790 --> 00:07:17,210 हमारे वर्तमान गतिविधि से एक नई गतिविधि. 113 00:07:17,210 --> 00:07:20,980 >> नमस्कार एंड्रॉयड, इस बारे में हम बात करेंगे कि एक परियोजना होने जा रहा है. 114 00:07:20,980 --> 00:07:25,410 मैं वास्तव में आप के लिए क्या करेंगे, और फिर हम एक बटन पर क्लिक करें जहां हम एक बात करूँगा 115 00:07:25,410 --> 00:07:27,650 कुछ पाठ और एक नई गतिविधि के प्रक्षेपण के साथ. 116 00:07:27,650 --> 00:07:30,110 बहुत सरल है, लेकिन मैं के माध्यम से जाना चाहते हैं 117 00:07:30,110 --> 00:07:34,480 क्या इस तरह से एक परियोजना में जाना होगा. 118 00:07:34,480 --> 00:07:39,260 आप नई परियोजना बनाने के लिए जब आप ग्रहण के भीतर देखेंगे 119 00:07:39,260 --> 00:07:41,900 नमस्कार एंड्रॉयड नामक इस परियोजना है. 120 00:07:41,900 --> 00:07:43,470 यहाँ तो फ़ोल्डरों की एक पूरी गुच्छा रहे हैं. 121 00:07:43,470 --> 00:07:46,760 तुम सच के साथ संबंध रहे लोगों, स्रोत फ़ोल्डर हैं 122 00:07:46,760 --> 00:07:54,540 संसाधन फ़ोल्डर, को छोड़कर, और कुछ हद तक पुस्तकालयों के लिए लिब्ज़ फ़ोल्डर में. 123 00:07:54,540 --> 00:08:00,070 और अभी तो हम उस के साथ एक ही पृष्ठ पर हैं 124 00:08:00,070 --> 00:08:03,240 यदि आप एक नई परियोजना बनाने के लिए किए गए 125 00:08:03,240 --> 00:08:08,270 मैं यह HelloAndroid कॉल करना चाहते हैं, इसलिए यदि आप,, यहाँ यह सही कर सकते हैं 126 00:08:08,270 --> 00:08:11,100 और तो यह स्वचालित रूप से हमारे लिए जानकारी की एक पूरी गुच्छा है. 127 00:08:11,100 --> 00:08:14,110 पैकेज के नाम एक अद्वितीय पहचानकर्ता माना जाता है 128 00:08:14,110 --> 00:08:16,710 आप एक था कि सामान्य रूप से, वेबसाइट के साथ संबद्ध किया जाएगा. 129 00:08:16,710 --> 00:08:24,430 >> उदाहरण के लिए, मैं इस net.cs50.helloandroid भेंट करेंगे. 130 00:08:24,430 --> 00:08:30,070 और मैं पहले से ही एक बार इस परियोजना बना दिया है. 131 00:08:30,070 --> 00:08:40,059 ठीक है, माफ करना. चलो यह HelloCS50 कहते हैं. 132 00:08:40,059 --> 00:08:42,929 और फिर यह हम करना चाहते हैं आइकन की किस प्रकार की तरह बातें पूछेंगे. 133 00:08:42,929 --> 00:08:48,840 इस वजह से Android के डेवलपर उपकरण इंटरफेस के सभी है 134 00:08:48,840 --> 00:08:53,350 हम ग्रहण करने के लिए जोड़ा कि प्लगइन, तो हम जैसे चीजें चुन सकते हैं 135 00:08:53,350 --> 00:08:58,320 क्या आइकन हम चाहते हैं, और अगर हम चाहते हैं कि उस गहराई में जाना होगा. 136 00:08:58,320 --> 00:09:04,360 लेकिन अंत में, बस, परियोजना बनाना 137 00:09:04,360 --> 00:09:07,040 और सब कुछ यहीं से पता चलता है. 138 00:09:07,040 --> 00:09:10,030 मैं अन्य स्क्रीन पर दिखाया है, के रूप में 139 00:09:10,030 --> 00:09:14,070 , हम स्रोत फ़ोल्डर है, और मैं यह सब जल्द ही इसका क्या मतलब के बारे में बात करेंगे 140 00:09:14,070 --> 00:09:19,090 लेकिन आप इसे तुरंत HelloCS50 स्क्रीन करने के लिए हमें लगता है कि देख सकते हैं. 141 00:09:19,090 --> 00:09:24,690 पाठ और पाठ क्षेत्र लेआउट जोड़ने के लिए यहाँ पर कुछ बटन रहे हैं. 142 00:09:24,690 --> 00:09:28,910 यह XCode तरह तरह की है लेकिन दुर्भाग्य से नहीं काफी सुव्यवस्थित रूप में. 143 00:09:28,910 --> 00:09:37,790 लेकिन क्लिप इस काम को करने के लिए विशेष रूप से अपने दोस्त और एडीटी हो जाएगा. 144 00:09:37,790 --> 00:09:40,920 >> ठीक है, स्रोत फ़ोल्डर जहाँ है 145 00:09:40,920 --> 00:09:43,820 जावा फ़ाइलों को आयोजित किया है, और यह वास्तव में अपने कार्यक्रम का शुभारंभ कर रहे हैं. 146 00:09:43,820 --> 00:09:45,990 यह मूल रूप से नियंत्रकों की तरह है. 147 00:09:45,990 --> 00:09:49,020 हम स्क्रीन लेआउट रखेंगे जहां संसाधन फ़ोल्डर या छोड़कर, है 148 00:09:49,020 --> 00:09:54,110 छवियाँ, लगता है, पाठ, एनीमेशन और सब कुछ, लिब्ज़, जाहिर है, पुस्तकालयों. 149 00:09:54,110 --> 00:10:01,700 और मैनिफ़ेस्ट, यह एंड्रॉयड सिस्टम जानता है कि जिस तरह से है 150 00:10:01,700 --> 00:10:03,130 कैसे अपने अनुप्रयोग के साथ बातचीत करने के लिए. 151 00:10:03,130 --> 00:10:07,980 यह अनुमतियों के बारे में यह कहता है और क्या गतिविधियों वास्तव में चला जाएगा. 152 00:10:07,980 --> 00:10:12,350 यह अपने अनुप्रयोग को चलाने के लिए आवश्यक है कि सभी आवश्यक जानकारी है. 153 00:10:12,350 --> 00:10:17,990 स्रोत फ़ोल्डर है, अगर तुम सही यहाँ देख सकते हैं कि हम इसे विस्तार. 154 00:10:17,990 --> 00:10:23,920 और एक उदाहरण एक कोड देखो यह होगा कि डिफ़ॉल्ट कोड है. 155 00:10:23,920 --> 00:10:27,930 हम यह कहा जाता है, के रूप में, MainActivity. 156 00:10:27,930 --> 00:10:33,230 डिफ़ॉल्ट रूप से, हम, जब इस गतिविधि भार कहा जाता है कि एक समारोह है, जो OnCreate मिल 157 00:10:33,230 --> 00:10:37,150 तो आप OnCreate (savedInstanceState) कॉल करना चाहते हैं. 158 00:10:37,150 --> 00:10:40,440 इस जानकारी के किसी भी बिट्स बहाल करेगा 159 00:10:40,440 --> 00:10:44,910 मामले में अनुप्रयोग रोक दिया गया था. 160 00:10:44,910 --> 00:10:48,790 >> आप देख सकते हैं जो एक पूरी गतिविधि के जीवन चक्र चार्ट नहीं है 161 00:10:48,790 --> 00:10:50,380 आप इसे में गहराई में एक छोटे से अधिक मिलता है, 162 00:10:50,380 --> 00:10:56,210 लेकिन कोड का सबसे महत्वपूर्ण रेखा इस setContentView समारोह है 163 00:10:56,210 --> 00:11:00,290 जो लेआउट के लिए संसाधन फ़ाइल लोड होगा. 164 00:11:00,290 --> 00:11:03,590 तो क्या यहाँ OnCreate मूल रूप से कर रही है, यह कह रहा है 165 00:11:03,590 --> 00:11:07,010 मुझे लगता है मैं इस लेआउट लोड करना चाहते हैं इस गतिविधि बनाते समय. 166 00:11:07,010 --> 00:11:12,030 और हम उस लेआउट एक दूसरे में क्या है के बारे में बात करेंगे. 167 00:11:12,030 --> 00:11:16,230 हम यहां यह वास्तव में इस तरह लग रहा है कि प्रक्षेपण के लिए गए थे, 168 00:11:16,230 --> 00:11:22,880 और डिफ़ॉल्ट रूप से हम यह कर ग्रहण और हमारे लिए यह कर एडीटी है क्योंकि 169 00:11:22,880 --> 00:11:28,210 यह हमारे लिए बनाया है कि सभी boilerplate कोड है 170 00:11:28,210 --> 00:11:34,630 और हम आगे बढ़ने और हम पसंद के रूप में चीजों को बदल सकते हैं. 171 00:11:34,630 --> 00:11:38,190 जैसा मैंने कहा कि हम सभी लेआउट पकड़ जहां संसाधन फ़ोल्डर, यह है 172 00:11:38,190 --> 00:11:41,150 किसी भी प्रकार के मामले में drawables छवियों 173 00:11:41,150 --> 00:11:46,360 वे drawables और फिर ध्वनि फ़ाइलें, मेनू कहते हैं. 174 00:11:46,360 --> 00:11:51,170 यह एक अच्छा क्रमबद्ध फैशन में XML की एक पूरी गुच्छा का एक तरीका है. 175 00:11:51,170 --> 00:11:58,030 आप देख सकते हैं, कर रहे हैं. Hdpi, ldpi, MDPI और drawables लिए xhdpi फ़ोल्डरों. 176 00:11:58,030 --> 00:12:02,220 ये अलग स्क्रीन घनत्व, इंच प्रति इतना उच्च घनत्व पिक्सेल हैं 177 00:12:02,220 --> 00:12:05,710 कम घनत्व, मध्यम घनत्व, अतिरिक्त उच्च घनत्व. 178 00:12:05,710 --> 00:12:08,900 >> यह फिर से है, इसलिए हम इन सभी विभिन्न उपकरणों का समर्थन कर सकते हैं 179 00:12:08,900 --> 00:12:15,100 और आदर्श, आप एक अलग समाधान के लिए विभिन्न छवियों होगा. 180 00:12:15,100 --> 00:12:20,740 हम विभिन्न गतिविधियों में इस्तेमाल किया जाएगा कि सभी विभिन्न लेआउट शामिल हैं जहां लेआउट हैं. 181 00:12:20,740 --> 00:12:24,150 उन्होंने यह भी टुकड़े के लिए लेआउट शामिल हो सकते हैं 182 00:12:24,150 --> 00:12:26,670 जो मूल रूप से आंशिक गतिविधियों का मतलब है. 183 00:12:26,670 --> 00:12:29,610 यदि आप फोन बारी बारी से जब भी तरह शांत कुछ करना चाहते हैं 184 00:12:29,610 --> 00:12:33,900 आप इसे आप एक अलग फ़ोल्डर के रूप में लेआउट परिदृश्य कर सकते हैं एक अलग लेआउट है चाहता हूँ 185 00:12:33,900 --> 00:12:39,000 और Android स्वचालित रूप से, संसाधन फ़ोल्डर में इन नियमों की एक पूरी गुच्छा है 186 00:12:39,000 --> 00:12:44,690 तो यह फोन की मौजूदा सेटअप के आधार पर विभिन्न फ़ोल्डरों को देखने के लिए पता चल जाएगा 187 00:12:44,690 --> 00:12:46,740 आप उपयोग कर रहे हैं हार्डवेयर किस तरह. 188 00:12:46,740 --> 00:12:52,350 इसी प्रकार यहां, इस मूल्यों V11 और मूल्यों-V14 189 00:12:52,350 --> 00:12:55,460 और मूलभूत मूल्यों यह है के लिए फ़ोल्डर 190 00:12:55,460 --> 00:13:01,730 ठीक है, अपने आप में मूल्यों, इस ऑपरेटिंग सिस्टम के सभी संस्करणों में डिफ़ॉल्ट मान होगा. 191 00:13:01,730 --> 00:13:06,390 दूसरी ओर, V11 और V14 छत्ते के साथ पत्राचार 192 00:13:06,390 --> 00:13:08,780 और आइस क्रीम सैंडविच, क्रमशः. 193 00:13:08,780 --> 00:13:12,800 फिर, इन के भीतर है कि इन फ़ोल्डरों अलग तार कर रहे हैं तरीके हैं 194 00:13:12,800 --> 00:13:17,550 और शैलियों, तो आप अपने अनुप्रयोग की उपस्थिति को अनुकूलित कर सकते हैं 195 00:13:17,550 --> 00:13:22,660 या संभवतः भी अपनी कार्यक्षमता, कि शायद एक बुरा विचार किया जाएगा, हालांकि, 196 00:13:22,660 --> 00:13:25,890 ऑपरेटिंग सिस्टम के संस्करण पर आधारित है. 197 00:13:25,890 --> 00:13:28,760 >> और मैं यहाँ इस सब के बारे में बात की थी. 198 00:13:28,760 --> 00:13:35,870 फिर, drawable, कच्चे, लेआउट, मूल्यों. 199 00:13:35,870 --> 00:13:41,380 चूक, हम अभी हैलो Android या नमस्कार CS50 में जाने 200 00:13:41,380 --> 00:13:43,310 यह सिर्फ इस तरह दिखेगा. 201 00:13:43,310 --> 00:13:45,800 यह दुनिया हैलो कहना होगा. 202 00:13:45,800 --> 00:13:58,430 आप Android के पाठ के साथ सही यहाँ देख सकते हैं 203 00:13:58,430 --> 00:14:04,420 इस पाठ को देखने के लिए पाठ, जो मूल रूप से सिर्फ एक लेबल है 204 00:14:04,420 --> 00:14:06,900 हम IOS में यह नहीं कह सकता है. 205 00:14:06,900 --> 00:14:11,580 यह इस अजीब अंकन @ स्ट्रिंग / hello_world है. 206 00:14:11,580 --> 00:14:16,200 यह तो हम कर सकते हैं हम, तार के सभी निकालने का प्रयास है 207 00:14:16,200 --> 00:14:19,740 एंड्रॉयड में हार्ड कोडित तार के सभी एक अलग फ़ोल्डर में, 208 00:14:19,740 --> 00:14:23,610 जो values.strings में होना होता है. 209 00:14:23,610 --> 00:14:29,300 हम यहां से देखो, हम यहाँ बचाया एक हार्ड कोडित स्ट्रिंग है कि देख सकते हैं 210 00:14:29,300 --> 00:14:33,910 एक से नमस्ते दुनिया के लिए, और यह दुनिया नमस्ते कहा जाता है, और यह है है प्रकार 211 00:14:33,910 --> 00:14:39,230 आप चाहते हैं कि करने के लिए कई प्लेटफार्मों भर में आम डिजाइन निर्णय 212 00:14:39,230 --> 00:14:41,780 तार हम संभावित परिवर्तन करने में सक्षम होना चाहता हूँ कि चीजों की तरह कर रहे हैं. 213 00:14:41,780 --> 00:14:48,050 हम अपने एक्सएमएल में हमारे स्रोत कोड फ़ाइल में एफ नियंत्रित करने के लिए नहीं करना चाहती. 214 00:14:48,050 --> 00:14:50,760 हम मौका मिलता है जब भी इस परिवर्तन करने में सक्षम होना चाहता हूँ. 215 00:14:50,760 --> 00:14:53,640 >> इस एक्सएमएल फाइल, strings.xml, निकालने के लिए एक रास्ता है 216 00:14:53,640 --> 00:14:56,710 अन्यथा हमारे लेआउट संसाधनों में होगा कि हार्ड कोडित तार 217 00:14:56,710 --> 00:15:03,530 या हमारे स्रोत कोड में. 218 00:15:03,530 --> 00:15:08,190 हम आवेदन के बारे में यह आवश्यक जानकारी रखने जहां प्रकट है. 219 00:15:08,190 --> 00:15:11,050 यह पैकेज का नाम भी शामिल है. यह एक अद्वितीय पहचानकर्ता हो गया है. 220 00:15:11,050 --> 00:15:16,020 IOS के अनुप्रयोगों के नाम के लिए app स्टोर के विपरीत 221 00:15:16,020 --> 00:15:19,980 अद्वितीय होना जरूरी नहीं है, और आप वास्तव में अपने आवेदन का नाम बदल सकते हैं 222 00:15:19,980 --> 00:15:23,570 आप, मैं गुस्से में पक्षियों के साथ शुरू करते हैं, इसलिए यदि यह सबमिट करने के बाद 223 00:15:23,570 --> 00:15:26,840 और फिर मैं एक अद्यतन बनाने के लिए, और मैं एक नया संस्करण जारी नहीं करना चाहती 224 00:15:26,840 --> 00:15:34,230 मैं एक ही रिलीज चक्र पर हूँ मैं 2 मैं यह गुस्सा पक्षी कह सकते. 225 00:15:34,230 --> 00:15:36,780 यह सिर्फ एक अद्यतन के रूप में दिखा सकते हैं. 226 00:15:36,780 --> 00:15:39,790 अद्वितीय हो गया है कि केवल एक चीज है, इस पैकेज का नाम है 227 00:15:39,790 --> 00:15:41,280 जो कई लोगों को नहीं देखेंगे. 228 00:15:41,280 --> 00:15:44,680 आप स्रोत कोड में या त्रुटि के कुछ प्रकार अगर वहाँ देख रहे थे तो ठीक है, तुम ही देखना चाहते हैं. 229 00:15:44,680 --> 00:15:47,580 घटकों गतिविधियों में शामिल हैं, तो हम घोषित करने के लिए है 230 00:15:47,580 --> 00:15:49,070 हम उपयोग गतिविधि के किसी भी प्रकार. 231 00:15:49,070 --> 00:15:53,430 इस बात की अनुमति तरह है. 232 00:15:53,460 --> 00:15:58,150 >> Android के इस कठोर आवेदन प्रक्रिया नहीं है क्योंकि 233 00:15:58,150 --> 00:16:02,210 बजाय क्षुधा प्रस्तुत करने के लिए वे सब कुछ बस अनुमतियों के बंद आधारित है 234 00:16:02,210 --> 00:16:04,300 और मैनिफ़ेस्ट में बातें की घोषणा. 235 00:16:04,300 --> 00:16:06,380 एसडीके संस्करण भी महत्वपूर्ण है. 236 00:16:06,380 --> 00:16:10,330 हम एसडीके न्यूनतम संस्करण कुछ के रूप में उपयोग कर सकते हैं. 237 00:16:10,330 --> 00:16:16,010 जाहिर है, आप कोड बनाना चाहते हैं 238 00:16:16,010 --> 00:16:18,570 नए ऑपरेटिंग सिस्टम के लिए और डिजाइन. 239 00:16:18,570 --> 00:16:20,840 शायद आधुनिक नहीं है, शायद नहीं जेली बीन. 240 00:16:20,840 --> 00:16:23,610 शायद तुम, मुख्य रूप से आइस क्रीम सैंडविच के लिए डिजाइन करना चाहते हैं 241 00:16:23,610 --> 00:16:27,120 वे डिजाइन निर्णय के संदर्भ में बहुत ही ज्यादा हैं, हालांकि 242 00:16:27,120 --> 00:16:30,550 और वास्तविक पुस्तकालयों और एपीआई. 243 00:16:30,550 --> 00:16:36,250 लेकिन बजाय लोग हैं 244 00:16:36,250 --> 00:16:40,050 मूल एंड्रॉयड की डोनट तरह से वापस संस्करण की तरह जब 245 00:16:40,050 --> 00:16:43,420 अभी भी कहते हैं तो आपके आवेदन डाउनलोड करने के लिए कोशिश करते हैं और उस का उपयोग कर सकता हो जो 246 00:16:43,420 --> 00:16:46,160 यह मेरे फोन पर आप कम से कम संस्करण स्थापित कर सकते हैं काम नहीं करता 247 00:16:46,160 --> 00:16:48,620 और यह जिंजरब्रेड या आइस क्रीम सैंडविच हो गए हैं 248 00:16:48,620 --> 00:16:53,300 आप आराम से प्रस्तुत लग रहा है या जो भी हो. 249 00:16:53,300 --> 00:16:57,170 और यह प्रकट करने का एक उदाहरण है. हम एक बिट में वास्तविक एक पर देख सकते हैं. 250 00:16:57,170 --> 00:17:00,900 >> ठीक है, हम अभी डेमो के साथ आगे जाना होगा. 251 00:17:00,900 --> 00:17:08,900 आप गूगल के एंड्रॉयड अपनी पहली अनुप्रयोग या ऐसा कुछ का निर्माण अगर इस डेमो है. 252 00:17:08,900 --> 00:17:12,089 हम वहाँ में चल रहा है कि सब कुछ के माध्यम से जाना होगा 253 00:17:12,089 --> 00:17:17,690 और खेद, बस यहाँ किसी भी हद तक जावा जो जानता है कि एक संदर्भ के लिए? 254 00:17:17,690 --> 00:17:28,310 ठीक है, तो जावा ज्यादातर लोगों CS50 से बाहर आने के लिए नई कोडिंग भाषा है. 255 00:17:28,310 --> 00:17:31,850 संक्षेप में, यह यहाँ का कहना है कि क्या फिर से जाने के लिए 256 00:17:31,850 --> 00:17:35,580 हम क्या करना चाहते हैं यह दुनिया नमस्ते आवेदन समायोजित बजाय है 257 00:17:35,580 --> 00:17:38,620 यह सब होता है यह शुरूआत है और नमस्ते दुनिया यह कहते हैं कि 258 00:17:38,620 --> 00:17:43,580 उस गतिविधि का नाम है और क्योंकि यह शीर्ष पर हैलो CS50 कहते हैं 259 00:17:43,580 --> 00:17:47,190 हम एक पाठ क्षेत्र और एक बटन बनाने के लिए प्रयास करने के लिए जा रहे हैं 260 00:17:47,190 --> 00:17:50,680 हम इस बटन को दबाने पर यह पाठ ले जाएगा ताकि 261 00:17:50,680 --> 00:17:53,660 पाठ क्षेत्र से और एक नई गतिविधि शुरू करने, और यह कहना होगा 262 00:17:53,660 --> 00:17:58,380 उस पाठ गतिविधि में कहा, और यह अपेक्षाकृत आसान है, जो भी हो. 263 00:17:58,380 --> 00:18:00,650 यह बहुत दिलचस्प नहीं है. आप इस तरह की किसी भी एप्लिकेशन को रिलीज करने के लिए नहीं करना चाहती. 264 00:18:00,650 --> 00:18:03,880 लेकिन यह कुछ महत्वपूर्ण डिजाइन चीजों को दर्शाता है. 265 00:18:03,880 --> 00:18:07,030 >> हम लेआउट फ़ाइलों के साथ प्रकट के साथ बातचीत करने के लिए होगा 266 00:18:07,030 --> 00:18:12,440 स्रोत कोड के साथ, और आप एक से एक गतिविधि शुरू करने के लिए कैसे देख सकते हैं. 267 00:18:19,740 --> 00:18:23,060 हम हमारी पहली गतिविधि के लिए लेआउट के साथ शुरू करेंगे 268 00:18:23,060 --> 00:18:27,320 जो मैं, यह छोटे तरह का पता 269 00:18:27,320 --> 00:18:32,660 लेकिन आप अभी देख सकते हैं, यह सब है, यह हम बनाया कि हमारे लोगो है 270 00:18:32,660 --> 00:18:36,310 गतिविधि का नाम है, और यह केंद्र में नमस्ते दुनिया कहते हैं. 271 00:18:36,310 --> 00:18:40,400 इसके बजाय, मैं पहली बार एक रेखीय लेआउट में यह करने के लिए जा रहा हूँ 272 00:18:40,400 --> 00:18:42,350 एक रिश्तेदार लेआउट, और ये सब बातें कर रहे हैं 273 00:18:42,350 --> 00:18:45,870 आपको लग सकता है और लेआउट के संदर्भ में कुछ बिंदु पर ऊपर जा रहा लायक हैं. 274 00:18:45,870 --> 00:18:47,310 यह HTML की तरह एक बहुत कुछ है. 275 00:18:47,310 --> 00:18:52,640 हम इसे एक कार्यक्रम संबंधी भावना के रूप में जानने लायक नहीं है वास्तव में कहा 276 00:18:52,640 --> 00:18:55,840 लेकिन आप नियंत्रित कर सकते हैं कि इतने सारे अलग अलग लेआउट, वहाँ रहे हैं 277 00:18:55,840 --> 00:18:57,970 और यह शैलियों के संदर्भ में सिर्फ सीएसएस की तरह है. 278 00:18:57,970 --> 00:19:01,590 >> यहाँ सिर्फ सौंदर्यशास्त्र के संदर्भ में चल रही एक बहुत है, 279 00:19:01,590 --> 00:19:08,930 और हाँ, यह सीखने लायक है, लेकिन इसे आप देखना चाहिए बात की तरह है 280 00:19:08,930 --> 00:19:11,810 आप जा सकते हैं और आप कुछ नया करने की जरूरत है की तरह लग रहा है. 281 00:19:11,810 --> 00:19:17,030 मैं कम से कम के साथ शुरू करने के लिए यहाँ एडीटी उपकरणों में से कुछ का लाभ ले सकते हैं. 282 00:19:17,030 --> 00:19:21,930 मैं एक पाठ क्षेत्र बना देंगे, और मैं एक बटन बनाना होगा. 283 00:19:21,930 --> 00:19:24,100 एक दूसरे के बगल में उन्हें सही लगा. 284 00:19:24,100 --> 00:19:28,200 वे पहले से ही उचित आकार. 285 00:19:28,200 --> 00:19:31,320 क्षमा करें, फिर से,, रेखीय लेआउट और रिश्तेदार लेआउट के बीच अंतर करने के लिए वापस आ रहा है 286 00:19:31,320 --> 00:19:34,830 एक रेखीय लेआउट एक छोटे से अधिक कार्यक्षमता देता है 287 00:19:34,830 --> 00:19:38,720 अंतरिक्ष भरने और सुनिश्चित बनाने के मामले में 288 00:19:38,720 --> 00:19:42,790 क्षैतिज या खड़ी हम स्थिति बातें. 289 00:19:42,790 --> 00:19:46,130 एक रेखीय लेआउट और एक रिश्तेदार लेआउट के बीच बड़ा अंतर 290 00:19:46,130 --> 00:19:50,250 अन्य विचारों के सापेक्ष सापेक्ष लेआउट पदों सब कुछ है 291 00:19:50,250 --> 00:19:52,630 और इसके बारे में अच्छी बात यह आकर्षित करने के लिए कम समय लगता है 292 00:19:52,630 --> 00:19:56,120 ऑपरेटिंग सिस्टम के सभी कोड को देखता है और यह हो जाता है क्योंकि यह कहते हैं 293 00:19:56,120 --> 00:19:58,270 यह यहां के सापेक्ष, यहाँ. 294 00:19:58,270 --> 00:20:03,170 यह नेस्ट रेखीय लेआउट की एक पूरी गुच्छा से कम मापन करता है इसका मतलब 295 00:20:03,170 --> 00:20:06,840 जो मैं बातें यहाँ खड़ी जाना चाहता था तो मैं क्या करना होगा. 296 00:20:06,840 --> 00:20:10,510 >> मैं पहले से ही कुछ बातें क्षैतिज जा रहा है, तो मैं एक अलग रेखीय लेआउट की आवश्यकता होगी 297 00:20:10,510 --> 00:20:14,560 खड़ी घोंसला उन्हें, लेकिन मैं एक रिश्तेदार लेआउट कर रहे थे अगर मैं कह सकता 298 00:20:14,560 --> 00:20:18,140 सही और नीचे इन बातों के लिए, बाईं करने के लिए यह इस रखना. 299 00:20:18,140 --> 00:20:21,850 लेकिन मैं उन्हें अभी भरना चाहते हैं, क्योंकि मैं एक रेखीय लेआउट का उपयोग करने के लिए जा रहा हूँ 300 00:20:21,850 --> 00:20:24,510 और तुम यह पहले से ही हमारे लिए इन चीजों का एक बहुत कुछ करता है देख सकते हैं. 301 00:20:24,510 --> 00:20:28,890 सभी विचारों, चौड़ाई और ऊंचाई की एक संपत्ति की आवश्यकता है 302 00:20:28,890 --> 00:20:33,410 और यह 1 के एक वजन के लिए होता है, और यह 1 के एक भार है 303 00:20:33,410 --> 00:20:36,050 इसलिए कि यह पूरे अंतरिक्ष भरता है. 304 00:20:36,050 --> 00:20:38,460 लेकिन चौड़ाई और ऊंचाई सबसे अधिक महत्वपूर्ण हैं. 305 00:20:38,460 --> 00:20:45,880 यहीं इस आईडी क्षेत्र वास्तविक लेआउट के भीतर महत्वपूर्ण नहीं है 306 00:20:45,880 --> 00:20:49,060 हम एक रिश्तेदार लेआउट का उपयोग कर रहा है और हम कर सकते हैं संदर्भ कह रहे हैं कि जब तक 307 00:20:49,060 --> 00:20:52,990 दूसरे करने के संदर्भ में एक दृश्य की स्थिति. 308 00:20:52,990 --> 00:20:56,170 हम एक रिश्तेदार लेआउट था तो हम इस इस एक नीचे की स्थिति कह सकते हैं 309 00:20:56,170 --> 00:20:59,390 या इस आईडी से ऊपर है, लेकिन इस आईडी महत्वपूर्ण होगा 310 00:20:59,390 --> 00:21:01,660 हम संदर्भित कर सकते हैं क्योंकि हम अपने कोड में यह प्रयोग कर रहे हैं जब 311 00:21:01,660 --> 00:21:05,610 इस तरह से इन व्यक्तिगत विचार. 312 00:21:05,610 --> 00:21:10,350 >> और फिर आप शायद pset 7 में देखा है, जो कुछ टैग requestFocus, देख सकते हैं. 313 00:21:10,350 --> 00:21:15,370 क्षेत्रों में से एक के लिए एक ऑटो फोकस टैग या उन पंक्तियों के साथ कुछ था. 314 00:21:15,370 --> 00:21:22,100 और एक बात, ज़ाहिर है, हम, एचटीएमएल में बस की तरह कर सकते हैं 315 00:21:22,100 --> 00:21:25,660 और नोटिस एडीटी के बारे में अच्छी चीजों में से एक यह यहाँ autocompletes है. 316 00:21:25,660 --> 00:21:29,930 यह Xcode में किया था, लेकिन यह फिर भी करता है, शायद नहीं के रूप में अच्छी तरह के रूप में 317 00:21:29,930 --> 00:21:32,860 और हम संकेत कहते हैं और फिर यह स्ट्रिंग के कुछ प्रकार दे सकता है 318 00:21:32,860 --> 00:21:37,070 , एक संदेश लिखना पसंद 319 00:21:37,070 --> 00:21:41,300 मैं इसे एक पल दे तो और, मैं यहाँ एक छोटी सी त्रुटि मिलती है वह भी नोटिस 320 00:21:41,300 --> 00:21:44,610 हम इस बात के लिए एक स्ट्रिंग संसाधन का उपयोग करना चाहिए कह रही है कि, 321 00:21:44,610 --> 00:21:48,820 मैं यह मेरे लिए मुश्किल काम से कुछ करते हैं तो अगर 322 00:21:48,820 --> 00:21:57,320 मैं वर्त्तक Android और निकालने एंड्रॉयड स्ट्रिंग करते हैं, इस स्ट्रिंग का चयन कर सकते हैं. 323 00:21:57,320 --> 00:22:00,570 मैं यह है कि नाम दे सकते हैं, एक संदेश लिखना 324 00:22:00,570 --> 00:22:04,180 और क्या यह अब यह है कि हार्ड कोडित स्ट्रिंग की जगह है था 325 00:22:04,180 --> 00:22:07,980 स्ट्रिंग की. xml फ़ाइल में स्ट्रिंग के लिए एक संदर्भ के साथ, 326 00:22:07,980 --> 00:22:10,200 जो यहाँ यह है अब इसका मतलब है. 327 00:22:10,200 --> 00:22:15,560 >> और मैं इस बिंदु पर एक छोटी सी तुच्छ और की तरह अतिरिक्त काम लगता है कि पता 328 00:22:15,560 --> 00:22:17,840 लेकिन आप चीजों की एक पूरी गुच्छा, तारों की एक पूरी गुच्छा है, जब 329 00:22:17,840 --> 00:22:20,750 कि वास्तव में महत्वपूर्ण है, और विशेष रूप से स्थानीयकरण के लिए 330 00:22:20,750 --> 00:22:26,920 जैसा कि मैंने पहले उल्लेख किया है, Android के एक बहुत ही विश्व स्तर पर इस्तेमाल किया ऑपरेटिंग सिस्टम है क्योंकि 331 00:22:26,920 --> 00:22:35,950 आप बस मूल्यों एन या मूल्यों सपा क्या कर सकते हैं 332 00:22:35,950 --> 00:22:44,320 अंग्रेजी या स्पेनी या अन्य भाषाओं के लिए या कुछ और. 333 00:22:44,320 --> 00:22:50,210 और फिर तुम शायद यह अभी तक का अनुभव नहीं किया है 334 00:22:50,210 --> 00:22:53,030 हम वेब प्रोग्रामिंग के मामले में ज्यादा जावास्क्रिप्ट नहीं किया है के बाद से, 335 00:22:53,030 --> 00:22:56,850 लेकिन हम भी, बटन के लिए onClick कहा जाता है कि इस क्षेत्र से कर सकते हैं 336 00:22:56,850 --> 00:23:02,350 और यह हमारे लेआउट के भीतर संदर्भित करने का एक तरीका है 337 00:23:02,350 --> 00:23:06,570 हम अपने स्रोत कोड में कहा जा करने के लिए एक निश्चित समारोह चाहते हैं. 338 00:23:06,570 --> 00:23:09,420 मैं इस SendMessage कॉल करने के लिए जा रहा हूँ 339 00:23:09,420 --> 00:23:13,390 और क्रम में यहां मुख्य गतिविधि में इसका मतलब है कि यह काम करने के लिए 340 00:23:13,390 --> 00:23:19,180 मैं जनता है कि एक समारोह बनाने के लिए होगा 341 00:23:19,180 --> 00:23:22,250 यह लेआउट द्वारा पहुँचा जा सकता है. 342 00:23:22,250 --> 00:23:25,930 आप सिर्फ यह कुछ भी वापस नहीं करना चाहता क्योंकि यह शून्य है. 343 00:23:25,930 --> 00:23:37,760 , हम यह SendMessage फोन करता हूँ, और यह एक दृश्य लेता है 344 00:23:37,760 --> 00:23:43,690 जो हम इस विधि लंगर कर सकते हैं कि संदर्भ का एक प्रकार है 345 00:23:43,690 --> 00:23:47,160 उस व्यक्ति को देखने के लिए हम इसे चला रहे हैं. 346 00:23:47,160 --> 00:23:50,090 >> आपने देखा, ठीक है, आपने देखा ही नहीं था और अगर मैं नहीं जानता, 347 00:23:50,090 --> 00:24:02,370 लेकिन इस बिंदु पर यहीं 348 00:24:02,370 --> 00:24:06,930 इस दृश्य में अभी तक शामिल नहीं किया गया है कि एक प्रकार है 349 00:24:06,930 --> 00:24:10,630 और ज़ाहिर है, आप सभी प्रकार सहित नहीं के बारे में CS50 से जानते हैं. 350 00:24:10,630 --> 00:24:13,120 आईडीई की तरह ग्रहण के बारे में अच्छी बात यह है कि 351 00:24:13,120 --> 00:24:17,520 आप एक प्रकार शामिल करने के लिए भूल जाते हैं तो यह squiggly एक छोटे से लाल रंग से रेखांकित होगा 352 00:24:17,520 --> 00:24:19,680 और फिर आप दृश्य आयात करने का विकल्प देते हैं. 353 00:24:19,680 --> 00:24:23,130 कर रही है कि एक त्वरित तरीका नियंत्रण बदलाव हे है, और यह आयात करेगा 354 00:24:23,130 --> 00:24:27,070 सभी यह है कि जरूरत फ़ाइलें. 355 00:24:27,070 --> 00:24:33,670 अब हम इस समारोह SendMessage है कि, 356 00:24:33,670 --> 00:24:46,560 जो, एक नई गतिविधि के लिए MainActivity से संदेश भेजने जा रहा है 357 00:24:46,560 --> 00:24:55,230 हम इस एक से नई गतिविधि शुरू करने के लिए एक आशय का उपयोग करने के लिए जा रहे हैं 358 00:24:55,230 --> 00:25:02,240 तो हम शायद एक वैश्विक स्थिर या भी विशेष रूप से एक सार्वजनिक स्थिर बनाने के लिए चाहता हूँ 359 00:25:02,240 --> 00:25:06,240 कि हमें हम स्ट्रिंग संदर्भ के लिए जा रहे हैं पता है कि कैसे मदद करेगा 360 00:25:06,240 --> 00:25:09,090 क्योंकि हम एक मंशा बनाते समय हम सिर्फ एक नई गतिविधि नहीं बुला रहे हैं 361 00:25:09,090 --> 00:25:11,520 लेकिन हम भी यह जानकारी का एक बंडल दे सकते हैं. 362 00:25:11,520 --> 00:25:14,720 एक बंडल वास्तव में एंड्रॉयड का उपयोग करता है कि शब्द है, 363 00:25:14,720 --> 00:25:21,470 और यह है कि यह एक बहुत ही संवेदनशील डेटा प्रकार का नहीं हो सकता जो अतिरिक्त डेटा, दे कहने का एक तरीका है 364 00:25:21,470 --> 00:25:24,510 लेकिन हम निश्चित रूप से booleans या तार या ints के शामिल कर सकते हैं. 365 00:25:24,510 --> 00:25:29,750 बात का उस तरह. 366 00:25:29,750 --> 00:25:34,230 >> यहाँ इन क्वालिफायर में से किसी के बारे में पूछने के लिए स्वतंत्र महसूस हो रहा है, 367 00:25:34,230 --> 00:25:36,900 , सार्वजनिक अंतिम, स्थिर. 368 00:25:36,900 --> 00:25:38,610 लोक महत्वपूर्ण एक है. 369 00:25:38,610 --> 00:25:47,090 यह हम अन्य स्रोत कोड फ़ाइलों से इस चर का उपयोग कर सकते हैं इसका मतलब है कि 370 00:25:47,090 --> 00:25:49,590 इस तरह हम एक नई गतिविधि बनाने के रूप में जब. 371 00:25:49,590 --> 00:25:52,190 हम इस फ़ाइल में स्ट्रिंग संदर्भित कर सकते हैं. 372 00:25:52,190 --> 00:25:57,160 यह निजी है, यह है कि यह यहाँ यह व्यक्तिगत फाइल करने के लिए सीमित है इसका मतलब है. 373 00:25:57,160 --> 00:26:02,430 लेकिन हम अतिरिक्त संदेश की तरह यह कुछ फोन करता हूँ. 374 00:26:16,260 --> 00:26:23,300 अब हम इस समारोह बना दिया है, और हम बटन क्लिक करते हैं, इस समारोह में बुलाया जाएगा. 375 00:26:23,300 --> 00:26:27,970 लेकिन हम समारोह के साथ, जाहिर है, कुछ भी नहीं किया है. 376 00:26:27,970 --> 00:26:33,130 अब हम क्या करना चाहते हैं, एक नई गतिविधि बना है 377 00:26:33,130 --> 00:26:35,350 गतिविधि है कि वास्तव में शुरू किया जाएगा. 378 00:26:35,350 --> 00:26:44,330 ग्रहण में हम नए, एंड्रॉयड गतिविधि, रिक्त गतिविधि कह सकते हैं. 379 00:26:44,330 --> 00:26:46,530 हम इसे कोई नाम दे सकते हैं. 380 00:26:46,530 --> 00:26:57,050 हम कहते हैं कि यह हमारे परिणाम गतिविधि कहते हैं. 381 00:26:57,050 --> 00:27:04,430 और फिर इस पदानुक्रम माता पिता के क्षेत्र को निर्दिष्ट करने का एक तरीका है 382 00:27:04,430 --> 00:27:08,180 कैसे गतिविधियों को एक दूसरे से जुड़े हुए हैं. 383 00:27:08,180 --> 00:27:11,020 इस एक अन्य गतिविधि से शुरू किया जाएगा क्योंकि 384 00:27:11,020 --> 00:27:27,520 हम यह माता पिता के मुख्य गतिविधि है कि निर्दिष्ट करना चाहिए. 385 00:27:27,520 --> 00:27:31,220 >> और मुझे लगता है कि हमें बताया होता, जो वहाँ अगले क्षेत्र पर क्लिक किया जा सकता था 386 00:27:31,220 --> 00:27:33,830 यह भी शामिल था कि कुछ वैकल्पिक क्षेत्रों, 387 00:27:33,830 --> 00:27:38,800 लेकिन एडीटी के बारे में अच्छी बात यह है कि, फिर से, मैं यहाँ नीचे स्क्रॉल तो यह है कि 388 00:27:38,800 --> 00:27:45,740 प्रकट में यह सब वास्तव में डिफ़ॉल्ट रूप से शामिल किया गया था कि याद 389 00:27:45,740 --> 00:27:48,930 हम मूल रूप से परियोजना बनाई, जब 390 00:27:48,930 --> 00:27:53,090 और अब हम इस एक नई गतिविधि बनाने के बजाय प्रयोग किया जाता है, क्योंकि बस 391 00:27:53,090 --> 00:27:58,610 हम यह करने के लिए अपने जीयूआई के माध्यम से चला गया, क्योंकि हमारे अपने वर्ग फ़ाइल जोड़ने 392 00:27:58,610 --> 00:28:01,930 यह पहले से ही हमारे लिए प्रकट करने के लिए यह सब जोड़ 393 00:28:01,930 --> 00:28:06,020 जो अभी ऑपरेटिंग सिस्टम शिकायत नहीं होगी कि इसका मतलब 394 00:28:06,020 --> 00:28:09,400 हम इस गतिविधि शुरू करने की कोशिश. 395 00:28:09,400 --> 00:28:14,620 और यह भी, ज़ाहिर है, यह भी तार में पता चलता है जो एक लेबल, दे दी है. 396 00:28:14,620 --> 00:28:17,340 यह हमारे लिए वापस अंत पर बहुत सारी बातें करता है. 397 00:28:17,340 --> 00:28:20,140 वैसे भी, अब हम भी इस परिणाम गतिविधि है कि, 398 00:28:20,140 --> 00:28:23,810 स्रोत फ़ोल्डर में वास्तविक स्रोत कोड फ़ाइल, 399 00:28:23,810 --> 00:28:33,540 और आप को देखने के लिए संक्षेप में इस छू सकता है 400 00:28:33,540 --> 00:28:37,790 हम इस पदानुक्रम माता - पिता के बारे में यह कहा था क्योंकि 401 00:28:37,790 --> 00:28:46,640 यह इस onOption चयनित बात में इस क्षेत्र android.r.ide.home दिया. 402 00:28:46,640 --> 00:28:49,020 >> क्या यह मूल रूप से कह रहा है कि एक मेनू बटन अब वहाँ है 403 00:28:49,020 --> 00:28:53,110 कि स्क्रीन के ऊपरी बाएँ कोने में 404 00:28:53,110 --> 00:29:02,220 हम पहले कार्रवाई बार के बारे में बात की थी, जहां मैं PowerPoint के लिए वापस जाओ 405 00:29:02,220 --> 00:29:05,380 क्योंकि पदानुक्रम माता पिता का अब वापस यहाँ एक छोटा सा तीर नहीं है 406 00:29:05,380 --> 00:29:10,610 हम वास्तव में इस दौड़ के बाद सक्षम होना चाहिए और यह क्लिक करने योग्य है अनुप्रयोग 407 00:29:10,610 --> 00:29:15,360 वापस जाने के लिए, और यह हमें वहाँ कोड का एक छोटा सा बचाने का एक तरीका है. 408 00:29:26,220 --> 00:29:40,180 अब यह अच्छी तरह से भीतर, यह एक पल के लिए उस के बारे में शिकायत करने लगता है. 409 00:29:40,180 --> 00:29:43,910 है कि बाहर टिप्पणी करते हैं. 410 00:29:43,910 --> 00:29:48,260 अब, क्रम में वास्तव में, इन 2 गतिविधियों के साथ बातचीत करने के लिए 411 00:29:48,260 --> 00:29:55,020 हम इस डेटा के सभी शामिल हैं जो एक आशय बनाने के लिए है. 412 00:29:55,020 --> 00:29:58,950 SendMessage में अब मैं कोड के कुछ टुकड़े के माध्यम से क्रूज के लिए जा रहा हूँ 413 00:29:58,950 --> 00:30:00,700 और मैं जाने के रूप में समझा है कि. 414 00:30:00,700 --> 00:30:06,280 एक इरादे, जैसा कि मैंने कहा, एक से एक गतिविधि शुरू करने के लिए एक रास्ता है. 415 00:30:06,280 --> 00:30:10,000 आशय प्रकार है. हम एक चर myIntent बना रहे हैं. 416 00:30:10,000 --> 00:30:13,980 >> और यह वास्तव में हम नए फोन किया है यही वजह है कि एक वस्तु है. 417 00:30:13,980 --> 00:30:18,500 यह करने के लिए इस्तेमाल किया जा रहा का एक छोटा सा लग सकता है, जो वहाँ आम जावा के उपयोग है. 418 00:30:18,500 --> 00:30:23,900 यह हम, गतिविधि या वर्ग MainActivity का उपयोग कर रहे हैं इसका मतलब 419 00:30:23,900 --> 00:30:28,630 और इस तरह के इरादे से यह हो रहा है गतिविधि लेता है 420 00:30:28,630 --> 00:30:36,060 और गतिविधि यह, हम ResultActivity कॉल, जो हो रहा है 421 00:30:36,060 --> 00:30:38,170 और कि अपने ही वर्ग है. 422 00:30:38,170 --> 00:30:41,720 कि शामिल करें. 423 00:30:41,720 --> 00:30:47,370 मैंने पहले उल्लेख किया और फिर, हम संपादित पाठ क्षेत्र के लिए कि आईडी दिया 424 00:30:47,370 --> 00:30:53,710 और पाठ देखने के लिए, ताकि क्रम में प्रोग्राम द्वारा कब्जा करने के लिए 425 00:30:53,710 --> 00:31:01,860 EditText में मौजूद है कि पाठ 426 00:31:01,860 --> 00:31:06,710 हम findViewByID नामक इस समारोह का उपयोग करें, 427 00:31:06,710 --> 00:31:13,660 जो डोम से खेतों पाने के लिए कोशिश कर रहा है जब आप इस्तेमाल करेंगे कि कुछ करने के लिए इसी तरह की है. 428 00:31:13,660 --> 00:31:17,560 व्याख्यान में इस बारे में शायद डेविड वार्ता. 429 00:31:17,560 --> 00:31:26,600 लेकिन यह सिर्फ होने का एक तरीका है उन में है कि हम उन क्षेत्रों के साथ इन बातों टैग क्यों है. 430 00:31:26,600 --> 00:31:31,110 Id.editText1. 431 00:31:31,110 --> 00:31:35,220 यह पहले से ही वहाँ मेरे लिए autocompleting है. 432 00:31:35,220 --> 00:31:42,010 >> और फिर हम भी शामिल है इस देंगे EditText अब हम क्षेत्र है कि 433 00:31:42,010 --> 00:31:47,640 हमारे कार्यक्रम के भीतर, यह सब findViewByID मूल रूप से किया गया था 434 00:31:47,640 --> 00:31:50,870 आप के रूप में हमें उस EditText के लिए एक संदर्भ दे यह सोच भी नहीं सकते. 435 00:31:50,870 --> 00:31:54,570 अब हम स्ट्रिंग या संदेश प्राप्त करना चाहते हैं 436 00:31:54,570 --> 00:32:00,670 हम का उपयोग करके कर सकते हैं जो कि EditText भीतर 437 00:32:00,670 --> 00:32:03,360 आप एक के रूप में EditText के बारे में सोच सकता है संरचना- 438 00:32:03,360 --> 00:32:07,600 हम उस में एक वस्तु विभिन्न तरीकों की एक पूरी गुच्छा जावा के साथ फोन 439 00:32:07,600 --> 00:32:10,650 या खेतों और विशेषताओं से जुड़ा है. 440 00:32:10,650 --> 00:32:15,510 मैं EditText कहते हैं. यह मुझे का उपयोग करने का मौका देता है 441 00:32:15,510 --> 00:32:19,770 मौजूदा पाठ मिल जाएगा जो इस तरह के gettext के रूप में एक विधि, 442 00:32:19,770 --> 00:32:23,990 कि EditText में और फिर कि स्पष्ट रूप से परिवर्तित 443 00:32:23,990 --> 00:32:26,520 एक स्ट्रिंग के लिए, और हम संदेश को बचाया है. 444 00:32:26,520 --> 00:32:32,730 अब हम वास्तव में हम सिर्फ क्षण पहले बनाया कि इरादे के साथ कुछ करना चाहते हैं. 445 00:32:32,730 --> 00:32:40,250 यह मंशा में कहा जाता है के रूप में मैं, अतिरिक्त डाल देंगे 446 00:32:40,250 --> 00:32:43,330 जो, फिर, जैसा मैंने पहले कहा, इस बंडल बनाने का एक तरीका है 447 00:32:43,330 --> 00:32:45,980 डेटा की एक पूरी गुच्छा के साथ. 448 00:32:45,980 --> 00:32:50,920 हम हम के तहत इस बचत कर रहे हैं क्या पता है तो अतिरिक्त संदेश, हमारे टैग है 449 00:32:50,920 --> 00:32:56,700 और फिर मैं संदेश सहित हूँ. 450 00:32:56,700 --> 00:33:04,870 >> और फिर हम वास्तव में यह पैरामीटर myIntent देकर गतिविधि शुरू कर सकते हैं. 451 00:33:04,870 --> 00:33:10,630 मैं विंडोज 8 के लिए उन्नत और के बाद से यह वास्तव में अब तो, गतिविधि का शुभारंभ करेंगे 452 00:33:10,630 --> 00:33:15,870 वहाँ संक्षेप में दिखाने के कुछ त्रुटियाँ हो, लेकिन उन्हें नजरअंदाज करने की कोशिश हो सकती है. 453 00:33:28,010 --> 00:33:30,310 और यह एंड्रॉयड एमुलेटर है. 454 00:33:30,310 --> 00:33:33,540 उम्मीद है कि कोड वास्तव में एक पल में पॉप जाएगा. 455 00:33:33,540 --> 00:33:36,680 फिर, उन सभी छोटी बातों की अनदेखी. 456 00:33:36,680 --> 00:33:42,290 लेकिन एंड्रॉयड एमुलेटर आप ऑपरेटिंग सिस्टम के किसी भी संस्करण का अनुकरण कर सकते हैं 457 00:33:42,290 --> 00:33:45,180 जल्द से जल्द लोगों से, डोनट, जिंजरब्रेड. 458 00:33:45,180 --> 00:33:49,640 यह जेली बीन 4.1 है. 459 00:33:49,640 --> 00:33:53,150 लेकिन आप अभी देख सकते हैं, यह हम बनाया है. 460 00:33:53,150 --> 00:33:55,780 इस MainActivity, EditText, बटन है. 461 00:33:55,780 --> 00:34:01,550 मैं यहाँ कुछ लिख सकते हैं, लेकिन हम इस बिंदु पर क्या याद आ रही है? 462 00:34:01,550 --> 00:34:05,190 हम संदेश भेजने के लिए जा रहा है कि MainActivity में क्षेत्र बनाया 463 00:34:05,190 --> 00:34:08,570 अन्य गतिविधि के लिए, लेकिन इस बिंदु पर 464 00:34:08,570 --> 00:34:12,330 हम अन्य गतिविधि में कुछ भी नहीं किया है, तो यह कुछ भी प्राप्त नहीं हो रहा है. 465 00:34:12,330 --> 00:34:18,800 हम आगे बढ़ने से पहले के उस हिस्से को खत्म करते हैं. 466 00:34:18,800 --> 00:34:25,760 >> इस परिणाम गतिविधि, हम क्या करने की आवश्यकता होगी कि हम क्या करने की आवश्यकता होगी है हम की आवश्यकता होगी करने वाली है 467 00:34:25,760 --> 00:34:30,070 हम भी, इस गतिविधि के भीतर इरादे संदर्भित कर सकते हैं 468 00:34:30,070 --> 00:34:33,580 इसलिए हम वास्तव में सरल है जो मंशा पर कब्जा किया. 469 00:34:33,580 --> 00:34:40,780 यह गतिविधि वर्ग में शामिल एक समारोह है 470 00:34:40,780 --> 00:34:47,610 तो हम सिर्फ "इरादे से संदेश मिलता है." कह सकते हैं 471 00:34:47,610 --> 00:34:56,260 "आशय myIntent = getIntent." 472 00:34:56,260 --> 00:35:00,030 और यह, myIntent एक वस्तु है हमें अब देना होगा 473 00:35:00,030 --> 00:35:05,380 जो इस गतिविधि के लिए हमें का नेतृत्व किया है कि इरादे के लिए एक संदर्भ है. 474 00:35:05,380 --> 00:35:10,130 MainActivity कॉल और गतिविधि के परिणाम को अतिरिक्त जानकारी देता है. 475 00:35:10,130 --> 00:35:14,070 रिजल्ट गतिविधि अब, यहाँ यह है कि नेतृत्व मंशा पर लग रहा है 476 00:35:14,070 --> 00:35:23,540 और हम, हम एक दूसरे में बनाए गए संदेश का उपयोग कर सकते हैं 477 00:35:23,540 --> 00:35:26,370 getStringExtra, और यह मेरे लिए स्वत: पूर्ण होगा. 478 00:35:26,370 --> 00:35:31,190 और फिर, हम टैग किया जिस तरह से याद है कि डेटा का सा 479 00:35:31,190 --> 00:35:38,400 ,, यहाँ पर इस सार्वजनिक स्ट्रिंग इस क्षेत्र देकर था 480 00:35:38,400 --> 00:35:42,080 जो हम वास्तव में शामिल स्ट्रिंग के लिए टैग है. 481 00:35:42,080 --> 00:35:48,450 >> मैं MainActivity.Extra_Message कहते हैं 482 00:35:48,450 --> 00:35:52,200 यह सही नहीं है, और इस पैरामीटर नाम की तरह की तरह है 483 00:35:52,200 --> 00:35:55,330 हम नियंत्रक से टेम्पलेट के लिए कोड पारित कर दिया, जब 484 00:35:55,330 --> 00:35:57,680 हम शीर्षक तीर कुछ कह सकता हूँ जब. 485 00:35:57,680 --> 00:36:01,140 यह वहाँ विचार की ही तरह है. 486 00:36:01,140 --> 00:36:07,130 अब, यह याद रखना. 487 00:36:07,130 --> 00:36:12,230 कोड हम भी इस ऑटो बनाया था या स्वत: उत्पन्न 488 00:36:12,230 --> 00:36:16,410 परिणाम गतिविधि के लिए, जो बीच में पाठ दृश्य भी शामिल 489 00:36:16,410 --> 00:36:19,690 कि दुनिया नमस्ते कहते हैं. 490 00:36:19,690 --> 00:36:27,510 हम संभावित है कि बड़ा बना सकता है. 491 00:36:27,510 --> 00:36:33,980 पहला यह है कि क्या करना चलो. 492 00:36:33,980 --> 00:36:39,550 हम इसे 40 घनत्व स्वतंत्र पिक्सल बना सकता है. 493 00:36:39,550 --> 00:36:42,670 चलो विशाल सुपर है, देखते हैं. यह ठीक हो जाएगा. 494 00:36:42,670 --> 00:36:48,180 और फिर हमारे कोड के भीतर इस व्यक्ति पाठ दृश्य का संदर्भ के लिए आदेश में 495 00:36:48,180 --> 00:36:53,890 हम, यह एक पहचान पत्र देने की आवश्यकता होगी 496 00:36:53,890 --> 00:36:58,350 और हम कहते हैं कि ऐसा करने के क्रम में @ हम इसे पहचान प्रदान जिसका अर्थ है + आईडी,. 497 00:36:58,350 --> 00:37:02,480 हम सिर्फ @ आईडी कहा तो यह है कि हम पहले से ही मौजूद है कि एक आईडी संदर्भित कर रहे हैं मान जाएगा 498 00:37:02,480 --> 00:37:07,760 और चलो यह हमारे resultTextView कहते हैं. 499 00:37:07,760 --> 00:37:10,570 और XML में अर्धविराम या कुछ भी की कोई जरूरत नहीं है कि नोटिस. 500 00:37:10,570 --> 00:37:12,380 सब कुछ इन टैग्स के भीतर है. 501 00:37:12,380 --> 00:37:15,530 यह होश का एक बहुत में HTML के समान है. 502 00:37:15,530 --> 00:37:22,760 >> यह करने के लिए इस्तेमाल किया जा रहा का एक छोटा सा लगता है, लेकिन अंत में आप इसके साथ बहुत सहज महसूस करता हूँ. 503 00:37:22,760 --> 00:37:31,320 चलो हमारे परिणाम पाठ को देखने के लिए पाठ को अद्यतन करते हैं, 504 00:37:31,320 --> 00:37:35,650 और हम अपने अन्य गतिविधियों में है कि संपादित पाठ क्षेत्र हो रहे थे जब हमने किया 505 00:37:35,650 --> 00:37:46,630 MainActivity में यहाँ हम भी करेंगे वैसे ही, 506 00:37:46,630 --> 00:37:54,890 हम आईडी के आधार पर देखने के मिल जाएगा. 507 00:37:54,890 --> 00:37:59,640 और आर के मामले में मैं यह पहले उल्लेख नहीं किया, हमारे संसाधनों फ़ोल्डर में संदर्भ है 508 00:37:59,640 --> 00:38:05,350 और फिर आईडी, संसाधन फ़ोल्डर में सब कुछ, सब आईडी के लिए एक संदर्भ है 509 00:38:05,350 --> 00:38:10,060 और resultTextView. 510 00:38:10,060 --> 00:38:13,010 और बस के रूप में पहले, resultTextView, एक वस्तु है 511 00:38:13,010 --> 00:38:15,780 जो यह इसके साथ जुड़े इन सभी गुण है इसका मतलब है. 512 00:38:15,780 --> 00:38:20,610 हम इस पाठ क्षेत्र या पाठ को देखने के लिए संपादित पाठ के लिए gettext का उपयोग करते हैं 513 00:38:20,610 --> 00:38:23,980 हम वास्तव में, setText का उपयोग कर सकते हैं 514 00:38:23,980 --> 00:38:26,960 और फिर हम पहले से ही इरादे से संदेश मिला 515 00:38:26,960 --> 00:38:35,760 इसलिए मैं संदेश कह सकते हैं, और यह वास्तव में संदेश की स्थापना की जाएगी. 516 00:38:35,760 --> 00:38:41,820 >> इसे शुरू करने के लिए एक क्षण ले, और फिर हम, यह दुर्घटनाओं जाए या नहीं देख सकते हैं 517 00:38:41,820 --> 00:38:48,670 लेकिन अभी भी वहीं है कि इस प्रक्रिया के बारे में कोई सवाल है, बातचीत का है कि तरह? 518 00:38:48,670 --> 00:38:51,490 कई मायनों में यह स्पष्ट है. 519 00:38:51,490 --> 00:38:53,960 मैं अपेक्षाकृत सरल कुछ के माध्यम से जा रहा हूँ कारण 520 00:38:53,960 --> 00:38:57,330 आप लेआउट के बीच बातचीत देखने को मिलता है, क्योंकि, फिर, है 521 00:38:57,330 --> 00:38:59,520 स्रोत कोड, कैसे आप संदर्भ बातें 522 00:38:59,520 --> 00:39:07,680 और शायद जावा वहाँ कैसे काम करता है के लिए थोड़ा जोखिम मिलता है. 523 00:39:07,680 --> 00:39:16,500 मैं वास्तव में ohai की तरह, यहां कुछ लिखें, और तो मैं, बटन क्लिक करें 524 00:39:16,500 --> 00:39:22,260 यह एक नई गतिविधि की शुरूआत, और उस पाठ को देखने ohai कहते हैं. 525 00:39:22,260 --> 00:39:27,640 यही कारण है, बहुत आसान है, लेकिन उम्मीद है कि उदाहरण के बाद 526 00:39:27,640 --> 00:39:32,310 आप की तरह इस बातचीत कैसे काम करता है, और फ़ाइलों की अब कि गंदगी 527 00:39:32,310 --> 00:39:36,870 इन सभी परियोजना फ़ोल्डर्स के लिए बाईं ओर, उम्मीद है कि आप जहां अब देखना पता है. 528 00:39:36,870 --> 00:39:38,700 यह अपने स्रोत कोड क्षेत्र है. 529 00:39:38,700 --> 00:39:41,760 >> लेआउट वास्तव में आप छवियों में शामिल हैं जब तक आप के साथ सौदा होगा ही बात है 530 00:39:41,760 --> 00:39:46,370 और drawables या जो कुछ भी है, और मूल्यों, कि, तार शामिल होंगे 531 00:39:46,370 --> 00:39:51,960 हम उल्लेख किया है, और फिर शैलियों सीएसएस की तरह तरह की है कि कुछ है. 532 00:39:51,960 --> 00:39:56,410 यदि आप चाहते हैं कि जब यह पता है, लेकिन आप अतिरिक्त क्षमता जोड़ने के साथ सहज महसूस करते हैं जब तक 533 00:39:56,410 --> 00:40:02,520 अपने आवेदन करने के लिए बहुत ज्यादा है इसके बारे में चिंता करने की कोई जरूरत नहीं है. 534 00:40:02,520 --> 00:40:07,410 बस एक दूसरी बात लपेट आप निश्चित रूप से शामिल करने के लिए चाहते हो जाएगा 535 00:40:07,410 --> 00:40:13,010 आप शांत सुविधाओं एकीकृत और अपने आप को कुछ अतिरिक्त सहेजना चाहते संभालने कोडिंग- 536 00:40:13,010 --> 00:40:16,460 3 पार्टी पुस्तकालयों को शामिल करने के लिए किया जाएगा. 537 00:40:16,460 --> 00:40:19,840 यहाँ शर्लक होम्स टोपी के साथ थोड़ा एंड्रॉयड लड़का है. 538 00:40:19,840 --> 00:40:23,040 यह एक एक्शन बार शर्लक पुस्तकालय है 539 00:40:23,040 --> 00:40:25,390 जो मूल रूप से, आप पहले देखा था कि कार्रवाई पट्टी का मतलब 540 00:40:25,390 --> 00:40:29,590 जो, अब आइस क्रीम सैंडविच और जेली बीन में मानक है 541 00:40:29,590 --> 00:40:33,100 आप पुराने संस्करण पर उपयोगकर्ताओं के लिए उपयोगकर्ता अनुभव की तरह है कि लाने के लिए चाहते हैं 542 00:40:33,100 --> 00:40:39,290 और उपयोगकर्ता नेविगेट करने के लिए जा रहा है के बारे में चिंता करने से अपने आप को बचाने के 543 00:40:39,290 --> 00:40:42,490 पुराने संस्करण पर बात यह है कि वहाँ नहीं है जब आप इस पुस्तकालय में शामिल कर सकते हैं 544 00:40:42,490 --> 00:40:46,770 और फिर आप बस के लिए है संदर्भ के बजाय डिफ़ॉल्ट एंड्रॉयड 545 00:40:46,770 --> 00:40:50,250 कार्रवाई पट्टी के लिए पुस्तकालयों, आप इस समर्थन पुस्तकालय संदर्भ. 546 00:40:50,250 --> 00:40:53,090 >> आप एक खेल को शामिल करने जा रहे हैं Scoreloop जैसे हालात, यह बहुत अच्छी बात है. 547 00:40:53,090 --> 00:40:57,280 यह आप खेल के लिए नेता बोर्डों और उपलब्धियों को जोड़ देता है. 548 00:40:57,280 --> 00:41:00,900 Admob अपने आवेदन में विज्ञापन लगाने का एक तरीका है 549 00:41:00,900 --> 00:41:02,900 मामले में आप इसे से पैसे का एक छोटा सा बनाना चाहते हैं. 550 00:41:02,900 --> 00:41:05,730 बेशक, फेसबुक और ट्विटर वहाँ एकीकृत करने के लिए नहीं है 551 00:41:05,730 --> 00:41:08,170 आप वगैरह, आसानी से चीजों को साझा करना चाहते हैं. 552 00:41:08,170 --> 00:41:15,120 ड्रॉपबॉक्स, वैसे ही, और गूगल एनालिटिक्स वहाँ एक लग रही है कि चार्ट है. 553 00:41:15,120 --> 00:41:19,070 आप वास्तव में बातचीत कर रहा है जो देखना चाहते हैं तो यह बहुत महत्वपूर्ण होगा 554 00:41:19,070 --> 00:41:25,800 अपने अनुप्रयोग या यह कौन है, कैसे वे बातचीत, वगैरह के साथ. 555 00:41:25,800 --> 00:41:30,650 गूगल, डिफ़ॉल्ट रूप से, आप अपने अनुप्रयोग स्थापित किया गया है, जो के बारे में आंकड़ों का एक बहुत कुछ कहता है 556 00:41:30,650 --> 00:41:35,020 और वे क्या फोन, क्या ऑपरेटिंग सिस्टम संस्करणों वे हैं. 557 00:41:35,020 --> 00:41:38,080 लेकिन अगर आप एक दैनिक आधार पर प्रयोग और कैसे वे इसका इस्तेमाल किया जाता है जो देखना चाहते हैं 558 00:41:38,080 --> 00:41:42,860 तो आपको लगता है कि जैसे ट्रैकिंग प्रणाली के कुछ प्रकार शामिल करने के लिए चाहता हूँ. 559 00:41:42,860 --> 00:41:44,990 >> आप अपने अनुप्रयोग वितरित करने के लिए तैयार हैं 560 00:41:44,990 --> 00:41:46,930 मैं बहुत ज्यादा गहराई में है कि में जाने की जरूरत नहीं है. 561 00:41:46,930 --> 00:41:49,090 यहाँ के लिंक पर क्लिक करें, गूगल खेलें. 562 00:41:49,090 --> 00:41:51,080 यह एंड्रॉयड बाजार हुआ करता था. 563 00:41:51,080 --> 00:41:53,470 वे, गूगल प्ले के साथ सब कुछ rebranded 564 00:41:53,470 --> 00:41:55,230 तो अब आप उस के लिए प्रस्तुत. 565 00:41:55,230 --> 00:41:57,140 यह बहुत स्पष्ट है. 566 00:41:57,140 --> 00:42:01,070 आपको एक विवरण, कुछ स्क्रीनशॉट शामिल है. 567 00:42:01,070 --> 00:42:05,660 जैसे मैंने कहा, IOS की तरह कोई अनुमोदन प्रक्रिया है. 568 00:42:05,660 --> 00:42:07,270 और जहां यहाँ से जाने के लिए? 569 00:42:07,270 --> 00:42:09,450 मैं आपको एक बहुत ही सरल उदाहरण से पता चला है. 570 00:42:09,450 --> 00:42:13,270 यह बहुत आसान लगता है, उम्मीद है कि अगर 571 00:42:13,270 --> 00:42:15,740 तो है कि शायद एक अच्छा संकेत है. 572 00:42:15,740 --> 00:42:20,080 आप सभी को मैं टाइप किया गया था कि क्या वास्तव में के बारे में थोड़ा उलझन या अनिश्चित लगा 573 00:42:20,080 --> 00:42:26,160 वह भी ठीक है, लेकिन यहाँ से गूगल गाइड्स के पास जाओ. 574 00:42:26,160 --> 00:42:28,330 यह शुरू करने के लिए एक महान जगह है. 575 00:42:28,330 --> 00:42:31,460 यह आवेदन डिजाइन के मामले में वे क्या उम्मीद माध्यम से बात करेंगे 576 00:42:31,460 --> 00:42:33,380 उपयोगकर्ताओं को सामान्य रूप से इसके साथ कैसे बातचीत. 577 00:42:33,380 --> 00:42:36,450 इसे और अधिक मुक्त फार्म आईओएस से है, मैं कह सकता हूँ, 578 00:42:36,450 --> 00:42:41,330 तालिका दृश्य, मैं कर रहे हैं पता नहीं है की तरह लगता है, जो कि उनकी रोजी रोटी है. 579 00:42:41,330 --> 00:42:44,690 सब कुछ ऊपर और नीचे फिसलने एक तालिका दृश्य है. 580 00:42:44,690 --> 00:42:48,160 Android के साथ वे निश्चित रूप से लोगों से यह देखने के लिए प्रोत्साहित करते हैं 581 00:42:48,160 --> 00:42:51,720 अलग अलग दृष्टिकोण की एक पूरी गुच्छा. 582 00:42:51,720 --> 00:42:56,000 >> आप इस एडीटी में सॉफ्टवेयर विकास किट में शामिल हैं 583 00:42:56,000 --> 00:43:03,010 डिफ़ॉल्ट रूप से आप एंड्रॉयड में नमूना परियोजनाओं की एक पूरी गुच्छा है. 584 00:43:03,010 --> 00:43:05,470 यहीं पर, एंड्रॉयड, एंड्रॉयड नमूना परियोजना. 585 00:43:05,470 --> 00:43:11,870 मैं उस पर क्लिक करते हैं, तो मैं परियोजनाओं को लागू नमूना की है जिसके लिए एक संस्करण का चयन कर सकते हैं. 586 00:43:11,870 --> 00:43:13,300 विभिन्न चीजों की एक पूरी गुच्छा यहाँ है. 587 00:43:13,300 --> 00:43:16,690 यह कार्रवाई बार संगतता के साथ बंद शुरू 588 00:43:16,690 --> 00:43:24,610 accelerometer का खेल, बैकअप और बहाल, ब्लूटूथ, इशारा बिल्डर. 589 00:43:24,610 --> 00:43:28,930 LunarLander है के रूप में JetBoy, वे तुम्हें दे एक नमूना खेल है. 590 00:43:28,930 --> 00:43:31,250 नमूना अनुप्रयोगों की एक पूरी गुच्छा, यहाँ कर रहे हैं 591 00:43:31,250 --> 00:43:35,290 और वे सभी, Android के एपीआई के विभिन्न पहलुओं पर लक्षित कर रहे हैं 592 00:43:35,290 --> 00:43:41,520 और विचार है कि आप अपने आवेदन के रूप में यह है कि 593 00:43:41,520 --> 00:43:44,110 आप एक Android app बनाने के लिए Android के बारे में सब कुछ जानने की जरूरत नहीं है. 594 00:43:44,110 --> 00:43:47,300 आप ही आप वास्तव में उपयोग करने के लिए जा रहे हैं कि भागों के बारे में जानने के लिए है. 595 00:43:47,300 --> 00:43:49,340 इन नमूना पुस्तकालयों को देखो. 596 00:43:49,340 --> 00:43:51,510 कॉपी और पेस्ट कोड और इसे पुन: लागू करने के लिए स्वतंत्र महसूस हो रहा है. 597 00:43:51,510 --> 00:43:53,850 यह और अधिक मुश्किल कोड को देखने के लिए एक बड़ी बात है 598 00:43:53,850 --> 00:43:57,060 और इसे समझने की कोशिश करते हैं, जो निश्चित रूप से है क्यों CS50 में 599 00:43:57,060 --> 00:44:01,510 हम अक्सर आप स्रोत कोड की बड़ी मात्रा में दे. 600 00:44:01,510 --> 00:44:04,620 आप इसी तरह पुस्तकालयों का उपयोग करने के लिए जा रहे हैं इनमें से कुछ को देखो 601 00:44:04,620 --> 00:44:08,630 और फिर अपने खुद के कोड के लिए इसे लागू. 602 00:44:08,630 --> 00:44:10,430 और हां, ट्यूटोरियल हैं. 603 00:44:10,430 --> 00:44:12,690 ट्यूटोरियल के लिए खोजें. 604 00:44:12,690 --> 00:44:17,020 मैं गति के लिए आप को ला सकते हैं जो अच्छे लोगों का एक बहुत ऑनलाइन पाया 605 00:44:17,020 --> 00:44:20,080 क्या टुकड़े वास्तव में कर रहे हैं और आप उन्हें कैसे उपयोग कर सकते हैं के साथ. 606 00:44:20,080 --> 00:44:22,240 >> टुकड़े की तरह इन नए डिजाइन चीजों में से कुछ,, 607 00:44:22,240 --> 00:44:26,840 आप एक कर रहे हैं जब तक आप वास्तव में के बारे में चिंतित होने की जरूरत नहीं है 608 00:44:26,840 --> 00:44:30,560 गुंजाइश परियोजना में बहुत बड़ी. 609 00:44:30,560 --> 00:44:32,510 वे गूगल के अंदर चरण के लिए कोशिश कर रहा है कि बातें कर रहे हैं 610 00:44:32,510 --> 00:44:35,570 Stackoverflow निश्चित रूप से अपने दोस्त है. 611 00:44:35,570 --> 00:44:37,930 उम्मीद है कि मैं, Android पर आप थोड़ा और बेचा 612 00:44:37,930 --> 00:44:41,640 इसे और अधिक आसान बस कोडन भाषा के संदर्भ में करने के लिए दृष्टिकोण है साकार. 613 00:44:41,640 --> 00:44:45,970 जावा मैं उद्देश्य सी से समझने के लिए बहुत आसान कहूँगा है. 614 00:44:45,970 --> 00:44:50,780 एंड्रॉयड मैं बहुत अधिक आईओएस से लगता है कि बढ़ रही है. 615 00:44:50,780 --> 00:44:54,890 मेरा मतलब है, डेटा मैं क्या लगता है कि एक तरफ से, वहाँ भी है. 616 00:44:54,890 --> 00:44:56,920 यह थोड़ी देर के लिए चारों ओर हो रहा है 617 00:44:56,920 --> 00:45:00,880 और वे अपने डिजाइन चक्र के संदर्भ में कुछ साल पीछे हैं 618 00:45:00,880 --> 00:45:04,690 तो यह है कि वे अभी भी इनमें से कुछ के माध्यम से काम कर रहे हैं उस तरह से समझ में आता है 619 00:45:04,690 --> 00:45:09,080 स्थिरता के सवाल, इस कार्रवाई बार की तरह, अभी भी उनके लिए एक नई बात है 620 00:45:09,080 --> 00:45:16,010 अपने सभी क्षुधा भर में समान उपयोगकर्ता अनुभव बनाने की तरह. 621 00:45:16,010 --> 00:45:20,650 उम्मीद है अब आप आगे जाना है और ग्रहण खोल सकते हैं 622 00:45:20,650 --> 00:45:22,870 और अपनी खुद की Android क्षुधा बनाने. 623 00:45:22,870 --> 00:45:30,240 >> हम कुछ के बारे में लपेट से पहले किसी को भी किसी भी सवाल है? 624 00:45:30,240 --> 00:45:34,410 मैं इसका जवाब 42 है आप बता सकते हैं. 625 00:45:34,410 --> 00:45:41,990 खैर, हर कोई, और अच्छी किस्मत कोडिंग खुश. 626 00:45:41,990 --> 00:45:44,990 [CS50.TV]