FRED Widjaja: Được rồi. Hi, tất cả mọi người. Cảm ơn bạn chào đón cho tham gia tôi tại hội thảo này. Vì vậy, hôm nay chúng ta sẽ nói chuyện về làm thế nào để phát triển các ứng dụng cho Android, và đặc biệt, chúng ta sẽ được sử dụng Android Studio để để phát triển các ứng dụng của chúng tôi. Vì vậy, tất cả các bạn có thể biết. Android sử dụng Java, và vì vậy chúng tôi sẽ có đi qua một giới thiệu ngắn gọn Java trên chính nó. Vì vậy, tôi biết nhiều bạn chỉ có kinh nghiệm lập trình trong C. Vì vậy, đó là hoàn toàn tốt, và đó là vì Java là rất, rất tương tự như C, với sự khác biệt nhỏ. Vì vậy, các kiểu trong Java là cố định trong số các byte. Vì vậy, trong C, chúng tôi có quần short và chờ đợi, và họ khác nhau về số lượng các bit từ máy tính đến máy tính. Trong Java, nó đã được thiết lập như là một tiêu chuẩn. Vì vậy, byte có tám bit, quần short có 16 bit, và vv và vv. Chúng tôi cũng có các ký tự, các phép toán, và cũng nổi và tăng gấp đôi. Vì vậy, cách các bạn chương trình trong Java, nó rất giống. Vì vậy, ví dụ, chúng ta có cho các vòng lặp và vòng lặp while, và nếu và báo cáo khác là chính xác giống như bạn sẽ làm gì trong C. Được rồi, do đó, điều đặc biệt về Java là nó hướng đối tượng. Bây giờ, các đối tượng là gì? Vì vậy, nếu bạn nhìn vào những thứ xung quanh bạn, bạn sẽ thấy nhận thấy rằng tất cả các đối tượng thế giới thực có hai đặc điểm chung. Và đó là họ có nhà nước và họ có một số loại hành vi. Vì vậy, ví dụ, chó sẽ có trạng thái đó là tên, màu sắc, giống, có thể nếu con chó đói hay không. Và một số hành vi mà con chó sẽ có sẽ sủa, hoặc vẫy đuôi, hoặc lấy một quả bóng. Vì vậy, chúng ta cũng có thể áp dụng điều này các đối tượng vô tri vô giác. Vì vậy, ví dụ, xe hơi, họ có các mô hình, năm, tốc độ tối đa, vv và vv. Và họ có một số hành vi. Ví dụ, tăng tốc, hoặc phanh, hoặc đi ngược lại. Vì vậy, các đối tượng Java nỗ lực để mô hình này bằng cách có lĩnh vực và phương pháp. Vì vậy, các trường là các tiểu bang mà các đối tượng Java có thể có, trong khi phương pháp sẽ đại diện cho hành vi mà một đối tượng Java sẽ có. Vì vậy, khi tôi nói phương pháp và các lĩnh vực, tôi thực sự chỉ có nghĩa là các biến và chức năng. Họ là giống hệt nhau, ngoại trừ mà họ áp dụng cho một đối tượng nhất định. OK, vì vậy chuyển đến các lớp học. Lớp Java là như bản thiết kế cho một đối tượng. Họ nói với bạn những gì các phương pháp nó có, những gì các trường nó có, và ngay cả ở đây, chúng ta có một cái gì đó gọi là bổ truy cập mà chúng tôi sẽ nhận được để trong một thời gian. Vì vậy, để khai báo một lớp Java, đó là rất giống nhau trong cú pháp để một struct C. Ở đây chúng ta bắt đầu với công lớp Car, và sau đó chúng tôi có một cú đúp mở và sau đó một số số lĩnh vực mà bạn muốn các đối tượng để có. Và sau đó ở đây chúng ta có một số phương pháp, và chúng tôi cũng có một constructor đối tượng. Bây giờ những gì xây dựng đối tượng này không có gì nó nói với các đối tượng, OK, tôi muốn khởi tạo này phản đối với một số loại của các lĩnh vực. Vì vậy, ở đây, chúng tôi muốn mỗi xe để có một mô hình và một năm. Vì vậy, chúng tôi có một constructor chỉ cụ thể cho mô hình và cả năm, và này sẽ thiết lập các lĩnh vực mô hình đến một giá trị nhất định, và các lĩnh vực trong năm là tốt. Bây giờ về truy cập bổ Tôi đã nói về. Ở đây chúng ta có công chúng và bổ truy cập tin. Vì vậy, bạn có thể nghĩ về điều này như các rwx trong thư mục của bạn. Vì vậy, họ cho phép một số người để đọc, và có quyền truy cập những lĩnh vực và phương pháp. Vì vậy, nếu tôi nói rằng mô hình và năm và tốc độ là tư nhân, điều đó có nghĩa rằng các đối tượng khác có thể không cố gắng truy cập vào các lĩnh vực của đối tượng này có tin. Nhưng khi tôi đặt truy cập sửa đổi phải được công khai, bây giờ mà có nghĩa là các đối tượng khác được tự do truy cập và thậm chí sử dụng các phương pháp được định nghĩa ở đây. Vì vậy, đây là cơ bản Đối tượng xe mà tôi có. Chúng tôi có tăng tốc, phá vỡ, và các phương pháp getSpeed. Đến thời điểm này, tất cả mọi người là rõ ràng về Java đối tượng và làm thế nào để khai báo? Cool, tất cả các quyền. Vì vậy, nếu bạn muốn sử dụng Java đối tượng trong một chương trình riêng của mình, sau đó chúng ta có thể sử dụng này mới xây dựng xe. Vì vậy, ở đây chúng ta nói rằng chúng ta muốn khai báo một đối tượng mới, đó là các loại xe. Và ở đây nó được áp dụng các mô hình và các năm, mà chúng tôi đã xác định trong đối tượng này ngay tại đây. Vì vậy, đây cũng là một phản đối, nếu bạn nhận thấy. Đó là một lớp học cho các chương trình chính bản thân. Và chúng tôi có PSVM này, hoặc của cộng đồng static void main, chức năng, và nó bắt đầu từ điểm của chương trình của bạn, tương tự như các chính chức năng trong chương trình C của bạn. Ở đây, chúng ta có thể truy cập và sử dụng các chức năng của đối tượng sử dụng dấu chấm và sau đó Tên chức năng ký hiệu. Và chúng tôi thậm chí có thể xác định đối số hoặc các thông số nhất định cho chức năng đó. OK, vì vậy bây giờ chuyển sang thừa kế. Vì vậy, đối tượng thế giới thực thể chia sẻ các đặc điểm giống nhau. Vì vậy, ví dụ, có các loại xe đạp khác nhau. Ví dụ, xe đạp leo núi, xe đạp thành phố, xe đạp hoặc song song. Vì vậy, họ có chung này đặc tính là một chiếc xe đạp. Và như vậy có thể có xe đạp hai bánh và họ có thể có một tay lái, thậm chí có thể một ánh sáng đuôi hoặc một cái gì đó như thế. Vì vậy, Java cho chúng ta này quyền đại diện cho đối tượng rằng có một số chung đặc điểm thông qua kế thừa. Bây giờ, những gì thừa kế không có gì, là nó đi vào các lĩnh vực của một đối tượng và phương pháp vào một đối tượng trẻ em. Vì vậy, ví dụ, nếu tôi có một chiếc xe, và nó có bang có bốn bánh xe và một bánh lái, sau đó chúng ta có thể vượt qua điều này trên một số loại xe khác nhau. Ví dụ, chúng ta có sedan, xe thể thao, và một chiếc SUV. Bây giờ, ba khác nhau chủng loại xe sẽ vẫn có bốn bánh xe và một vô lăng, nhưng sau đó họ có thể có một số đặc biệt, chẳng hạn như có năm chỗ ngồi và một cho một chiếc sedan, cho ví dụ. Vì vậy, để sử dụng thừa kế này tính năng, chúng tôi sử dụng này kéo dài từ khóa. Vì vậy, hãy nhớ lại các ô tô phản đối rằng tôi đã xác định trước đó. Bây giờ tôi xác định một đối tượng Sedan. Vì vậy, đối tượng Sedan này sẽ có cùng lĩnh vực và chức năng, hoặc các phương pháp, rằng xe sẽ có. Nhưng sau đó, ở đây tôi chỉ định một số chức năng bổ sung, Ví dụ, các bộ số lượng hành khách và có được số lượng hành khách. Tại đây, bạn cũng có thể nhận thấy rằng chúng ta có thể ghi đè lên các phương pháp, và đó có nghĩa là chúng tôi chỉ thay thế hành vi hành động khác trong những trường hợp nhất định. Vì vậy, ví dụ, tôi muốn thiết lập một tốc độ tối đa cho xe của chúng tôi. Và để làm được điều đó, tôi kiểm tra xem này tốc sẽ đi qua tốc độ tối đa. Và nếu không, sau đó tôi gọi siêu đẳng 'phương pháp tăng tốc. Vì vậy, đây là super.accelerate () cuộc gọi các lớp siêu 'tăng tốc phương pháp. Cuối cùng, chúng ta sẽ nói về giao diện. Vì vậy, giao diện là một cách để lộ chỉ phương pháp nhất định với thế giới bên ngoài. Vì vậy, chúng ta giống như một bảng của nội dung, và bạn có thể nghĩ về họ như như các tập tin C header, chỉ các phương pháp như với các cơ quan rỗng, và họ xác định những đối tượng hoặc lớp phải có, hoặc những gì các phương pháp các đối tượng hoặc lớp phải có. Vì vậy, ví dụ, nếu tôi có một giao diện xe đạp, và nó có ba phương pháp khác nhau, và ở đây nếu tôi thực hiện giao diện này, sau đó có nghĩa rằng xe đạp này cần phải thực hiện cùng ba phương pháp mà tôi định nghĩa trong giao diện. Tính đến thời điểm này, bất kỳ câu hỏi khác? Được rồi, mát mẻ. Vì vậy, đây là một rất ngắn và nhanh chóng hướng dẫn về Java. Có cách thêm nhiều tính năng và các chủ đề trên Java, mà bạn thực sự có thể đi qua. Ví dụ, có generics, có kiểu dữ liệu, thậm chí còn có sự đếm và các công cụ. Vì vậy, nếu bạn muốn tìm hiểu thêm về nó, làm theo các liên kết, và họ sẽ dạy cho bạn biết thêm về họ. OK, vì vậy, chúng ta hãy chuyển sang thịt thực sự của các cuộc hội thảo, và đó là thực sự Lập trình Android. Vì vậy, trước khi chúng ta thực sự được lập trình, Tôi muốn nói về một số thuật ngữ. Vì vậy, một hoạt động Cách của Android nói đó là một màn hình duy nhất trong ứng dụng. Vì vậy, ví dụ, nếu bạn có một Gmail ứng dụng, chúng tôi có các hoạt động xem email. Và sau đó nếu bạn nhấp một email nào đó, mà sẽ hiển thị các hoạt động khác mà đó là một hoạt động xem email. Và sau đó, chúng tôi cũng có soạn hoạt động, hoặc các hoạt động chỉnh sửa tin nhắn. Và như vậy là hoạt động thường chỉ cần một màn hình duy nhất trong các ứng dụng riêng của mình. Bây giờ, quan điểm là các thành phần tạo lên màn hình, hoặc các hoạt động riêng của mình. Vì vậy, họ rút ra một số điều trong màn hình của bạn. Vì vậy, ví dụ, nó có thể là một lĩnh vực văn bản, nó có thể là một nhãn, nó có thể là một hộp kiểm tra. Vì vậy, nó là rất nhiều loại khác nhau của các quan điểm. Vì vậy, bây giờ chúng tôi có ý định, và đó là một thông điệp được thông qua vào một hoạt động khác. Và chúng chứa thông tin như những gì bạn muốn hoạt động này để thực thi. Cuối cùng, chúng ta có file manifest, và rằng là một tập tin XML cung cấp cho điện thoại của bạn tất cả các thông tin về ứng dụng của bạn. Vì vậy, đó là bao gồm các phiên bản, và các hoạt động mà bạn sẽ có. OK, vì vậy chúng ta hãy bắt đầu. Vì vậy, chúng ta sẽ được sử dụng Android Studio. Vì vậy, nếu các bạn có điều này đã cài đặt, cảm thấy tự do để theo cùng. Chúng tôi sẽ cố gắng và bắt đầu lại từ đầu. Và vì vậy tôi sẽ cố gắng và tạo ra một dự án mới. Và tôi sẽ gọi Android 101 dự án của tôi. Và ở đây chúng tôi đặt tên của các dự án trong lĩnh vực tên ứng dụng. Công ty Domain, bạn không thực sự phải lo lắng về điều đó. Đây chỉ là cách Android xác định ứng dụng của bạn. Vì vậy, bạn có một tên miền, bạn có thể gõ trong tên miền của bạn bên trong đó. Nhưng nếu bạn không, bạn có thể cảm thấy miễn phí để gõ vào bất cứ điều gì bạn muốn. Vì vậy, ở đây tôi chỉ cần gõ vào frederickw.com. Và sau đó, cuối cùng, tôi chọn nơi Tôi muốn lưu dự án của tôi ở. Và tôi sẽ chỉ cần chọn máy tính để bàn của tôi. Vì vậy, người sử dụng, Frederick Widjaja, và Desktop. OK. Sau đó nhấn Next. Ở đây, tôi sẽ chọn API tối thiểu để được hỗ trợ. Vì vậy, trong trường hợp này, tôi sẽ chọn API 15. Và điều đó là tốt nếu bạn thực sự chỉ chọn 4.4 là API mới nhất. Hoặc 5, trong thực tế. Nhưng sau đó bạn chỉ cần phải lo lắng về việc mà điện thoại bạn đang thực sự hỗ trợ, và đó điện thoại bạn đang nhắm mục tiêu. Nhấn Next. OK, vì vậy chúng tôi đến đây màn hình, và chúng tôi chỉ sẽ sử dụng tạo ra một hoạt động thông qua này. Vì vậy, tôi sẽ bấm trống hoạt động và sau đó Next. Chúng tôi sẽ gọi nó là chính hoạt động, tôi nghĩ rằng đó là tốt. Chỉ cần sẽ gọi nó, nhấn Finish ngay tại đây. Chờ cho nó để tải, và có chúng tôi đi. Vì vậy, ở đây chúng tôi nhận thấy ba các thư mục khác nhau. Chúng tôi có các thư mục manifest có chứa manifest của chúng tôi. Nếu bạn mở nó, chúng ta sẽ thấy gói của chúng tôi. Hoặc xác cách Android ứng dụng của bạn và sau đó chúng tôi có điều này tag ứng dụng, chứa các tiêu đề của các ứng dụng của chúng tôi cũng như các biểu tượng cho các ứng dụng. Chúng tôi thực sự có thể chạy này ứng dụng thẳng. Vậy tại sao chúng ta không cố gắng và làm điều đó? Tôi sẽ sử dụng Genymotion. Nếu bạn mang điện thoại của riêng bạn, bạn có thể liên kết nó lên và chạy nó nếu bạn muốn. Nhưng tôi chỉ cần đi để sử dụng một giả lập, và tôi sẽ bắt đầu này. Ooh. Vâng, tôi nghĩ rằng đó là sẽ mất một thời gian, vì vậy tôi nghĩ rằng chúng tôi sẽ chỉ nhận được thẳng vào giải thích thêm về điều này. Vì vậy, ở đây chúng tôi có các thư mục Java, hoặc nơi các tập tin mã nguồn của bạn được chứa. Ở đây chúng ta có các hoạt động chính của bản thân. Bạn có thể thấy rằng nó mở rộng các lớp hoạt động. Vì vậy, hoạt động chính của chúng tôi là một màn hình đó sẽ là trong ứng dụng của chúng tôi. Và sau đó ở đây chúng tôi nhận thấy rằng một số các chức năng được tự động tạo ra cho chúng ta. Ta có hàm onCreate, và điều đó sẽ được gọi là whenever-- HỌC SINH: Bạn có quan tâm làm cho văn bản lớn hơn? FRED Widjaja: OK, chắc chắn. Tôi sẽ cố gắng và làm tăng kích thước font. Hãy nghĩ rằng nên được tốt. Điều đó tốt? SINH VIÊN: Chỉ cần một chút cao hơn, như 20 hoặc một cái gì đó. FRED Widjaja: 20? OK. OK, tất cả các quyền. Vì vậy, ở đây chúng tôi có onCreate phương pháp đó sẽ được gọi là khi hoạt động của chúng tôi được tạo ra trong [? hiển thị?]. Chúng tôi có onCreateOptionsMenu, và chúng tôi sẽ thấy rằng có thực sự một thanh hành động, và sau đó chúng ta có thể thêm các mục trình đơn nhất định vào nó. Và sau đó ở đây chúng tôi có onOptionsItemSelected. Vì vậy, điều này giống như một sự kiện nghe, vì vậy bất cứ khi nào một lựa chọn trong thanh hành động của chúng tôi được nhấp, này chức năng sẽ được gọi, và nó sẽ được thông qua với một item nào đó mà được nhấp. OK, tôi sẽ see-- mà không phải làm việc tốt. Hãy thử và bắt đầu. Oh thân yêu. OK. Điều này là đáng lo ngại. OK, vì vậy anyway. Ở đây chúng ta có cách bố trí cho hoạt động của chúng tôi chính nó. Đây là hoạt động chính của chúng tôi, và ở đây chúng tôi nhận thấy rằng có thanh hành động. Và sau đó chúng tôi có hello này nhãn trên thế giới, và chúng tôi có thể thực sự chỉnh sửa văn bản ngay tại đây. Nếu bạn đi và di chuyển xuống Hello World, chúng ta có thể thay đổi nó để bất cứ điều gì chúng ta muốn. Ví dụ, nó có thể được, Hi có. Chào mừng. Và ở đó chúng ta đi, nó thay đổi. Oh thân yêu. Phong cách này không làm việc. OK, đó là đáng lo ngại. OK, dù sao, chúng ta có thể di chuyển trên không mà. Vì vậy, bây giờ, chúng ta hãy cố gắng và làm một số công cụ thực sự cơ bản. Vì vậy, ở đây chúng ta sẽ có một nhãn hiệu, và sau đó chúng tôi sẽ có một văn bản view-- xin lỗi, không phải là một điểm văn bản, chúng ta sẽ có một văn bản chỉnh sửa. Và đó là một thành phần để bạn có thể gõ và các công cụ. Vì vậy, chúng tôi có một văn bản đơn giản, và sau đó chúng ta chỉ cần thêm nó vào giao diện của chúng tôi. Ở đây, tôi cũng muốn thêm một số lợi nhuận lên trên cùng để nó trông đẹp hơn. Vì vậy, chúng ta sẽ đi vào các tài sản, và sau đó ở phần lề trên, chúng ta sẽ thêm trong 20 người bị ảnh hưởng. Vì vậy, bây giờ, người bị ảnh hưởng chỉ là một đơn vị đo lường trong Android, và họ đứng cho mật độ pixels độc lập. Vì vậy, như bạn đã biết, Android, có nhiều loại khác nhau của màn hình và sau đó họ có mật độ màn hình khác nhau. Vì vậy, ở đây nó chỉ đi được một điểm ảnh độc lập mật độ, do đó, nó sẽ được giống trong suốt tất cả các màn hình. Sẽ mở rộng chỉnh sửa văn bản này, và sau đó tôi cũng sẽ để thêm một nút. Và nó sẽ nói OK. 20 người bị ảnh hưởng. OK. Vì vậy, bây giờ chúng tôi có ba các thành phần khác nhau. Và cách chúng ta có thể tham khảo các hoạt động trong lớp học chính của chúng tôi là bằng cách sử dụng phương pháp này gọi findViewByID. Vì vậy, tôi sẽ xác định một số lĩnh vực. Vì vậy, chúng tôi có trong TextView, vì vậy hãy nói helloText. Và sau đó, nếu bạn đang sử dụng Android Studio, bạn có thể sử dụng thay thế shortcut, nhập. Và nhấn Import Class để tự động nhập khẩu các lớp học tương ứng mà chúng ta cần. Và sau đó ở đây tôi sẽ để thêm một ID để TextView này và gọi nó là text_hello. Bây giờ chúng ta đã xác định một ID cho TextView này, chúng ta có thể sử dụng điều này để tham khảo TextView mà chúng ta vừa xác định. Vì vậy, bằng helloText TextView findViewByID, và sau đó chúng tôi chỉ định ID chúng ta muốn, mà là r.ID.text_hello. Vì vậy, đây là rất giống với JavaScript và jQuery, nơi chúng tôi có thể thực sự chỉ tham khảo một số yếu tố trong bố trí chỉ bằng cách sử dụng các ID mà chúng tôi đã quy định. Vì vậy, nói chung, để truy cập vào một đối tượng nào đó hoặc một lĩnh vực nhất định trong cách bố trí của chúng tôi, bạn sẽ có sử dụng phương pháp findViewByID này. Và sau đó chúng ta sẽ làm tương tự mọi việc cho hai yếu tố khác. Ở đây, tôi sẽ thêm text_name ID. Vâng. Cũng như cho thế này. Button_ok. Bây giờ những gì tôi muốn điều này làm là khi chúng ta click vào nút OK, và chúng tôi đã nhập một số loại của tên vào trường văn bản, sau đó nó sẽ cập nhật này nhãn để nói, hi, tên, chào đón. Vì vậy, trở lại trong chính chúng tôi lớp hoạt động, chúng tôi cũng sẽ cố gắng và tham khảo những yếu tố mà chúng ta phải tìm. Vì vậy, chúng tôi có các EditText nameText. Rất tiếc. Nhập và thay thế, lớp nhập khẩu. Và sau đó cũng vào nút OK. Tương tự như vậy, chúng ta sẽ làm điều tương tự ở đây. nameText bằng EditText findViewByID, r.ID.text_name. Và sau đó vào nút OK. findViewByID, r.ID, và sau đó button_ok. OK, bây giờ chúng ta có tất cả ba yếu tố mà chúng tôi muốn đề cập đến. Vì vậy, bây giờ tôi sẽ đính kèm một trên nhấn nút để nghe chúng tôi để lắng nghe cho người dùng nhấp chuột. Để chúng ta chỉ cần sử dụng setOnClickListener sự kiện. Bây giờ, ở đây nó nói chúng ta cần để xác định setOnClickListener, và bạn có thể làm điều đó bằng cách chỉ có một OnClickListener mới, và nhấn Enter. Và sau đó bạn có vô danh này lớp, hoặc đối tượng vô danh. Và chúng tôi cũng có onClick này phương pháp, và đó là cơ bản những gì nó sẽ được gọi là bất cứ khi nào nhấp nút của chúng tôi. Vì vậy, ở đây, tôi muốn để có được tên đó đã nhập vào một trường văn bản đầu tiên Vì vậy, String name bằng để nameText.getText (). Một lần nữa, điều này cũng giống như các Cú pháp Java cho giới thiệu các chức năng bên trong đối tượng. Vì vậy nameText.getText, và sau đó chúng tôi sẽ chuyển đổi nó thành một chuỗi. Bây giờ chúng ta có tên là là đầu vào của người dùng. Và sau đó chúng ta sẽ tạo ra một chuỗi mới, do đó, nó sẽ được gọi là hello. Tôi sẽ nói, hi, tên, chào đón. Và cuối cùng, bạn muốn để cập nhật các helloText. Vì vậy, để làm được điều đó, chúng ta chỉ cần gọi helloText.setText (hello). OK. Rất tiếc. Tôi sẽ cố gắng và chạy lại Genymotion một lần cuối cùng và xem nếu nó hoạt động. Nếu không, nó hoàn toàn tốt. OK. Vì vậy, tôi đoán nó không hoạt động. Trên thực tế, hãy để tôi cố gắng và làm được điều này. Có thể được điều này. Genymotion. OK. Được rồi. Có, nó hoạt động. OK. Đó là đáng sợ. OK. Tôi không có nghĩa là để làm điều đó. OK, vì vậy chúng tôi có giả lập Android này. Hãy để tôi tắt chức năng này. Vì vậy, chúng tôi có giả lập Android của chúng tôi. Vì vậy, chúng tôi sẽ cố gắng và chạy ứng dụng này mà chúng tôi thực hiện. Chỉ cần sẽ bấm nút Play, và nó sẽ nói, chờ đợi adb. Oh, người đàn ông. Khởi động lại. OK, tôi đoán điều này vẫn không làm việc. OK, nevermind, sau đó. này sẽ là một điều đáng tiếc. Nhưng vì thế chúng ta nói rằng chúng ta muốn để tạo ra một hoạt động mới, và chúng ta sẽ có một hình ảnh trong hoạt động đó. Để làm được điều đó, chúng ta có thể chỉ cần nhấp chuột Tập tin này, và sau đó mới. Và sau đó ở đây chúng ta có thể chọn Hoạt động, và hoạt động sau đó Blank. Ở đây, chúng ta sẽ gọi nó có thể CatActivity. OK, vì vậy bây giờ nó ra hai tập tin khác. Một được gọi là activity_cat, và khác được gọi là catActivity, mà là một lớp. Vì vậy, chúng ta hãy nói rằng chúng ta muốn thêm một hình ảnh của một con mèo ngay tại đây. Vì vậy, khi bạn làm điều đó, chúng ta sẽ để sử dụng lớp ImageView. Chúng ta sẽ thêm nó vào đây. Và sau đó thiết lập các quỹ để đảm bảo được 20 DP. Và bây giờ chúng tôi đang đi tìm một hình ảnh của một con mèo trên internet. Vì vậy, chúng ta hãy xem. Cat. OK. Tôi đoán đây là tốt. OK. Vì vậy, bây giờ chúng ta có hình ảnh của chúng tôi. Vì vậy, chúng ta sẽ thêm nó vào dự án của chúng tôi. Có thể làm điều này bằng cách phải nhấp vào, và then-- chúng tôi có thể thực sự chỉ cần mở này, đi tải, xin lỗi, máy tính để bàn. Sẽ cố gắng và tìm thấy nó. Cat. Ngay tại đây. Tôi sẽ sao chép nó vào thư mục của tôi. Bây giờ, nó sẽ hỏi tôi một vài lựa chọn. Bây giờ, tôi chỉ muốn điều này được trong thư mục drawable, và điều đó sẽ được cho tất cả độ phân giải màn hình khác nhau. Ngoài ra, chúng ta có thể thực sự chỉ cần chọn mà màn hình độ phân giải bạn muốn hình ảnh này để được ở. Vì vậy, cần phải chọn thư mục drawable, nhấp OK. Chỉ cần đi đến tên nó cat.jpg. OK, vì vậy, bây giờ nó được thêm vào vào xem hình ảnh của chúng tôi. chúng ta sẽ phải sử dụng nguồn này ngay tại đây, và sau đó chúng ta có thể sử dụng dấu chấm chấm chấm này nút, và chọn hình ảnh con mèo. OK. Vì vậy, bây giờ tôi muốn làm cho nó như vậy mà nó chỉ đúng kích cỡ. Vì vậy, tôi sẽ chọn này điều chỉnh xem giới hạn tùy chọn ở đây, và tự động đặt nó vào đúng kích cỡ. OK. Bây giờ, để thực sự khởi động này Hoạt động từ hoạt động trước đó của chúng tôi, bạn sẽ phải sử dụng một cái gì đó gọi là ý định. Vì vậy, chúng ta hãy nói rằng tôi sẽ để thêm một nút mà ra mắt hoạt động. Tôi sẽ thêm nó ở đây, ngay tại đây. Và sau đó nó sẽ có văn bản kích hoạt nó. Rất tiếc. OK. Bây giờ, làm thế nào để chúng ta thực sự mở hoạt động mới trong hoạt động này? Vì vậy, cùng một thỏa thuận như trước. Chúng tôi cần thêm một ID này nút, và gọi nó là button_activate. Và sau đó vào các hoạt động chính của chúng tôi, đi có nút activateButton mới này. Và sau đó cũng sử dụng findViewByID phương pháp. activateButton bằng nút findViewByID r.ID.button_activate. OK. Và sau đó, chúng tôi cũng sẽ thêm vào một OnClickListener. New OnClickListener. Và sau đó chúng ta sẽ sử dụng Điều này được gọi là Intent. Ý định bằng Ý định mới (điều này). Và sau đó là tên của hoạt động mà chúng ta muốn hiển thị. Vì vậy, ở đây trong này, chúng ta sẽ có catActivity.class. Xin lỗi. Chúng ta sẽ phải định @ MainActivity.this. Vì vậy, bây giờ các tài sản .Đây là đề cập cho ví dụ hiện tại của đối tượng chính nó. OK. Tính đến thời điểm này, bất kỳ câu hỏi? Tất cả tốt? Được rồi. Và sau đó nếu bạn muốn bắt đầu các hoạt động, nó khá đơn giản. Chúng tôi chỉ cần gọi các startActivity phương pháp. Và sau đó chúng tôi vượt qua trong Ý định đối tượng mà chúng ta vừa xác định. Thật không may, chúng tôi có thể không thực sự hiển thị này. Tôi đã hy vọng rằng chúng tôi thực sự có thể chạy này và hiển thị nó cùng trong buổi hội thảo, nhưng tiếc là không. Oh, người đàn ông. Tôi hiểu rồi. Oh, chúng tôi sẽ cố gắng và giết ATB.exe. OK. Khởi động lại. Nó đã làm việc? Oh, OK. Vì vậy, bây giờ nó thực sự biên dịch. Oh. Thật không may, có không có thiết bị chạy. Hãy thử và khởi động lại mô phỏng của tôi. Ah, có chúng tôi đi. Nó xuất hiện. OK. Vì vậy, tôi sẽ khởi động của tôi ứng dụng trên giả lập Android của tôi. Và chúng tôi có những điều mà chúng tôi xác định ngay bây giờ. Vì vậy, chúng tôi có các nhãn, xem văn bản, các lĩnh vực văn bản, và sau đó nút. Vì vậy, tôi sẽ đầu vào Tên của tôi ngay tại đây, và có chúng tôi đi, nó đã thay đổi các văn bản. Vì vậy, nếu chúng ta gõ vào Foo, nó sẽ thay đổi để Foo. Và nếu tôi bấm vào Nút kích hoạt, mà chúng tôi đã liên kết để thực sự khởi động một mới hoạt động, hy vọng điều này sẽ làm việc, có chúng tôi đi. Nó sẽ khởi động các hoạt động mới. Để quay trở lại, chúng ta có thể nhấn nút Back ngay tại đây. Hay không. Oh, có chúng tôi đi. Rất tiếc. Đó là xấu. OK. Vì vậy, bây giờ mà chúng tôi đã thực hiện một số nội dung cơ bản trong Android, chúng ta có thể cố gắng và làm một số công cụ phức tạp hơn. Vì vậy, đầu tiên, chúng ta hãy cố gắng và vượt qua các thông điệp từ một hoạt động khác. Vì vậy, chúng ta hãy nói rằng chúng ta muốn vượt qua trong một tên từ các hoạt động chính đến hoạt động con mèo. Và một tên có thể lấy ra từ nameText này. OK, vì vậy đầu tiên, chúng ta sẽ lấy tên ngay tại đây. String name bằng nameText.getText (). toString (). OK. Và sau đó chúng ta có thể sử dụng điều này gọi intent.putExtra (tên), và sau đó nó thực sự cũng muốn một chìa khóa cho lĩnh vực này thêm. Vì vậy, tôi sẽ xác định một mới chìa khóa, chúng tôi sẽ gọi nó là EXTRA_NAME. Vì vậy, tôi sẽ sử dụng này key, CatActivity.EXTRA_NAME, và sau đó vượt qua trong tên riêng của mình. OK, bây giờ chúng ta thực sự có thể lấy này trong CatActivity mới. Để làm được điều đó, chúng ta phải sử dụng ý định bằng phương pháp getIntent. Vì vậy, bây giờ nó sẽ lấy mục đích mà được sử dụng để gọi hoạt động mới này. Vì vậy, nếu bạn muốn lấy các chuỗi rằng chúng ta thực sự đặt bên trong ý định, bạn có thể sử dụng một intent.getStringExtra và sau đó vượt qua trong cùng một phím, OK, vì vậy bây giờ chúng ta hãy nói rằng chúng ta bạn muốn thay đổi lĩnh vực này. Thay đổi lĩnh vực này ngay tại đây. Và chúng ta hãy làm cho phông chữ kích thước của trường này lớn hơn. Vì vậy, chúng ta hãy nói rằng tôi muốn đây là 20 DP. OK. Và tôi sẽ bổ sung thêm một ID cho TextView này, và tôi sẽ gọi nó là text_cat. Xin lỗi. Và trở lại trong CatActivity, cùng một thỏa thuận như trước. Chúng tôi sẽ xác định một số lĩnh vực. Ở đây nó sẽ được một catText TextView. Và sau đó catText bằng TextView findViewByID, r.ID.text_cat. OK. Và sau đó trở lại đây, tôi sẽ thiết lập các quyền văn bản sau khi chúng tôi lấy cho nó từ ý định. setText (tên). OK, vì vậy hãy cố gắng mà ra. Nhấn vào nút Play. Tôi sẽ sử dụng cùng một thiết bị. Quay trở lại đây. Vì vậy, chúng ta hãy nói rằng tôi đã không input-- nếu chúng ta không chỉ định bất kỳ tên nào, chúng ta hãy xem những gì sẽ xảy ra. Vì vậy, hiện nay không có gì xuất hiện là. Vì vậy, chúng tôi quay trở lại và nhập vào tên của chúng tôi, nó chỉ sẽ nói Fred. Vì vậy, chúng tôi thực sự có thể thông qua tin nhắn từ một hoạt động khác. OK. Vì vậy, có một loạt các quan điểm khác mà bạn có thể sử dụng trong Android. Vì vậy, bây giờ chúng tôi có thanh tiến độ, chúng tôi có danh sách, chúng ta có nút bật tắt, và nếu bạn thực sự muốn để tìm hiểu thêm về điều đó, bạn thực sự có thể truy cập vào các trang web. Chúng chứa nhiều nguồn khác nhau. Vì vậy, ví dụ, API hướng dẫn ở đây thực sự cung cấp cho bạn một số ví dụ mã cho tính năng nhất định trong thư viện Android. Và một vài hướng dẫn tôi tìm thấy hữu ích khi học về Android. Đó là hướng dẫn chính thức của chính nó, và cũng hướng dẫn này khác ngay tại đây. Và cuối cùng, bạn có thể thực sự sử dụng các thư viện khác nhau ứng dụng cho Android của bạn. Bây giờ, những thực sự mở rộng các chức năng của ứng dụng của bạn mà không cần phải thực sự viết code nhiều. Nhược điểm là, Tất nhiên, bạn thực sự phải tìm hiểu các thư viện cho mình. Vì vậy, ví dụ, nếu bạn muốn thực hiện sử dụng công nghệ điện toán đám mây Dropbox, sau đó bạn có thể sử dụng các API Dropbox. Tương tự với các API Facebook. Và sau đó có thực sự là một vài các thư viện khác nhau linh tinh mà bạn có thể sử dụng. Nếu bạn đang cố gắng để có được, như thế, JSON từ một trang web nào đó, sau đó tôi nghĩ rằng JSON Google thư viện sẽ là khá hữu ích. Vì vậy, bây giờ, có thể chuyển đổi một JSON định dạng văn bản vào một đối tượng Java, và ngược lại. Và sau đó có Retrofit và Picasso. Và đó là nếu bạn muốn use-- đó là vì nếu bạn đang sử dụng một API còn lại. Và Picasso, nếu bạn đang sử dụng hình ảnh ứng dụng cho Android của bạn. Được rồi. Cảm ơn bạn rất nhiều, và vui chơi mã hóa.