Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 190 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
190
Dung lượng
44,38 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH MẠNG MÁY TÍNH & TRUYỀN THÔNG Đề tài PHÁT TRIỂN ỨNG DỤNG CHO THIẾT BỊ DI ĐỘNG TRÊN NỀN TẢNG iOS Sinh viên: Tô Thế Duy Mã số: 1111381 Khóa: K37 Cần Thơ, 04/2015 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG BỘ MÔN MẠNG MÁY TÍNH & TRUYỀN THÔNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH MẠNG MÁY TÍNH & TRUYỀN THÔNG Đề tài PHÁT TRIỂN ỨNG DỤNG CHO THIẾT BỊ DI ĐỘNG TRÊN NỀN TẢNG iOS Người hướng dẫn Ths Đoàn Hoà Minh Sinh viên thực Tô Thế Duy Mã số: 1111381 Khóa: K37 Cần Thơ, 04/2015 LỜI CẢM ƠN Tôi xin chân thành cảm ơn Bộ môn Mạng máy tính truyền thông, Khoa Công nghệ thông tin truyền thông, trường Đại học Cần Thơ tạo điều kiện cho thực đề tài Để hoàn thành luận văn tốt nghiệp này, xin tỏ lòng biết ơn sâu sắc đến Thầy Ths Đoàn Hoà Minh tận tình bảo hướng dẫn suốt trình thực luận văn Tôi chân thành cảm ơn quý Thầy, Cô Khoa Công nghệ thông tin truyền thông, trường Đại học Cần Thơ tận tình truyền đạt kiến thức năm học qua Với vốn kiến thức tiếp thu trình học không tảng cho trình nghiên cứu luận văn mà hành trang quý báu để bước vào đời cách vững tự tin Tôi xin gửi lòng biết ơn sâu sắc đến cha mẹ, gia đình, bạn bè, người bên cạnh, chăm sóc, ủng hộ, động viên suốt thời gian học tập nghiên cứu Cuối xin chúc tất người dồi sức khoẻ thành công công việc Trân trọng kính chào Cần Thơ, ngày 26 tháng 04 năm 2015 SINH VIÊN THỰC HIỆN Tô Thế Duy MỤC LỤC PHẦN GIỚI THIỆU 1 Lý do chọn đề tài 1 Lịch sử giải quyết vấn đề 2 2.1 Trên thế giới 2 2.2 Trong nước 2 Mục tiêu đề tài 3 Đối tượng và phạm vi nghiên cứu 3 Nội dung nghiên cứu 3 Những đóng góp chính của đề tài 4 Kết cấu của luận văn 4 PHẦN NỘI DUNG 5 CHƯƠNG 1 – MÔ TẢ BÀI TOÁN 5 1.1 Định hướng nội dung và cách tiếp cận 5 1.2 Hình thức và logic trình bày phần lý thuyết, chọn lựa nội dung 6 1.3 Định hướng xây dựng các bài thực hành và cấu trúc của mỗi bài 7 CHƯƠNG 2-‐ THIẾT KẾ VÀ THỰC HIỆN 8 2.1 Giới thiệu về hệ điều hành iOS 8 2.1.1 Định nghĩa iOS 8 2.1.2 Lịch sử hình thành 8 2.1.3 Kiến trúc của nền tảng iOS 9 2.2 Giới thiệu ngôn ngữ lập trình trên nền tảng iOS 11 2.2.1 Objective-‐C 11 2.2.2 Swift 11 2.2.3 So sánh Objective-‐C và Swift 12 2.3 Giới thiệu về bộ công cụ Xcode và iOS Simulator 13 2.3.1 Tìm hiểu bộ công cụ Xcode 13 2.3.1.1 Giới thiệu về Xcode 13 2.3.1.2 Tìm hiểu giao diện Xcode và một số tính năng 14 2.3.2 Tìm hiểu iOS Simulator 21 2.3.2.1 Giới thiệu về iOS Simulator 21 2.3.2.2 Một số hạn chế của iOS Simulator 23 2.4 Tiến trình phát triển một ứng dụng iOS 23 2.5 Mô hình MVC 24 2.5.1 Giới thiệu về mô hình MVC 24 2.5.2 Ưu, nhược điểm của mô hình MVC 25 2.5.2.1 Ưu điểm 25 2.5.2.2 Nhược điểm 25 2.6 Xây dựng một số ứng dụng iOS bằng Xcode 25 2.6.1 Xây dựng giao diện người dùng 25 2.6.1.1 Label – Button 25 2.6.1.2 Text Field – Text View 26 2.6.1.3 Ứng dụng ExApp1 : Nhập và hiển thị thông tin người dùng 28 2.6.1.4 Bài thực hành 1 29 2.6.1.5 Segmented Control – Switch – Slider 29 2.6.1.6 Image View – Picker View 31 2.6.1.7 Ứng dụng ExApp2 : Game đua thú 32 2.6.1.8 Bài thực hành 2 33 2.6.1.9 View Controller – Table View Controller – Tab Bar Controller 33 2.6.1.10 Ứng dụng ExApp3 : Danh sách các đội bóng 35 2.6.1.11 Bài thực hành 3 36 2.6.2 Lập trình hoạt động mạng 37 2.6.2.1 Web View – MapKit View 37 2.6.2.2 Ứng dụng ExApp4 : Trình duyệt Web đơn giản 38 2.6.2.3 Bài Thực Hành 4 39 2.6.2.4 Navigation Controller – Toolbar – Bar Button Item 40 2.6.2.5 Ứng dụng ExApp5 : Giới thiệu thông tin trường Đại học Cần Thơ 40 2.6.2.6 Bài Thực Hành 5 41 2.6.3 Lập trình lưu trữ dữ liệu 42 2.6.3.1 SQLite 42 2.6.3.2 Ứng dụng ExApp6 : Đọc số nguyên từ 1 đến 10 44 2.6.3.3 Bài Thực Hành 6 45 2.6.4 Lập trình với ngôn ngữ Swift 45 2.6.4.1 Ứng dụng ExApp7 – DrawPad 45 2.6.4.2 Bài thực hành 7 46 2.6.4.3 Ứng dụng ExApp8 – Thay đổi, xoay, thu phóng hình ảnh với Gesture 47 2.6.4.4 Bài Thực Hành 8 47 2.6.5 Tài liệu hướng dẫn 48 CHƯƠNG 3 – KIỂM THỬ VÀ ĐÁNH GIÁ 49 3.1 Kiểm thử lý thuyết 49 3.2 Kiểm thử các bài thực hành 50 PHẦN KẾT LUẬN 51 Kết quả đạt được 51 Hướng phát triển 51 TÀI LIỆU THAM KHẢO 52 PHỤ LỤC 53 DANH MỤC HÌNH ẢNH Hình 2.1 Kiến trúc hệ điều hành iOS Hình 2.2 Xcode phiên 6.3 App Store 13 Hình 2.3 Giao diện Xcode 14 Hình 2.4 Navigator area 15 Hình 2.5 Giao diện ứng dụng 16 Hình 2.6 Giao diện code 16 Hình 2.7 Giao diện quản lý chi tiết 17 Hình 2.8 Activity viewer 18 Hình 2.9 Utility area 18 Hình 2.10 Xcode nhận diện cảnh báo lỗi 19 Hình 2.11 Bộ tài liệu hướng dẫn kèm theo Xcode 20 Hình 2.12 Danh sách popup 20 Hình 2.13 iOS Simulator 8.2 – iPhone 21 Hình 2.14 Các thiết bị iOS Simulator 22 Hình 2.15 Bổ sung thêm iOS Simulator tài liệu Downloads 23 Hình 2.16 Mô hình MVC 24 Hình 2.17 Label số tuỳ chỉnh 25 Hình 2.18 Button số tuỳ chỉnh 26 Hình 2.19 Text Field số tuỳ chỉnh 27 Hình 2.20 Text View số tuỳ chỉnh 27 Hình 2.21 Ứng dụng ExApp1 28 Hình 2.22 Bài thực hành 29 Hình 2.23 Segmented Control số tuỳ chỉnh 29 Hình 2.24 Switch số tuỳ chỉnh 30 Hình 2.25 Slider số tuỳ chỉnh 30 Hình 2.26 Image View số tuỳ chỉnh 31 Hình 2.27 Picker View số tuỳ chỉnh 31 Hình 2.28 Ứng dụng ExApp2 32 Hình 2.29 Bài thực hành 33 Hình 2.30 View Controller số tuỳ chỉnh 33 Hình 2.31 Table View Controller số tuỳ chỉnh 34 Hình 2.32 Tab Bar Controller số tuỳ chỉnh 34 Hình 2.33 Các Controller khác Xcode 35 Hình 2.34 Tab Premier League chạy thử ứng dụng 36 Hình 2.35 Bài thực hành 37 Hình 2.36 Web View số tuỳ chỉnh 37 Hình 2.37 MapKit View số tuỳ chỉnh 38 Hình 2.38 Ứng dụng ExApp4 39 Hình 2.39 Bài thực hành 39 Hình 2.40 Navigation Controller số tuỳ chỉnh 40 Hình 2.41 Toolbar số tuỳ chỉnh 40 Hình 2.42 Ứng dụng ExApp5 41 Hình 2.43 Bài Thực Hành 42 Hình 2.44 Mở SQLite Manager trình duyệt Firefox 43 Hình 2.45 Giao diện SQLite Manager 44 Hình 2.46 Ứng dụng ExApp6 44 Hình 2.47 Giao diện thực hành 45 Hình 2.48 Ứng dụng ExApp7 46 Hình 2.49 Bài thực hành 46 Hình 2.50 Ứng dụng ExApp8 47 DANH MỤC BẢNG Bảng Ý kiến nhận xét kiểm thử lý thuyết 49 Bảng Ý kiến nhận xét kiểm thử thực hành 50 TÓM TẮT Ngày nay, thiết bị di động với tảng di động kèm với ngày phát triển trở nên phổ biến với người, mang lại nhiều lựa chọn cho người dùng nhà phát triển ứng dụng iOS Android hai tảng di động phổ biến Trong iOS tảng có tính bảo mật cao, hoạt động hiệu quả, sở hữu ứng dụng chất lượng có hỗ trợ tối đa cho người dùng lẫn nhà phát triển ứng dụng Nhu cầu tìm hiểu học tập lập trình ứng dụng tảng xu hướng đầy hứa hẹn tương lai Khoa Công nghệ thông tin Truyền thông trường Đại học Cần Thơ tiếp cận với việc lập trình ứng dụng cho thiết bị di động từ năm 2010 đến chủ yếu dạy lập trình phát triển ứng dụng tảng J2ME Android Để có tài liệu tham khảo cho việc dạy học lập trình phát triển ứng dụng cho thiết bị di động chạy tảng iOS, chọn đề tài “Phát triển ứng dụng cho thiết bị di động tảng iOS” Mục tiêu nghiên cứu đề tài cung cấp tài liệu hỗ trợ cho người bắt đầu học lập trình phát triển ứng dụng cho thiết bị di động chạy tảng iOS, dùng để tham khảo trường cao đẳng đại học Nội dung báo cáo chia thành ba phần sau : - Phần giới thiệu : Giới thiệu bối cảnh, lý chọn đề tài đối tượng phạm vi nghiên cứu, nội dung nghiên cứu đóng góp đề tài - Phần nội dung : Giới thiệu tảng iOS, ngôn ngữ lập trình sử dụng, công cụ hỗ trợ lập trình Xcode iOS Simulator Trình bày sở lý thuyết theo chủ đề xây dựng thực hành tương ứng với chủ đề - Phần kết luận : Trình bày kết đạt hướng phát triển tới đề tài ABSTRACT Nowsaday, mobile device together with mobile platforms are growing and becoming popular with everyone, bringing more options for users and application developers iOS and Android are two most popular mobile platforms today In that, iOS is a platform with high security, efficient operation, high quality applications and obtain maximum support for users and application developers The need to learn about applications programming on this platform is a promising new trend in future Faculty of Information Technology and Communications of Can Tho University has access to the application programming for mobile device since 2010 but until now,it mainly taught programmer application development platform J2ME and Android For references for teaching and learning application development programming for mobile device running on iOS platform, I have chosen the theme "Developing applications for mobile device based on iOS” The goal of this research is to provide a support document for beginner programmers to develop applications for mobile device running on iOS, additionally, it can be used for reference in colleges and universities Main content of this report is divided into three parts as below: - Introduction: Introduction context, reasons to choose a subject and object and scope of the research, research content and the main contributions of the thesis - The Content: Introduction to iOS platform, programming language used, the toolkit supporting Xcode and the iOS Simulator programming Presenting basic theoretical background on topics and build the basic exercises that correspond to the theme - Conclusion: Present results and guide future development of the subject Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Hình 3.107 Tạo Project mới, chọn ngôn ngữ lập trình Swift Sau tạo Project thành công, file có sẵn Project có chút thay đổi so với Project tạo sử dụng ngôn ngữ Objective-C, không file h m mà thay vào file quản lý swift Hình 3.108 Các file swift Project vừa tạo Bước : Thiết kế giao diện cho ứng dụng file Main.storyboard Tạo Image View để hiển thị nội dung vẽ người dùng Button “Reset” để xoá nội dung vẽ : GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 105 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Hình 3.109 Giao diện ứng dụng ExApp7 Bước : Ánh xạ đối tượng Ánh xạ đối tượng vừa tạo vào file ViewController.swift Image View ánh xạ với Connection Outlet Button “Reset” ánh xạ với Connection Action : Hình 3.110 Ánh xạ đối tượng vào file ViewController.swift GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 106 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Bước : Viết code cho ứng dụng Tại file ViewController.swift, tạo biến sau : - Biến lưu giá trị điểm cuối thực thao tác vẽ : var lastPoint = CGPoint.zeroPoint - Biến kiểm tra cọ vẽ có tiếp tục vẽ hay không : var swiped = false - Biến lưu giá trị màu RGB ( mặc định màu đen ): var red: CGFloat = 0.0 var green: CGFloat = 0.0 var blue: CGFloat = 0.0 - Biến lưu độ rộng cọ vẽ ( mặc định 10 ): var brushWidth: CGFloat = 10.0 - Biến lưu độ suốt màu vẽ (mặc định ): var opacity: CGFloat = 1.0 Các kiện chạm quản lý phương thức touchesBegan, touchesMoved, touchesEnded đến từ lớp UIResponder Để thực hành động vẽ, ta tái định nghĩa phương thức sau : touchesBegan gọi người dùng đặt ngón tay xuống chạm vào hình, đánh dấu bắt đầu kiện vẽ Vì ta reset biến swiped thành false lưu vị trí chạm vào biến lastPoint override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { swiped = false if let touch = touches.anyObject() as? UITouch { lastPoint = touch.locationInView(self.view) } } Tiếp theo, định nghĩa hàm vẽ đường thẳng để sử dụng cho touchesMoved : func drawLineFrom(fromPoint: CGPoint, toPoint: CGPoint) { // Thiết lập Drawing context với hình ảnh tempImageView UIGraphicsBeginImageContext(view.frame.size) GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 107 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS let context = UIGraphicsGetCurrentContext() tempImageView.image?.drawInRect(CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height)) // Vẽ đường thẳng từ điểm tới lastpoint CGContextMoveToPoint(context, fromPoint.x, fromPoint.y) CGContextAddLineToPoint(context, toPoint.x, toPoint.y) // Thiết lập giá trị màu sắc, độ rộng độ suốt cọ vẽ CGContextSetLineCap(context, kCGLineCapRound) CGContextSetLineWidth(context, brushWidth) CGContextSetRGBStrokeColor(context, red, green, blue, 1.0) CGContextSetBlendMode(context, kCGBlendModeNormal) // Vẽ context CGContextStrokePath(context) // Đưa Drawing context vừa thực vào tempImageView tempImageView.image = UIGraphicsGetImageFromCurrentImageContext() tempImageView.alpha = opacity UIGraphicsEndImageContext() } touchesMoved gọi người dùng giữ di chuyển ngón tay hình override func touchesMoved(touches: NSSet, withEvent event: UIEvent) { // Khi di chuyển, thiết lập biến swiped thành true để theo dõi swiped = true if let touch = touches.anyObject() as? UITouch { let currentPoint = touch.locationInView(view) drawLineFrom(lastPoint, toPoint: currentPoint) // Cập nhật điểm cuối thành điểm để chuẩn bị cho nét vẽ vị trí vừa rời khỏi lastPoint = currentPoint } } GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 108 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS touchesEnded gọi người dùng rời tay khỏi hình override func touchesEnded(touches: NSSet, withEvent event: UIEvent) { if !swiped { // Vẽ điểm drawLineFrom(lastPoint, toPoint: lastPoint) } } Set tempImageView.image = nil chọn Button “Reset” để xoá vẽ tempImageView @IBAction func reset(sender: AnyObject) { tempImageView.image = nil } Bước : Chạy ứng dụng kiểm tra kết : Hình 3.111 Ứng dụng ExApp7 ØBài thực hành : Từ ứng dụng ExApp7, phát triển thành ứng dụng cho phép người dùng lựa chọn nhiều màu sắc để vẽ Tạo View Setting để thiết lập tuỳ chỉnh độ rộng, độ suốt màu sắc cọ vẽ GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 109 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Hướng dẫn : - Tạo thêm ImageView đặt tên mainImageView nằm tempImageView có sẵn để lưu hình ảnh từ tempImageView, việc có ích phát triển chức vẽ với độ suốt khác cọ vẽ Vì lần vẽ, tempImageView lưu hình vẽ sau hoàn thành lưu lại mainImageView lần nữa, thực reset reset lại mainImageView - Thêm Button biểu cho màu sắc khác cọ vẽ - Tạo View Controller để làm Setting View, liên kết View với View Controller ban đầu Hình 3.112 Thiết kế giao diện cho Bài Thực Hành Có thể thêm chức chia sẻ hình ảnh vừa vẽ cách thêm Button “Share” với Action sau : @IBAction func share(sender: AnyObject) { UIGraphicsBeginImageContext(mainImageView.bounds.size) mainImageView.image?.drawInRect(CGRect(x: 0, y: 0, width: mainImageView.frame.size.width, height: mainImageView.frame.size.height)) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 110 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil) presentViewController(activity, animated: true, completion: nil) } Hình 3.113 Chức Share hình ảnh 3.5.3 Gesture Gestures đơn giản làm để bạn tương tác với thiết bị di động với ngón tay Có kiểu Gesture phổ biến sau : GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 111 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Hình 3.114 Tap Tap (chạm lần): Nó giống việc bạn nhấn chuột lần máy tính để bàn, khai thác với thiết bị iOS Đây cử phổ biến Hình 3.115 Double-tap Double-tap (chạm lần): Nhấp vào đối tượng hai lần liên tiếp để thực cú đúp Double-tap sử dụng chủ yếu cho việc zoom lớn, nhỏ cho văn Hình 3.116 Tap, hold drag GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 112 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Tap, hold, and drag (chọn, giữ, kéo): Đối với số chức năng, chẳng hạn chọn, làm bật văn bản, chép dán xóa để di chuyển ứng dụng, bạn cần phải chọn giữ hình Khi bạn làm điều đoạn văn bản, làm bật màu xanh lam gợi ý xử lý chỉnh sửa đường dọc với dấu chấm màu xanh - xuất hai bên khu vực đánh dấu Bạn chọn giữ, kéo ngón tay bạn để tăng giảm lựa chọn Hình 3.117 Flick swipe Flick swipe: Lật trang công cụ điều hướng bạn: Bạn sử dụng thao tác để di chuyển qua trang ứng dụng hình chủ bạn hình ảnh ứng dụng Photos; kéo lên xuống để đọc văn Safari, iBooks Đây cử dễ học Hình 3.118 Pinch Pinch: Để phóng to để mở đó, đặt ngón tay ngón tay trỏ sát lại với hình mở chúng xa Để thu nhỏ, làm ngược lại GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 113 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Hình 3.119 Xoay Xoay: Bạn chí xoay số yếu tố với hai nhiều ngón tay Chỉ cần đặt hai ngón tay lên hình làm cử tròn, chiều kim đồng hồ ngược chiều kim đồng hồ [8] 3.5.4 Ứng dụng ExApp8 – Thay đổi, xoay, thu phóng hình ảnh với Gesture Tạo ứng dụng hiển thị hình ảnh, cho phép người dùng thực chức tap vào để thay đổi hình ảnh, pinch để thu phóng xoay hình ảnh Bước : Tạo Project mới, đặt tên ExApp8, chọn Language Swift Bước : Thiết kế giao diện cho ứng dụng - Giao diện lần đơn giản gồm Image View để hiển thị hình ảnh Thêm hình ảnh vào Project, sau vào Media Library để chọn hình kéo thả sang View, tuỳ chỉnh kích thước cho phù hợp Chọn Mode cho hình ảnh Aspect Fit để hình ảnh hiển thị toàn Hình 3.120 Thêm hình ảnh vào View tuỳ chỉnh GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 114 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS - Để điều khiển hành động Tap vào hình ảnh, ta kéo thả đối tượng Tap Gesture Recognizer Object Library vào Image View thêm Sau thêm thành công xuất biểu tượng Tap Gesture Recognizer điều khiển View Ta dùng biểu tượng để ánh xạ Action tương tự Button Hình 3.121 Thêm Tap Gesture Recognizer vào Image View - Click vào biểu tượng Tap Gesture Recognizer điều khiển View xuất tuỳ chỉnh cho Có thông số cần lưu ý tuỳ chỉnh Recognize Taps Touches Taps số lần chạm vào đối tượng Touches số ngón tay chạm vào đối tượng Ví dụ Taps Touches : dùng ngón tay chạm lần vào đối tượng thực hành động, Taps Touches : dùng ngón tay chạm lần vào đối tượng thực hành động, Taps Touches : dùng ngón tay chạm lần vào đối tượng thực hành động Hình 3.122 Các tuỳ chỉnh Tap Gesture Recognizer GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 115 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Tương tự Pinch Gesture Recognizer Rotation Gesture Recognizer, ta thêm đối tượng vào Image View Bước : Ánh xạ đối tượng Ánh xạ Image View với Connection Outlet Tap Gesture Recognizer với Connection Action vào file ViewController.swift Đối với Pinch Gesture Recognizer Rotation Gesture Recognizer, ta ánh xạ đối tượng với Connection Action Type UIPinchGestureRecognizer UIRotationGestureRecognizer Hình 3.123 Ánh xạ đối tượng vào ViewController.swift Bước : Viết code cho ứng dụng - Thay đổi tên file hình ảnh thêm vào ban đầu thành tên sau để tiện sử dụng : Hình 3.124 Thay đổi tên file hình ảnh GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 116 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS - Khai báo biến tap có kiểu Int để đếm số lần tap vào hình ảnh var tap:Int! - Khởi tạo giá trị ban đầu tap chạy ứng dụng hàm viewDidLoad() override func viewDidLoad() { super.viewDidLoad() tap = 0; } - Viết code cho IBAction tapImage : Mỗi lần người dùng tap vào hình ảnh, biến tap tăng lên hình ảnh thay đổi tương ứng với số lần tap tại, số lần tap vượt số lượng hình ảnh giá trị quay Thêm dòng println(tap) để kiểm tra giá trị tap @IBAction func tapImage(sender: AnyObject) { tap = tap + if (tap > 5) { tap = } img.image = UIImage(named: NSString(format: "%i.png", tap)) println(tap) } Hai chức thu phóng xoay hình ảnh hỗ trợ sẵn, cần gọi hàm tương ứng chúng để thực - Viết code cho IBAction scaleImage : @IBAction func scaleImage(sender: UIPinchGestureRecognizer) { img.transform = CGAffineTransformScale(img.transform, sender.scale, sender.scale) sender.scale = } - Viết code cho IBAction rotateImage: @IBAction func rotateImage(sender: UIRotationGestureRecognizer) { img.transform = CGAffineTransformRotate(img.transform, sender.rotation) sender.rotation = } GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 117 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS Bước : Chạy ứng dụng kiểm tra kết Lưu ý với chức thu phóng xoay hình ảnh cần giữ phím Alt để thực hành động chạm lúc ngón tay vào ảnh Hình 3.125 Ứng dụng ExApp8 Ø Bài Thực Hành : Sử dụng Pan Gesture Recognizer viết thêm chức kéo thả ảnh cho ứng dụng ExApp8 GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 118 Tài liệu hướng dẫn phát triển ứng dụng cho thiết bị di động tảng iOS TÀI LIỆU THAM KHẢO Tiếng Việt [1]TV Hoàng Kim Ngọc (2012), Nghiên cứu xây dựng ứng dụng cho hệ điều hành iOS, Đồ án tốt nghiệp Đại học hệ quy ngành Công Nghệ Thông Tin, Trường Đại học Dân lập Hải Phòng [2]TV Cao Thanh Vàng (2013), Xây dựng ứng dụng iPhone, Luận văn NCKH Trường Đại học Lạc Hồng [3] TV Nhóm nghiên cứu Nguyễn Anh Tiệp, Cao Thanh Vàng (2013), Tài liệu hướng dẫn xây dựng ứng dụng iPhone Nguồn Internet [1] iOS (Apple), Wikipedia, truy cập ngày 25/02/2015 http://vi.wikipedia.org/wiki/IOS_(Apple) [2] The iPhone OS Architecture and Frameworks, truy cập ngày 25/02/2015 http://techotopia.com/index.php/The_iPhone_OS_Architecture_and_Framew orks [3] Tổng quan Objective-C Lập trình ứng dụng iOS | Framgia’s Blog, truy cập ngày 27/02/2015 http://tech.blog.framgia.com/vn/?p=1228 [4] Swift ( ngôn ngữ lập trình ), truy cập ngày 03/04/2015 http://vi.wikipedia.org/wiki/Swift_(ngôn_ngữ_lập_trình) [5] Xcode, Wikipedia, truy cập ngày 10/03/2015 http://vi.wikipedia.org/wiki/Xcode [6] SQLite, Wikipedia, truy cập ngày 28/03/2015 http://vi.wikipedia.org/wiki/SQLite [7] Tìm hiểu tổng quan Ngôn ngữ lập trình Swift, truy cập ngày 05/03/2015 http://tech.blog.framgia.com/vn/?p=3461 [8] Chức Gesture iPhone, truy cập ngày 05/03/2015 http://www.3gmobiles.biz/thu-thuat/chuc-nang-gestures-iphone-la-gi-meosu-dung-413.html GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 119 [...]... tài liệu tham khảo cho việc dạy và học lập trình phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS, tôi đã chọn đề tài Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 1 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS 2 Lịch sử giải quyết vấn đề 2.1 Trên thế giới Hiện nay, nhiều trường Đại học trên thế giới, tiêu... : Nền tảng iOS và môi trường lập trình phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS 1 Giới thiệu hệ điều hành iOS 2 Giới thiệu ngôn ngữ lập trình trên nền tảng iOS 3 Giới thiệu về bộ công cụ Xcode và iOS Simulator Chương 2 : Phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS 1 Tiến trình phát triển một ứng dụng iOS 2 Mô hình MVC Chương 3 : Thực hành xây dựng một số ứng. .. trình phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS bao gồm phần lý thuyết và thực hành Người mới học lập trình cho thiết bị di động, là sinh viên các trường cao đẳng và đại học hoặc người mới bắt đầu với lĩnh vực này - Phạm vi nghiên cứu : Phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS chỉ bao gồm các nội dung cơ bản : tạo giao di n tương tác người dùng, giao di n... Trang 5 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS 1.2 Hình thức và logic trình bày phần lý thuyết, chọn lựa nội dung Phần lý thuyết được trình bày theo các mảng sau : - Giới thiệu về nền tảng iOS và môi trường lập trình phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS, bao gồm ngôn ngữ lập trình, bộ công cụ Xcode, iOS Simulator và mô hình xây dựng ứng dụng iOS MVC - Giới... Trang 7 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS CHƯƠNG 2- THIẾT KẾ VÀ THỰC HIỆN 2.1 Giới thiệu về hệ điều hành iOS 2.1.1 Định nghĩa iOS iOS là hệ điều hành trên các thiết bị di động của Apple Ban đầu hệ điều hành này chỉ được phát triển để chạy trên iPhone (gọi là iPhone OS), nhưng sau đó nó được mở rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV Giao di n... Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 15 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS Hình 2.5 Giao di n ứng dụng Hình 2.6 Giao di n code GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 16 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS Editor area còn cho phép quản lý các đối tượng trong giao di n một cách chi tiết hơn Trong phần Interface Builder, chọn button Show... Chuẩn bị bộ công cụ Xcode và iOS Simulator Bước 3 : Xây dựng ứng dụng Bước 4 : Đăng ký tài khoản iOS Developer để triển khai ứng dụng lên trên thiết bị iOS thật và đưa ứng dụng lên App Store GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 23 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS 2.5 Mô hình MVC 2.5.1 Giới thiệu về mô hình MVC Model – View – Controller (MVC) là một chuẩn mực thiết. .. tài GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 4 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS PHẦN NỘI DUNG CHƯƠNG 1 – MÔ TẢ BÀI TOÁN 1.1 Định hướng nội dung và cách tiếp cận Với mục tiêu của đề tài là cung cấp một tài liệu hỗ trợ cho người bắt đầu học lập trình phát triển ứng dụng cho các thiết bị di động chạy trên nền tảng iOS, tài liệu có thể dùng để tham khảo trong các trường... nhóm nghiên cứu liên quan đến vấn đề xây dựng và phát triển ứng dụng trên các thiết bị di động nói chung và iOS nói riêng Thông qua việc nghiên cứu đó, nhiều tài liệu hướng dẫn cũng đã được soạn thảo hỗ trợ cho những người muốn trở thành nhà phát triển ứng dụng cho thiết bị di động chạy trên nền tảng iOS như: - Head First iPhone And iPad Development, 2nd edition (O’Reilly - 2011) - iPhone Application... phép sử dụng nhãn hiệu iOS từ Cisco GVHD : Ths Đoàn Hoà Minh SVTH : a Tô Thế Duy Trang 8 Phát triển ứng dụng cho thiết bị di động trên nền tảng iOS 2.1.3 Kiến trúc của nền tảng iOS Tương tự như kiến trúc cơ bản trong Mac OS X Nhân của iOS được dựa trên nhân của Mac cơ bản được tìm thấy trong hệ điều hành Mac OS X Ở tầng cao nhất, iOS hoạt động như một trung gian giữa phần cứng cơ bản và các ứng dụng xuất