1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [სემინარი] [Android პროგრამები (ახლა Jelly ლობიო!)] 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 პროგრამები (ახლა Jelly ლობიო!) სემინარი. 5 00:00:11,600 --> 00:00:14,530 ეს მოუწოდა ახლა Jelly ლობიო, რა თქმა უნდა, რადგან 6 00:00:14,530 --> 00:00:17,310 უახლესი ვერსია OS ეწოდება Jelly Bean. 7 00:00:17,310 --> 00:00:22,950 როდესაც ვსაუბრობდი Android გასულ წელს და ეს, ძირითადად, იგივე სემინარი 8 00:00:22,950 --> 00:00:29,150 მე წარდგენის დიზაინის მოდელი და სტილისტური არჩევანი Gingerbread, 9 00:00:29,150 --> 00:00:31,250 მიუხედავად იმისა, რომ Ice Cream Sandwich მოვიდა იმ დროს, 10 00:00:31,250 --> 00:00:33,680 და ეს არის ის ჩვენ ვსაუბრობთ წინსვლის ცოტა. 11 00:00:33,680 --> 00:00:35,720 Android, რა თქმა უნდა, აქვს გარკვეული საკითხები დანაწევრება, 12 00:00:35,720 --> 00:00:40,240 ასე რომ უკანასკნელი Google ოპერაციული სისტემა, როგორც წესი, 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 Android ბევრად უკეთესია, ვიდრე iOS. 16 00:00:53,000 --> 00:00:56,410 კარგი, ჩვენ ვსაუბრობთ Android წინააღმდეგ iOS, 17 00:00:56,410 --> 00:00:59,770 ზოგიერთი დიზაინი პარადიგმების, თუ როგორ თქვენ შეძლებთ შეიქმნა მხოლოდ ერთი slide, 18 00:00:59,770 --> 00:01:03,410 და დიდი განსხვავებაა ამ და გასული წლის არის მინდა 19 00:01:03,410 --> 00:01:06,860 zoom მეშვეობით კონცეპტუალური რამ მუშაობა 20 00:01:06,860 --> 00:01:09,950 ოპერაციული სისტემა და შემდეგ წასვლას ნამდვილად ძირითადი მაგალითი. 21 00:01:09,950 --> 00:01:13,730 სინამდვილეში, უბრალოდ მაგალითია იმისა, რომ Google აღწერს მშენებლობის თქვენი პირველი ოთახი, 22 00:01:13,730 --> 00:01:17,070 და ჩვენ გაიაროს ერთად და მხოლოდ აღწერს. 23 00:01:17,070 --> 00:01:22,100 >> მე ვიცი, რომ ბევრ თქვენგანს მხოლოდ კოდირებული in C, ასე ჯავის უკვე იქნება 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 სწრაფი შემაჯამებელი, Android წინააღმდეგ iOS. 27 00:01:35,330 --> 00:01:39,200 In Android არსებობს ამ ერთჯერადი დეველოპერი საფასური $ 25, 28 00:01:39,200 --> 00:01:42,390 არც ერთი ამ $ 100 წელიწადში რამ. 29 00:01:42,390 --> 00:01:45,440 არანაირი შეზღუდვა არ არსებობს, რაც იმას ნიშნავს, რომ თუ მინდა წარმოადგინოს ოთახი, 30 00:01:45,440 --> 00:01:51,560 უბრალოდ წარუდგინოს, და არ არსებობს დამტკიცების პროცესში, როგორიც არის ამისთვის IOS. 31 00:01:51,560 --> 00:01:53,890 თქვენ იქნას შემუშავებული ჯავის გამოყენებით Eclipse, 32 00:01:53,890 --> 00:01:57,090 რაც არის ჯვარი პლატფორმა, ასე რომ არ აქვს მნიშვნელობა თუ აქვს Mac, 33 00:01:57,090 --> 00:01:59,600 Windows, ან Linux მანქანა. 34 00:01:59,600 --> 00:02:03,730 რა თქმა უნდა, iOS თქვენ უნდა გამოიყენოთ XCode on Mac, 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 თქვენ ალბათ უფრო ისარგებლოს Android. 39 00:02:17,450 --> 00:02:20,630 >> და კიდევ ერთი რამ, რომ ყოველთვის ცნობილი Android 40 00:02:20,630 --> 00:02:25,100 არის უკიდურესი თანხის დაკონფიგურირება, ხოლო iOS ძალიან დაფიქსირდა მათი გზები 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 Android არის ძალიან თავისუფალი სახით, და არ არსებობს ამდენი მეტი შესაძლებლობები. 44 00:02:40,180 --> 00:02:42,530 Okay, ზოგიერთი დიზაინი პარადიგმები. 45 00:02:42,530 --> 00:02:49,600 გავითვალისწინოთ აქ, ისევე, როგორც iOS აქვს დაფები და iPhones და iPod ეხება 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 ერთად Android თქვენ უნდა შევუწყოთ ასობით მოწყობილობები, 49 00:02:58,410 --> 00:03:01,240 ამიტომ არსებობს გარკვეული რამ, რომ Google ცდილობს განახორციელოს 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 თვის განმავლობაში, და თქვენ ხედავთ, როგორ darkest band 57 00:03:36,460 --> 00:03:39,330 ქვედა არის Jelly Bean, რომელიც გამოვიდა მეტი ზაფხულში, 58 00:03:39,330 --> 00:03:42,970 და თქვენ ხედავთ, ახლა ალბათ დაახლოებით 2% ტელეფონები გააჩნიათ. 59 00:03:42,970 --> 00:03:45,520 >> Ice Cream Sandwich გამოვიდა ერთი წლის წინ, 60 00:03:45,520 --> 00:03:47,770 და კვარტალში ტელეფონები გააჩნიათ. 61 00:03:47,770 --> 00:03:53,910 ჯერ კიდევ არსებობს ბევრი ხმები, რომ იყენებთ OS მობილური from წლის წინ. 62 00:03:53,910 --> 00:03:57,820 ერთი რამ, რომ Google-მა ცდილობდა, რათა მომხმარებლის, გამოცდილება 63 00:03:57,820 --> 00:04:01,400 ბევრი უფრო თანმიმდევრული მასშტაბით ნაკადი არის დაწყებული Honeycomb, 64 00:04:01,400 --> 00:04:04,320 რაც აბი მობილური, მაშინ ნაყინის Sandwich და Jelly Bean, 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 ეს მხოლოდ აჩვენებს up იმიტომ, რომ დაკლიკავთ ამ ღილაკს. 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 >> Okay, ამიტომ იმ შემთხვევაში, თუ არ კეთდება, ეს უკვე ან თუ თქვენ თვალს სახლში 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 შეგიძლიათ Google დაყენების 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 მათ აქვთ თქვენ დააყენოთ SDK, ჩამოტვირთვა Eclipse კლასიკური ვერსია, 81 00:05:05,160 --> 00:05:07,450 მიუხედავად იმისა, რომ, რა თქმა უნდა, ჩვენ კოდირების ჯავაში. 82 00:05:07,450 --> 00:05:12,190 მათი აზრით, ეს ერთი, და შემდეგ ამ ADT, Android განვითარების ინსტრუმენტები, 83 00:05:12,190 --> 00:05:17,300 არის მოდული რომელიც თქვენ ემატება Eclipse, რომელიც გაძლევთ საშუალებას 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 და შეხედულების იმას თუ რას ვაკეთებთ თვალსაზრისით XML 101 00:06:23,360 --> 00:06:25,260 რომ არის დაკავშირებული, რომ საქმიანობაში. 102 00:06:25,260 --> 00:06:29,340 ფრაგმენტები რაღაც რომ განხორციელდეს ნაყინის Sandwich წინ მიდის. 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 ინფორმაციის პროვაიდერები, ეს არის APIs ფარგლებში ოპერაციული სისტემა 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 >> გაუმარჯოს Android, ეს იქნება პროექტი, რომელიც ჩვენ ვსაუბრობთ. 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 როდესაც თქვენ ახალ პროექტს დაინახავთ ფარგლებში Eclipse 119 00:07:39,260 --> 00:07:41,900 აქ არის ამ პროექტის მოუწოდა გაუმარჯოს Android. 120 00:07:41,900 --> 00:07:43,470 მაშინ არსებობს მთელი bunch საქაღალდეების აქ. 121 00:07:43,470 --> 00:07:46,760 ვინც თქვენ ნამდვილად შეშფოთებული ვართ წყაროს საქაღალდეში, 122 00:07:46,760 --> 00:07:54,540 რესურსი საქაღალდეში, რეს და გარკვეულწილად libs საქაღალდე ბიბლიოთეკების. 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 და მერე ავტომატურად აკეთებს მთელი bunch of ინფორმაციის ჩვენთვის. 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 მოდული რომელიც ჩვენ დაემატა Eclipse, ასე რომ შეგვიძლია რამ, როგორიცაა 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 და ყველაფერი გვიჩვენებს up უფლება აქ. 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 მაგრამ clips იქნება თქვენი მეგობარი და ADT კერძოდ აკეთებენ. 144 00:09:37,790 --> 00:09:40,920 >> Okay, წყარო ფოლდერი, სადაც 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 გამოსახულებები, ხმები, ტექსტი, ანიმაცია და ყველაფერი, libs, ბუნებრივია, ბიბლიოთეკაში. 149 00:09:54,110 --> 00:10:01,700 და მანიფესტის, ეს ისე, რომ Android სისტემაში იცის 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 და იყოს იმიტომ, რომ ჩვენ Eclipse ამით და ADT ვაკეთებთ ჩვენთვის 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 ეს გზა მთელი bunch of XML in ლამაზი დახარისხებული მოდის. 175 00:11:51,170 --> 00:11:58,030 როგორც ხედავთ, არის. Hdpi, ldpi, mdpi და xhdpi ფოლდერებში drawables. 176 00:11:58,030 --> 00:12:02,220 ეს სხვადასხვა ეკრანზე სიმკვრივეების, ასე რომ მაღალი სიხშირის pixel per inch, 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 Layouts არის, სადაც ჩვენ ყველა სხვადასხვა ფორმატისთვის რომელიც გამოყენებული იქნება სხვადასხვა აქტივობებში. 181 00:12:20,740 --> 00:12:24,150 შესაძლოა მათ შორისაა ფორმატისთვის for ფრაგმენტები, 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 ავტომატურად აქვს მთელი bunch ამ წესების ფარგლებში რესურსი საქაღალდეში, 186 00:12:39,000 --> 00:12:44,690 ასე რომ ვიცი, რომ შევხედოთ სხვადასხვა ფოლდერები საფუძველზე მიმდინარე კონფიგურაცია of ტელეფონი, 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 და საწყისი პარამეტრების პაპკის ეს for- 190 00:12:55,460 --> 00:13:01,730 ასევე, ღირებულებები თავისთავად, ეს იქნება საწყისი პარამეტრები მასშტაბით ყველა ვერსიის ოპერაციული სისტემა. 191 00:13:01,730 --> 00:13:06,390 მეორე მხრივ, v11 და v14 შეესაბამება Honeycomb 192 00:13:06,390 --> 00:13:08,780 და Ice Cream Sandwich, შესაბამისად. 193 00:13:08,780 --> 00:13:12,800 ისევ, ეს არის გზა, რომელიც ფარგლებში პაპკების განსხვავებულია strings 194 00:13:12,800 --> 00:13:17,550 და სტილის, ასე რომ თქვენ შეგიძლიათ Customize გამოჩენა თქვენი ოთახი 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 ტექსტი ამ ტექსტის აზრით, რაც ძირითადად, მხოლოდ label, 204 00:14:04,420 --> 00:14:06,900 არის ის, რაც ჩვენ გვინდა მას შემდეგ IOS. 205 00:14:06,900 --> 00:14:11,580 მას აქვს ამ მხიარული notation @ სიმებიანი / hello_world. 206 00:14:11,580 --> 00:14:16,200 ეს არის ასე რომ, ჩვენ ცდილობენ ამონაწერი ყველა სიმები, 207 00:14:16,200 --> 00:14:19,740 ყველა მყარი კოდირებული სიმებისათვის Android შევიდა ცალკე საქაღალდეში, 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 ამისთვის Hello World, და ეს ე.წ. Hello World, და ეს არის ერთგვარი 211 00:14:33,910 --> 00:14:39,230 საერთო დიზაინი გადაწყვეტილება ბევრ პლატფორმების, რომ გსურთ- 212 00:14:39,230 --> 00:14:41,780 strings არიან ისეთ რამეს, რასაც, რომ ჩვენ გვინდა პოტენციურად შეძლებს შეცვალოს. 213 00:14:41,780 --> 00:14:48,050 ჩვენ არ გვინდა, გააკონტროლოს F ჩვენს კოდის, ფაილი ჩვენს XML. 214 00:14:48,050 --> 00:14:50,760 ჩვენ გვინდა, რომ შეძლებს შეცვალოს ეს მაშინ, როდესაც მივიღებთ შანსი. 215 00:14:50,760 --> 00:14:53,640 >> ეს XML ფაილი, strings.xml, არის გზა მოპოვების 216 00:14:53,640 --> 00:14:56,710 მყარი კოდირებული strings, რაც სხვაგვარად ჩვენს განლაგება რესურსები 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 განსხვავებით ოთახი მაღაზია for iOS სახელების განაცხადების 221 00:15:16,020 --> 00:15:19,980 არ უნდა იყოს უნიკალური და შეგიძლიათ რეალურად შეცვალოს სახელი თქვენი განცხადება 222 00:15:19,980 --> 00:15:23,570 მას შემდეგ, რაც წარუდგინოს, ასე რომ თუ დავიწყებ ერთად Angry Birds, 223 00:15:23,570 --> 00:15:26,840 და მერე გააკეთოს განახლება, და მე არ მინდა, რომ გათავისუფლების ახალი ვერსია 224 00:15:26,840 --> 00:15:34,230 ვფიქრობ, მე შეიძლება ეძახით Angry Birds 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 წარდგენის ნაკადი ნაცვლად ისინი უბრალოდ ყველაფერი საფუძველზე off ნებართვებისა 234 00:16:02,210 --> 00:16:04,300 და გამოცხადების რამ მანიფესტის. 235 00:16:04,300 --> 00:16:06,380 SDK მობილური ასევე მნიშვნელოვანია. 236 00:16:06,380 --> 00:16:10,330 ჩვენ შეგვიძლია მითითებული გამოსაყენებლად SDK მინიმალური მობილური რაღაც. 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 ალბათ არ უახლესი, იქნებ არ Jelly Bean. 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 და ფაქტობრივი ბიბლიოთეკების და APIs. 243 00:16:30,550 --> 00:16:36,250 მაგრამ ვიდრე აქვს ხალხს 244 00:16:36,250 --> 00:16:40,050 და ორიგინალური Android მობილური მსგავსი Donut უკანა გზაზე, როცა- 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 და იგი იყოს Gingerbread ან ნაყინის Sandwich 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 >> კარგი, ჩვენ უბრალოდ წინ demo არის. 251 00:17:00,900 --> 00:17:08,900 ეს არის დემო თუ Google Android აშენება თქვენი პირველი ოთახი ან მსგავსი რამ. 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 Okay, ასე რომ ჯავა არის ახალი კოდების ენის ყველაზე ადამიანი გამოდის CS50. 255 00:17:28,310 --> 00:17:31,850 მოკლედ, წასვლა კიდევ რა წერია აქ, 256 00:17:31,850 --> 00:17:35,580 რაც ჩვენ გვინდა გავაკეთოთ არის, ვიდრე შეცვალოს ამ Hello World განაცხადის 257 00:17:35,580 --> 00:17:38,620 რომ ყველა ეს ასეა არის ის იწყებს და იგი აცხადებს, Hello World 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 საქმიანობაში სახელი და იგი აცხადებს, Hello World ცენტრში. 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 და ეს, ისევე, როგორც CSS თვალსაზრისით სტილის. 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 მე შეუძლია ისარგებლოს რამდენიმე ADT იარაღები აქ მაინც დაიწყება off ერთად. 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 ეს ნიშნავს იმას, რაც განაპირობებს ნაკლები გაზომვები, ვიდრე მთელი bunch of წყობილი ხაზოვანი განლაგების, 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 to ბუდე მათ ვერტიკალურად, მაგრამ თუ აკეთებდნენ ნათესავი განლაგება მე ვიტყოდი 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 ეს ID საველე უფლება აქ არ არის მნიშვნელოვანი ფარგლებში ფაქტობრივი განლაგება 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 ან ზემოთ ID, მაგრამ ეს ID მნიშვნელოვანი იქნება 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 >> და მაშინ დაინახავ tag requestFocus, რასაც თქვენ ალბათ დაინახა pset 7. 313 00:21:10,350 --> 00:21:15,370 იყო ფოკუსი tag ან რამე ერთად იმ ხაზების ერთი სფეროებში. 314 00:21:15,370 --> 00:21:22,100 და კიდევ ერთი რამ, რა თქმა უნდა, ჩვენ შეგვიძლია გავაკეთოთ, როგორც HTML, 315 00:21:22,100 --> 00:21:25,660 და ცნობა ერთი ლამაზი რამ ADT არის ის, რომ 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 მე შეგიძლიათ ეს კონტექსტი, ამის refractor Android და ამონაწერი 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 ერთად მინიშნება სიმებიანი in string-ის. 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 მაგრამ როდესაც თქვენ მთელი bunch of რამ, მთელი bunch of სიმები, 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 რომ თქვენ შეგიძლიათ უბრალოდ ღირებულებებზე en ან ღირებულებებზე sp 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 რადგან ჩვენ არ ბევრი რამ JavaScript თვალსაზრისით ვებ პროგრამირების, 335 00:22:53,030 --> 00:22:56,850 მაგრამ შეგვიძლია გააკეთოს ამ სფეროში მოუწოდა onClick for ღილაკს 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 ლამაზი რამ IDE-ს მოსწონს Eclipse არის, რომ 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 სწრაფი გზა აკეთებს, რომ არის კონტროლის ცვლა O იქნება, და ეს იმპორტი 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 Bundle ფაქტიურად ტერმინი, რომელიც Android იყენებს, 363 00:25:14,720 --> 00:25:21,470 და ეს გზა ამბობდა მისთვის დამატებითი მონაცემები, რომლებიც მას არ შეუძლია იყოს ძალიან დახვეწილი მონაცემების ტიპის, 364 00:25:21,470 --> 00:25:24,510 მაგრამ შეგვიძლია აუცილებლად მოიცავს booleans ან strings ან 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 In Eclipse შეგვიძლია ვთქვათ, ახალი, Android საქმიანობაში, ცარიელი საქმიანობაში. 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 მაგრამ ლამაზი რამ ADT, კიდევ ერთხელ, ის არის, რომ თუ მე გადაფურცლეთ ქვემოთ აქ 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 დასძინა ჩვენივე კლასი ფაილი რადგან ჩვენ გაიარა მათი GUI აკეთებს ეს 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 ეს ასევე, რა თქმა უნდა, მას იარლიყი, რომელიც ასევე აჩვენებს up in strings. 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 რამაც ამ სფეროში android.r.ide.home ამ onOption შერჩეული რამ. 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 და ეს არის clickable ამიტომ ჩვენ უნდა შეეძლოს-შემდეგ ჩვენ რეალურად აწარმოებს ამ app- 407 00:29:10,610 --> 00:29:15,360 დავუბრუნდეთ და ეს გზა გადარჩენის us ცოტა კოდი არსებობს. 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 In 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 რომელიც მსგავსი რაღაც, რომ თქვენ გამოიყენოს ცდილობს სფეროებში DOM. 428 00:31:13,660 --> 00:31:17,560 ალბათ დავით საუბრობს ეს ლექცია. 429 00:31:17,560 --> 00:31:26,600 მაგრამ ეს მხოლოდ გზა იმ ფაქტს, რომ ამიტომ tag ეს ყველაფერი იმ სფეროებში. 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 როგორც struct- 438 00:32:03,360 --> 00:32:07,600 ჩვენ მას ობიექტი ჯავაში-ერთად მთელი bunch სხვადასხვა მეთოდები 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 to სიმებიანი და ჩვენ გადავარჩინეთ გაგზავნა. 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 რომელიც, კიდევ ერთხელ, ისევე როგორც მე დაწყებამდე განაცხადა, ეს არის გზა შექმნის bundle 447 00:32:43,330 --> 00:32:45,980 მთელი bunch მონაცემები. 448 00:32:45,980 --> 00:32:50,920 დამატებითი გაგზავნა ჩვენი tag ამიტომ ჩვენ ვიცით, რასაც ჩვენ შენახვისას ქვეშ, 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 ეს რეალურად დაიწყოს საქმიანობა, ასე რომ, ახლა, რადგან მოდერნიზებული Windows 8 452 00:33:10,630 --> 00:33:15,870 შეიძლება იყოს გარკვეული შეცდომები, რომ გამოჩნდება მოკლედ, მაგრამ ცდილობენ იგნორირება მათ. 453 00:33:28,010 --> 00:33:30,310 და ეს არის Android emulator. 454 00:33:30,310 --> 00:33:33,540 იმედია კოდი რეალურად პოპ up in მომენტში. 455 00:33:33,540 --> 00:33:36,680 ისევ, იგნორირება ყველა იმ პატარა რამ. 456 00:33:36,680 --> 00:33:42,290 მაგრამ Android emulator შეგიძლიათ emulate ნებისმიერი მობილური ოპერაციული სისტემა 457 00:33:42,290 --> 00:33:45,180 ყველაზე ადრეული პირობა, Donut, Gingerbread. 458 00:33:45,180 --> 00:33:49,640 ეს არის Jelly Bean 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 მოდით დასრულდება up ის ნაწილი, სანამ გადაადგილება. 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 და მაშინ მახსოვს, როგორც ჩვენ tagged ცოტა მონაცემები 479 00:35:31,190 --> 00:35:38,400 იყო რაც მას ამ სფეროში სწორედ აქ, ამ საჯარო ტექსტი, 480 00:35:38,400 --> 00:35:42,080 რაც tag for სიმებიანი ჩვენ რეალურად შედის. 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 როდესაც ჩვენ მინდა ვთქვა ტიტული arrow რაღაც. 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 რომელიც ამბობს Hello World. 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 სიმჭიდროვე დამოუკიდებელი pixels. 493 00:36:39,550 --> 00:36:42,670 ვნახოთ, რომ სუპერ უზარმაზარი. ეს იქნება okay. 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 თუ ჩვენ უბრალოდ თქვა @ id იქნებოდა ვივარაუდოთ, რომ ჩვენ მითითება ID, რომ უკვე არსებობს, 498 00:37:02,480 --> 00:37:07,760 და მოდით მოვუწოდებთ ჩვენი resultTextView. 499 00:37:07,760 --> 00:37:10,570 და შეამჩნია, რომ XML არ არსებობს საჭიროება semicolons ან არაფერი. 500 00:37:10,570 --> 00:37:12,380 ყველაფერი ფარგლებში ამ tags. 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 ხოლო R, იმ შემთხვევაში, მე არ უხსენებია ეს ადრე, არის მინიშნება ჩვენი რესურსები საქაღალდეში, 508 00:37:59,640 --> 00:38:05,350 და მერე ID არის მინიშნება ყველაფერი რესურსების ფოლდერი, ყველა პირადობის, 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 for edit ტექსტი ამ ტექსტის სფეროში ან ტექსტის ხედვა 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 როგორც აღვნიშნეთ, შემდეგ კი სტილი არის ის, რასაც ის სახის მსგავსად CSS. 532 00:39:51,960 --> 00:39:56,410 მიმართვა, როდესაც გსურთ, მაგრამ სანამ არ გრძნობდნენ თავს კომფორტულად დასძინა დამატებით flair 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 თუ, რა თქმა გსურთ ინტეგრირება cool თვისებები და გადარჩენა თავს რამდენიმე დამატებითი კოდირების- 536 00:40:13,010 --> 00:40:16,460 იქნებოდა, რომ მოიცავს მე -3 პარტიის ბიბლიოთეკები. 537 00:40:16,460 --> 00:40:19,840 აი პატარა Android ბიჭი ერთად შერლოკ ჰოლმსი ქუდი. 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 რომელიც ახლა სტანდარტის Ice Cream Sandwich და Jelly Bean, 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 და მაშინ უბრალოდ უნდა მინიშნება-ვიდრე სტანდარტულ Android 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 თუ უნდა, რომ რამ მარტივად, et ა.შ.. 552 00:41:08,170 --> 00:41:15,120 Dropbox, ასევე და Google ანალიტიკა არის, რომ სქემა ეძებს ერთ არსებობს. 553 00:41:15,120 --> 00:41:19,070 ეს იქნება ძალიან მნიშვნელოვანია, თუ თქვენ ნამდვილად გვინდა, რომ, რომელიც ძალებთან 554 00:41:19,070 --> 00:41:25,800 თქვენი app ან ვინ არის, თუ როგორ ურთიერთქმედება, et ა.შ.. 555 00:41:25,800 --> 00:41:30,650 Google, ჩვეულებრივ, ეუბნება, ბევრი სტატისტიკას რომელმაც დაყენებული თქვენს ოთახი 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 დააწკაპუნეთ ბმულზე აქ, Google თამაში. 562 00:41:49,090 --> 00:41:51,080 ეს იყო Android ბაზარზე. 563 00:41:51,080 --> 00:41:53,470 ისინი rebranded ყველაფერი Google თამაში, 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 ეს არის ის, ასევე ჯარიმა, მაგრამ აქედან წასვლა Google გიდები. 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 ეს ბევრად უფრო თავისუფალი ფორმა, ვიდრე iOS, მე მინდა ვთქვა, 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 მთელი bunch სხვადასხვა პერსპექტივები. 582 00:42:51,720 --> 00:42:56,000 >> როცა მოიცავს პროგრამული უზრუნველყოფის დამუშავება ნაკრები ამ ADT 583 00:42:56,000 --> 00:43:03,010 იყოს თქვენ მთელი bunch of ნიმუში პროექტების Android. 584 00:43:03,010 --> 00:43:05,470 სწორედ აქ, Android, Android ნიმუში პროექტი. 585 00:43:05,470 --> 00:43:11,870 თუ მე დააკლიკეთ რომ, მაშინ შეგვიძლია ავირჩიოთ მობილური რისთვისაც ნიმუში პროექტების ვრცელდება. 586 00:43:11,870 --> 00:43:13,300 აქ არის მთელი bunch of სხვადასხვა რამ აქ. 587 00:43:13,300 --> 00:43:16,690 იგი იწყება off ერთად აქცია ბარი შესაბამისობა, 588 00:43:16,690 --> 00:43:24,610 accelerometer სპექტაკლი, სარეზერვო და აღდგენა, Bluetooth, ჟესტი მშენებელი. 589 00:43:24,610 --> 00:43:28,930 JetBoy არის ნიმუში თამაში აძლევენ თქვენ, როგორც ეს LunarLander. 590 00:43:28,930 --> 00:43:31,250 არსებობს მთელი bunch of ნიმუში განაცხადების აქ, 591 00:43:31,250 --> 00:43:35,290 და ისინი ყველა მიზნად ისახავს სხვადასხვა ასპექტები Android-ის API, 592 00:43:35,290 --> 00:43:41,520 და ის არის, რომ როგორც თქვენ თქვენი განცხადება 593 00:43:41,520 --> 00:43:44,110 თქვენ არ უნდა ვისწავლოთ ყველაფერი Android, რათა 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 შეგიძლიათ დააკოპირეთ და ჩასვით კოდი და reapply იგი. 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 ისინი რამ, რომ Google ცდილობს ფაზა სისტემაში 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 ჯავის არის მე მინდა ვთქვა ბევრად უფრო ადვილია იმის გაგება, ვიდრე ობიექტური-C. 614 00:44:45,970 --> 00:44:50,780 Android იზრდება ვფიქრობ, გაცილებით მეტია ვიდრე iOS. 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 იმედია შეგიძლიათ წავიდეთ წინ არის და ქმნის Eclipse 622 00:45:20,650 --> 00:45:22,870 და საკუთარი Android ნაკადი. 623 00:45:22,870 --> 00:45:30,240 >> ვინმეს რაიმე კითხვა სანამ ჩვენ გადაიტანოთ up შესახებ არაფერი? 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]