phát triển ứng dụng cho thiết bị di động trên nền tảng ios

190 553 0
phát triển ứng dụng cho thiết bị di động trên nền tảng ios

Đ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

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

Ngày đăng: 05/06/2016, 13:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan