1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Hội thảo] [ứng dụng Android (Bây giờ với Jelly Beans!)] 2 00:00:02,610 --> 00:00:04,210 [Jordan Jozwiak] [Đại học Harvard] 3 00:00:04,210 --> 00:00:06,780 [Đây là CS50.] [CS50.TV] 4 00:00:06,780 --> 00:00:11,600 >> Xin chào tất cả mọi người, và chào mừng đến các ứng dụng Android (Bây giờ với Jelly Beans!) Hội thảo. 5 00:00:11,600 --> 00:00:14,530 Nó được gọi là Bây giờ với Jelly Beans, tất nhiên, bởi vì 6 00:00:14,530 --> 00:00:17,310 phiên bản mới nhất của hệ điều hành được gọi là Jelly Bean. 7 00:00:17,310 --> 00:00:22,950 Khi tôi nói về Android năm ngoái và đã cơ bản cùng một buổi hội thảo này 8 00:00:22,950 --> 00:00:29,150 Tôi đã trình bày các mẫu thiết kế và lựa chọn phong cách cho Gingerbread, 9 00:00:29,150 --> 00:00:31,250 mặc dù Ice Cream Sandwich đã đi ra vào thời điểm đó, 10 00:00:31,250 --> 00:00:33,680 và điều này là một cái gì đó chúng ta sẽ nói về việc đi về phía trước một chút. 11 00:00:33,680 --> 00:00:35,720 Android, tất nhiên, có một số vấn đề với sự phân mảnh, 12 00:00:35,720 --> 00:00:40,240 vì vậy hệ điều hành mới nhất của Google thường 13 00:00:40,240 --> 00:00:44,710 không thực sự sẽ trở nên phổ biến giữa các người dùng với khả năng lên đến một năm, không may. 14 00:00:44,710 --> 00:00:49,960 >> Nhưng bất chấp điều đó, chúng ta sẽ nói về rất nhiều lý do tại sao 15 00:00:49,960 --> 00:00:53,000 Android là tốt hơn nhiều so với iOS. 16 00:00:53,000 --> 00:00:56,410 Được rồi, chúng ta sẽ nói về Android so với iOS, 17 00:00:56,410 --> 00:00:59,770 một số mô hình thiết kế, làm thế nào bạn sẽ có được thiết lập chỉ trong một slide, 18 00:00:59,770 --> 00:01:03,410 và sự khác biệt lớn giữa điều này và năm cuối cùng là tôi chỉ muốn 19 00:01:03,410 --> 00:01:06,860 zoom thông qua một số điều về khái niệm làm việc với 20 00:01:06,860 --> 00:01:09,950 hệ điều hành và sau đó đi vào một ví dụ thực sự cơ bản. 21 00:01:09,950 --> 00:01:13,730 Trong thực tế, chỉ là ví dụ của Google mô tả để xây dựng ứng dụng đầu tiên của bạn, 22 00:01:13,730 --> 00:01:17,070 và chúng tôi sẽ đi qua nó với nhau và chỉ cần mô tả. 23 00:01:17,070 --> 00:01:22,100 >> Tôi biết nhiều bạn đã chỉ được viết bằng C, vì vậy Java đã được sẽ được 24 00:01:22,100 --> 00:01:27,220 một quan điểm khác nhau, và cách này bạn sẽ có được bàn chân ướt 25 00:01:27,220 --> 00:01:31,540 và cảm thấy một chút thoải mái hơn với nó hy vọng. 26 00:01:31,540 --> 00:01:35,330 Một bản tóm tắt nhanh chóng, Android so với iOS. 27 00:01:35,330 --> 00:01:39,200 Trong Android có phí này phát triển một lần là $ 25, 28 00:01:39,200 --> 00:01:42,390 không ai trong số này điều $ 100 mỗi năm. 29 00:01:42,390 --> 00:01:45,440 Không có giới hạn, có nghĩa là nếu tôi muốn gửi một ứng dụng, 30 00:01:45,440 --> 00:01:51,560 Tôi chỉ trình, và không có quá trình phê duyệt như có cho iOS. 31 00:01:51,560 --> 00:01:53,890 Bạn có thể phát triển với Java sử dụng Eclipse, 32 00:01:53,890 --> 00:01:57,090 đó là nền tảng, do đó, nó không quan trọng nếu bạn có một máy Mac, 33 00:01:57,090 --> 00:01:59,600 Cửa sổ, hoặc một số máy Linux. 34 00:01:59,600 --> 00:02:03,730 Tất nhiên, với iOS bạn phải sử dụng XCode trên máy Mac, 35 00:02:03,730 --> 00:02:06,930 và Android được sử dụng bởi nhiều người, 36 00:02:06,930 --> 00:02:11,580 vì vậy nếu bạn muốn ứng dụng của bạn để có một số loại khả năng hiển thị hoặc có thể 37 00:02:11,580 --> 00:02:14,110 làm cho một ít tiền từ quảng cáo 38 00:02:14,110 --> 00:02:17,450 có lẽ bạn đang có nhiều khả năng được hưởng lợi từ Android. 39 00:02:17,450 --> 00:02:20,630 >> Và một điều đó là luôn luôn được biết về Android 40 00:02:20,630 --> 00:02:25,100 là số tiền cực kỳ tuỳ biến, trong khi iOS đang rất cố định trong cách thức của họ 41 00:02:25,100 --> 00:02:29,380 để họ có thể duy trì an ninh và kiểm soát mọi khía cạnh ít 42 00:02:29,380 --> 00:02:34,180 của thiết kế trong hệ điều hành của họ và các ứng dụng cá nhân. 43 00:02:34,180 --> 00:02:40,180 Android là hình thức rất tự do, và có rất nhiều khả năng. 44 00:02:40,180 --> 00:02:42,530 Được rồi, một số mô hình thiết kế. 45 00:02:42,530 --> 00:02:49,600 Nhận thấy đây giống như iOS có máy tính bảng và iPhone và iPod Touch 46 00:02:49,600 --> 00:02:53,840 họ phải hỗ trợ, nói rằng, như một chục các thiết bị nếu bạn muốn hỗ trợ 47 00:02:53,840 --> 00:02:55,450 điều lịch sử là tốt. 48 00:02:55,450 --> 00:02:58,410 Với Android, bạn phải hỗ trợ hàng trăm thiết bị, 49 00:02:58,410 --> 00:03:01,240 do đó, có một số điều mà Google đã cố gắng thực hiện 50 00:03:01,240 --> 00:03:04,970 làm cho người dùng trải nghiệm một chút phù hợp hơn, 51 00:03:04,970 --> 00:03:08,560 nhưng chúng tôi cũng sẽ nói về cách này có nghĩa là có những vấn đề của sự phân mảnh 52 00:03:08,560 --> 00:03:11,700 mà bạn liên tục phải nhận thức được hỗ trợ. 53 00:03:11,700 --> 00:03:16,140 Phân mảnh có nghĩa là có nhiều hệ điều hành khác nhau, 54 00:03:16,140 --> 00:03:20,330 nhiều điện thoại khác nhau với các phần cứng khác nhau chạy Android tất cả cùng một lúc, 55 00:03:20,330 --> 00:03:29,680 để biểu đồ này ở đây đi lại trong khoảng 6 tháng. 56 00:03:29,680 --> 00:03:36,460 Yeah, 6 tháng, và bạn có thể thấy ban nhạc đen tối nhất 57 00:03:36,460 --> 00:03:39,330 ở phía dưới là Jelly Bean, ra đời trong mùa hè, 58 00:03:39,330 --> 00:03:42,970 và bạn có thể nhìn thấy ngay bây giờ có lẽ là khoảng 2% trong những điện thoại có nó. 59 00:03:42,970 --> 00:03:45,520 >> Ice Cream Sandwich xuất hiện hơn một năm trước, 60 00:03:45,520 --> 00:03:47,770 và một phần tư trong những điện thoại có nó. 61 00:03:47,770 --> 00:03:53,910 Hiện vẫn còn rất nhiều điện thoại đang sử dụng phiên bản hệ điều hành từ năm trước. 62 00:03:53,910 --> 00:03:57,820 Một điều mà Google đã cố gắng làm để làm cho trải nghiệm người dùng 63 00:03:57,820 --> 00:04:01,400 rất nhiều phù hợp hơn trên các ứng dụng được bắt đầu với Honeycomb, 64 00:04:01,400 --> 00:04:04,320 đó là phiên bản máy tính bảng, sau đó Ice Cream Sandwich và Jelly Bean, 65 00:04:04,320 --> 00:04:06,750 họ đang thực sự cố gắng nhấn mạnh sử dụng thanh hành động này, 66 00:04:06,750 --> 00:04:10,430 đó là những gì bạn có thể nhìn thấy ở phía trên đây, 67 00:04:10,430 --> 00:04:14,730 tất cả mọi thứ ở đây, bao gồm cả nút này ít cài đặt. 68 00:04:14,730 --> 00:04:16,079 Đó là sự lựa chọn thiết kế. 69 00:04:16,079 --> 00:04:18,000 Bây giờ, bất cứ khi nào bạn nhìn thấy 3 chấm nó có nghĩa là click vào đó, 70 00:04:18,000 --> 00:04:21,880 và sẽ có một trình đơn thả xuống, trong đó có một số loại thiết lập. 71 00:04:21,880 --> 00:04:28,900 Điều này chỉ xuất hiện bởi vì tôi nhấp vào nút này. 72 00:04:28,900 --> 00:04:32,040 Đây là điều mà họ đang cố gắng sử dụng để làm cho các ứng dụng nhiều hơn một chút phù hợp 73 00:04:32,040 --> 00:04:39,210 trên bảng và do đó người sử dụng có một cảm giác tốt hơn về kinh nghiệm thống nhất. 74 00:04:39,210 --> 00:04:42,640 >> Được rồi, vì vậy trong trường hợp bạn không làm điều này đã hoặc nếu bạn đang xem ở nhà 75 00:04:42,640 --> 00:04:50,210 sau đó bạn có thể làm theo các bước sau để thiết lập môi trường mã hóa của bạn. 76 00:04:50,210 --> 00:04:52,630 Nó sẽ liên quan đến cách vào trang web đây. 77 00:04:52,630 --> 00:04:56,260 Bạn có thể Google cài đặt Android SDK 78 00:04:56,260 --> 00:04:59,130 và theo một số mô tả đó. 79 00:04:59,130 --> 00:05:01,310 Họ cho bạn biết tất cả mọi thứ. 80 00:05:01,310 --> 00:05:05,160 Họ có bạn cài đặt SDK, tải về phiên bản Eclipse Classic, 81 00:05:05,160 --> 00:05:07,450 mặc dù, tất nhiên, chúng tôi đang mã hóa trong Java. 82 00:05:07,450 --> 00:05:12,190 Họ đề nghị này, và sau đó ADT này, các công cụ phát triển Android, 83 00:05:12,190 --> 00:05:17,300 là một plugin mà bạn cài đặt vào Eclipse cho phép bạn 84 00:05:17,300 --> 00:05:20,550 có nhiều kinh nghiệm sắp xếp hợp lý hơn với Android trong Eclipse. 85 00:05:20,550 --> 00:05:24,070 Nó sẽ cung cấp cho bạn một số giao diện người dùng đồ họa 86 00:05:24,070 --> 00:05:29,610 thiết kế các quan điểm, và nó sẽ cung cấp cho bạn hỗ trợ nhiều hơn nữa 87 00:05:29,610 --> 00:05:34,840 và khả năng khởi động với trình giả lập và tất cả những gì đại loại như vậy. 88 00:05:34,840 --> 00:05:36,090 Khung ứng dụng. 89 00:05:36,090 --> 00:05:41,590 >> Tôi muốn nói về các dự án trong Android được cấu trúc như thế nào, 90 00:05:41,590 --> 00:05:44,830 và sau đó chúng ta sẽ đi vào một ví dụ nhanh chóng, và hy vọng 91 00:05:44,830 --> 00:05:48,820 bạn có thể đặt câu hỏi tại bất kỳ điểm nào và cảm thấy thoải mái bằng cách kết thúc của nó. 92 00:05:48,820 --> 00:05:50,090 Chúng tôi có một số thuật ngữ đầu tiên. 93 00:05:50,090 --> 00:05:55,330 Một hoạt động như màn hình bạn nhìn thấy khi bạn khởi động một ứng dụng. 94 00:05:55,330 --> 00:05:57,840 Toàn bộ kinh nghiệm là hoạt động riêng của mình, 95 00:05:57,840 --> 00:06:00,790 do đó, bạn có thể nghĩ về nó như một màn hình hoặc một cái nhìn, 96 00:06:00,790 --> 00:06:04,540 nhưng nó thực sự là bên mã nguồn của nó. 97 00:06:04,540 --> 00:06:12,680 Chúng tôi vẫn gọi là phần giao diện thực tế của nó một cái nhìn. 98 00:06:12,680 --> 00:06:17,230 Đó là loại như thế nào trong pset 7 chúng tôi đã có điều khiển và sau đó xem. 99 00:06:17,230 --> 00:06:20,690 Hoạt động là nhiều hơn hoặc ít hơn các bộ điều khiển, 100 00:06:20,690 --> 00:06:23,360 và xem là những gì chúng tôi đang làm trong điều khoản của XML 101 00:06:23,360 --> 00:06:25,260 được kết hợp với hoạt động đó. 102 00:06:25,260 --> 00:06:29,340 Những mảnh vỡ là cái gì đó là thực hiện trong Ice Cream Sandwich trong tương lai. 103 00:06:29,340 --> 00:06:36,380 Nó chỉ là một ý tưởng lấy các bộ phận của xem hoặc hoạt động 104 00:06:36,380 --> 00:06:39,990 và phân chia chúng thành các khu vực riêng biệt để chúng ta có thể 105 00:06:39,990 --> 00:06:45,030 làm cho mã của chúng tôi có thể sử dụng nhiều hơn cho các thiết bị khác nhau 106 00:06:45,030 --> 00:06:51,890 rằng chúng ta phải hỗ trợ, và nó chỉ là một cách để cố gắng 107 00:06:51,890 --> 00:06:54,290 còn yếu tố ra mã hơn. 108 00:06:54,290 --> 00:07:01,090 Dịch vụ là những điều nền như chơi nhạc hoặc hướng dẫn điều hướng có khả năng. 109 00:07:01,090 --> 00:07:05,640 Cung cấp nội dung, đây là những API trong hệ điều hành 110 00:07:05,640 --> 00:07:09,070 cho phép bạn truy cập dữ liệu được chia sẻ như thông tin liên lạc, 111 00:07:09,070 --> 00:07:12,790 và sau đó là một ý định là một cái gì đó chúng tôi sẽ sử dụng khi chúng ta muốn khởi động 112 00:07:12,790 --> 00:07:17,210 một hoạt động mới từ hoạt động hiện tại của chúng tôi. 113 00:07:17,210 --> 00:07:20,980 >> Xin chào Android, điều này là có được một dự án mà chúng tôi sẽ nói về. 114 00:07:20,980 --> 00:07:25,410 Tôi thực sự sẽ làm điều đó cho bạn, và sau đó chúng tôi sẽ làm một điều mà chúng ta bấm vào một nút 115 00:07:25,410 --> 00:07:27,650 với một số văn bản và khởi động một hoạt động mới. 116 00:07:27,650 --> 00:07:30,110 Rất đơn giản, nhưng tôi muốn đi qua 117 00:07:30,110 --> 00:07:34,480 những gì sẽ đi vào một dự án như thế này. 118 00:07:34,480 --> 00:07:39,260 Khi bạn thực hiện các dự án mới, bạn sẽ thấy bên trong Eclipse 119 00:07:39,260 --> 00:07:41,900 có dự án này được gọi là Hello Android. 120 00:07:41,900 --> 00:07:43,470 Sau đó có một bó toàn bộ các thư mục ở đây. 121 00:07:43,470 --> 00:07:46,760 Những người mà bạn đang thực sự quan tâm tới là thư mục nguồn, 122 00:07:46,760 --> 00:07:54,540 thư mục tài nguyên, độ phân giải, và ở một mức độ thư mục thư viên cho các thư viện. 123 00:07:54,540 --> 00:08:00,070 Và chỉ cần như vậy chúng ta đang ở trên cùng một trang với 124 00:08:00,070 --> 00:08:03,240 nếu bạn đã tạo ra một dự án mới, 125 00:08:03,240 --> 00:08:08,270 bạn có thể làm điều này ngay ở đây, vì vậy nếu tôi muốn gọi nó HelloAndroid, 126 00:08:08,270 --> 00:08:11,100 và sau đó nó tự động làm một bó toàn bộ các thông tin cho chúng tôi. 127 00:08:11,100 --> 00:08:14,110 Tên gói được coi là một định danh duy nhất 128 00:08:14,110 --> 00:08:16,710 mà thông thường sẽ được liên kết với các trang web, nếu bạn đã có một. 129 00:08:16,710 --> 00:08:24,430 >> Ví dụ, tôi sẽ gọi net.cs50.helloandroid này. 130 00:08:24,430 --> 00:08:30,070 Và tôi đã đã thực hiện dự án này một lần. 131 00:08:30,070 --> 00:08:40,059 Được rồi, xin lỗi. Chúng ta hãy gọi nó HelloCS50. 132 00:08:40,059 --> 00:08:42,929 Và sau đó nó sẽ hỏi những câu như những gì sắp xếp biểu tượng sao chúng ta muốn thực hiện. 133 00:08:42,929 --> 00:08:48,840 Điều này là tất cả vì giao diện Android Developer Tools, 134 00:08:48,840 --> 00:08:53,350 các plugin mà chúng ta thêm vào Eclipse, vì vậy chúng tôi có thể chọn những thứ như 135 00:08:53,350 --> 00:08:58,320 những gì biểu tượng chúng ta muốn, và đó sẽ đi vào chiều sâu, nếu chúng ta muốn. 136 00:08:58,320 --> 00:09:04,360 Nhưng cuối cùng, chỉ cần thực hiện dự án, 137 00:09:04,360 --> 00:09:07,040 và tất cả mọi thứ xuất hiện ở đây. 138 00:09:07,040 --> 00:09:10,030 Như tôi thấy trên màn hình khác, 139 00:09:10,030 --> 00:09:14,070 chúng tôi có các thư mục nguồn, và tôi sẽ nói về những gì tất cả điều này có nghĩa là ngay sau đó, 140 00:09:14,070 --> 00:09:19,090 nhưng bạn có thể thấy ngay lập tức nó đưa chúng ta đến màn hình HelloCS50. 141 00:09:19,090 --> 00:09:24,690 Có một số nút trên đây để thêm văn bản và văn bản lĩnh vực bố trí. 142 00:09:24,690 --> 00:09:28,910 Đó là loại giống như XCode nhưng tiếc là không phải là khá hợp lý. 143 00:09:28,910 --> 00:09:37,790 Nhưng các đoạn phim sẽ được người bạn và ADT của bạn đặc biệt để làm điều này. 144 00:09:37,790 --> 00:09:40,920 >> Được rồi, thư mục nguồn là nơi 145 00:09:40,920 --> 00:09:43,820 các tập tin Java được tổ chức, và điều này thực sự là sự ra mắt của chương trình của bạn. 146 00:09:43,820 --> 00:09:45,990 Đó là cơ bản giống như các bộ điều khiển. 147 00:09:45,990 --> 00:09:49,020 Các thư mục tài nguyên hoặc độ phân giải là nơi chúng ta sẽ tiếp tục bố trí màn hình, 148 00:09:49,020 --> 00:09:54,110 hình ảnh, âm thanh, văn bản, hình ảnh động và mọi thứ khác, thư viên, rõ ràng, thư viện. 149 00:09:54,110 --> 00:10:01,700 Và Manifest, đó là cách mà hệ thống Android biết 150 00:10:01,700 --> 00:10:03,130 làm thế nào để tương tác với các ứng dụng của bạn. 151 00:10:03,130 --> 00:10:07,980 Nó cho nó về quyền và những hoạt động thực sự sẽ được chạy. 152 00:10:07,980 --> 00:10:12,350 Đó là tất cả các thông tin cần thiết đó là cần thiết để chạy ứng dụng của bạn. 153 00:10:12,350 --> 00:10:17,990 Thư mục nguồn là-nếu chúng ta mở rộng nó như bạn có thể nhìn thấy bây giờ. 154 00:10:17,990 --> 00:10:23,920 Và một ví dụ mà một mã sẽ xem xét, đây là mã mặc định. 155 00:10:23,920 --> 00:10:27,930 Như chúng tôi gọi nó, MainActivity. 156 00:10:27,930 --> 00:10:33,230 Theo mặc định, chúng tôi nhận onCreate, mà là một chức năng được gọi là khi tải hoạt động này, 157 00:10:33,230 --> 00:10:37,150 vì vậy bạn muốn gọi onCreate (savedInstanceState). 158 00:10:37,150 --> 00:10:40,440 Điều này sẽ khôi phục lại bất kỳ bit thông tin 159 00:10:40,440 --> 00:10:44,910 trong trường hợp các ứng dụng đã bị tạm dừng. 160 00:10:44,910 --> 00:10:48,790 >> Có một hoạt động chu kỳ cuộc sống toàn bộ biểu đồ mà bạn có thể nhìn vào 161 00:10:48,790 --> 00:10:50,380 khi bạn nhận được nhiều hơn một chút chiều sâu trong nó, 162 00:10:50,380 --> 00:10:56,210 nhưng dòng quan trọng nhất của mã có chức năng setContentView này 163 00:10:56,210 --> 00:11:00,290 mà sẽ được tải các tập tin tài nguyên cho bố trí. 164 00:11:00,290 --> 00:11:03,590 Sau đó, những gì onCreate đây là cơ bản làm là nó nói 165 00:11:03,590 --> 00:11:07,010 khi tôi tạo ra hoạt động này tôi muốn tải bố trí này. 166 00:11:07,010 --> 00:11:12,030 Và chúng tôi sẽ nói về những gì bố trí đó là trong một giây. 167 00:11:12,030 --> 00:11:16,230 Nếu chúng ta khởi động mà ở đây nó trông giống hệt như thế này, 168 00:11:16,230 --> 00:11:22,880 và theo mặc định bởi vì chúng tôi đã làm điều này và Eclipse ADT làm việc đó cho chúng tôi 169 00:11:22,880 --> 00:11:28,210 đây là tất cả các mã nồng nhiệt khi được tạo ra cho chúng ta, 170 00:11:28,210 --> 00:11:34,630 và chúng ta có thể di chuyển và thay đổi mọi thứ như chúng ta muốn. 171 00:11:34,630 --> 00:11:38,190 Các thư mục tài nguyên, như tôi đã nói, đây là nơi mà chúng tôi tổ chức tất cả các bố trí, 172 00:11:38,190 --> 00:11:41,150 drawables về bất kỳ loại hình ảnh- 173 00:11:41,150 --> 00:11:46,360 chúng được gọi là drawables và sau đó các tập tin âm thanh, các trình đơn. 174 00:11:46,360 --> 00:11:51,170 Đó là một cách của một bó toàn bộ XML trong một thời trang được sắp xếp tốt đẹp. 175 00:11:51,170 --> 00:11:58,030 Như bạn có thể thấy, có. Hdpi, ldpi, mdpi và thư mục xhdpi cho drawables. 176 00:11:58,030 --> 00:12:02,220 Đây là mật độ màn hình khác nhau, mật độ điểm ảnh rất cao trên mỗi inch, 177 00:12:02,220 --> 00:12:05,710 mật độ thấp, mật độ trung bình, thêm mật độ cao. 178 00:12:05,710 --> 00:12:08,900 >> Đây là, một lần nữa, vì vậy chúng tôi có thể hỗ trợ tất cả các thiết bị khác nhau, 179 00:12:08,900 --> 00:12:15,100 và lý tưởng, bạn sẽ có những hình ảnh khác nhau cho mỗi độ phân giải khác nhau. 180 00:12:15,100 --> 00:12:20,740 Bố trí này là nơi chúng tôi bao gồm tất cả các bố trí khác nhau sẽ được sử dụng trong các hoạt động khác nhau. 181 00:12:20,740 --> 00:12:24,150 Họ cũng có thể bao gồm bố trí cho mảnh vỡ, 182 00:12:24,150 --> 00:12:26,670 có nghĩa là hoạt động một phần cơ bản. 183 00:12:26,670 --> 00:12:29,610 Nếu bạn muốn làm một cái gì đó mát mẻ như bất cứ khi nào bạn xoay điện thoại 184 00:12:29,610 --> 00:12:33,900 bạn muốn nó có một bố trí khác nhau mà bạn có thể làm được bố trí cảnh quan như một thư mục khác nhau, 185 00:12:33,900 --> 00:12:39,000 và Android sẽ tự động có một bó toàn bộ các quy tắc trong các thư mục tài nguyên, 186 00:12:39,000 --> 00:12:44,690 vì vậy nó sẽ biết nhìn vào các thư mục khác nhau dựa trên các thiết lập hiện tại của điện thoại, 187 00:12:44,690 --> 00:12:46,740 những gì sắp xếp của phần cứng mà bạn đang sử dụng. 188 00:12:46,740 --> 00:12:52,350 Tương tự như vậy, điều này có giá trị-v11 đây và giá trị-v14 189 00:12:52,350 --> 00:12:55,460 và các giá trị mặc định của thư mục này là cho- 190 00:12:55,460 --> 00:13:01,730 tốt, giá trị của chính nó, đây sẽ là giá trị mặc định trên tất cả các phiên bản của hệ điều hành. 191 00:13:01,730 --> 00:13:06,390 Mặt khác, v11 và v14 tương ứng với Honeycomb 192 00:13:06,390 --> 00:13:08,780 và Ice Cream Sandwich, tương ứng. 193 00:13:08,780 --> 00:13:12,800 Một lần nữa, đây là những cách mà-trong các thư mục này là những chuỗi khác nhau 194 00:13:12,800 --> 00:13:17,550 và phong cách, vì vậy bạn có thể tùy chỉnh sự xuất hiện của ứng dụng của bạn 195 00:13:17,550 --> 00:13:22,660 hoặc có khả năng thậm chí chức năng của nó, mặc dù đó có lẽ sẽ là một ý tưởng tồi, 196 00:13:22,660 --> 00:13:25,890 dựa trên phiên bản của hệ điều hành. 197 00:13:25,890 --> 00:13:28,760 >> Và tôi đã nói chuyện về tất cả điều này ở đây. 198 00:13:28,760 --> 00:13:35,870 Một lần nữa, thể vẽ được, liệu, bố trí, giá trị. 199 00:13:35,870 --> 00:13:41,380 Giá trị mặc định, nếu chúng ta đi vào Hello Android hoặc Xin chào CS50 ngay bây giờ 200 00:13:41,380 --> 00:13:43,310 nó sẽ trông giống như thế này. 201 00:13:43,310 --> 00:13:45,800 Nó sẽ chào thế giới. 202 00:13:45,800 --> 00:13:58,430 Như bạn có thể thấy ngay đây với các văn bản Android 203 00:13:58,430 --> 00:14:04,420 các văn bản cho xem văn bản này, đó là cơ bản chỉ là một nhãn hiệu, 204 00:14:04,420 --> 00:14:06,900 là những gì chúng tôi sẽ gọi nó trong iOS. 205 00:14:06,900 --> 00:14:11,580 Nó có ký hiệu này funny @ chuỗi / hello_world. 206 00:14:11,580 --> 00:14:16,200 Điều này là vì vậy chúng tôi có thể-chúng tôi cố gắng để trích xuất tất cả các dây, 207 00:14:16,200 --> 00:14:19,740 tất cả các chuỗi mã hóa cứng trong Android vào một thư mục riêng biệt, 208 00:14:19,740 --> 00:14:23,610 mà sẽ xảy ra là trong values.strings. 209 00:14:23,610 --> 00:14:29,300 Nếu chúng ta nhìn ở đây, chúng ta có thể thấy rằng chúng tôi có một chuỗi mã hóa cứng lưu tại đây 210 00:14:29,300 --> 00:14:33,910 cho hello thế giới, và nó được gọi là hello thế giới, và đây là loại một 211 00:14:33,910 --> 00:14:39,230 quyết định thiết kế chung trên nhiều nền tảng mà bạn muốn- 212 00:14:39,230 --> 00:14:41,780 dây là các loại điều mà chúng tôi muốn có khả năng có thể thay đổi. 213 00:14:41,780 --> 00:14:48,050 Chúng tôi không muốn để kiểm soát F trong tập tin mã nguồn của chúng tôi trong XML của chúng tôi. 214 00:14:48,050 --> 00:14:50,760 Chúng tôi muốn để có thể thay đổi điều này bất cứ khi nào chúng tôi có cơ hội. 215 00:14:50,760 --> 00:14:53,640 >> Này tập tin XML, strings.xml, là một cách để giải nén 216 00:14:53,640 --> 00:14:56,710 chuỗi mã hóa cứng mà nếu không sẽ được bố trí trong nguồn tài nguyên của chúng tôi 217 00:14:56,710 --> 00:15:03,530 hoặc trong mã nguồn của chúng tôi. 218 00:15:03,530 --> 00:15:08,190 Manifest là nơi mà chúng tôi tiếp tục thông tin cần thiết này về ứng dụng. 219 00:15:08,190 --> 00:15:11,050 Nó bao gồm các tên gói. Đó có phải là một định danh duy nhất. 220 00:15:11,050 --> 00:15:16,020 Không giống như App Store cho iOS tên của các ứng dụng 221 00:15:16,020 --> 00:15:19,980 không phải là duy nhất, và bạn có thể trong thực tế thay đổi tên của ứng dụng của bạn 222 00:15:19,980 --> 00:15:23,570 sau khi bạn gửi nó, vì vậy nếu tôi bắt đầu với Angry Birds, 223 00:15:23,570 --> 00:15:26,840 và sau đó tôi làm cho một bản cập nhật, và tôi không muốn phát hành một phiên bản mới 224 00:15:26,840 --> 00:15:34,230 Tôi đoán tôi có thể gọi nó là Angry Birds 2 trong khi tôi đang trên chu kỳ phát hành cùng. 225 00:15:34,230 --> 00:15:36,780 Nó sẽ chỉ hiển thị như là một bản cập nhật. 226 00:15:36,780 --> 00:15:39,790 Điều duy nhất mà phải được duy nhất là tên gói này, 227 00:15:39,790 --> 00:15:41,280 mà không nhiều người sẽ thấy. 228 00:15:41,280 --> 00:15:44,680 Vâng, bạn chỉ muốn xem nếu bạn đang tìm kiếm vào mã nguồn hoặc nếu có một số loại lỗi. 229 00:15:44,680 --> 00:15:47,580 Các thành phần bao gồm các hoạt động, vì vậy chúng tôi phải khai báo 230 00:15:47,580 --> 00:15:49,070 bất kì hoạt động chúng tôi sử dụng. 231 00:15:49,070 --> 00:15:53,430 Đây là một loại phép của điều. 232 00:15:53,460 --> 00:15:58,150 >> Vì Android không có quá trình này áp dụng nghiêm ngặt 233 00:15:58,150 --> 00:16:02,210 cho trình ứng dụng thay vào đó họ chỉ cần tất cả mọi thứ dựa tắt của quyền 234 00:16:02,210 --> 00:16:04,300 và tuyên bố những điều trong Manifest. 235 00:16:04,300 --> 00:16:06,380 Phiên bản SDK cũng rất quan trọng. 236 00:16:06,380 --> 00:16:10,330 Chúng tôi có thể thiết lập sử dụng như phiên bản SDK tối thiểu một cái gì đó. 237 00:16:10,330 --> 00:16:16,010 Rõ ràng, bạn muốn tạo mã 238 00:16:16,010 --> 00:16:18,570 và thiết kế cho các hệ điều hành mới hơn. 239 00:16:18,570 --> 00:16:20,840 Có lẽ không phải là mới nhất, có thể không Jelly Bean. 240 00:16:20,840 --> 00:16:23,610 Có lẽ bạn muốn thiết kế chủ yếu cho Ice Cream Sandwich, 241 00:16:23,610 --> 00:16:27,120 mặc dù chúng khá giống nhau về quyết định thiết kế 242 00:16:27,120 --> 00:16:30,550 và các thư viện và các API thực tế. 243 00:16:30,550 --> 00:16:36,250 Nhưng thay vì có những người 244 00:16:36,250 --> 00:16:40,050 của Android phiên bản gốc giống như bánh rán cách trở lại khi- 245 00:16:40,050 --> 00:16:43,420 người vẫn còn xảy ra để được sử dụng mà cố gắng để tải về ứng dụng của bạn và sau đó nói 246 00:16:43,420 --> 00:16:46,160 nó không hoạt động trên điện thoại của tôi, bạn có thể thiết lập các phiên bản tối thiểu 247 00:16:46,160 --> 00:16:48,620 và nó có thể là Gingerbread hoặc Ice Cream Sandwich 248 00:16:48,620 --> 00:16:53,300 hoặc bất cứ điều gì bạn cảm thấy thoải mái cáo nếu. 249 00:16:53,300 --> 00:16:57,170 Và đây là một ví dụ về Manifest. Chúng ta có thể nhìn vào một thực tế một chút. 250 00:16:57,170 --> 00:17:00,900 >> Được rồi, chúng ta sẽ đi về phía trước với các bản demo tại. 251 00:17:00,900 --> 00:17:08,900 Đây là bản demo nếu bạn Google Android xây dựng ứng dụng đầu tiên của bạn hoặc một cái gì đó như thế. 252 00:17:08,900 --> 00:17:12,089 Chúng tôi sẽ đi qua tất cả những gì xảy ra ở đó, 253 00:17:12,089 --> 00:17:17,690 và xin lỗi, chỉ cần cho một tài liệu tham khảo những người ở đây đều biết Java đến mức độ nào? 254 00:17:17,690 --> 00:17:28,310 Được rồi, vì vậy Java là ngôn ngữ lập trình mới cho hầu hết mọi người ra khỏi CS50. 255 00:17:28,310 --> 00:17:31,850 Một thời gian ngắn, để đi qua một lần nữa những gì nó nói ở đây, 256 00:17:31,850 --> 00:17:35,580 những gì chúng tôi muốn làm là thay vì điều chỉnh ứng dụng này trên thế giới chào 257 00:17:35,580 --> 00:17:38,620 rằng tất cả nó là nó sẽ khởi động và nó nói hello thế giới 258 00:17:38,620 --> 00:17:43,580 và nó nói xin chào CS50 ở phía trên bởi vì đó là tên hoạt động 259 00:17:43,580 --> 00:17:47,190 chúng tôi sẽ cố gắng để làm cho một lĩnh vực văn bản và một nút 260 00:17:47,190 --> 00:17:50,680 do đó khi chúng ta bấm nút này, nó sẽ có văn bản 261 00:17:50,680 --> 00:17:53,660 từ các lĩnh vực văn bản và khởi động một hoạt động mới, và nó sẽ nói 262 00:17:53,660 --> 00:17:58,380 bất cứ văn bản mà nói trong các hoạt động, và điều này là tương đối đơn giản. 263 00:17:58,380 --> 00:18:00,650 Nó không phải là rất thú vị. Bạn sẽ không muốn phát hành bất kỳ ứng dụng như thế này. 264 00:18:00,650 --> 00:18:03,880 Nhưng nó thể hiện một số điều quan trọng thiết kế. 265 00:18:03,880 --> 00:18:07,030 >> Chúng tôi sẽ phải tương tác với Manifest, với các tập tin bố trí, 266 00:18:07,030 --> 00:18:12,440 với mã nguồn, và bạn có thể xem như thế nào để khởi động một hoạt động từ khác. 267 00:18:19,740 --> 00:18:23,060 Chúng tôi sẽ bắt đầu với việc bố trí cho hoạt động đầu tiên của chúng tôi, 268 00:18:23,060 --> 00:18:27,320 mà tôi biết đó là loại nhỏ, 269 00:18:27,320 --> 00:18:32,660 nhưng như bạn có thể nhìn thấy ngay bây giờ, tất cả đó là là nó có logo của chúng tôi mà chúng tôi tạo ra, 270 00:18:32,660 --> 00:18:36,310 tên hoạt động, và nó nói hello thế giới trong trung tâm. 271 00:18:36,310 --> 00:18:40,400 Thay vào đó, tôi đầu tiên sẽ thực hiện điều này vào một bố trí tuyến tính, 272 00:18:40,400 --> 00:18:42,350 bố trí tương đối, và đây là tất cả mọi thứ 273 00:18:42,350 --> 00:18:45,870 bạn có thể tìm và có giá trị đi qua tại một số điểm về bố trí. 274 00:18:45,870 --> 00:18:47,310 Đó là rất nhiều như HTML. 275 00:18:47,310 --> 00:18:52,640 Chúng tôi nói nó không phải là giá trị thực sự biết về một ý nghĩa chương trình, 276 00:18:52,640 --> 00:18:55,840 nhưng có rất nhiều bố trí khác nhau, bạn có thể kiểm soát, 277 00:18:55,840 --> 00:18:57,970 và nó chỉ giống như CSS về phong cách. 278 00:18:57,970 --> 00:19:01,590 >> Có rất nhiều xảy ra chỉ về thẩm mỹ ở đây, 279 00:19:01,590 --> 00:19:08,930 và yeah, nó có giá trị học tập, nhưng đó là loại điều bạn nên tìm kiếm 280 00:19:08,930 --> 00:19:11,810 như bạn đi và bạn cảm thấy như bạn cần một cái gì đó mới. 281 00:19:11,810 --> 00:19:17,030 Tôi có thể tận dụng một số công cụ ADT đây ít nhất để bắt đầu với. 282 00:19:17,030 --> 00:19:21,930 Tôi sẽ làm cho một trường văn bản, và tôi sẽ làm cho một nút. 283 00:19:21,930 --> 00:19:24,100 Đặt chúng ngay bên cạnh nhau. 284 00:19:24,100 --> 00:19:28,200 Họ đã thay đổi kích thước cho phù hợp. 285 00:19:28,200 --> 00:19:31,320 Xin lỗi, một lần nữa, trở lại với sự khác biệt giữa bố trí tuyến tính và bố trí tương đối, 286 00:19:31,320 --> 00:19:34,830 bố trí tuyến tính cho nhiều chức năng hơn một chút 287 00:19:34,830 --> 00:19:38,720 về làm đầy không gian và đảm bảo 288 00:19:38,720 --> 00:19:42,790 chúng tôi vị trí thứ theo chiều ngang hoặc theo chiều dọc. 289 00:19:42,790 --> 00:19:46,130 Sự khác biệt lớn giữa một bố trí tuyến tính và bố trí tương đối 290 00:19:46,130 --> 00:19:50,250 là các vị trí bố trí tương đối tất cả mọi thứ liên quan đến quan điểm khác, 291 00:19:50,250 --> 00:19:52,630 và những điều tốt về nó là nó tốn ít thời gian để vẽ 292 00:19:52,630 --> 00:19:56,120 vì hệ điều hành xem xét tất cả các mã và nói rằng điều này đi 293 00:19:56,120 --> 00:19:58,270 quan đến điều này ở đây, ở đây. 294 00:19:58,270 --> 00:20:03,170 Nó có nghĩa là nó làm cho các phép đo ít hơn một bó toàn bộ bố trí tuyến tính lồng nhau, 295 00:20:03,170 --> 00:20:06,840 mà tôi sẽ phải làm gì nếu tôi muốn mọi thứ đi theo chiều dọc ở đây. 296 00:20:06,840 --> 00:20:10,510 >> Tôi đã có một số điều đang xảy ra theo chiều ngang, vì vậy tôi cần một bố trí tuyến tính khác nhau 297 00:20:10,510 --> 00:20:14,560 để lồng ghép theo chiều dọc, nhưng nếu tôi đã làm một bố trí tương đối tôi có thể nói 298 00:20:14,560 --> 00:20:18,140 giữ này sang bên trái, điều này ở bên phải và những điều dưới đây. 299 00:20:18,140 --> 00:20:21,850 Nhưng vì tôi muốn họ điền vào ngay bây giờ tôi sẽ sử dụng một bố trí tuyến tính, 300 00:20:21,850 --> 00:20:24,510 và bạn có thể thấy nó đã làm rất nhiều những việc này cho chúng tôi. 301 00:20:24,510 --> 00:20:28,890 Tất cả các quan cần phải có một tài sản của chiều rộng và chiều cao, 302 00:20:28,890 --> 00:20:33,410 và điều này xảy ra để có một trọng lượng của 1, và điều này có trọng lượng trên 1 303 00:20:33,410 --> 00:20:36,050 để nó lấp đầy toàn bộ không gian. 304 00:20:36,050 --> 00:20:38,460 Nhưng chiều rộng và chiều cao là quan trọng nhất. 305 00:20:38,460 --> 00:20:45,880 ID lĩnh vực này ở đây là không quan trọng trong bố trí thực tế 306 00:20:45,880 --> 00:20:49,060 trừ khi chúng tôi đang sử dụng một bố trí tương đối và nói rằng chúng tôi có thể tham khảo 307 00:20:49,060 --> 00:20:52,990 một vị trí xem trong tài liệu tham khảo khác. 308 00:20:52,990 --> 00:20:56,170 Nếu chúng tôi đã có một bố cục tương đối, chúng tôi có thể nói vị trí này bên dưới này 309 00:20:56,170 --> 00:20:59,390 hoặc cao hơn ID này, nhưng ID này sẽ rất quan trọng 310 00:20:59,390 --> 00:21:01,660 khi chúng ta đang sử dụng nó trong mã của chúng tôi bởi vì chúng tôi có thể tham khảo 311 00:21:01,660 --> 00:21:05,610 những quan điểm cá nhân theo cách này. 312 00:21:05,610 --> 00:21:10,350 >> Và sau đó bạn sẽ nhìn thấy requestFocus thẻ, đó là một cái gì đó bạn có thể thấy trong pset 7. 313 00:21:10,350 --> 00:21:15,370 Có một thẻ tự động tập trung hoặc một cái gì đó dọc theo các dòng với một trong các lĩnh vực. 314 00:21:15,370 --> 00:21:22,100 Và một điều, tất nhiên, chúng ta có thể làm giống như trong HTML, 315 00:21:22,100 --> 00:21:25,660 và thông báo một trong những điều tốt đẹp về ADT là nó autocompletes đây. 316 00:21:25,660 --> 00:21:29,930 Có lẽ không phải là độc đáo như nó đã làm trong XCode, nhưng nó dù sao, 317 00:21:29,930 --> 00:21:32,860 và chúng ta có thể nói gợi ý và sau đó cung cấp cho nó một số loại chuỗi 318 00:21:32,860 --> 00:21:37,070 thích viết một tin nhắn, 319 00:21:37,070 --> 00:21:41,300 và nếu tôi cung cấp cho nó một thời điểm, cũng nhận thấy rằng tôi nhận được một lỗi nhỏ ở đây 320 00:21:41,300 --> 00:21:44,610 nói rằng chúng ta nên sử dụng một nguồn tài nguyên chuỗi cho điều này, 321 00:21:44,610 --> 00:21:48,820 vì vậy nếu tôi để cho nó làm một số công việc khó khăn đối với tôi 322 00:21:48,820 --> 00:21:57,320 Tôi có thể chọn chuỗi này, làm khúc xạ Android và trích xuất các chuỗi Android. 323 00:21:57,320 --> 00:22:00,570 Tôi có thể cung cấp cho nó cái tên đó, viết một tin nhắn, 324 00:22:00,570 --> 00:22:04,180 và những gì nó đã bây giờ là nó thay thế là chuỗi mã hóa cứng 325 00:22:04,180 --> 00:22:07,980 với một tham chiếu đến chuỗi trong tập tin xml của chuỗi., 326 00:22:07,980 --> 00:22:10,200 có nghĩa là bây giờ điều này là ở đây. 327 00:22:10,200 --> 00:22:15,560 >> Và tôi biết rằng dường như một chút tầm thường và như làm thêm vào thời điểm này, 328 00:22:15,560 --> 00:22:17,840 nhưng khi bạn có một bó toàn bộ của sự vật, một bó toàn bộ chuỗi, 329 00:22:17,840 --> 00:22:20,750 đó là thực sự quan trọng, và đặc biệt đối với nội địa hóa 330 00:22:20,750 --> 00:22:26,920 bởi vì như tôi đã đề cập trước đó, Android là một hệ điều hành được sử dụng rất toàn cầu 331 00:22:26,920 --> 00:22:35,950 mà bạn chỉ có thể làm giá trị-en hoặc giá trị-sp 332 00:22:35,950 --> 00:22:44,320 hoặc một cái gì đó cho tiếng Anh hoặc tiếng Tây Ban Nha hoặc các ngôn ngữ khác. 333 00:22:44,320 --> 00:22:50,210 Và sau đó có thể bạn không có kinh nghiệm này chưa 334 00:22:50,210 --> 00:22:53,030 vì chúng tôi không làm được gì nhiều JavaScript về lập trình web, 335 00:22:53,030 --> 00:22:56,850 nhưng chúng ta cũng có thể làm lĩnh vực này được gọi là onclick cho nút, 336 00:22:56,850 --> 00:23:02,350 và đây là một cách để tham khảo trong cách bố trí của chúng tôi 337 00:23:02,350 --> 00:23:06,570 mà chúng ta muốn có một chức năng nhất định được gọi là trong mã nguồn của chúng tôi. 338 00:23:06,570 --> 00:23:09,420 Tôi sẽ gọi SendMessage này, 339 00:23:09,420 --> 00:23:13,390 và để làm công việc này có nghĩa là trong các hoạt động chính ở đây 340 00:23:13,390 --> 00:23:19,180 Tôi sẽ phải tạo ra một chức năng mà là công khai 341 00:23:19,180 --> 00:23:22,250 để nó có thể được truy cập bằng cách bố trí. 342 00:23:22,250 --> 00:23:25,930 Đó là khoảng trống bởi vì bạn chỉ không muốn nó trở lại bất cứ điều gì. 343 00:23:25,930 --> 00:23:37,760 Chúng tôi sẽ gọi nó là SendMessage, và nó có một cái nhìn, 344 00:23:37,760 --> 00:23:43,690 mà là một loại bối cảnh chúng ta có thể neo đậu phương pháp này 345 00:23:43,690 --> 00:23:47,160 cho rằng quan điểm cá nhân khi chúng tôi đang chạy nó. 346 00:23:47,160 --> 00:23:50,090 >> Và tôi không biết nếu bạn nhận thấy-tốt, bạn sẽ không nhận thấy, 347 00:23:50,090 --> 00:24:02,370 nhưng vào thời điểm này đây 348 00:24:02,370 --> 00:24:06,930 xem đây là một loại mà chưa được bao gồm, 349 00:24:06,930 --> 00:24:10,630 và dĩ nhiên, bạn đã biết từ CS50 về không bao gồm các loại. 350 00:24:10,630 --> 00:24:13,120 Những điều tốt đẹp về như Eclipse IDE là 351 00:24:13,120 --> 00:24:17,520 nếu bạn quên bao gồm một loại nó sẽ nhấn mạnh với một màu đỏ nhỏ nguệch ngoạc 352 00:24:17,520 --> 00:24:19,680 và sau đó cung cấp cho bạn các tùy chọn để nhập điểm. 353 00:24:19,680 --> 00:24:23,130 Một cách nhanh chóng để làm điều đó là kiểm soát sự thay đổi O, và nó sẽ nhập khẩu 354 00:24:23,130 --> 00:24:27,070 tất cả các tập tin mà nó cần. 355 00:24:27,070 --> 00:24:33,670 Bây giờ chúng ta có chức năng này SendMessage, 356 00:24:33,670 --> 00:24:46,560 đó là sẽ gửi tin nhắn từ MainActivity đến một hoạt động mới, 357 00:24:46,560 --> 00:24:55,230 chúng ta sẽ phải sử dụng một ý định để khởi động các hoạt động mới từ này, 358 00:24:55,230 --> 00:25:02,240 vì vậy chúng tôi có thể sẽ muốn tạo ra một hằng số toàn cầu cũng đặc biệt hoặc một hằng số công cộng 359 00:25:02,240 --> 00:25:06,240 sẽ giúp chúng tôi biết làm thế nào chúng ta sẽ tham khảo chuỗi 360 00:25:06,240 --> 00:25:09,090 bởi vì khi chúng ta tạo ra một ý định chúng ta không chỉ gọi một hoạt động mới, 361 00:25:09,090 --> 00:25:11,520 nhưng chúng tôi cũng có thể cung cấp cho nó một gói thông tin. 362 00:25:11,520 --> 00:25:14,720 Một bó thực sự là một thuật ngữ sử dụng Android, 363 00:25:14,720 --> 00:25:21,470 và đó là một cách nói cho nó dữ liệu thêm, mà nó không thể là một kiểu dữ liệu rất phức tạp, 364 00:25:21,470 --> 00:25:24,510 nhưng chúng tôi chắc chắn có thể bao gồm các phép toán luận hoặc các chuỗi hoặc số nguyên. 365 00:25:24,510 --> 00:25:29,750 Đại loại như vậy. 366 00:25:29,750 --> 00:25:34,230 >> Hãy hỏi về bất kỳ của các vòng loại ở đây, 367 00:25:34,230 --> 00:25:36,900 công cộng, cuối cùng, tĩnh. 368 00:25:36,900 --> 00:25:38,610 Công cộng là một trong những quan trọng. 369 00:25:38,610 --> 00:25:47,090 Nó có nghĩa là chúng ta có thể truy cập vào biến này từ các tập tin mã nguồn khác 370 00:25:47,090 --> 00:25:49,590 chẳng hạn như khi chúng ta tạo ra một hoạt động mới. 371 00:25:49,590 --> 00:25:52,190 Chúng ta có thể tham khảo các chuỗi trong tập tin này. 372 00:25:52,190 --> 00:25:57,160 Nếu đó là tư nhân, nó có nghĩa là nó giới hạn tập tin cá nhân này ở đây. 373 00:25:57,160 --> 00:26:02,430 Nhưng chúng ta sẽ gọi một cái gì đó như tin nhắn thêm. 374 00:26:16,260 --> 00:26:23,300 Bây giờ chúng ta đã thực hiện chức năng này, và nếu chúng ta nhấn nút, chức năng này sẽ được gọi. 375 00:26:23,300 --> 00:26:27,970 Nhưng chúng tôi đã không thực hiện bất cứ điều gì, rõ ràng, với các chức năng. 376 00:26:27,970 --> 00:26:33,130 Những gì chúng tôi muốn làm bây giờ là tạo ra một hoạt động mới, 377 00:26:33,130 --> 00:26:35,350 các hoạt động thực sự sẽ được đưa ra. 378 00:26:35,350 --> 00:26:44,330 Trong Eclipse, chúng tôi có thể nói, hoạt động Android mới, hoạt động trống. 379 00:26:44,330 --> 00:26:46,530 Chúng tôi có thể cung cấp cho nó một cái tên. 380 00:26:46,530 --> 00:26:57,050 Hãy gọi nó là kết quả hoạt động của chúng tôi. 381 00:26:57,050 --> 00:27:04,430 Và sau đó lĩnh vực này có thứ bậc cha mẹ là một cách để xác định 382 00:27:04,430 --> 00:27:08,180 cách các hoạt động có liên quan đến nhau. 383 00:27:08,180 --> 00:27:11,020 Bởi vì điều này sẽ được đưa ra từ các hoạt động khác 384 00:27:11,020 --> 00:27:27,520 chúng ta nên xác định rằng nó có hoạt động chính của phụ huynh. 385 00:27:27,520 --> 00:27:31,220 >> Và tôi có thể đã nhấp vào trường bên cạnh đó, mà sẽ nói với chúng tôi 386 00:27:31,220 --> 00:27:33,830 một số lĩnh vực tùy chọn mà nó cũng được bao gồm, 387 00:27:33,830 --> 00:27:38,800 nhưng những điều tốt đẹp về ADT, một lần nữa, là nếu tôi di chuyển xuống đây 388 00:27:38,800 --> 00:27:45,740 trong Manifest nhớ rằng tất cả điều này thực sự đã được bao gồm theo mặc định 389 00:27:45,740 --> 00:27:48,930 khi chúng ta ban đầu được tạo ra dự án, 390 00:27:48,930 --> 00:27:53,090 và bây giờ bởi vì chúng tôi sử dụng này tạo ra một hoạt động mới thay vì chỉ 391 00:27:53,090 --> 00:27:58,610 thêm tập tin lớp học của riêng của chúng tôi bởi vì chúng tôi đã đi qua giao diện đồ họa của họ để làm điều này 392 00:27:58,610 --> 00:28:01,930 nó đã được thêm vào tất cả điều này với Manifest cho chúng ta, 393 00:28:01,930 --> 00:28:06,020 mà chỉ có nghĩa là bây giờ hệ điều hành sẽ không phàn nàn 394 00:28:06,020 --> 00:28:09,400 khi chúng tôi cố gắng để khởi động hoạt động này. 395 00:28:09,400 --> 00:28:14,620 Và nó cũng có, tất nhiên, đã cho nó một nhãn, cũng xuất hiện trong chuỗi. 396 00:28:14,620 --> 00:28:17,340 Nó rất nhiều thứ trở lại vào cuối cho chúng ta. 397 00:28:17,340 --> 00:28:20,140 Dù sao, bây giờ chúng ta đã có kết quả hoạt động này là tốt, 398 00:28:20,140 --> 00:28:23,810 các tập tin mã nguồn thực tế trong thư mục nguồn, 399 00:28:23,810 --> 00:28:33,540 và bạn có thể thấy, để một thời gian ngắn liên lạc trên này- 400 00:28:33,540 --> 00:28:37,790 bởi vì chúng tôi đã nói với nó về mẹ thứ bậc này 401 00:28:37,790 --> 00:28:46,640 nó đã cho android.r.ide.home lĩnh vực này trong onOption này điều được lựa chọn. 402 00:28:46,640 --> 00:28:49,020 >> Điều này về cơ bản là nói là có một nút trình đơn tại 403 00:28:49,020 --> 00:28:53,110 mà ở góc trên bên trái của màn hình 404 00:28:53,110 --> 00:29:02,220 nếu tôi quay trở lại với PowerPoint mà chúng tôi đầu tiên nói về thanh hành động 405 00:29:02,220 --> 00:29:05,380 vì phụ huynh phân cấp bây giờ có một mũi tên nhỏ trở lại đây 406 00:29:05,380 --> 00:29:10,610 và điều này là có thể click vì vậy chúng tôi sẽ có thể đến sau khi chúng ta thực sự chạy ứng dụng này- 407 00:29:10,610 --> 00:29:15,360 quay trở lại, và đó là một cách để tiết kiệm cho chúng tôi một ít mã có. 408 00:29:26,220 --> 00:29:40,180 Bây giờ trong này-tốt, nó có vẻ là phàn nàn về điều đó trong một thời điểm. 409 00:29:40,180 --> 00:29:43,910 Chúng ta hãy nhận xét rằng ra. 410 00:29:43,910 --> 00:29:48,260 Bây giờ, để thực sự tương tác với những hoạt động 2, 411 00:29:48,260 --> 00:29:55,020 chúng ta phải tạo ra một mục đích trong đó bao gồm tất cả các dữ liệu này. 412 00:29:55,020 --> 00:29:58,950 Trong SendMessage bây giờ tôi sẽ đi tuần xuyên qua một số bit của mã 413 00:29:58,950 --> 00:30:00,700 và giải thích rằng như tôi đi. 414 00:30:00,700 --> 00:30:06,280 Một ý định, như tôi đã nói, là một cách để khởi động một hoạt động từ khác. 415 00:30:06,280 --> 00:30:10,000 Mục đích là loại. Chúng tôi đang tạo ra một myIntent biến. 416 00:30:10,000 --> 00:30:13,980 >> Và điều này thực sự là một đối tượng, đó là lý do tại sao chúng tôi phải gọi mới. 417 00:30:13,980 --> 00:30:18,500 Đó là việc sử dụng Java chung đó, mà có thể mất một chút nhận được sử dụng để. 418 00:30:18,500 --> 00:30:23,900 Điều này có nghĩa chúng ta đang sử dụng các hoạt động hoặc các MainActivity lớp, 419 00:30:23,900 --> 00:30:28,630 và ý định theo cách đó có hoạt động nó sẽ từ 420 00:30:28,630 --> 00:30:36,060 và hoạt động của nó sẽ, mà chúng ta gọi ResultActivity, 421 00:30:36,060 --> 00:30:38,170 và đó là lớp học riêng của mình. 422 00:30:38,170 --> 00:30:41,720 Bao gồm đó. 423 00:30:41,720 --> 00:30:47,370 Và sau đó như tôi đã đề cập trước đây, chúng tôi đã cho ID đó vào trường văn bản sửa 424 00:30:47,370 --> 00:30:53,710 và xem văn bản, do đó để lập trình chụp 425 00:30:53,710 --> 00:31:01,860 các văn bản tồn tại trong editText 426 00:31:01,860 --> 00:31:06,710 chúng tôi sử dụng chức năng này được gọi là findViewByID, 427 00:31:06,710 --> 00:31:13,660 đó là tương tự như một cái gì đó mà bạn sẽ sử dụng khi cố gắng để có được các lĩnh vực từ DOM. 428 00:31:13,660 --> 00:31:17,560 Có lẽ David nói về điều này trong bài giảng. 429 00:31:17,560 --> 00:31:26,600 Nhưng nó chỉ là một cách để nhận được những-đó là lý do tại sao chúng ta tag những điều này với các lĩnh vực này. 430 00:31:26,600 --> 00:31:31,110 Id.editText1. 431 00:31:31,110 --> 00:31:35,220 Nó đã autocompleting cho tôi ở đó. 432 00:31:35,220 --> 00:31:42,010 >> Và sau đó chúng tôi cũng sẽ bao gồm-này editText bây giờ mà chúng tôi có sân 433 00:31:42,010 --> 00:31:47,640 trong chương trình của chúng tôi, tất cả những gì đã làm được findViewByID cơ bản 434 00:31:47,640 --> 00:31:50,870 bạn có thể nghĩ về nó như cung cấp cho chúng tôi một tham chiếu đến editText đó. 435 00:31:50,870 --> 00:31:54,570 Bây giờ chúng tôi muốn để có được chuỗi hoặc tin nhắn 436 00:31:54,570 --> 00:32:00,670 trong đó editText mà chúng tôi có thể làm bằng cách sử dụng- 437 00:32:00,670 --> 00:32:03,360 bạn có thể nghĩ editText như một cấu trúc- 438 00:32:03,360 --> 00:32:07,600 chúng tôi gọi nó là một đối tượng trong Java với một bó toàn bộ các phương pháp khác nhau 439 00:32:07,600 --> 00:32:10,650 hoặc các lĩnh vực và các thuộc tính gắn liền với nó. 440 00:32:10,650 --> 00:32:15,510 Khi tôi nói editText. nó mang lại cho tôi cơ hội để truy cập 441 00:32:15,510 --> 00:32:19,770 một phương pháp như gettext, mà sẽ nhận được các văn bản hiện hành 442 00:32:19,770 --> 00:32:23,990 trong editText đó và sau đó chuyển đổi đó một cách rõ ràng 443 00:32:23,990 --> 00:32:26,520 cho một chuỗi, và chúng tôi đã lưu tin nhắn. 444 00:32:26,520 --> 00:32:32,730 Bây giờ chúng ta thực sự muốn làm điều gì đó với mục đích chúng tôi tạo ra chỉ trong khoảnh khắc trước. 445 00:32:32,730 --> 00:32:40,250 Tôi sẽ đặt thêm như nó được gọi là trong ý định, 446 00:32:40,250 --> 00:32:43,330 trong đó, một lần nữa, như tôi đã nói, đây là một cách để tạo ra các gói 447 00:32:43,330 --> 00:32:45,980 với một bó toàn bộ dữ liệu. 448 00:32:45,980 --> 00:32:50,920 Nhắn thêm là từ khóa của chúng tôi vì vậy chúng tôi biết những gì chúng ta đang tiết kiệm này theo, 449 00:32:50,920 --> 00:32:56,700 và sau đó tôi là bao gồm cả tin nhắn. 450 00:32:56,700 --> 00:33:04,870 >> Và sau đó chúng tôi thực sự có thể bắt đầu hoạt động bằng cách thêm vào myIntent tham số. 451 00:33:04,870 --> 00:33:10,630 Và điều này thực sự sẽ khởi động các hoạt động, vì vậy bây giờ kể từ khi tôi nâng cấp lên Windows 8 452 00:33:10,630 --> 00:33:15,870 có thể có một số lỗi mà hiển thị một thời gian ngắn, nhưng cố gắng để bỏ qua chúng. 453 00:33:28,010 --> 00:33:30,310 Và điều này là giả lập Android. 454 00:33:30,310 --> 00:33:33,540 Hy vọng rằng các mã thực sự sẽ xuất hiện trong một thời điểm. 455 00:33:33,540 --> 00:33:36,680 Một lần nữa, bỏ qua tất cả những điều nhỏ nhặt. 456 00:33:36,680 --> 00:33:42,290 Nhưng giả lập Android, bạn có thể cạnh tranh với bất kỳ phiên bản của hệ điều hành 457 00:33:42,290 --> 00:33:45,180 từ những người sớm nhất, Donut, Gingerbread. 458 00:33:45,180 --> 00:33:49,640 Đây là Jelly Bean 4.1. 459 00:33:49,640 --> 00:33:53,150 Nhưng như bạn có thể nhìn thấy ngay bây giờ, đây là một cái gì đó chúng tôi thực hiện. 460 00:33:53,150 --> 00:33:55,780 Điều này có MainActivity, các editText, nút. 461 00:33:55,780 --> 00:34:01,550 Tôi có thể gõ một cái gì đó ở đây, nhưng những gì chúng tôi còn thiếu vào thời điểm này? 462 00:34:01,550 --> 00:34:05,190 Chúng tôi đã làm sân trong MainActivity đó sẽ gửi tin nhắn 463 00:34:05,190 --> 00:34:08,570 để các hoạt động khác, nhưng vào thời điểm này 464 00:34:08,570 --> 00:34:12,330 chúng tôi đã không thực hiện bất cứ điều gì trong các hoạt động khác, vì vậy nó sẽ không nhận được bất cứ điều gì. 465 00:34:12,330 --> 00:34:18,800 Hãy kết thúc phần đó trước khi chúng tôi di chuyển trên. 466 00:34:18,800 --> 00:34:25,760 >> Kết quả hoạt động này, những gì chúng ta cần làm là chúng ta cần làm là chúng ta sẽ cần đến 467 00:34:25,760 --> 00:34:30,070 chúng tôi cũng có thể tham khảo mục đích trong hoạt động này, 468 00:34:30,070 --> 00:34:33,580 vì vậy chúng tôi có thể nắm bắt ý định, mà thực sự là đơn giản. 469 00:34:33,580 --> 00:34:40,780 Đó là một chức năng bao gồm trong lớp hoạt động, 470 00:34:40,780 --> 00:34:47,610 vì vậy chúng tôi chỉ có thể nói "Nhận được tin nhắn từ mục đích." 471 00:34:47,610 --> 00:34:56,260 "Ý định myIntent = getIntent." 472 00:34:56,260 --> 00:35:00,030 Và điều này sẽ cho chúng ta-bây giờ myIntent là một đối tượng, 473 00:35:00,030 --> 00:35:05,380 đó là một tham chiếu đến mục đích mà dẫn chúng tôi đến hoạt động này. 474 00:35:05,380 --> 00:35:10,130 MainActivity cuộc gọi và cung cấp thông tin thêm dẫn đến hoạt động. 475 00:35:10,130 --> 00:35:14,070 Hoạt động kết quả bây giờ nhìn vào mục đích mà dẫn nó ở đây, 476 00:35:14,070 --> 00:35:23,540 và chúng ta có thể truy cập thư mà chúng tôi tạo ra trong một khác, 477 00:35:23,540 --> 00:35:26,370 getStringExtra, và điều này sẽ tự động hoàn chỉnh cho tôi. 478 00:35:26,370 --> 00:35:31,190 Và sau đó hãy nhớ, cách chúng ta đánh dấu rằng bit dữ liệu 479 00:35:31,190 --> 00:35:38,400 là bằng cách cho nó lĩnh vực này ngay tại đây, chuỗi công cộng này, 480 00:35:38,400 --> 00:35:42,080 đó là các từ khóa cho chuỗi chúng tôi thực sự bao gồm. 481 00:35:42,080 --> 00:35:48,450 >> Nếu tôi nói MainActivity.Extra_Message 482 00:35:48,450 --> 00:35:52,200 nó phải có, và đây là loại giống như các tên tham số 483 00:35:52,200 --> 00:35:55,330 khi chúng tôi thông qua mã từ bộ điều khiển để các mẫu, 484 00:35:55,330 --> 00:35:57,680 khi chúng ta muốn nói tên mũi tên một cái gì đó. 485 00:35:57,680 --> 00:36:01,140 Đó là cùng một loại ý tưởng đó. 486 00:36:01,140 --> 00:36:07,130 Bây giờ, hãy nhớ điều này. 487 00:36:07,130 --> 00:36:12,230 Chúng tôi cũng đã tự động này tạo ra hoặc tự động tạo ra mã 488 00:36:12,230 --> 00:36:16,410 cho hoạt động kết quả, trong đó bao gồm xem văn bản ở giữa 489 00:36:16,410 --> 00:36:19,690 nói hello thế giới. 490 00:36:19,690 --> 00:36:27,510 Chúng tôi có khả năng có thể làm cho điều đó lớn hơn. 491 00:36:27,510 --> 00:36:33,980 Chúng ta hãy làm điều đó đầu tiên. 492 00:36:33,980 --> 00:36:39,550 Chúng ta có thể làm cho nó 40 mật độ điểm ảnh độc lập. 493 00:36:39,550 --> 00:36:42,670 Chúng ta hãy xem, đó là siêu khổng lồ. Rằng sẽ không sao đâu. 494 00:36:42,670 --> 00:36:48,180 Và sau đó để tham khảo quan điểm này văn bản cá nhân trong mã của chúng tôi 495 00:36:48,180 --> 00:36:53,890 chúng tôi sẽ cần phải cung cấp cho nó một ID, 496 00:36:53,890 --> 00:36:58,350 và để làm được điều đó chúng ta nói @ + id, có nghĩa là chúng ta gán cho nó ID. 497 00:36:58,350 --> 00:37:02,480 Nếu chúng ta chỉ nói @ id nó sẽ giả sử chúng ta đang tham khảo một ID đã tồn tại, 498 00:37:02,480 --> 00:37:07,760 và chúng ta hãy gọi này resultTextView của chúng tôi. 499 00:37:07,760 --> 00:37:10,570 Và nhận thấy rằng trong XML không cần cho dấu chấm phẩy hoặc bất cứ điều gì. 500 00:37:10,570 --> 00:37:12,380 Tất cả mọi thứ là trong các thẻ. 501 00:37:12,380 --> 00:37:15,530 Nó rất giống với HTML trong rất nhiều giác quan. 502 00:37:15,530 --> 00:37:22,760 >> Phải mất một chút để làm quen, nhưng cuối cùng bạn sẽ cảm thấy khá thoải mái với nó. 503 00:37:22,760 --> 00:37:31,320 Hãy cập nhật các văn bản cho xem văn bản kết quả của chúng tôi, 504 00:37:31,320 --> 00:37:35,650 và như chúng tôi đã làm khi chúng tôi nhận được rằng lĩnh vực văn bản chỉnh sửa trong các hoạt động khác của chúng tôi 505 00:37:35,650 --> 00:37:46,630 trong MainActivity đây chúng tôi cũng sẽ tương tự như vậy, 506 00:37:46,630 --> 00:37:54,890 chúng tôi sẽ tìm xem bởi ID. 507 00:37:54,890 --> 00:37:59,640 Và R, trong trường hợp tôi không đề cập đến điều này trước khi, là tham chiếu đến thư mục tài nguyên của chúng tôi, 508 00:37:59,640 --> 00:38:05,350 và sau đó ID là một tham chiếu đến tất cả mọi thứ trong thư mục tài nguyên, tất cả các ID, 509 00:38:05,350 --> 00:38:10,060 và resultTextView. 510 00:38:10,060 --> 00:38:13,010 Và cũng giống như trước đây, resultTextView là một đối tượng, 511 00:38:13,010 --> 00:38:15,780 có nghĩa là nó có tất cả các tài sản gắn liền với nó. 512 00:38:15,780 --> 00:38:20,610 Khi chúng tôi sử dụng gettext cho văn bản chỉnh sửa cho lĩnh vực này văn bản hoặc xem văn bản 513 00:38:20,610 --> 00:38:23,980 chúng tôi thực sự có thể sử dụng setText, 514 00:38:23,980 --> 00:38:26,960 và sau đó chúng tôi đã tìm thấy các tin nhắn từ mục đích, 515 00:38:26,960 --> 00:38:35,760 vì vậy tôi có thể nói tin nhắn, và điều này sẽ thực sự thiết lập các tin nhắn. 516 00:38:35,760 --> 00:38:41,820 >> Mất một chút thời gian để khởi động, và sau đó chúng ta có thể nhìn thấy hay không nó bị treo, 517 00:38:41,820 --> 00:38:48,670 nhưng bất kỳ câu hỏi về quá trình đó ngay lúc này, loại tương tác? 518 00:38:48,670 --> 00:38:51,490 Trong nhiều cách đó là đơn giản. 519 00:38:51,490 --> 00:38:53,960 Lý do tôi đi qua một cái gì đó tương đối đơn giản 520 00:38:53,960 --> 00:38:57,330 là, một lần nữa, bởi vì bạn có thể nhìn thấy sự tương tác giữa bố trí, 521 00:38:57,330 --> 00:38:59,520 mã nguồn, làm thế nào cho bạn những điều tham khảo 522 00:38:59,520 --> 00:39:07,680 và có thể có được một ít tiếp xúc với cách Java làm việc ở đó. 523 00:39:07,680 --> 00:39:16,500 Nếu tôi thực sự gõ một cái gì đó ở đây, như ohai, và sau đó tôi nhấn nút, 524 00:39:16,500 --> 00:39:22,260 nó sẽ khởi động một hoạt động mới, và xem văn bản nói ohai. 525 00:39:22,260 --> 00:39:27,640 Điều đó rất đơn giản, nhưng hy vọng sau khi ví dụ 526 00:39:27,640 --> 00:39:32,310 bạn loại thấy sự tương tác này hoạt động, và bây giờ là mớ hỗn độn các tập tin 527 00:39:32,310 --> 00:39:36,870 ở phía bên trái cho tất cả các thư mục dự án, hy vọng bạn biết nơi để tìm bây giờ. 528 00:39:36,870 --> 00:39:38,700 Đây là khu vực mã nguồn của bạn. 529 00:39:38,700 --> 00:39:41,760 >> Bố trí thực sự là điều duy nhất bạn sẽ giải quyết cho đến khi bạn bao gồm hình ảnh 530 00:39:41,760 --> 00:39:46,370 và drawables hoặc bất cứ điều gì, và giá trị, mà sẽ bao gồm chuỗi, 531 00:39:46,370 --> 00:39:51,960 như chúng tôi đã đề cập, và sau đó phong cách là một cái gì đó đại loại như CSS. 532 00:39:51,960 --> 00:39:56,410 Giải quyết nó khi bạn muốn, nhưng cho đến khi bạn cảm thấy thoải mái với việc thêm thêm sự tinh tế 533 00:39:56,410 --> 00:40:02,520 để ứng dụng của bạn không cần phải lo lắng về nó quá nhiều. 534 00:40:02,520 --> 00:40:07,410 Chỉ để quấn lên một điều khác mà bạn chắc chắn sẽ muốn bao gồm- 535 00:40:07,410 --> 00:40:13,010 giả sử bạn muốn tích hợp các tính năng mát mẻ và tiết kiệm cho mình thêm một số mã hóa- 536 00:40:13,010 --> 00:40:16,460 sẽ bao gồm thư viện của bên thứ 3. 537 00:40:16,460 --> 00:40:19,840 Dưới đây là những chàng trai nhỏ Android với Sherlock Holmes chiếc mũ. 538 00:40:19,840 --> 00:40:23,040 Đây là một hành động thanh Sherlock thư viện, 539 00:40:23,040 --> 00:40:25,390 mà về cơ bản có nghĩa là thanh hành động mà bạn đã thấy trước đó, 540 00:40:25,390 --> 00:40:29,590 mà bây giờ tiêu chuẩn trong Ice Cream Sandwich và Jelly Bean, 541 00:40:29,590 --> 00:40:33,100 nếu bạn muốn mang lại cho rằng loại kinh nghiệm người sử dụng cho người sử dụng trên phiên bản cũ 542 00:40:33,100 --> 00:40:39,290 và tiết kiệm cho mình từ lo lắng về cách thức người sử dụng sẽ điều hướng 543 00:40:39,290 --> 00:40:42,490 trên phiên bản cũ khi điều đó là không có bạn có thể bao gồm thư viện này 544 00:40:42,490 --> 00:40:46,770 và sau đó bạn chỉ cần tham khảo, chứ không phải là Android mặc định 545 00:40:46,770 --> 00:40:50,250 thư viện cho các thanh hành động, bạn tham khảo thư viện hỗ trợ này. 546 00:40:50,250 --> 00:40:53,090 >> Những thứ như Scoreloop, đó là tuyệt vời nếu bạn đang đi để bao gồm một trò chơi. 547 00:40:53,090 --> 00:40:57,280 Nó cho phép bạn thêm bảng lãnh đạo và thành tích để trò chơi. 548 00:40:57,280 --> 00:41:00,900 AdMob là một cách để đưa quảng cáo vào các ứng dụng của bạn 549 00:41:00,900 --> 00:41:02,900 trong trường hợp bạn muốn làm cho một ít tiền tắt của nó. 550 00:41:02,900 --> 00:41:05,730 Tất nhiên, có Facebook và Twitter để tích hợp có 551 00:41:05,730 --> 00:41:08,170 nếu bạn muốn chia sẻ những điều dễ dàng, vân vân. 552 00:41:08,170 --> 00:41:15,120 Dropbox, tương tự như vậy, và Google Analytics là biểu đồ mà tìm ai ở đó. 553 00:41:15,120 --> 00:41:19,070 Điều đó sẽ rất quan trọng nếu bạn thực sự muốn xem ai đang tương tác 554 00:41:19,070 --> 00:41:25,800 với ứng dụng của bạn hoặc người đó là ai, làm thế nào chúng tương tác, vân vân. 555 00:41:25,800 --> 00:41:30,650 Google, theo mặc định, nói lên rất nhiều số liệu thống kê về những người đã cài đặt ứng dụng của bạn 556 00:41:30,650 --> 00:41:35,020 và những gì điện thoại mà họ có, những gì các phiên bản hệ điều hành mà họ có. 557 00:41:35,020 --> 00:41:38,080 Nhưng nếu bạn muốn xem ai đang sử dụng nó trên một cơ sở hàng ngày và làm thế nào họ sử dụng nó 558 00:41:38,080 --> 00:41:42,860 sau đó bạn sẽ muốn bao gồm một số loại hệ thống theo dõi như thế. 559 00:41:42,860 --> 00:41:44,990 >> Khi bạn đã sẵn sàng để phân phối các ứng dụng của bạn 560 00:41:44,990 --> 00:41:46,930 Tôi không cần phải đi vào trong sâu quá nhiều. 561 00:41:46,930 --> 00:41:49,090 Nhấp vào liên kết ở đây, Google Play. 562 00:41:49,090 --> 00:41:51,080 Nó được sử dụng là thị trường Android. 563 00:41:51,080 --> 00:41:53,470 Họ đổi tên tất cả mọi thứ với Google Play, 564 00:41:53,470 --> 00:41:55,230 vì vậy bây giờ bạn gửi đến đó. 565 00:41:55,230 --> 00:41:57,140 Nó rất đơn giản. 566 00:41:57,140 --> 00:42:01,070 Bạn phải bao gồm một mô tả, một số ảnh chụp màn hình. 567 00:42:01,070 --> 00:42:05,660 Như tôi đã nói, không có quá trình phê duyệt như iOS. 568 00:42:05,660 --> 00:42:07,270 Và nơi để đi từ đây? 569 00:42:07,270 --> 00:42:09,450 Tôi cho bạn một ví dụ rất đơn giản. 570 00:42:09,450 --> 00:42:13,270 Hy vọng rằng nếu nó có vẻ khủng khiếp đơn giản 571 00:42:13,270 --> 00:42:15,740 sau đó có thể là một dấu hiệu tốt. 572 00:42:15,740 --> 00:42:20,080 Nếu bạn ở tất cả cảm thấy một chút bối rối hoặc không chắc chắn về chính xác những gì tôi đã gõ 573 00:42:20,080 --> 00:42:26,160 đó cũng tốt, nhưng từ đây đi đến Google Hướng dẫn. 574 00:42:26,160 --> 00:42:28,330 Đây là một nơi tuyệt vời để bắt đầu. 575 00:42:28,330 --> 00:42:31,460 Nó sẽ nói chuyện với bạn thông qua những gì họ mong đợi về mặt thiết kế ứng dụng, 576 00:42:31,460 --> 00:42:33,380 cách người sử dụng bình thường tương tác với nó. 577 00:42:33,380 --> 00:42:36,450 Nó nhiều hơn nữa hình thức miễn phí hơn iOS, tôi muốn nói, 578 00:42:36,450 --> 00:42:41,330 mà nó có vẻ như xem bảng được-Tôi không biết, đó là bánh mì và bơ của họ. 579 00:42:41,330 --> 00:42:44,690 Tất cả mọi thứ là một cái nhìn bàn trượt lên và xuống. 580 00:42:44,690 --> 00:42:48,160 Với Android, họ chắc chắn khuyến khích mọi người nhìn vào nó từ 581 00:42:48,160 --> 00:42:51,720 một bó toàn bộ các quan điểm khác nhau. 582 00:42:51,720 --> 00:42:56,000 >> Khi bạn bao gồm các bộ phát triển phần mềm trong ADT này 583 00:42:56,000 --> 00:43:03,010 theo mặc định bạn có một bó toàn bộ các dự án mẫu trong Android. 584 00:43:03,010 --> 00:43:05,470 Ngay tại đây, Android, dự án mẫu Android. 585 00:43:05,470 --> 00:43:11,870 Nếu tôi bấm vào đó, sau đó tôi có thể chọn một phiên bản mà các mẫu các dự án áp dụng. 586 00:43:11,870 --> 00:43:13,300 Có một bó toàn bộ những thứ khác nhau ở đây. 587 00:43:13,300 --> 00:43:16,690 Nó bắt đầu với khả năng tương thích thanh hành động, 588 00:43:16,690 --> 00:43:24,610 gia tốc chơi, sao lưu và phục hồi, Bluetooth, xây dựng cử chỉ. 589 00:43:24,610 --> 00:43:28,930 JetBoy là một trò chơi mẫu họ cung cấp cho bạn, như là LunarLander. 590 00:43:28,930 --> 00:43:31,250 Có một bó toàn bộ các ứng dụng mẫu ở đây, 591 00:43:31,250 --> 00:43:35,290 và tất cả họ đang nhắm vào các khía cạnh khác nhau của API của Android, 592 00:43:35,290 --> 00:43:41,520 và ý tưởng là khi bạn thực hiện ứng dụng của bạn 593 00:43:41,520 --> 00:43:44,110 bạn không cần phải học tất cả mọi thứ về Android để làm cho một ứng dụng Android. 594 00:43:44,110 --> 00:43:47,300 Bạn chỉ cần tìm hiểu về những phần mà bạn đang thực sự đi vào sử dụng. 595 00:43:47,300 --> 00:43:49,340 Nhìn vào những thư viện mẫu. 596 00:43:49,340 --> 00:43:51,510 Cảm thấy tự do để sao chép và dán mã và áp dụng lại nó. 597 00:43:51,510 --> 00:43:53,850 Đó là một điều tuyệt vời để xem xét mã khó khăn hơn 598 00:43:53,850 --> 00:43:57,060 và cố gắng để hiểu nó, đó là tất nhiên lý do tại sao trong CS50 599 00:43:57,060 --> 00:44:01,510 chúng tôi thường xuyên cung cấp cho bạn một lượng lớn mã nguồn. 600 00:44:01,510 --> 00:44:04,620 Xem xét một số những điều này nếu bạn đang sử dụng các thư viện tương tự 601 00:44:04,620 --> 00:44:08,630 và sau đó áp dụng nó vào mã của riêng bạn. 602 00:44:08,630 --> 00:44:10,430 Và tất nhiên, có những hướng dẫn. 603 00:44:10,430 --> 00:44:12,690 Tìm kiếm các hướng dẫn. 604 00:44:12,690 --> 00:44:17,020 Tôi tìm thấy rất nhiều những cái tốt trực tuyến có thể mang lại cho bạn lên đến tốc độ 605 00:44:17,020 --> 00:44:20,080 với những gì thực sự là mảnh vỡ và làm thế nào bạn có thể sử dụng chúng. 606 00:44:20,080 --> 00:44:22,240 >> Một số trong những điều thiết kế mới, như mảnh vỡ, 607 00:44:22,240 --> 00:44:26,840 bạn thực sự không cần phải lo lắng về, trừ khi bạn đang thực hiện một 608 00:44:26,840 --> 00:44:30,560 khá lớn trong phạm vi dự án. 609 00:44:30,560 --> 00:44:32,510 Họ là những điều mà Google đang cố gắng thực nhập 610 00:44:32,510 --> 00:44:35,570 Stackoverflow là tất nhiên bạn bè của bạn. 611 00:44:35,570 --> 00:44:37,930 Hy vọng rằng tôi đã bán cho bạn một chút trên Android, 612 00:44:37,930 --> 00:44:41,640 nhận ra điều đó là dễ dàng hơn nhiều để tiếp cận về chỉ là ngôn ngữ mã hóa. 613 00:44:41,640 --> 00:44:45,970 Java là tôi muốn nói dễ dàng hơn nhiều để hiểu hơn Objective-C. 614 00:44:45,970 --> 00:44:50,780 Android đang phát triển tôi nghĩ nhiều hơn so với iOS. 615 00:44:50,780 --> 00:44:54,890 Tôi có nghĩa là, dữ liệu là có quá, ngoài những gì tôi nghĩ. 616 00:44:54,890 --> 00:44:56,920 Nó sẽ được khoảng một thời gian, 617 00:44:56,920 --> 00:45:00,880 và họ là một vài năm sau về chu trình thiết kế của họ, 618 00:45:00,880 --> 00:45:04,690 do đó, nó là loại dễ hiểu rằng họ vẫn đang làm việc thông qua một số các 619 00:45:04,690 --> 00:45:09,080 câu hỏi nhất quán, như thanh hành động này là một điều mới cho họ vẫn còn, 620 00:45:09,080 --> 00:45:16,010 loại tạo ra trải nghiệm người dùng tương tự như trên tất cả các ứng dụng của họ. 621 00:45:16,010 --> 00:45:20,650 Hy vọng rằng bạn có thể đi tiếp bây giờ và mở Eclipse 622 00:45:20,650 --> 00:45:22,870 và làm cho các ứng dụng Android của riêng bạn. 623 00:45:22,870 --> 00:45:30,240 >> Có ai có bất kỳ câu hỏi trước khi chúng tôi quấn lên về bất cứ điều gì? 624 00:45:30,240 --> 00:45:34,410 Tôi có thể cho bạn câu trả lời là 42. 625 00:45:34,410 --> 00:45:41,990 Vâng, hạnh phúc mã hóa tất cả mọi người, và may mắn. 626 00:45:41,990 --> 00:45:44,990 [CS50.TV]