Tải bản đầy đủ (.doc) (98 trang)

Xây dựng chương trình đặt phòng cho khách sạn intercontinental hanoiwestlake trên điện thoại di động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.8 MB, 98 trang )

LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn trường Đại học Công nghệ thông
tin và truyền thông, Đại học Thái Nguyên đã tạo điều kiện thuận lợi cho phép em
hoàn thành báo cáo này.
Em xin chân thành cảm ơn sự giúp đỡ và đóng góp ý kiến nhiệt tình của các
thầy - cô giáo trong bộ môn Mạng và Truyền thông – Khoa Công Nghệ Thông
Tin - Đại học Công Nghệ Thông Tin và Truyền Thông – Đại Học Thái
Nguyên.
Đặc biệt em xin bày tỏ lòng cảm ơn sâu sắc nhất đến thầy giáo hướng dẫn:
Th.S Nguyễn Đức Bình, đã tận tụy giúp đỡ em trong suốt quá trình học tập và
nghiên cứu.

Em xin chân thành cảm ơn !!!

1


LỜI CAM ĐOAN
Em , Giáp Văn Trường, sinh viên trường Đại Học Công Nghệ Thông Tin
Thái Nguyên, xin cam đoan:

Những nội dung trong báo cáo này là do bản thân em thực hiện dưới sự
hướng dẫn trực tiếp của thầy giáo hướng dẫnThS. Nguyễn Đức Bình.
Mọi tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên
công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ hoặc có bất kì thông tin sai lệch nào, em xin
chịu hoàn toàn trách nhiệm trước Hội Đồng và Nhà trường.

Thái nguyên, tháng 6 năm 2012
Sinh viên


Giáp Văn Trường

2


MỤC LỤC
LỜI CẢM ƠN............................................................................................................................1
LỜI CAM ĐOAN........................................................................................................................2

1. . Sơ qua tình hình nghiên cứu trong và ngoài nước...................................8
2. . Tính cấp thiết của đề tài...........................................................................8
3. . Mục tiêu của đề tài....................................................................................9
4. . Phương pháp và phạm vi nghiên cứu.......................................................9
CHƯƠNG 2 : NGÔN NGỮ LẬP TRÌNH OBJECTIVE C VÀ BỘ CÔNG CỤ HỖ TRỢ XCODE...........20
2.4 Bộ công cụ hỗ trợ lập trình Xcode...................................................................................32

2.4.3 Xcode...................................................................................................33
2.4.4Các mẫu ứng dụng..........................................................................................34
2.4.5Tổng quan về Xcode Project............................................................................35
2.4.6Thêm các Framework vào project...................................................................37

2.4.7 Iphone Simulator.................................................................................38
2.4.9 Instrument............................................................................................40
2.4.10 Xây dựng và cài đặt ứng dụng..........................................................41
2.5 Mô hình MVC ( Model-View-Controller )...........................................42
CHƯƠNG 3: ỨNG DỤNG QUẢN LÝ ĐẶT PHÒNG CHO KHÁCH SẠN INTERCONTINENTAL
HANOI WESTLAKE..................................................................................................................45
3.2Phân tích hệ thống............................................................................................................53
3.2.1Tác nhân..........................................................................................................53
3.2.2Đặc tả Use Case (Trường hợp)........................................................................56

3.3 Demo...............................................................................................................................85
KẾT LUẬN...............................................................................................................................87
TÀI LIỆU THAM KHẢO............................................................................................................89
PHỤ LỤC................................................................................................................................90

3


Phụ lục 1: File khai báo Booking Deluxe Westlake...................................90
Phụ lục 2: File thực thi form Booking Deluxe Westlake............................92

4


LỜI NÓI ĐẦU

Dưới sự hướng dẫn của thầy giáo ThS. Nguyễn Đức Bình qua một thời gian
nghiên cứu, tìm hiểu em đã hoàn thành bản báo cáo đồ án tốt nghiệp của mình.
Trong giới hạn bài báo cáo đồ án tốt nghiệp này, em có tìm hiểu về các vấn
đề sau:
+ Iphone, Hệ điều hành IOS và các Framework hỗ trợ cho lập trình ứng
dụng Iphone
+ Ngôn ngữ lập trình Objective C
+ Bộ công cụ lập trình với Objective C: Xcode
+ Phát triển ứng dụng Quản lý đặt phòng khách sạn trên Iphone
Một lần nữa, em xin chân thành cảm ơn thầy giáo ThS. Nguyễn Đức Bình,
các thầy cô trong khoa CNTT - Đại Học Công Nghệ Thông Tin và Truyền
Thông và các bạn đã giúp đỡ em hoàn thành báo cáo này.

Thái nguyên, tháng 6 năm 2012

Sinh viên thực hiện

Giáp Văn Trường

5


DANH MỤC HÌNH ẢNH

6


CÁC CHỮ VIẾT TẮT VÀ CÁC THUẬT NGỮ ĐƯỢC SỬ DỤNG

TLS

Kiểu bảo mật Transport Layer Security

SSL

Kiểu bảo mật Secure Sockets Layer

ALAC

Kiểu nén dữ liệu Apple Lossless

OpenAL

Công nghệ lai tạo âm thanh Open Audio Library


SDK

Gói phát triển phần mềm Software Development Kit

IDE

Mô hình phát triển tích hợp Intergrated Development
Environment

MVC

Mô hình Model – View – Controller

CMND

Chứng minh nhân dân

BPLT

Bộ phận Lễ tân

7


TỔNG QUAN

1.

. Sơ qua tình hình nghiên cứu trong và ngoài nước


Trong xu thế phát triển nhanh chóng của CNTT, lập trình ứng dụng cho
thiết bị di động không còn xa lạ với chúng ta. Tuy nhiên lập trình ứng dụng trên
hệ điều hành IOS (hay cụ thể là cho chiếc điện thoại Iphone ) lại là một hướng
đi khá mới mẻ với những lập trình viên ở Việt Nam nói chung và trên thế giới
nói riêng.
Ngày 17/10/2007, Tổng Giám đốc Apple, Steve Jobs, tuyên bố hãng này
sẵn sàng chào đón các hãng phần mềm thứ ba phát triển ứng dụng cho Iphone.
Đây là cú ngoặt lịch sử của Apple vì trước đó hãng này muốn kiểm soát những
gì người dùng có thể cài và chạy trên điện thoại Iphone. Đây cũng là cánh cở
mới mở rộng cho các nhà lập trình và phát triển phần mềm ứng dụng trên thiết
bị di dộng.
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, 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.
Ngày 31 tháng 5, 2011, App Store của Apple chứa khoảng 500.000 ứng dụng
IOS, và được tải về tổng cộng khoảng 15 tỷ lần. Trong quý 4 năm 2010, có
khoảng 26% điện thoại thông minh chạy hệ điều hành IOS, sau hệ điều
hành Android của Google và Symbian của Nokia.

2.

. Tính cấp thiết của đề tài

Sự bùng nổ và phát triển mạnh mẽ của công nghệ đã và đang khiến con
người khó có thể thiếu đi chiếc điện thoại của mình. Cùng với sự phát triển đó thì
những ứng dụng trên di động càng ngày càng trở nên cần thiết. Đặc biệt lập trình
ứng dụng trên Iphone (trên hệ điều hành IOS) là một không gian mới hay một
thử thách mới với những người lập trình bởi nó hoàn toàn xa lạ và có nhiều cơ
hội cho mọi người thử sức.
Phiên bản Iphone đầu tiên ra đời năm 2007. Bên cạnh tính năng của một

máy điện thoại thông thường (hoạt động trên băng tần GSM và EDGE), Iphone
còn được trang bị màn hình cảm ứng, máy chụp hình, khả năng chơi nhạc và
chiếu phim (tương tự iPod), trình duyệt web,… Phiên bản thứ hai là Iphone 3G ra
8


mắt tháng 7 năm 2008, được trang bị thêm hệ thống định vị toàn cầu (GPS),
mạng 3G tốc độ cao (HSPDA).
Iphone đã thành công, nổi lên trở thành chiếc điện thoại bán chạy nhất
mọi thời đại: Sau 2 năm, Iphone đã chiếm lĩnh tới 17% thị trường Smartphone,
và thậm chí có lúc bán được hơn 1 triệu chiếc chỉ trong 1 ngày. Và apple đã mở
cửa, tạo điều kiện để cho đội ngũ lập trình trên toàn thế giới có thể tham gia vào
thị trường cung cấp những ứng dụng cho Iphone. Apple sẽ chia lại cho các nhà
phát triển đến 70% doanh thu. Mức chia lợi nhuận này là cao nhất hiện nay trong
các chợ ứng dụng. Điều này lý giải một phần nguyên nhân tại sao bắt đầu có
nhiều người tham gia phát triển ứng dụng cho App Store.
Là sinh viên, khi thực hiện đề tài, tìm hiểu, nghiên cứu về lĩnh vực mới
này, em tin sẽ học hỏi được nhiều kiến thức mới, nhiều kinh nghiệm thiết thực
hơn và có thể áp dụng vào thực tế, đem lại hiệu quả trong công việc sau này.

3.

. Mục tiêu của đề tài

Qua thời gian thực hiện đề tài, em tin rằng sẽ nắm được những điểm quan
trọng trong hệ điều hành IOS, thu được nhiều kiến thức, kỹ năng và kinh
nghiệm trong việc lập trình ứng dụng trên thiết bị di động. Nắm được các yếu tố
nền tảng và phát triển được phần mềm ứng dụng Quản lý đặt phòng khách sạn
trên Iphone.


4.

. Phương pháp và phạm vi nghiên cứu

Giờ đây hệ điều hành Mac OS đã có thể chạy trên phần cứng (intel) tuy
nhiên nó là không phải là 100% chạy cho tất cả các máy tính intel. Chỉ một số
không nhiều các dòng máy có thể chạy thành công Mac OS. Nhờ đó mà người
lập trình có thể cài đặt Xcode và sử dụng object C. Đó chính là cách thức tiếp cận
với môi trường lập trình ứng dụng cho Iphone của em.
Phạm vi nghiên cứu:
- Nghiên cứu về hệ điều hành IOS.
- Nghiên cứu ngôn ngữ lập trình object C và bộ công cụ hỗ trợ Xcode.
- Nghiên cứu kỹ thuật lập trình trên thiết bị di động Iphone.
- Xây dựng các tính năng cơ bản cho ứng dụng: Đặt phòng khách sạn cho
khách sạn Intercontinental Hanoi Westlake.

9


CHƯƠNG 1: IPHONE VÀ HỆ ĐIỀU HÀNH IOS
1.1 Iphone và hệ điều hành iOS
1.1.1 Iphone
Iphone là mẫu điện thoại di động của hãng điện tử Mỹ Apple Computer.
Phiên bản Iphone đầu tiên ra đời năm 2007. Bên cạnh tính năng của một máy
điện thoại thông thường (hoạt động trên bốn băng tần GSM và EDGE), Iphone
còn được trang bị màn hình cảm ứng, máy chụp hình, khả năng chơi nhạc và
chiếu phim (tương tự iPod), trình duyệt web,... Phiên bản thứ hai là Iphone 3G ra
mắt tháng 7 năm 2008, được trang bị thêm hệ thống định vị toàn cầu (GPS),
mạng 3G tốc độ cao (HSDPA).
Iphone 3G S, phiên bản thứ ba, được công bố vào ngày 8 tháng 6 năm

2009. Ngày 19 tháng 6, phiên bản mới này đã được phân phối tại Mỹ, Canada và
một số nước châu Âu; ngày 26 tháng 6 có mặt tại Úc; sau đó, phiên bản quốc
tế của Iphone 3G S cũng được phát hành vào tháng 7 và tháng 8 năm 2009. Thay
đổi đáng kể nhất là trong phiên bản điện thoại mới này là Apple đã nâng cao hiệu
năng của máy (S trong 3G S là Speed - Tốc độ).Iphone 3G S được trang bịbộ vi
xử lý tốc độ 600 MHz (gấp gần 1,5 lần so với Iphone 3G), bộ nhớ trong lên đến
32 GB, máy ảnh số 3.15 Mp, tích hợp la bàn số và hàng loạt tính năng đáng giá
được nâng cấp khác như tốc độ Wi-Fi, thời gian dùng pin v.v...
Trước đó, ngày 17 tháng 3 năm 2009, Apple cũng đã thông báo phiên bản
3.0 của hệ điều hành cho Iphone (và iPod Touch) và đã được ra mắt chính thức
vào ngày 17 tháng 6 năm 2009.
Iphone 4 được thông bố ra đời tháng 6 năm 2010.Trong phiên bản này
Iphone đã được thiết kế lại, vuông vắt và có khía cạnh hơn. Về chức năng đáng
chú ý, Iphone 4 có chức năng quay phim HD, màn hình Rétina trong và nhuyễn
hơn gấp 4 so với các màn hình đời trước và chức năng FaceTime (gọi và thấy
người gọi qua Wi-Fi .
Kể từ khi ra đời, Iphone vẫn luôn làm điên đảo cả thế giới với thiết kế độc
đáo và con đường riêng màApple đã chọn.Thành công rực rỡ mà Iphone có được

10


điều khiến cả thế giới phải ngả mũ thán phục.Điểm lại những cột mốc lịch sử của
chiếc smartphone mang tính cách mạng này:
Ngày 9/1/2007: Steve Jobs vén tấm màn bí mật của Iphonephiên bản đầu
tiên tại Macworld 2007.
Ngày 5/9/2007: Apple quyết định ngừng sản xuất phiên bản 4GB.
Ngày 5/2/2008: Phiên bản 16GB chính thức ra đời và bước vào hàng ngũ
smartphone của Apple
Ngày 9/6/2008: Tại hội nghị WWĐƯợC, Apple đã giới thiệu Iphone 3G.

Ngày 10/7/2008: App Store chính thức mở cửa, với chỉ khoảng 500 ứng dụng.
Ngày 8/6/2009: Apple tung ra Iphone 3GS và giảm giá bản Iphone
3G xuống chỉ còn một nửa. App Store có 50.000 ứng dụng và trên 1 tỉ lượt
download.

Hình ảnh 1: Iphone 3GS

11


Ngày 17/6/2009: Apple tung ra IOS 3.0.
Ngày 19/6/2009: Iphone 3GS có mặt tại Mỹ, Canada và 6 quốc gia Châu Âu.
Ngày 26/6/2009: Iphone 3GS có mặt tại Nhật và Úc.
Ngày 4/11/2009: App Store chạm mốc 100.000 ứng dụng và trên 2 tỉ lượt
download.
Ngày 29/4/2010: Lượng ứng dụng tăng lên gấp đôi thành 200.000, trên 2.5
tỉ lượt download.
Ngày 7/6/2010: Apple giới thiệu Iphone 4.

Hình ảnh 2: Iphone 4 là một cuộc cách mạng mới trong giới công nghệ

Ngày 15/6/2010: Khách hàng có thể đặt mua Iphone 4.
Ngày 24/6/2010: Iphone 4 có mặt tại các nước Mỹ, Anh, Pháp, Đức và Nhật.

12


Hình ảnh 3: Biểu đồ thời gian phát triển của Iphone.

Hình ảnh 4: Lượng Iphone được bán ra trong 4 năm qua.

1.1.2 Hệ điều hành 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, 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. Ngày
31 tháng 5 năm 2011, App Store của Apple chứa khoảng 500 000 ứng dụng IOS,
và được tải về tổng cộng khoảng 15 tỷ lần.Trong quý 4 năm 2010, có khoảng
26% điện thoại thông minh chạy hệ điều hành IOS, sau hệ điều hà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ều hà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.
13


Hệ điều hà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 vào tháng 9 năm đó. Khi đó, hệ điều
hành này chưa có một cái tên riêng nên chỉ đơn giản là "Iphone chạy OS X". Ban
đầu, ứng dụng bên thứ ba không được hỗ trợ. Steve Job đã chỉ ra rằng những nhà
phát triển có thể xây dựng các ứng dụng web mà "sẽ cư xử như những ứng dụng ban
đầu trên Iphone". Vào ngày 17 tháng 10 năm 2007, Apple thông báo một bộ phát
triển phần mềm đang được xây dựng và họ dự định sẽ đưa nó đến "tay của các nhà
phát triển vào tháng 2". Ngày 6 tháng 3 năm 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ều hành, đó là "Iphone OS".
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ều hà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. - cite_note-ciscosuit-7

Hình ảnh 5: Lịch sử IOS và các thiết bị được hỗ trợ bởi IOS

1.2 Môi trường phát triển ứng dụng
14


1.2.1 Cấu trúc của hệ điều hành iOS
Apple không cho phép người dùng tiếp cận trực tiếp với bất kì phần cứng
nào của Iphone, mọi tương tác phần cứng phải thông qua một số lớp khác nhau
của phần mềm, hoạt động như một trung gian giữa các ứng dụng và thiết bị phần
cứng.Những lớp này được hiểu như là một hệ điều hành, cụ thể ở đây là hệ điều
hành IOS.
Mỗi lớp của hệ điều hành cung cấp một mức độ ngày càng cao của sự trừu
tượng hóa với sự phức tạp của cách làm việc với phần cứng.

Hình ảnh 6: Phân lớp trong hệ điều hành iOS.

15


1.2.2 Lớp Core OS( lớp nhân trong)
Là lớp dưới cùng của iOS, nó là nền tảng của hệ điều hành.Nó đảm nhiệm
các nhiệm vụ như quản lý bộ nhớ, file hệ thống, liên kết mạng và một số chức

năng khác, nó tác động trực tiếp tới phần cứng. Lớp Core OS bao gồm một số
thành phần như sau:
- CFNetwork Framework: Cung cấp một giao diện dựa trên C tới các lớp
giao thức mạng TCP/IP và truy cập mức thấp tới các socket BSD. Nó cho phép
mã ứng dụng được viết và làm việc với các dịch vụ HTTP, FTP và DNS, khởi tạo
bảo mật và mã hóa các kết nối sử dụng Secure Sockets Layer (SSL) hoặc
Transport Layer Security(TLS).
- External Accessory framework: Cung cấp khả năng kết nối với những phụ
kiện kết nối vật lý mở rộng tới Iphone thông qua 30-pin dock connector hoặc qua
Blutooth.
- Security Framework: Cung cấp các giao diện bảo mật khi chúng ta kết nối
tới mạng mở rộng bên ngoài như chứng thực, khóa công khai và khóa private, mã
hóa, và xác thực sử dụng hàm băm (HMAC).
- System (LibSystem): iOS được xây dựng dựa trên nền tảng UNIX, vì thế
những thành phần hệ thống của Core OS cung cấp nhiều chức năng giống với hệ
điều hành UNIX. Nó bào gồm nhân hệ điều hành (Mach Kernel) và các Driver
của các thiết bị. Nhân là nền tảng của toàn bộ iOS được xây dựng và cung cấp
giao diện mức thấp cho các phần cứng lớp nằm dưới. Nhân chịu trách nhiệm cấp
phát bộ nhớ, quản lý chu kỳ sống của tiến trình, đầu vào/đầu ra, liên lạc đa tiến
trình, quản lý luồng, kết nối mạng mức thấp quản lý luồng và truy cập hệ thống.

16


1.2.3 LớpCore Services (lớp nhân dịch vụ)
Lớp Core Services cung cấp các dịch vụ dựa trên nền tảng của lớp Core OS.
Nó cung cấp những truy cập cơ bản tới các dịch vụ của iOS và nó bao gồm các
thành phần sau:
- AddressBook Framework: Cung cấp truy cập có thứ tự tới cơ sở dữ liệu
về danh bạ của Iphone, cho phép các ứng dụng có thể lưu trữ và sửa đổi các mục

của danh bạ.
- Core Data Framework: Được cung cấp để dễ dàng tạo ra các mô hình dữ
liệu và lưu trữ trong các ứng dụng dựa trên Model-View-Controller(MVC). Sử
dụng Framework này giảm được số lượng mã cần phải viết để thực hiện những
công việc thông thường khi làm việc với cấu trúc dữ liệu trong ứng dụng.
- Core Foundation Framework: Cung cấp các thứ như kiểu dữ liệu, thao tác
trên chuỗi, quản lý khối dữ liệu có thứ tự, thao tác URL, các luồng và chạy các
vòng lặp, thời gian, thao tác XML cơ bản, các cổng và các kết nối socket.
- Foundation Framework: Là một Framework chuẩn của Objective-C. Nó
chứa những bao gói Objective-C xung quanh Core Foundation Framework.
- Core Location Framework: Cho phép bạn lấy được thông tin về vị trí hiện
thời của thiết bị và có khả năng định hướng. Phương thức dùng bởi thiết bị để
cung cấp tọa độ sẽ phụ thuộc trên dữ liệu có sẵn tại thời gian thông tin được yêu
cầu và phần cứng hỗ trợ được cung cung cấp bởi model Iphone cụ thể mà ứng
dụng chạy trên nó. Nó sẽ dựa trên việc phân tích GPS, dữ liệu mạng Wifi hoặc
phép đo tam giác cột thu phát sóng.
- Store Kit Framework: Mục đích của phần này là tạo sự dễ dàng trong việc
trao đổi thương mại giữa ứng dụng của bạn và Apple AppStore.
- SQLite library: Cho phép lưu trữ cơ sở dữ liệu nhỏ, SQL dựa trên cơ sở
dữ liệu để tạo và thao tác với những cơ sở dữ liệu bên trong ứng dụng.

1.2.4 LớpMedia Services (lớp liên kết)
17


Lớp Media Services của iOS cung cấp các khả năng về audio, video,
animation và graphics. Như các lớp khác trong ngăn xếp của iOS, lớp Media bao
gồm một số các Framework cái mà có thể được sử dụng trong những ứng dụng
Iphone:
- Core Graphics Framework: Cung cấp một máy dựng hai chiều nhẹ. Những

tính năng của Framework này bao gồm việc tạo và trình diễn những file PDF,
bản vẽ dựa trên Vector, các lớp trong suốt, đường dẫn dựa trên bản vẽ, thao tác
và quản lý màu sắc.
- Quartz Core Framework: Mục đích của Framework này là cung cấp khả
năng hoạt hình cho Iphone. Nó cung cấp nền tảng cho các hiệu ứng trực quan và
hoạt hình được sử dụng bởi Framework UIKit và cung cấp một giao diện lập
trình dựa trên Objective-C để tạo hoạt hình đặc biệt bên trong ứng dụng Iphone.
- OpenGL ES Framework: OpenGL for Embedded System(ES) là một
phiên bản nhỏ của OpenGL đầy đủ được thiết kế đặc biệt để dành cho các thiết bị
nhỏ như Iphone.
- Iphone Audio Support: cho phép iOS có khả năng hỗ trợ các định dạng
như AAC, Apple Lossless(ALAC), A-law,IMA/ADPCM, Linear PCM,
DVI/Intel IMA…
- AV Foundation Framework: Là một Framework được thiết kế cho phép
phát lại, ghi âm và quản lý nội dung của âm thanh.
- Core Audio Frameworks (CoreAudio.framework, Audio
Toolbox.framework và AudioUnit.framework): Cung cấp khả năng truy cập tới
các thiết bị được tích hợp trong các đơn vị xử lý âm thanh.
- Open Audio Library (OpenAL): OpenAL là một công nghệ nền tảng lai
tạo được sử dụng để cung cấp hiệu ứng âm thanh 3D chất lượng cao.
- Media Player Framework: Framework này có thể chạy các video trong các
định dạng .mov, .mp4, .m4v, .3gp tại một loạt các tiêu chuẩn nén, các độ phân
giải và các tốc độ khung hình.
18


1.2.5 Lớp Cocoa Touch (lớp tiếp xúc)
Lớp này nằm ở trên cùng trong ngăn xếp của iOS và chứa những
Framework cái mà được sử dụng thường xuyên bởi các lập trình viên Iphone.
Cocoa Touch dựa trên nền tảng chuẩn của Cocoa API của MAC OS X và có

phần mở rộng và sửa đổi để phù hợp với Iphone. Lớp Cocoa Touch cung cấp các
Framework cho việc phát triển ứng dụng Iphone như sau:
- UIKit Framework: Đây là một Framework khổng lồ và một giao diện lập
trình dựa trên Objective-C giàu tính năng. Bạn sẽ phải tốn nhiều thiều thời gian
làm việc để tìm hiểu về nó. Hầu hết các cuốn sách đều viết riêng về UIKit
Framework. Một số thành phần chính của UIKit là:
+ Quản lý và tạo giao diện người dùng ( text fields, buttons, labels, colors,
fonts…).
+ Quản lý chu kỳ sống của ứng dụng.
+ Điều khiển sự kiện ứng dụng (như chạm vào màn hình ứng dụng).
+ Các chức năng Cut, Copy, Paste.
+ Quản lý và trình diễn nội dung Web và văn bản.
+ Điều khiển dữ liệu.
+ Tích hợp nhiều ứng dụng.
+ Đưa ra thông báo.
+ Khả năng truy cập.
+ Bộ gia tốc, pin, cảm biến khoảng cách, camera và tương tác với thư viện
hình ảnh.
- Map Kit Framework: Cung cấp cho bạn một giao diện lập trình để cho
phép bạn xây dựng bản đồ dựa trên các ứng dụng riêng bản bạn. Nó cho phép
bạn hiển thị bản đồ có thể cuộn tới bất kỳ vị trí nào, hiển thị bản đồ tương ứng
với vị trí địa lý hiện tại của thiết bị và chú thích theo nhiều cách khác nhau.
19


- Push Notification Services: Cho phép những ứng dụng cảnh báo người
dùng về một sự kiện thậm chí khi ứng dụng hiện tại không được chạy trên thiết
bị. Nó rất phổ biến được sử dụng bởi các ứng dụng dựa trên tin tức. Thông
thường khi có tin tức mới th́ dịch vụ sẽ tạo ra một tin nhắn trên thiết bị với tiêu
để của tin tức và cung cấp cho người dùng tùy chọn để tải các ứng dụng tin tương

ứng để đọc thêm chi tiết. Tính năng này lên được sử dụng tiết kiệm để tránh gây
phiền hà cho người sử dụng vì thường xuyên gián đoạn.
- Message UI Framework: Cung cấp mọi thứ mà bạn cần để cho phép người
sử dụng gửi email từ trong ứng dụng của bạn. Trên thực tế nó còn cung cấp các
thành phần giao diện thông qua đó người dùng có thể nhập các thông tin địa chỉ
email và nội dung tin nhắn. Ngoài ra thông tin này có thể được xác định trước
bên trong ứng dụng của bạn và sau đó được hiển thị cho người sử dụng để chỉnh
sửa và phê duyệt trước khi gửi.
- Address Book UI Framework: Đưa ra chức năng chính cho Iphone như là
một thiết bị thông tin liên lạc và trợ giúp kỹ thuật số. Toàn bộ Framework là
giành riêng cho việc tích hợp các dữ liệu sổ địa chỉ vào trong ứng dụng riêng của
bạn. Cho phép bạn bạn truy cập vào, hiển thị, chỉnh sửa và nhập thông tin liên lạc
từ sổ địa chỉ của Iphone từ bên trong ứng dụng riêng của bạn.
Game Kit Framework: Cung cấp kết nối ngang hàng (peer-to-peer) và kết
nối giọng nói giữa nhiều thiết bị và cho phép nhiều người sử dụng chạy cùng một
ứng dụng để tương tác.

CHƯƠNG 2 : NGÔN NGỮ LẬP TRÌNH OBJECTIVE C VÀ BỘ
CÔNG CỤ HỖ TRỢ XCODE

Objective-C là ngôn ngữ lập trình hướng đối tượng.Nó thêm cách gửi
thông báo của ngôn ngữ Smalltalk vào ngôn ngữ C. Ngày nay Objective-C được
dùng như ngôn ngữ chính thức cho hệ điều hành Mac OS và iOS.
20


2.1 Lịch sử ngôn ngữ Objective-C
Objective-C đã được tạo ra chủ yếu bởi Brad Cox và Tom Love đầu
những năm 1980 tại Stepstone công ty nơi hai ông làm việc.Cả hai đã được giới
thiệu về Smalltalk trong trung tâm công nghệ lập trình của Tổng công ty ITT

năm 1981.Cox bị hấp dẫn bởi các vấn đề về sử dụng lại đúng trong thiết kế phần
mềm và lập trình.Ông nhận ra rằng một ngôn ngữ như Smalltalk sẽ là vô giá
trong xây dựng môi trường phát triển cho các nhà phát triển hệ thống.Cox đã bắt
đầu bằng cách thay đổi các trình biên dịch C để thêm một số tính năng của
Smalltalk. Ông đã nhanh chóng bổ sung một mở rộng hướng đối tượng cho ngôn
ngữ C.
Tom Love đã được thuê bởi Schlumberger nghiên cứu vào năm 1982 và
đã có cơ hội có được phiên bản thương mại đầu tiên của Smalltalk-80, điều này
thêm ảnh hưởng tới sự phát triển của đứa con tinh thần của họ.
Cuối cùng Tom Love và Brad Cox hình thành một liên doanh mới (PPI),
để thương mại hóa sản phẩm của họ, mà cùng một trình biên dịch Objective-C
với các lớp thư viện. Năm 1986, Cox công bố bản mô tả chính của Objective-C ở
dạng ban đầu của nó trong cuốn sách lập trình hướng đối tượng, một phương
pháp tiến hóa.Mặc dù ông đã cẩn thận chỉ ra rằng có nhiều thứ quan trọng cho
vấn đề tái sử dụng hơn so với ngôn ngữ lập trình.
Sau khi Steve Jobs bị buộc ra khỏi Apple, ông bắt đầu tại công ty mới
NeXT. Năm 1988, NeXT được cấp phép Objective-C từ StepStone và phát hành
trình biên dịch của Objective-C và thư viện của mình, theo đó người dùng sử
dụng giao diện và xây dựng dựa trên nền tảng NeXTSTEP. Trong khi các máy
trạm NeXT không tác động lớn trên thị trường thì các công cụ đã được ca ngợi
rộng rãi trong công nghiệp phần mềm.NeXT đã giảm sản xuất phần cứng và tập
trung vào các công cụ phần mềm, bán NeXTSTEP (và OpenStep) như là một nền
tảng cho các khách hàng lập trình.
Sau khi mua lại NeXT vào năm 1996, Apple Computer sử dụng OpenStep
trong hệ điều hành mới của mình, Mac OS X. Điều này bao gồm Objective-C và
21


Objecive của NeXT-phát triển công cụ dựa trên C, Dự án Builder (sau này được
thay thế bằng Xcode), cũng như công cụ thiết kế giao diện của nó Interface

Builder. Phần lớn Api Cocoa của Apple ngày nay có nền tảng là giao diện hướng
đối tượng OpenStep, và là môi trường Objective-C có ý nghĩa nhất đang được sử
dụng để phát triển.
2.2 Tổng quan về Objective-C
Objective-C được thiết kế để phục vụ mục đích lập trình hướng đối
tượng.Nó hoạt động giống như là một tập hợp các thành phần mở rộng rất mạnh
mẽ của ngôn ngữ C. Objective-C kết hợp các đặc điểm ưu tú nhất của C và ngôn
ngữ SmallTalk. Objective-C khá đơn giản để học và có đầy đủ các khả năng của
một ngôn ngữ lập trình hướng đối tượng.
Objective-C đơn giản và nhỏ gọn nhưng lại là một thành phần mở rộng rất
mạnh của ngôn ngữ chuẩn ANSI C. Objective-C cung cấp đầy đủ các khả năng
lập trình hướng đối tượng nhưng lại được thực thi theo cách khá đơn giản và dễ
dàng.
Hầu hết các ngôn ngữ lập trình hướng đối tượng cung cấp:
Một thư viện các Objects.
Các công cụ phát triển cần thiết
Hỗ trợ hướng đối tượng và các thư viện liên quan.
Objective-C cũng cung cấp đầy đủ các thành phần trên.Bạn có thể sử dụng
Objective-C để phát triển một phần mềm hoàn thiện.Apple đã chọn Objective-C
làm ngôn ngữ lập trình chính cho hệ thống máy Mac và Iphone.
Là ngôn ngữ hướng đối tượng nên Objective-C giải quyết các vấn đề lập
trình dựa trên khái niệm các Object. Nó bao gồm 3 phần:
-Interface:Interface của một lớp(class) thông thường được định nghĩa trong
file header với đuôi .h. Nó chính là phần khai báo của một lớp.

22


- Implementation:Mã nguồn của chương trình được viết trong phần
implementation của một lớp và được định nghĩa trong một file có đuôi .m. Đây là

nó phần định nghĩa của lớp.
- Instantiation:Sau khi khai báo và định nghĩa một lớp, chúng ta có thể thực
thể hóa lớp này bằng việc cấp phát bộ nhớ cho new object của lớp đó.
Tóm lại Objective-C là:
- Thành phần mở rộng của ngôn ngữ lập trình C.
- Là ngôn ngữ lập trình hướng đối tượng đơn giản nhưng mạnh mẽ.
- Là ngôn ngữ được Apple sử dụng để phát triển các ứng dụng cho hệ thống
máy Mac và Iphone.
Tại sao lại sử dụng Objective-C
Ngôn ngữ lập trình Objective-C được chọn cho Cocoa framework vì một số
lý do dưới đây:
- Nó là ngôn ngữ lập trình hướng đối tượng và các chức năng cung cấp bởi
Cocoa framework chỉ có thể được mang lại bởi các kỹ thuật hướng đối tượng.
- Nó là thành phần mở rộng của chuẩn ANSI C vì vậy các chương trình viết
bằng C của framework này sẽ không bị mất đi tính năng nào và người dùng được
hưởng các lợi thế của ngôn ngữ C.
- Với ngôn ngữ này, người dùng có thể lựa chọn cả lập trình hướng đối
tượng và lập trình thủ tục khi cần thiết.
- Nó đơn giản và dễ học bởi cú pháp của nó khá ngắn gọn nên nó giúp cho
lập trình viên đạt được hiệu quả mong muốn mà không gặp nhiều khó khăn.
- Nó rất năng động nếu so sánh với các ngôn ngữ mở rộng khác dựa trên C.
Trình biên dịch đóng một vai trò rất quan trọng trong việc bảo vệ thông tin liên
quan đến các đối tượng để sử dụng lúc run time.
- Nó là một ngôn ngữ mạnh bởi vì các quyết định có thể được đưa ra lúc
biên dịch sẽ được trì hoãn cho tới khi chương trình chạy.
23


-Sự năng động của Objective-C có hai lợi thế đáng kể:
+ Nó hỗ trợ ràng buộc động và mở tạo ra một cấu trúc đơn giản đối với

giao diện tương tác người dùng.
+ Nó cho phép phát triển các công cụ phát triển phức tạp. Một giao diện
cho hệ thống run time tạo điều kiện cho việc tiếp cận các thông tin lúc run time
giúp cho việc monitor ứng dụng viết bằng Objective-C.
2.3 Các yếu tố căn bản của Objective-C
2.3.1 Phương thức
- Cách khai báo phương thức trong Objective - C
Không tham số :<(kiểu trả về)>
Có tham số: <(kiểu trả về)> :<(kiểu)> :<(kiểu)> ;

- Lời gọi phương thức:
Không trả về: [<đối tượng> ];
[<đối tượng> :<(kiểu)> ];
[<đối tượng> :<(kiểu)> :<(kiểu)> ];

Trả về kết quả: = [<đối tượng> ];
= [<đối tượng> :<(kiểu)> :<(kiểu)> ];

2.3.2 Lớp và đối tượng
Objective-C sử dụng khái niệm Interface và Implementation để phân biêt
file Header và file Source của C (*.h và *.c) một lớp trong Objective-C định
nghĩa là trên một giao diện (.h) còn phần thực thi trên file .m các bạn chú ý là m
vì nó khác với C và C++.

24


Ví Dụ:
Giao diện:
@interface:

#import @interface Fraction: NSObject {
int numerator;
@private
int denominator;
}
(void) print;
(void) setNumerator: (int) n;
(void) setDenominator: (int) d;
(int) numerator;
(int) denominator;
@end
Phần thực thi:
@implementation
#import "Fraction.h"
@implementation Fraction
(void) print {
printf( "%i/%i", numerator, denominator );
}
(void) setNumerator: (int) n {
numerator = n;
25


×