Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 107 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
107
Dung lượng
2,36 MB
Nội dung
LỜI CAM ĐOAN Đồ án tốt nghiệp kết tổng hợp kiến thức mà sinh viên học nghiên cứu suốt trình học tập trường Nhận thức rõ điều đó, với tinh thần tự giác học hỏi, cố gắng nỗ lực thân hướng dẫn tận tình cô giáo ThS Phạm Thị Liên, em hoàn thành xong đồ án tốt nghiệp Em xin cam đoan: Nội dung đồ án em không chép nội dung từ đồ án khác sản phẩm đồ án thân em nghiên cứuxâydựng lên Mọi thôngtin sai lệch em xin hoàn toàn chịu trách nhiệm trước hội đồng bảo vệ Thái Nguyên, tháng năm 2016 Sinh Viên Trần Trọng Hiếu LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tri ân sâu sắc tới thầy cô trường Đại học Công nghệ thôngtin Truyền thông nói chung thầy cô khoa Công nghệ thôngtin nói riêng tạo điều kiện giúp đỡ em thời gian làm thực tập tốt nghiệp Đặc biệt, em xin chân thành cảm ơn cô giáo ThS Phạm Thị Liên nhiệt tình bảo hướng dẫn em suốt trình thực hoàn thành đồ án Trong trình thực tập kiến thức thân hạn chế nên báo cáo em khó tránh khỏi thiếu sót Em mong nhận đóng góp ý kiến từ quý thầy cô để em học hỏi thêm nhiều kiến thức hoàn thiện tốt Em xin chân thành cảm ơn! Thái Nguyên, tháng năm 2016 Sinh Viên Trần Trọng Hiếu MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC HÌNH DANH MỤC BẢNG LỜI NÓI ĐẦU Chương TÌM HIỂU VỀ CƠ SỞ LÝ THUYẾT 11 1.1 Ngôn ngữ lập trình hướng đối tượng OBJECTIVE-C 11 1.1.1 Lịch sử phát triển ngôn ngữ Objective-C 11 1.1.2 Giới thiệu Objective-C 12 1.1.3 Các yếu tố Ojective-C 13 1.2 Giới thiệu hệđiềuhànhiOS 20 1.2.1 Quá trình phát triển iOS qua nâng cấp 21 1.2.2 Kiến trúc hệđiềuhànhiOS 22 1.2.3 Đặc điểm hệđiềuhànhiOS 24 1.3 Ngôn ngữ lập trình hướng đối tượng Objective-c công cụ lập trình XCode SDK 26 1.3.1 Bộ công cụ hỗ trợ lập trình xcode 26 1.3.2 XCode 27 1.3.3 iPhone Simulator 30 1.3.4 Xâydựng cài đặt ứng dụng 32 1.3.5 Mô hình MVC (Model-View-Controller) 32 1.3.6 Một số đối tượng giao diện 34 Chương TÌM HIỂU GOOGLE MAPS SDK, GOOGLE PLACE API VÀ XÂYDỰNG WEBSERVICE CHO ỨNG DỤNG 37 2.1 Google Maps SDK 37 2.1.1 Tổng quan 37 2.1.2 Các loại đồ 37 2.1.3 Đổi chế độ hiển thị đồ 39 2.1.4 Tích hợp Google Maps vào ứng dụng 39 2.1.5 Các thành phần giao diện 41 2.2 Google Places API 42 2.2.1 Các truy vấn địa điểm khả dụng 42 2.2.2 Tìm kiếm địa điểm gần – Nearby Search 43 2.2.3 Thôngtin chi tiết địa điểm - Place Detail 45 2.2.4 Gợi ý kết tìm kiếm - Place autocomplete 45 2.3 Xâydựng web service cho ứng dụng 46 2.3.1 Mô tả 46 2.3.2 Các hàm API web service 46 Chương ĐẶC TẢ, PHÂN TÍCH, THIẾT KẾ HỆTHỐNG 52 3.1 Đặc tả toán 52 3.2 Mô tả hệ thống 53 3.2.1 Tracứu luật giao thôn 53 3.2.2 Tracứu quy định xử phạt 53 3.2.3 Tracứu biển báo giaothông 54 3.2.4 Tìm kiếm hiển thị địa điểm gần 55 3.2.5 Đăng xem thôngtingiaothông 56 3.3 Phân tích thiết kế hệ thống 57 3.3.1 Biểu đồ Use case 57 3.3.2 Biểu đồ trình tự 63 3.3.3 Biểu đồ hoạt động 66 3.3.4 Biểu đồ lớp 68 3.4 Thiết kế sở liệu 69 3.4.1 Thiết kế bảng sở liệu 69 3.4.2 Sơ đồ thực thể liên kết 69 ChươngXÂYDỰNGCHƯƠNGTRÌNHTRACỨUTHÔNGTINGIAOTHÔNGTRÊNHỆĐIỀUHÀNHiOS 70 4.1 Các thư viện framework sử dụngchươngtrình 70 4.2 Màn hình khởi động 70 4.3 Các View Controller chươngtrình 71 4.3.1 View gốc 71 4.3.2 View tracứu quy định xử phạt 71 4.3.3 View tracứu biển báo giaothông 72 4.3.4 View tracứu luật giaothông 72 4.3.5 View hiển thị đồ giaothông 73 4.4 Giao diện sau cài đặt chươngtrình 73 4.4.1 Giao diện menu 73 4.4.2 Chức tracứu quy định xử phạt 74 4.4.3 Chức tracứu luật biển báo giaothông 74 4.4.4 Chức tracứu luật giaothông 75 4.4.5 Chức hiển thị đồ, tìm kiếm địa điểm 75 4.4.6 Chức tìm địa điểm gần 76 4.4.7 Chức đăng nhập đăng ký tài khoản 76 4.4.8 Chức đăng hiển thị thôngtingiaothông 77 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO 80 DANH MỤC HÌNH Hình 1.1: Kiến trúc hệđiềuhànhiOS 23 Hình 1.2: Quá trình cài đặt XCode 26 Hình 1.3: Giao diện XCode 28 Hình 1.4: Các mẫu ứng dụng XCode 28 Hình 1.5: Giao diện iPhone Simulator 31 Hình 1.6: Mô hình MVC 32 Hình 1.7: Model-View-Controller Layer 33 Hình 1.8: UILabel 34 Hình 1.9: Thuộc tính Label 34 Hình 1.10: UIButton 35 Hình 1.11: Thuộc tính Button 35 Hình 1.12 : UIImage kéo thiết kế giao diện 35 Hình 1.13: Table View 36 Hình 2.1: Các chế độ hiển thị Google Maps 38 Hình 3.1: Mô tả chức tracứu luật giaothông 53 Hình 3.2: Mô tả chức tracứu quy định xử phạt 53 Hình 3.3: Mô tả chức tracứu biển báo giaothông 54 Hình 3.4: Mô tả chức tìm kiếm hiển thị địa điểm gần 55 Hình 3.5: Mô tả chức đăng xem thôngtingiaothông 56 Hình 3.6: Biểu đồ Use case tổng quát 57 Hình 3.7: Biểu đồ Use case chức tracứu luật giaothông 57 Hình 3.8: Biểu đồ Use case chức xem đồ giaothông 59 Hình 3.9: Biểu đồ trình tự chức tracứu luật giaothông đường 63 Hình 3.10: Biểu đồ trình tự chức tracứu biển báo giaothông 63 Hình 3.11: Biểu đồ trình tự chức tracứu quy định xử phạt 63 Hình 3.12: Biểu đồ trình tự chức tracứuthôngtin địa điểm 64 Hình 3.13: Biểu đồ trình tự chức tracứuthôngtingiaothông 64 Hình 3.14: Biểu đồ trình tự chức tìm kiếm 64 Hình 3.15: Biểu đồ trình tự chức đăng nhập 65 Hình 3.16: Biểu đồ trình tự chức đăng thôngtingiaothông 65 Hình 3.17: Biểu đồ trình tự chức báo cáo địa điểm sai 65 Hình 3.18: Biểu đồ trình tự chức đăng ký 66 Hình 3.19: Biểu đồ hoạt động chức đăng ký 66 Hình 3.20: Biểu đồ hoạt động chức xem đồ giaothông 67 Hình 3.21: Biểu đồ hoạt động chức đăng thôngtingiaothông 67 Hình 3.22: Biểu đồ trình tự cho chức đăng ký 68 Hình 3.23: Biểu đồ lớp hệthống 68 Hình 3.24: Sơ đồ thực thể liên kết 69 Hình 4.1 Các thư viện framework hệthống sử dụng 70 Hình 4.2: Thiết kế hình khởi động cho ứng dụng 70 Hình 4.3: Thiết kế Root View Controller 71 Hình 4.4: Thiết kế View quy định xử phạt 71 Hình 4.5: Thiết kế View tracứu biển báo giaothông 72 Hình 4.6: Thiết kế View tracứu luật giaothông 72 Hình 4.7: Thiết kế View hiển thị thôngtingiaothông 73 Hình 4.8: Giao diện menu chươngtrình 73 Hình 4.9: Chức tracứuhành vi vi phạm theo loại phương tiện 74 Hình 4.10: Chức tracứu biển báo giaothông 74 Hình 4.11: Chức tracứu luật giaothông 75 Hình 4.12: Chức hiển thị đồ, tìm kiếm địa điểm 75 Hình 4.13 Chức tìm địa điểm gần 76 Hình 4.14: Chức đăng nhập đăng ký tài khoản 76 DANH MỤC BẢNG Bảng 1.1: Các kiểu liệu Objective-C 14 Bảng 1.2: Các phép toán Objective-C 15 Bảng 1.3: Các định dạng ảnh hỗ trợ iPhone 36 Bảng 2.1: Các loại đồ Google Maps 38 Bảng 2.2: Các loại địa điểm Google Maps 44 Bảng 3.1: Bảng user sở liệu 69 Bảng 3.2: Bảng places sở liệu 69 LỜI NÓI ĐẦU Dưới phát triển vượt bậc Công nghệ thông tin, thời đại Internet bùng nổ điện thoại di động không đơn giản phương tiện liên lạc mà công cụ hữu ích cho người Xu hướng sử dụng Smartphone máy tính bảng gia tăng nhanh chóng giới nói chung Việt Nam nói riêng, theo nghiên cứu IDC năm 2012 Việt Nam có tốc độ tăng trưởng 266% Android, iOS, Windows Phone hệđiềuhành chạy Smartphone máy tính bảng phổ biến giới: Android 75%, iOS 17,3%, Windows Phone 3,2% Khi tham gia giao thông, người e ngại kiến thức luật Không nắm vững quy tắc giao thông, tình bị xử phạt điểm chung đại đa số người tham gia giaothông Việt Nam Với tình hình đó, với nhu cầu cập nhật liên tục thôngtingiaothông tuyến đường người dùng Em xâydựngchươngtrình “Tra cứuthôngtingiaothônghệđiềuhành iOS” nhằm cung cấp chươngtrìnhtracứuthôngtin quy định xử phạt, biến báo, luật giao thông, tình hình giaothông trực tuyến đồ giúp người sử dụng chấp hành luật, dễ dàng tránh xử lý cố bất ngờ xảy đường giao thông, nâng cao ý thức chấp hành luật giaothông người dùng Nội dung tìm hiểu: Tên đề tài: Xâydựngchươngtrìnhtracứuthôngtingiaothônghệđiềuhànhios Các vấn đề cần giải Tìm hiểu ngôn ngữ lập trình Objective – C Tìm hiểu hệđiềuhànhiOS Tìm hiểu phương pháp phát triển ứng dụnghệđiềuhànhiOS Tìm hiểu Google Maps SDK, Google Place API Tìm hiểu cách xâydựng webservice dựa PHP MySQL Dự kiến kết quả: Xâydựng ứng dụng hoàn thiện chạy iPhone Bố cục báo cáo Toàn báo cáo đồ án tốt nghiệp gồm chương sau Chương 1: Tìm hiểu sở lý thuyết Chương 2: Tìm hiểu Google Maps SDK, Google Place API xâydựng webservice cho ứng dụng Chương 3: Đặc tả, phân tích, thiết kế hệthống Chương 4: XâydựngchươngtrìnhtracứuthôngtingiaothônghệđiềuhànhiOS 10 Hình 4.4: Thiết kế View quy định xử phạt 4.3.3 View tracứu biển báo giaothông Chứa giao diện chức tracứu biển báo giaothông 93 Hình 4.5: Thiết kế View tracứu biển báo giaothông 4.3.4 View tracứu luật giaothông Chứa giao diện chức tracứu luật giaothông đường 94 Hình 4.6: Thiết kế View tracứu luật giaothông 95 4.3.5 View hiển thị đồ giaothông Hình 4.7: Thiết kế View hiển thị thôngtingiaothông 4.4 Giao diện sau cài đặt chươngtrình 4.4.1 Giao diện menu 96 Hình 4.8: Giao diện menu chươngtrình 97 4.4.2 Chức tracứu quy định xử phạt Hình 4.9: Chức tracứuhành vi vi phạm theo loại phương tiện 4.4.3 Chức tracứu luật biển báo giaothông 98 Hình 4.10: Chức tracứu biển báo giaothông 99 4.4.4 Chức tracứu luật giaothông Hình 4.11: Chức tracứu luật giaothông 4.4.5 Chức hiển thị đồ, tìm kiếm địa điểm 100 Hình 4.12: Chức hiển thị đồ, tìm kiếm địa điểm 101 4.4.6 Chức tìm địa điểm gần Hình 4.13 Chức tìm địa điểm gần 4.4.7 Chức đăng nhập đăng ký tài khoản 102 Hình 4.14: Chức đăng nhập đăng ký tài khoản 103 4.4.8 Chức đăng hiển thị thôngtingiaothông Hình 4.15: Chức đăng hiển thị thôngtingiaothông 104 KẾT LUẬN Kết đạt Sau thời gian nghiên cứu đề tài “Xây dựngchươngtrìnhtracứuthôngtingiaothônghệđiềuhành iOS” em thu số kết sau: Tìm hiểu cách thức xâydựngchươngtrình tảng iOS: Tìm hiểu ngôn ngữ Objective-C Hiểu cách thức xâydựng mô hình MVC (Model-View-Control) Objective-C Sử dụng thư viện hệthống thư viện mã nguồn mở Sử dụng công cụ hổ trợ lập trình XCode máy ảo giả lập Simulator Tích hợp đồ Google Maps vào ứng dụng Hiển thị thôngtin địa điểm, giaothông lên đồ Hiểu web service: Hiểu xâydựng web service cho ứng dụngXâydựng ứng dụng “tra cứuthôngtingiaothông đường bộ” iPhone Xem quy định mức xử phạt loại phương tiện loại vi phạm tương ứng Phân loại hiển thị loại biển báo giaothông ý nghĩa chúng Hiển thị quy định luật giaothông đường Giao diện dễ sử dụng Cơ sở liệu cập nhật dựa Nghị định số: 19/VBHNBGTVT ngày 19 tháng 12 năm 2014 2013 Chính phủ quy định xử phạt vi phạm hành lĩnh vực giaothông đường đường sắt giaothông vận tải 105 Luật giaothông đường số: 23/2008/QH12 ngày 13 tháng 11 năm 2008 Quốc hội Hạn chế Do khuôn khổ đồ án với việc tìm kiếm tài liệu khó khăn nên trìnhxây ứng dụng tồn số nhược điểm sau đây: Chưa có chức tìm kiếm vi phạm theo từ khóa Biển báo tracứu thủ công, chưa nhận dạng hình ảnh biển báo từ camera Nội dungxâydựng dựa văn pháp quy nhiên chưa có rõ ràng Hướng phát triển ứng dụng Phát hành ứng dụng cửa hàng ứng dụng App Store Apple Xâydựng ứng dụng tảng di động khác Android, Windows Phone Tối ưu giao diện cho thiết bị hình cỡ lớn iPhone 6, iPhone 6+, IPad Nhận dạng biển báo qua camera Hỗ trợ tìm kiếm nội dung theo từ khóa Tích hợp văn pháp quy để người sử dụng có pháp lý cần thiết 106 TÀI LIỆU THAM KHẢO [1] Nguyễn Anh Tiệp Cao Thanh Vàng, Tài liệu hướng dẫn xâydựng ứng dụng iPhone, Đại Học Lạc Hồng, 2013 [2] Aaron Hillegass, Objective-C Programming: The big nerd ranch guide, 2012 [3] Jesse Feiler, iOS App Develosspment For Dummies, 2014 [4] Apple, Programming with Objective-C, Apple Inc, 2014 [5] Dani Arnaout, iOS Development version 1.0, 2012 [6] Kevin J McNeish, Diving In - iOS App Development for Non-Programmers, 2012 [7] Website https://www.developer.apple.com http://www.tutorialspoint.com https://www.github.com https://www.cocoapods.org https://stackoverflow.com 107 [...]... thoại thông minh chạy hệ điềuhành iOS, sau hệđiềuhành Android của Google và Symbia của Nokia Giao diện người dùng của iOS dựa trên cơ sở thao tác bằng tay Người dùng có thể tương tác với hệđiềuhành này thông qua rất nhiều động tác bằng tay trên màn hình cảm ứng của các thiết bị của Apple Hệđiềuhành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vào tháng 1 năm 2007 và được phát hành. .. Teacher kế thừa từ lớp Person 21 1.2 Giới thiệu về hệ điềuhànhiOSiOS là hệđiềuhànhtrên các thiết bị dân động của Apple Ban đầu hệđiềuhành này chỉ được phát triền để chạy trên iPhone, nhưng sau đó nó đã mở rộng để chạy trên các thiết bị của Apple như iPod touch, iPad và Apple TV Ngày 31 tháng 5 năm 2011, Apple Sotre của Apple chứa khoảng 500 000 ứng dụngiOS và được tải về tổng cộng khoảng 15 tỷ lần... ngôn ngữ lập trình hướng đối tượng (OOP) được xâydựng dựa trên ngôn ngữ lập trình C Tuy nhiên ta phải thấy sự khác nhau giữa C và Objective-C ở chỗ Objective-C là ngôn ngữ lập trình hướng đối tượng còn C lại là ngôn ngữ lập trình hướng thủ tục Objective-C là ngôn ngữ chính được sử dụng để phát triển hệđiềuhành MacOS X cũng như iOS (hệ điềuhành chạy trên các thiết bị iPhone, iPod hay iPad) Do Objective-C... 2008, Apple đã phát hành bản dùng thử đầu tiên, cùng với một cái tên mới cho hệđiềuhành đó là “iPhone OS” 22 Tháng 6 năm 2010, Apple đổi cái tên iPhone OS thành iOS Nhãn hiệu iOS đã được Cisco dùng để đặt tên cho hệđiềuhành của mình Để tránh các vụ kiện cáo, Apple đã xin giấy phép sử dụng nhãn hiệu iOS từ Cisco 1.2.1 Quá trình phát triển của iOS qua các bản nâng cấp Phiên bản iOS 1.x: Đây là phiên... tên hệđiềuhành của mình thành iOS và đây cũng là phiên bản đầu tiên của hệđiềuhành này hỗ trợ cho đồng thời nhiều thiết bị Phiên bản iOS 5.x: Giống như iOS 3, iOS 5 cũng bán ra cùng với 1 thiết bị nâng cấp nhẹ của iPhone là iPhone 4S thay vì 1 phiên bản hoàn toàn mới Phiên bản iOS 6.x : Gắn liền với sự xuất hiện của iPhone 5, iOS 6 không tích hợp quá nhiều tính năng mới hay có thay đổi lớn về giao. .. khi iOS vận hànhtrên đó, nó sẽ có được điều kiện tốt nhất Việc không cho phép bổ sung các nội dung “ngoại đạo” vào lõi hệđiềuhành cũng tạo ra độ tin cậy cao Hiệu quả tận dụng phần cứng tối đa: Thực tế, những mẫu iPhone 3Gs với cấu hình từ vài năm trước vẫn vận hành hoàn hảo (nếu không muốn nói là nhanh hơn nhiều mẫu Android hiện đại) và chạy được nhiều ứng dụng tiên tiến nhờ hệ điềuhành iOS. .. vào thư mục chươngtrình khi ứng dụng được xâydựng Có thể bao gồm hình ảnh hoặc âm thanh, các trò chơi, hoặc các tập tinh quan trọng khác Framework: Các framework mà chươngtrình của chúng ta liên kết tới Các thư viện chia sẻ này được liên kết lúc xâydựngchươngtrình để thêm chức năng Ví dụ, một trò chơi 3D sẽ liên kết với các Framework OpenGL Game, trong đó có các thủ tục để xâydựng đồ họa... hoàn thành việc viết mã cho ứng dụng các đơn giản nhất xâydựng ứng dụng là nhấn vào nút Build hoặc Build & Go ở trên đỉnh của project để chạy ứng dụngĐiều này sẽ gọi trình biên dịch và đưa ra kết quả của việc xâydựng trong thanh trạng thái Nếu không thành công thì có lỗi cảnh báo Khi xâydựng ứng dụng xong chúng ta có thể cài đặt nó trên iPhone thông qua XCode Để cài đặt nó trong XCode chúng ta nhấn... Apple cung cấp cho các lập trình viên để lập trình ứng dụng cho các thiết bị chạy hệđiềuhành của Apple Phiên bản mới nhất hiện nay của XCode là bản XCode 5 trên trang Developer của Apple Giao diện làm việc của XCode gồm có 5 phần chính : Toolbar, Editor area, Navigator area, Debug area, Utility area Debug area: đây là vùng hỗ trợ chúng ta trong quá trình debug lỗi của chươngtrình Toolbar area:... Framework, Address Book UI Framework, Game Kit Framework 1.2.3 Đặc điểm của hệđiềuhànhiOS Ưu điểm Tính giản đơn trong sử dụng: iOS “vô địch” nếu xét ở sự giản đơn Mọi thứ đều được trau chuốt tới mức hoàn hảo, giao diện dễ hiểu, mọi quy trình vận hành đều rất trực quan và đơn giản Đáng chú ý, các thiết lập ứng dụng trong iOS ít khi người dùng phải sờ đến – dù chúng vẫn tồn tại cho những nhu cầu ... cập nhật liên tục thông tin giao thông tuyến đường người dùng Em xây dựng chương trình Tra cứu thông tin giao thông hệ điều hành iOS nhằm cung cấp chương trình tra cứu thông tin quy định xử phạt,... Tên đề tài: Xây dựng chương trình tra cứu thông tin giao thông hệ điều hành ios Các vấn đề cần giải Tìm hiểu ngôn ngữ lập trình Objective – C Tìm hiểu hệ điều hành iOS Tìm hiểu... 69 Chương XÂY DỰNG CHƯƠNG TRÌNH TRA CỨU THÔNG TIN GIAO THÔNG TRÊN HỆ ĐIỀU HÀNH iOS 70 4.1 Các thư viện framework sử dụng chương trình