Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 101 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
101
Dung lượng
2,37 MB
Nội dung
TRƯỜNG ĐẠI HỌC VINH 621.38 KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THIẾT KẾ LẬP TRÌNH ỨNG DỤNG CHO THIẾT BỊ DI ĐỘNG SV thực hiện: CAO NGỌC QUẾ GV hướng dẫn: ThS ĐẶNG THÁI SƠN Lớp:51K2 - ĐTVT Khóa học: 2010 – 2015 NGHỆ AN - 01/2015 MỤC LỤC TÓM TẮT 11 MỞ ĐẦU 12 CHƯƠNG I CƠ SỞ LÝ THUYẾT 13 1.1 CHUẨN BỊ HỆ ĐIỀU HÀNH MAC OS 13 1.1.1 Lập Trình Ứng Dụng Iphone Trên Windows 13 1.1.2 Sử Dụng Sản Phẩm Chính Hãng Apple 13 1.1.3 Chạy Hệ Điều Hành Mac Os Trên Pc/Laptop Intel/Amd 15 1.2 PHẦN MỀM XCODE 16 1.2.1 Cài Đặt Thông Qua Bản Tải Về Từ Trang Dành Cho Developer 16 1.2.2 Cài Đặt Thông Qua Apple Mac Store 17 1.3 TÌM HIỂU XCODE 18 1.3.1 Giới Thiệu Về Xcode 18 1.3.2 Thao Tác Tạo Ứng Dụng Mới 21 1.3.3 Tìm Hiểu Giao Diện Xcode Và Một Số Tính Năng 25 1.3.3.1 Navigator Area 25 1.3.3.2 Editor Area 25 1.3.3.3 Toolbar Area 27 1.3.3.4 Utility Area 28 1.3.4 Thiết Kế Giao Diện 29 1.3.5 Viết Code 31 1.3.6 Thực Thi Và Kiểm Tra Lỗi Của Ứng Dụng 36 1.3.6.1 Thực Thi Ứng Dụng 36 1.3.6.2 Kiểm Tra Lỗi Của Ứng Dụng 37 1.4 TÌM HIỂU IOS SIMULATOR 39 1.4.1 Giới Thiệu iOS Simulator 39 1.4.2 Tìm Hiểu iOS Simulator 39 1.4.2.1 Thao Tác Cơ Bản Với IOS Simulator 39 1.4.2.2 Một Số Hạn Chế Của iOS Simulator 47 CHƯƠNG II NGÔN NGỮ OBJECTIVE-C 48 2.1 GIỚI THIỆU NGÔN NGỮ OBJECTIVED-C 48 2.2 KHAI BÁO BIẾN - CÁCH SỬ DỤNG 49 2.2.1 Biến 49 2.2.2 Quy Tắc Đặt Tên 49 2.3 KIỂU DỮ LIỆU 49 2.4 PHÉP TOÁN 51 2.5 CHÚ THÍCH CODE 51 2.6 XUẤT DỮ LIỆU RA MÀN HÌNH 51 2.7 FUNCTION 53 2.7.1 Định Nghĩa 53 2.7.2 Phương Thức Khơng Có Tham Số Truyền Vào 53 2.7.3 Phương Thức Có Tham Số Truyền Vào 53 2.7.4 Phương Thức Có Nhiều Tham Số Truyền Vào 54 2.8 CẤU TRÚC ĐIỀU KIỆN 55 2.8.1 Câu Lệnh If 55 2.8.2 Câu Lệnh If – Else 55 2.8.3 Câu Lệnh Switch - Case 55 2.9 CẤU TRÚC VÒNG LẶP 56 2.9.1 Vòng Lặp For 56 2.9.2 Vòng Lặp While 57 2.9.3 Vòng Lặp Do-While 57 2.10 MẢNG 58 2.10.1 Định Nghĩa 58 2.10.2 Mảng Nsarray 58 2.11 CHUỖI – ĐỐI TƯỢNG NSSTRING 59 2.11.1 Khởi Tạo Chuỗi 59 2.11.2 Đối Tượng NSString 59 2.11.3 Tìm Kiếm Bên Trong Chuỗi 59 2.11.4 Tìm Chuỗi Và Thay Nó Thành Chuỗi Khác 60 2.11.5 Xoá Nội Dung Bên Trong Chuỗi 60 2.11.6 Cắt Chuỗi 61 2.11.7 Chèn Ký Tự Vào Trong Chuỗi 62 2.11.8 Chèn Ký Tự Vào Cuối Chuỗi 62 2.11.9 So Sánh Chuỗi 63 2.11.10 So Sánh Chuỗi Với Ký Tự Đầu Và Cuối Chuỗi 63 2.11.11 Chuyển Đổi Hình Dạng Của Chữ 64 2.11.12 Chuyển Chuỗi Thành Dạng Số 65 2.12 MỘT SỐ THAO TÁC CƠ BẢN 66 2.12.1 App Icon – Loading Screen 66 2.12.1.1 App Icon 67 2.12.1.2 Loading Screen 68 2.12.2 Thay Đổi App Name 69 2.12.3 Ẩn Status Bar 71 2.12.4 Background 72 2.12.4.1 Background Image 72 2.12.4.2 Background Color 75 2.12.5 Thêm FRAMEWORK 77 CHƯƠNG III THIẾT KẾ LẬP TRÌNH PHẦN MỀM MÁY TÍNH ĐIỆN TỬ KHOA HỌC 79 3.1 KHỞI TẠO ỨNG DỤNG 79 3.2 ĐỐI TƯỢNG LABEL – BUTTON – TEXT FIELD 82 3.2.1 Đối Tượng Label 82 3.2.1 Đối Tượng Button 82 3.2.3 Đối Tượng Text Field 84 3.3 THIẾT KẾ GIAO DIỆN 85 3.4 ÁNH XẠ ĐỐI TƯỢNG 86 3.5 GIAO DIỆN VIẾT CODE CHO ỨNG DỤNG 88 3.6 CODE ỨNG DỤNG 90 3.6.1 Code chương trình ứng dụng 90 3.6.2 Code chương trình ứng dụng: 95 3.6 Chạy chương trình Simulator 99 KẾT LUẬN 99 TÀI LIỆU THAM KHẢO 101 DANH MỤC BẢNG Bảng 2.1 Kiểu liệu Objectived-C 50 Bảng 2.2 Các phép toán Objectived-C 51 Bảng 2.3 Ví dụ kiểu xuất liệu hình 52 DANH MỤC HÌNH Hình 1.1 Truy cập Store Mac OS 14 Hình 1.2 Store Refurbished 15 Hình 1.3 iATKOS Niresh 15 Hình 1.4 Tải Xcode từ trang Developer 16 Hình 1.5 Chọn View Download 16 Hình 1.6 Đăng nhập Developer ID 17 Hình 1.7 Cài đặt Xcode qua Apple Mac Store 18 Hình 1.8 Phiên Xcode trang Apple 19 Hình 1.9 Giao diện Xcode 20 Hình 1.10 Chế độ gỡ lỗi 20 Hình 1.11 Tài liệu hướng dẫn 21 Hình 1.12 Giao diện Xcode mở lên 22 Hình 1.13 Tạo Project Menu 22 Hình 1.14 Chọn lựa mẫu cho project 23 Hình 1.15 Điền thơng tin cho project 23 Hình 1.16 Chọn nơi lưu Project 24 Hình 1.17 Giao diện project tạo 24 Hình 1.18 Giao diện Navigator 25 Hình 1.19 Giao diện ứng dụng 26 Hình 1.20 Giao diện code 26 Hình 1.21 Giao diện quản lý chi tiết 27 Hình 1.22 Activity viewer 27 Hình 1.23 Toolbar area 27 Hình 1.24 Utility area 28 Hình 1.25 Kéo thả đối tượng vào giao diện 29 Hình 1.26 Canh chỉnh vị trí theo đường kẻ xanh 30 Hình 1.27 Thay đổi thuộc tính đối tượng 30 Hình 1.28 Tìm kiếm Library 31 Hình 1.29 Xem tài liệu hỗ trợ đối tượng 31 Hình 1.30 Hai tập tin sử dụng để viết code cho ứng dụng 32 Hình 1.31 Ánh xạ đối tượng vào tập tin h 32 Hình 1.32 Lựa chọn kiểu ánh xạ 33 Hình 1.33 Gợi ý khắc phục lỗi 34 Hình 1.34 Một số code mẫu để sử dụng 34 Hình 1.35 Chia đơi hình Editor để tiện làm việc 35 Hình 1.36 Tùy chỉnh Font & Color cho giao diện lập trình code Xcode 36 Hình 1.37 Lựa chọn thiết bị iOS Simulator 37 Hình 1.38 Nhấn Stop để dừng chương trình 37 Hình 1.39 Vùng Debug Navigator 38 Hình 1.40 Vùng Debug area 38 Hình 1.41 Đánh dấu Breakpoint 38 Hình 1.42 Thu gọn đoạn code cho dễ nhìn 39 Hình 1.43 Chọn Run để mở iOS Simulator 40 Hình 1.44 Mở iOS Simulator Menu 40 Hình 1.45 Trong menu chọn Quit iOS Simulator 41 Hình 1.46 Trong menu chọn xoay hình iOS Simulator 41 Hình 1.47 Ẩn/Hiện keyboard iOS Simulator 42 Hình 1.48 Gỡ ứng dụng iOS Simulator 43 Hình 1.49 Tải thêm iOS Simulator phiên cũ tài liệu 44 Hình 1.50 Chụp ảnh hình iOS Simulator 44 Hình 1.51 Chọn Select Select All 45 Hình 1.52 Lựa chọn chuỗi cần copy chọn Copy 45 Hình 1.53 Paste từ Mac OS vào iOS Simulator 46 Hình 1.54 Chọn Paste 46 Hình 2.1 Code sử dụng hàm NSLog() 52 Hình 2.2 Kết in hình 52 Hình 2.3 Dùng NSLog() xuất hình số 52 Hình 2.4 Kết xuất chữ số 52 Hình 2.5 Hàm HelloWorld 53 Hình 2.6 Xuất hình HelloWorl 53 Hình 2.7 Hàm HelloWorld với tham số truyền vào 54 Hình 2.8 Gọi hàm HelloWorld 54 Hình 2.9 Hàm cộng hai số 54 Hình 2.10 In kết hàm cộng 54 Hình 2.11 Cấu trúc Switch 56 Hình 2.12 Vịng lặp For 57 Hình 2.13 Vịng lặp While 57 Hình 2.14 Vịng lặp Do – While 58 Hình 2.15 Sử dụng NSArray 58 Hình 2.16 Kết sử dụng NSArray 59 Hình 2.17 Khởi tạo chuỗi 59 Hình 2.18 Kiểm tra giá trị chuỗi 59 Hình 2.19 Đếm số lượng ký tự 59 Hình 2.20 Đối tượng NSString 59 Hình 2.21 Tìm kiếm bên chuỗi 60 Hình 2.22 Kết tìm kiếm 60 Hình 2.23 Thay đổi ký tự chuỗi 60 Hình 2.24 Kết thay đổi ký tự 60 Hình 2.25 Xóa nội dung chuỗi 60 Hình 2.26 Kết sau xóa nội dung 61 Hình 2.27 Cắt chuỗi từ vị trí n 61 Hình 2.28 Kết cắt chuỗi từ vị trí n 61 Hình 2.29 Lấy ký tự cịn lại từ vị trí n 61 Hình 2.30 Kết lấy ký tự cịn lại từ vị trí n 62 Hình 2.31 Chèn ký tự vào chuỗi 62 Hình 2.32 Kết tách chuỗi 62 Hình 2.33 Chèn ký tự vào chuỗi 62 Hình 2.34 Kết chèn ký tự vào chuỗi 62 Hình 2.35 Chèn ký tự vào cuối chuỗi 63 Hình 2.36 Kết chèn ký tự vào cuối chuỗi 63 Hình 2.37 So sánh hai chuỗi 63 Hình 2.38 Kết so sánh hai chuỗi 63 Hình 2.39 So sánh với ký tự đầu, ký tự cuối 63 Hình 2.40 Kết so sánh với ký tự đầu chuỗi, ký tự cuối chuỗi 64 Hình 2.41 Viết hoa ký tự đầu 64 Hình 2.42 Kết viết hoa ký tự đầu 64 Hình 2.43 Viết thường tất ký tự 64 Hình 2.44 Kết viết thường ký tự 64 Hình 2.45 Viết hoa tất ký tự 64 Hình 2.46 Kết viết hoa ký tự 65 Hình 2.47 Chuyển thành số nguyên 65 Hình 2.48 Kết chuyển thành số nguyên 65 Hình 2.59 Chuyển thành NSInteger 65 Hình 2.50 Kết chuyển thành NSInteger 65 Hình 2.51 Chuyển thành float 65 Hình 2.52 Kết chuyển thành float 65 Hình 2.53 Chuyển thành double 66 Hình 2.54 Kết chuyển thành double 66 Hình 2.55 Icon 67 Hình 2.56 Kéo thả icon vào vị trí 68 Hình 2.58 Chuẩn bị Background 69 Hình 2.59 Kéo thả background image vào Lauch Imag 69 Hình 2.60 Truy cập tập tin plist 70 Hình 2.61 Sửa đổi Bundle display name 70 Hình 2.62 Thay đổi tên iOS Simulator 71 Hình 2.63 Thêm dòng 71 Hình 2.64 Chọn giá trị Yes 72 Hình 2.65 Thanh trạng thái Status bar 72 Hình 2.66 Background Image 73 Hình 2.67 Chép hình ảnh vào Project 73 Hình 2.68 Kéo thả UIImage View vào Project 74 Hình 2.69 Lựa chọn hình ảnh làm background 74 Hình 2.70 Thay đổi background image 75 Hình 2.71 Attributes inspector 76 Hình 2.72 Chọn màu 76 Hình 2.73 Background thay đổi 76 Hình 2.74 Link Frameworks and Libraries 77 Hình 2.75 Chọn Framework 77 Hình 2.76 chọn Add 78 Hình 3.1 Tạo project 79 Hình 3.2 Chọn lựa mẫu cho project 80 Hình 3.3 Điền thơng tin cho project 80 Hình 3.4 Chọn nơi lưu Project 81 Hình 3.5 Giao diện project tạo 81 Hình 3.6 Label 82 Hình 3.7 Thuộc tính Label 82 Hình 3.8 Button 83 Hình 3.9 Thuộc tính Button 83 Hình 3.10 Text Field 84 Hình 3.11 Thuộc tính Text Field 85 Hình 3.12 Thiết kế giao diện 86 Hình 3.13 ánh xạ đối tượng (1) 87 Hình 3.14 ánh xạ đối tượng (2) 87 Hình 3.15 Giao diện phần cứng ứng dụng 88 Hình 3.16 Giao diện khai báo thư viện 88 Hình 3.17 Giao diện chương trình 89 Hình 3.18 Giao diện khai báo đối tượng 89 Hình 3.19 Giao diện chương trình 90 Hình 3.20 Ứng dụng chạy 99 10 Hình 3.13 ánh xạ đối tượng (1) Hình 3.14 ánh xạ đối tượng (2) Ánh xạ đối tượng đối tượng Label mục Connection chọn Iboultet, đối tượng Buton chon Action Phần name đặt tên cho đối tượng ánh xạ Phần cứng cho ứng dụng tạo 87 Hình 3.15 Giao diện phần cứng ứng dụng 3.5 Giao diện viết code cho ứng dụng Khai báo thành phần thư viện con: Hình 3.16 Giao diện khai báo thư viện 88 Hình 3.17 Giao diện chương trình Khai báo đối tượng ứng dụng Hình 3.18 Giao diện khai báo đối tượng 89 Hình 3.19 Giao diện chương trình 3.6 Code ứng dụng 3.6.1 Code chương trình ứng dụng Chương trình khai báo thư viện con: #import @interface CalculatorBrain : NSObject { double operand; double waitingOperand; NSString * waitingOperation; } - (void)setOperand:(double)aDouble; - (double)performOperation:(NSString *)operation; - (void)performWaitingOperation; @end 90 Chương trình chính: #import "CalculatorBrain.h" @implementation CalculatorBrain - (void)setOperand:(double)aDouble { operand = aDouble; } - (double)performOperation:(NSString *)operation { if ([operation isEqualToString:@"√"]) { operand = sqrt(operand); } else if ([operation isEqualToString:@"+/-"] && operand != 0) { operand = - * operand; } else if ([operation isEqualToString:@"1/x"] && operand != 0) { operand = 1.0 / operand; } else if ([operation isEqualToString:@"sin"]) { operand = sin(operand * 3.14159265/180.0); 91 } else if ([operation isEqualToString:@"cos"]) { operand = cos(operand * 3.14159265/180.0); } else if ([operation isEqualToString:@"tan"]) { operand = tan(operand * 3.14159265/180.0); } else if ([operation isEqualToString:@"sin^-1"]) { operand = asin(operand)* 180.0/3.14159265; } else if ([operation isEqualToString:@"cos^-1"]) { operand = acos(operand) * 180.0/3.14159265; } else if ([operation isEqualToString:@"tan^-1"]) { operand = atan(operand)* 180.0/3.14159265; } else if ([operation isEqualToString:@"sinh"]) { operand = sinh(operand); } else if ([operation isEqualToString:@"cosh"]) { operand = cosh(operand); } else if ([operation isEqualToString:@"tanh"]) 92 { operand = tanh(operand); } else if ([operation isEqualToString:@"Log"]) { operand = log10(operand); } else if ([operation isEqualToString:@"x^2"]) { operand = operand * operand; } else if ([operation isEqualToString:@"x^3"]) { operand = operand * operand * operand; } else if ([operation isEqualToString:@"10^x"]) { operand = pow(10, operand); } else if ([operation isEqualToString:@"exp"]) { operand = exp(operand); } else if ([operation isEqualToString:@"∛x"]) { operand = pow(operand, 0.33333333333); } else if ([operation isEqualToString:@"Ln"]) { operand = log(operand); 93 } else if ([operation isEqualToString:@"π"]) { operand = 3.1415926535897; } else { [self performWaitingOperation]; waitingOperation = operation; waitingOperand = operand; } return operand; } - (void)performWaitingOperation { if ([@"+" isEqual:waitingOperation]) { operand = waitingOperand + operand; } else if ([@"*" isEqual:waitingOperation]) { operand = waitingOperand * operand; } else if ([@"-" isEqual:waitingOperation]) { operand = waitingOperand - operand; } else if ([@"/" isEqual:waitingOperation]) 94 { if (operand) { operand = waitingOperand / operand; } } } @end 3.6.2 Code chương trình ứng dụng: Khai báo thư viện : #import #import "CalculatorBrain.h" @interface CalculatorViewController : UIViewController { IBOutlet UILabel *display; CalculatorBrain *brain; double Memory; BOOL Number; BOOL Display; } - (IBAction)digitPressed: (UIButton *)sender; - (IBAction)operationPressed: (UIButton *)sender; - (IBAction)decimalPressed: (UIButton *)sender; - (IBAction)clearCalculator; - (IBAction)deleteDigit; -(IBAction)memoryActionPressed: (UIButton *)sender; @end Chương trình ứng dụng : 95 #import "CalculatorViewController.h" @implementation CalculatorViewController - (CalculatorBrain *)brain { if (!brain) brain = [[CalculatorBrain alloc] init]; return brain; } - (IBAction)digitPressed: (UIButton *)sender { NSString *digit = sender.titleLabel.text; if (Number) { display.text = [display.text stringByAppendingString:digit]; } else { [display setText:digit]; Number = YES; } } - (IBAction)deleteDigit { if (Number) { NSString * current = display.text; NSString * new = [current substringToIndex:[current length] - 1]; if ([new length] > 0) { 96 display.text = new; } else { Number = NO; display.text = @"0"; } } } -(IBAction)memoryActionPressed: (UIButton *)sender { NSString *operation = [[sender titleLabel] text]; if ([@"MS" isEqualToString:operation]) { Memory = [[display text] doubleValue]; } else if ([@"MR" isEqualToString:operation]) { Number = NO; display.text = [NSString stringWithFormat:@"%g", Memory]; } else if ([@"MR" isEqualToString:operation]) { Memory = 0; } else if ([@"M+" isEqualToString:operation]) { Memory = Memory + [[display text] doubleValue]; } 97 } - (IBAction)decimalPressed: (UIButton *)sender { if (Display == NO) { if (Number == NO) { Number = YES; [display setText:@"0."]; } else { [display setText:[[display text] stringByAppendingString:@"."]]; } Display = YES; } } - (IBAction)clearCalculator { [brain release]; brain = [[CalculatorBrain alloc] init]; [display setText:@"0"]; } - (IBAction)operationPressed: (UIButton *)sender { if (Number) { [[self brain] setOperand:[[display text] doubleValue]]; Number = NO; Display = NO; } NSString *operation = [[sender titleLabel] text]; double result = [[self brain] performOperation:operation]; 98 [display setText:[NSString stringWithFormat:@"%g", result]]; } @end 3.6 Chạy chương trình Simulator Chạy chương trình Hình 3.20 Ứng dụng chạy Sau tạo ứng dụng phần mềm máy tính điện tử khoa học xcode 6, phần mềm chạy tốt Simulator KẾT LUẬN Sau thời gian tìm hiểu, nghiên cứu phát triển ứng dụng phần mềm xcode em thiết kế lập trình phần mềm máy tính khoa học chạy 99 iphone Kết thu sau chạy thử Simulator xác Đây bước phát triển quan việc làm quen với việc lập trình thiết bị di động chạy hệ điều hành IOS thiết bị chạy hệ điều hành Mac Os ngày phổ biến cho lập trình viên vào nghề Hướng phát triển Những kết lý thuyết tài liệu thu thập sử dụng để triển khai số hướng nghiên cứu phát triển sâu lập trình cho thiết bị di động Đề xuất Nhưng trình học tập làm đồ án chúng em thấy số lượng tài liệu chuyên nghành thư viện nhà trường hạn chế đặc biệt sách chuyên nghành khơng mang tính cập nhật để đáp ứng với nhu cầu học tập, nghiên cứu sinh viên Song song với việc học lý thuyết trên lớp việc nghiên cứu tài liệu cần thiết Trang thiết bị cịn nhiều hạn chế , sinh viên thực hành đặc biệt thiết bị điện di động Em mong có nhiều trang thiết bị thời gian để thực hành nhiều Vinh, ngày 18 tháng 01 năm 2014 Sinh viên Cao Ngọc Quế 100 Tài liệu tham khảo Apress, Learn Objective-C on the Mac For OS X and iOS 2nd July 10, 2012 Aaron Hillegass , Objective-C Programming: The Big Nerd Ranch Guide, founded the Ranch in 2001 Apress, iPhone and iPad Apps for Absolute Beginners 3rd March 20, 2013 O’Reilly , Head First iPhone & iPad Development, xuất bản,March 19, 2013 Neal Goldstein & Dave Wilson, iOS Application Development For Dummies, January 2013 Neal Goldstein , iPhone Application Development For Dummies, January 22, 2013 Bạn vào trang : https://developer.apple.com/search/index.php?q=documentation&platform=iOS 101 ... bạn lựa chọn sử dụng trình viết ứng dụng Objects hiển thị đối tượng Xcode cho bạn sử dụng thiết kế giao di? ??n ứng dụng 1.3.4 Thiết Kế Giao Di? ??n Giao di? ??n ứng dụng Xcode thiết kế thông qua Interface... lượng ứng dụng iOS Apple App Store 775.000 ứng dụng Google Play có 700.000 ứng dụng. Với phát triển quy mơ lớn ứng dụng, nhu cầu tìm hiểu lập trình ứng dụng cho hệ điều hành tăng dần Thiết kế lập trình. .. nghiên cứu, tìm hiểu thiết kế lập trình cho thiết bị di động Đây bước phát triển quan trọng việc làm quen với việc lập trình thiết bị di động chạy hệ điều hành IOS thiết bị chạy hệ điều hành