1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tài liệu lập trình kotlin toàn tập

277 419 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 277
Dung lượng 6,16 MB
File đính kèm Tài liệu lập trình Kotlin toàn tập.rar (6 MB)

Nội dung

Mục Lục Lời giới thiệu 4 Bài 1: Có nên học Kotlin? 5 Bài 2Cài đặt công cụ lập trình Kotlin 10 Bài 3Tạo ứng dụng Kotlin đầu tiên 20 Bài 4Cách xuất dữ liệu ra màn hình Kotlin 27 Bài 5 – Các cách ghi chú quan trọng khi lập trình Kotlin 29 Bài 6Kiểu dữ liệu và cách khai báo biến trong Kotlin 32 Bài 7 – Ép kiểu dữ liệu trong Kotlin 35 Bài 8 – Các toán tử quan trọng trong Kotlin 38 Bài 9 Nhập dữ liệu từ bàn phím với Kotlin 47 Bài 10 Cấu trúc điều khiển if else trong Kotlin 51 Bài 11Biểu thức when trong Kotlin 56 Bài 12Vòng lặp for trong Kotlin 62 Bài 13Vòng lặp while trong Kotlin 69 Bài 14Vòng lặp do while trong Kotlin 73 Bài 15Xử lý biệt lệ trong Kotlin 78 Bài 16Cách gỡ lỗi Kotlin bằng công cụ Debug 82 Bài 17Các thư viện quan trọng thường dùng trong Kotlin 89 Bài 18 Xử lý chuỗi trong Kotlin 98 Bài 19 Xử lý mảng một chiều trong Kotlin 106 Bài 20 Xử lý mảng hai chiều trong Kotlin 111 Bài 21Collections trong Kotlin 115 Bài 22Lập trình hướng đối tượng trong Kotlin – phần 1 121 Bài 23Lập trình hướng đối tượng trong Kotlin – phần 2 129 Bài 24Lập trình hướng đối tượng trong Kotlin – phần 3 139 Bài 25Lập trình hướng đối tượng trong Kotlin – phần 4 146 Bài 26Lập trình hướng đối tượng trong Kotlin – phần 5 150 Bài 27Alias và cơ chế gom rác tự động trong KotlinOOP phần 6 157 Bài 28Extensions Method trong KotlinOOP phần 7 162 Bài 29Xử lý Text File trong Kotlin 167 Bài 30Xử lý Serialize File trong Kotlin 172 Bài 31Xử lý XML File trong Kotlin 176 Bài 32Xử lý JSon trong Kotlin – Bài 1 182 Bài 33Xử lý JSon trong Kotlin – Bài 2 190 Bài 34Đọc JSon tỉ giá hối đoái của Ngân Hàng Đông Á trong Kotlin – Bài 3 196 Bài 35Thiết kế giao diện trong Kotlin – phần 1 202 Bài 36Thiết kế giao diện trong Kotlin – phần 2 208 Bài 37Thiết kế giao diện trong Kotlin – phần 3 214 Bài 38Thiết kế giao diện trong Kotlin – phần 4 224 Bài 39Thiết kế giao diện trong Kotlin – phần 5 255 Bài 40Kết xuất Executable cho Kotlin Kết thúc khóa học Kotlin 263 Tài liệu tham khảo 271

Tài liệu Lập trình Kotlin tồn tập Thơng tin tác giả:      Trần Duy Thanh (Profile https://duythanhcse.wordpress.com/contact/ ) Blog chia sẻ kiến thức: http://duythanhcse.wordpress.com/ Website khóa học trực tuyến: https://communityuni.com/ Phone: 0987773061 Email: duythanhcse@gmail.com TPHCM-2017 1|Page Mục Lục 2|Page Lời giới thiệu Theo nhiều lời đề nghị người, Tui soạn thảo lại lập trình Kotlin Blog https://duythanhcse.wordpress.com/kotlin/kotlin-co-ban-den-nang-cao/ thành Ebook để giúp bạn dễ học máy Kotlin Java song kiếm hợp bích, để học tốt Kotlin theo Tui bạn nên học tốt Java trước Hai ngôn ngữ tương hỗ cho trình viết mã lệnh Google công Kotlin trở thành ngôn ngữ thống cho việc triển khai dự án Android, tương lai có tiềm lớn Các bạn cố gắng học tốt Kotlin, Tui chủ ý biên soạn theo thứ tự từ thấp lên cao bạn nên học theo Nắm vững Kotlin tốt tạo hội tương lai cho bạn, tương lai có sóng mạnh mẽ tuyển dụng lập trình viên Android với Kotlin Trong q trình biên soạn khơng tránh khỏi sai sót, q độc giả vui lòng hoan hỉ lượng thứ gửi thư góp ý cho: Trần Duy Thanh (duythanhcse@gmail.com) để phiên sau chu đáo Nếu quý độc giả có share dùng làm tài liệu cho trung tâm, trường học… vui lòng ghi rõ nguồn gốc tài liệu Xin chân thành cảm ơn Trần Duy Thanh 3|Page Bài 1: Có nên học Kotlin? Mấy ngày tên Kotlin tạo nên địa chấn làm rung chuyển giới công nghệ, bạn xem phim “Đường Sơn Đại Địa Chấn” chưa? phim vô hay cướp nước mắt khán giả Kotlin làm điều ngược lại, lan tỏa nụ cười cho giới lập trình viên nhiều tiện ích mà đem lại Đặc biệt ngày 17/05/2017 vừa Google công bố Kotlin trở thành ngơn ngữ lập trình Android thống giáo, từ phiên Android Studio 3.0 lập trình viên tung hồnh! Và Tui dự đốn rằng: Trong tương lai có sóng mạnh mẽ tuyển dụng lập trình viên Android ngơn ngữ Kotlin, công ty khát nhân lực, bạn cần nhanh chóng nghiên cứu Kotlin để đầu cơng nghệ Nếu bạn bảo lưu quan điểm Chậm Mà Chắc, Tui nghĩ khơng Thời đại khác xưa rồi, bạn phải Nhanh Mà Chắc người ta được, đừng chờ Kotlin phổ biến lúc bạn người đến sau Hãy chiến đấu từ để đầu công nghệ! Hi hi hi, nghe tới bạn Đã Ghiền Kotlin chưa? Ngày xưa Tui học Văn dốt lớp, toàn bị 4.5 điểm, nên cố gắng viết chút giới thiệu Kotlin ha – nhìn hình Toptal nói Java già cỗi 4|Page Kotlin có nhiều ưu điểm, Tui liệt kê số để bạn tham khảo (dĩ nhiên bạn tìm hiểu thêm): Ngắn gọn nào? • Ta dễ dàng viết POJO (Plain Old Java Object) dòng : data class Customer(val name: String, val email: String, val company: String) • Ta dùng Lambda để lọc liệu cách nhanh chóng: val positiveNumbers = list.filter { it > } • Ta tạo đối tượng SingleTon: object ThisIsASingleton { val companyName: String = "https://ssoftinc.com/" } Và nhiều cách viết ngắn gọn khác nữa, bạn tham khảo thêm http://kotlinlang.org/ An toàn nào? Kotlin tự động kiểm tra lỗi biễn dịch Null pointer exception, hành vi tập liệu null, tự động ép kiểu cách xác cho ta, ví dụ so sánh: 5|Page Đa nào? Phải nói Kotlin làm multiplatform applications Có thể build Kotlin cho Server-side , cho Android, cho Javascript, Native… Khả tương tác nào? Kotlin sử dụng 100% thư viện từ JVM, dễ dàng từ Kotlin triệu gọi Java từ Java triệu gọi Kotlin Giúp Lập trình viên khơng lo lắng việc chuyển đổi coding, tăng khả tương tác mạnh mẽ hệ thống Ngồi Kotlin dễ dàng lập trình nhiều cơng cụ khác nhau: Website, Eclipse, Netbeans, Android Studio, JetBrains… Tài liệu lập trình phong phú, cộng đồng hỗ trợ Kotlin ngày không ngừng phát triển Các sách Lập trình viên nghiên cứu: 1.Kotlin in Action 6|Page Cuốn sách có 11 chương, giúp bạn hiểu rõ Kotlin từ tới nâng 2.Kotlin for Android Developers Sách dành cho rành Kotlin, tiếp tục phát triển Kotlin bên Android (phần đầu dạy Kotlin), xé nhỏ thành 26 chương giúp ta dễ dàng học 3.Modern Web Development with Kotlin 7|Page Cuốn sách dạy Web với Kotin, đặc biệt EcmaScript chuẩn nhất, Json….Các bạn quan tâm học, khoảng 115 trang 4.Programming Kotlin Cuốn tương tự, giúp ta học tốt Kotlin Bố trí thành 13 chương (420 pages ) bạn bám theo để học 5.Fundamental Kotlin Cuốn sách hay, bạn tham khảo Chúc bạn nhanh chóng học tốt Kotlin, hẹn gặp bạn sau Trần Duy Thanh (https://ssoftinc.com/) 8|Page Bài 2-Cài đặt cơng cụ lập trình Kotlin Ở Tui trình bày lý nên học Kotlin, Trong Tui hướng dẫn bạn cách cài đặt công cụ lập trình Kotlin Để lập trình Kotlin bạn sử dụng Website để thử nghiệm online https://try.kotlinlang.org/ Hoặc cài đặt phần mềm IntelliJ IDEA , Eclipse Neon , Command Line Compiler , Build Tools (Ant, Maven, Gradle, Griffon (external support)) Bài Tui hướng dẫn cách cài đặt phần mềm IntelliJ IDEA để lập trình Kotlin (vì xuyên suốt hướng dẫn lập trình Kotlin Tui dùng công cụ để minh họa) Trước tiên bạn cần cài JDK vào máy trước (Kotlin chạy JVM, cài 1.8 trở lên), khóa học Kotlin thường dành cho rành Java Bước bạn tự xử Có trường hợp để tải phần mềm IntelliJ IDEA: 1.Nếu bạn lập trình viên bình thường 2.Nếu bạn Teacher Student (dành cho Education) Bây Tui hướng dẫn chi tiết trường hợp tải phần mềm Trường hợp 1: Nếu bạn lập trình viên bình thường Các bạn tải Community IntelliJ IDEA link sau: http://www.jetbrains.com/idea/download/index.html 9|Page Ở hình trên, ta chọn Download Exe mục Community, thời điểm Tui viết hướng dẫn ngày 21/05/2017 nên bạn có kết sau (tùy thuộc vào thời điểm bạn tải khác mà có version khác): Ta thấy với phiên có tập tin “ideaIC-2017.1.3.exe”, dung lượng 351MB Để cài đặt ta double click vào tập tin vừa tải máy: Bấm Next để tiếp tục, hình yêu cầu chọn nơi cài đặt hiển thị đây: Ta để mặc định bấm Next, Chương trình hiển thị cấu hình lựa chọn trình cài đặt, Ta chọn cấu bấm Next -> hình yêu cầu chọn Start Menu xuất hiện: 10 | P a g e Chỉnh pnMain có layout manager BorderLayout, kéo JScrollPane vào phần Center => sau kéo JTree vào bên JScrollPane Nhớ chọn JTree checked Custom Create để hàm createUIComponents() Sau Chỉnh sửa source code NhanSuPanel, giả lập số liệu: package communityuni.com.ui; import communityuni.com.model.NhanVien; import communityuni.com.model.PhongBan; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import java.util.ArrayList; import java.util.List; /** * Created by cafe on 04/06/2017 */ public class NhanSuPanel { private JPanel pnMain; private JTree treePhongBan; DefaultMutableTreeNode root; List<PhongBan>database=null; private void loadSampleDatabaseToGUI() { 263 | P a g e root=new DefaultMutableTreeNode("http://communityuni.com"); treePhongBan=new JTree(root); for (int i=0;i<database.size();i++) { PhongBan pb=database.get(i); DefaultMutableTreeNode pbNode=new DefaultMutableTreeNode(pb); root.add(pbNode); for (int j=0;j<pb.getNhanViens().size();j++) { NhanVien nv=pb.getNhanViens().get(j); DefaultMutableTreeNode nvNode=new DefaultMutableTreeNode(nv); pbNode.add(nvNode); } } } private void createSampleDatabase() { database=new ArrayList<>(); PhongBan pns=new PhongBan(1,"Phòng tổ chức hành PhongBan phc=new PhongBan(2,"Phòng Kế hoạch tài PhongBan pkhcn=new PhongBan(3,"Phòng Khách hàng nhân"); PhongBan pkhdn=new PhongBan(4,"Phòng Khách hàng nghiệp"); chánh"); chính"); cá doanh database.add(pns);database.add(phc);database.add(pkhcn);database add(pkhdn); pns.getNhanViens().add(new NhanVien(1,"Trần Thị Giải")); pns.getNhanViens().add(new NhanVien(2,"Nguyễn Thị Thoát")); pns.getNhanViens().add(new NhanVien(3,"Hồ Văn Hạnh")); pns.getNhanViens().add(new NhanVien(4,"Đinh Thị Phúc")); phc.getNhanViens().add(new NhanVien(5,"Trần Văn Yên")); phc.getNhanViens().add(new NhanVien(6,"Hoàng thị Giấc")); phc.getNhanViens().add(new NhanVien(7,"Nguyễn Ngọc Ngàn")); phc.getNhanViens().add(new NhanVien(8,"Ma Văn Thu")); } public JPanel getPnMain() { return pnMain; } 264 | P a g e private void createUIComponents() { createSampleDatabase(); loadSampleDatabaseToGUI(); } } Chạy chương trình lên ta có giao diện Tui cung cấp Bây để gán kiện cho JTree ta bấm chuột phải vào JTree chọn Create Listener: Sau chọn TreeSelectionListener: 265 | P a g e Chọn valueChanged hình Select Methods to Implement: Nhấn OK ta thấy kiện xuất hiện: public NhanSuPanel() { treePhongBan.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { } }); } 266 | P a g e Bổ sung coding để kiểm tra Node nhấn: public NhanSuPanel() { treePhongBan.addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { DefaultMutableTreeNode node= (DefaultMutableTreeNode) treePhongBan.getLastSelectedPathComponent(); switch (node.getLevel()) { case 0: JOptionPane.showMessageDialog(null,"Bạn nhấn Root="+node.getUserObject()); break; case 1: PhongBan pb= (PhongBan) node.getUserObject(); JOptionPane.showMessageDialog(null,pb.getTen()); break; case 2: NhanVien nv= (NhanVien) node.getUserObject(); JOptionPane.showMessageDialog(null,nv.getTen()); break; } } }); } Như ta dùng treePhongBan.getLastSelectedPathComponent(); để biết Node chọn, dùng node.getLevel() để lấy xác cấp (thực lấy đối tượng), ứng với level ta kiểm tra để lấy Đối tượng 267 | P a g e Như Tui hướng dẫn xong cách dùng JTree Kotlin bạn nhớ kế hợp với JTable để hiển thị chi tiết liệu Các bạn tải source code đây: http://www.mediafire.com/file/goj6bdooxe2h3bq/HocGUIPhan5.rar Hẹn gặp bạn cuối cùng, 40 khóa học Kotlin Chúc bạn thành công! Trần Duy Thanh (http://ssoftinc.com/) 268 | P a g e Bài 40-Kết xuất Executable cho Kotlin [Kết thúc khóa học Kotlin] Chào bạn! Chúng ta Say Goodbye ngôn ngữ lập trình Kotlin nhé, Tui phải Busy cho nhiều tasks khác Toàn giảng Kotlin Tui tổng hợp link https://duythanhcse.wordpress.com/kotlin/kotlin-co-ban-den-nang-cao/ bạn vào học Ráng học cho tốt tới Android Studio 3.0 đời đính lập trình Kotlin For Android, Tui gọi tắt KfA Nếu bạn học tới 40 tức trước nhiều người số bước Theo Tui tham khảo từ nhiều nguồn, tương lai bùng nổ dự án liên quan tới Machine Learning (Máy học) Có nhiều ngơn ngữ để lập trình cho Machine Learning chẳng hạn Python, R, Matlab… Nhiều Đại Học lớn giới dùng ngôn ngữ lập trình Python vào giảng dạy kỹ thuật lập trình thay cho C++ Java… Trước Tui có viết số Python https://duythanhcse.wordpress.com/python/ Busy phải tạm Pause, Nếu bạn trẻ, khỏe, nhanh nhẹn(xấu trai được) tiếp tục nghiên cứu Python, R để sau có nhiều hội tham gia dự án Machine Learning OK OK OK Giờ Tui kết thúc khóa học Kotlin với hướng dẫn cách Kết xuất Kotlin Jar file để người sử dụng bấm phát chạy ln mà khơng cần mở cơng cụ lập trình IntelliZ IDEA cung cấp sẵn cho Tool để làm điều này, vô đơn giản đến mức nghĩ Cách làm chi tiết sau: 1)Bước 1: Chọn Project đó, hướng dẫn Tui chọn Quản Lý Sản Phẩm link https://duythanhcse.wordpress.com/2017/06/04/bai-38-thiet-ke-giao-dientrong-kotlin-phan-4/ Tui hướng dẫn thêm cách tạo class có chứa hàm main để chạy: -Cách Cũ làm (tập tin AppTestSanPhamUI.kt): 269 | P a g e package communityuni.com.test import communityuni.com.ui.SanPhamUI /** * Created by cafe on 04/06/2017 */ fun main(args: Array) { var gui:SanPhamUI= SanPhamUI("Trần Duy Thanh- Chương trình quản lý Sản phẩm") gui.showWindow() } -Cách Ta tạo thành lớp theo cấu trúc dùng companion object notation @JvmStatic: package communityuni.com.test import communityuni.com.ui.SanPhamUI /** * Created by cafe on 06/06/2017 */ class SanPhamApp { companion object { @JvmStatic fun main(args: Array) { var gui: SanPhamUI = SanPhamUI("Trần Duy ThanhChương trình quản lý Sản phẩm") gui.showWindow() } } } Vì lại phải biết thêm cách để chạy hàm main? Bạn làm nhiều biết (thiên bất khả lộ) 2)Bước 2: Vào File/ chọn Project Structure: 270 | P a g e 3)Bước 3: Chọn artifacts/ bấm vào dấu + màu xanh / chọn JAR/ chọn From Modules with dependencies… Lúc hình yêu cầu chọn Main Class xuất hiện: 271 | P a g e Ta bấm vào nút chọn Main Class: bạn chọn (2 cách tạo hàm main mà Tui trình bày trên) nhấn nút OK Bấm OK tiếp: 272 | P a g e Mục tên jar tạo ra, mục nơi lưu trữ Jar Ta chọn OK để quay lại hình Tiến hành chạy lại phần mềm ta thấy tạo thư mục artifacts out folder: Vào bên artifacts có thư mục lưu file jar HocGUIPhan4_jar: Vào bên thư mục ta thấy file jar: 273 | P a g e Bạn double click để chạy lên: Bạn thấy tiêu hình khơng? Project Tui hướng dẫn trước có hình ảnh, hình ảnh lưu thư mục hinh, bạn cần chép thư mục vào chỗ file jar OK: Bây chạy lại file jar ta có kết quả: 274 | P a g e Hình ảnh hiển thị lên===> Ngon cơm mẹ nấu không bạn Giờ thử vào Menu Hệ thống/ chọn mở File xem hiển thị khơng nhé: 275 | P a g e Như tải file thành cơng Bạn hồn thành bước để tạo file Jar Intellij IDEA Các bạn cố gắng học tốt ngơn ngữ lập trình nhé, tự đào tạo để có nhiều kiến thức cơng nghệ Tạo nhiều hội tương lai để tìm tới Cơng ty có hội làm việc tốt hơn, lương bổng ổn định Để học lập trình tốt bạn phải chịu khó cày, học ngày học đêm bắt buộc phải Practice thật nhiều Chúc bạn thành công Trần Duy Thanh (http://ssoftinc.com/) 276 | P a g e Tài liệu tham khảo http://kotlinlang.org/ Kotlin in Action Fundamental Kotlin Programming Kotlin Kotlin for Android Developers Modern Web Development with Kotlin -HẾT - 277 | P a g e ... cụ lập trình Kotlin Ở Tui trình bày lý nên học Kotlin, Trong Tui hướng dẫn bạn cách cài đặt công cụ lập trình Kotlin Để lập trình Kotlin bạn sử dụng Website để thử nghiệm online https://try.kotlinlang.org/... mạnh mẽ hệ thống Ngồi Kotlin dễ dàng lập trình nhiều cơng cụ khác nhau: Website, Eclipse, Netbeans, Android Studio, JetBrains… Tài liệu lập trình phong phú, cộng đồng hỗ trợ Kotlin ngày không ngừng... IDEA để lập trình Kotlin (vì xuyên suốt hướng dẫn lập trình Kotlin Tui dùng công cụ để minh họa) Trước tiên bạn cần cài JDK vào máy trước (Kotlin chạy JVM, cài 1.8 trở lên), khóa học Kotlin thường

Ngày đăng: 04/12/2017, 19:00

TỪ KHÓA LIÊN QUAN

w