1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh

97 533 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 5,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh

Trang 1

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

-NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Khóa luận đáp ứng yêu cầu của luận văn cử nhân tin học

Tp.HCM, ngày …… tháng …… năm 2016

Giáo viên hướng dẫn

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Khóa luận đáp ứng yêu cầu của luận văn cử nhân tin học

Tp.HCM, ngày …… tháng …… năm 2016

Giáo viên phản biện

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quảnêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trìnhnào khác

Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này

đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc

Sinh viên thực hiện Luận văn

Em cũng xin gửi lời cảm ơn sâu sắc và chân thành đến các quý Thầy Cô trong KhoaCông nghệ thông tin đã tận tình hướng dẫn, giảng dạy em trong suốt 4 năm học vừaqua, đó là nguồn kiến thức vô cùng quý báu để chúng em có thể tự tin bắt tay vào thựchiện đề tài này

Trang 5

Cuối cùng, em muốn gửi lòng biết ơn sâu sắc tới gia đình và bạn bè đã ủng hộ em trongsuốt con đường học tập đại học, là nguồn động viên về mặt tinh thần cũng như vật chấtđể em có thể vượt qua những khó khăn trong học tập và trong quá trình làm luận văn.

Và riêng đối với chính mình, em cũng đã cố gắng hết sức khả năng của mình để hoànthành thật tốt luận văn đã được đề ra Tuy vậy, do còn thiếu kinh nghiệm thực tế nênkhi làm luận văn cũng không tránh nhiều sai sót, chúng em kính mong nhận được ýkiến đóng góp từ quý thầy cô và bạn bè

Thành phố Hồ Chí Minh, ngày 04 tháng 07 năm 2016

Sinh Viên

Trang 6

TÓM TẮT KHÓA LUẬN

Ngày nay, Công nghệ thông tin (CNTT) đã chứng tỏ ưu thế và dần trở thành một phương tiện, một công cụ không thể thiếu được với sự phát triển mọi nghành nghề trong xã hội Trong những năm qua, nhiều nghành đã từng bước ứng dụng CNTT vào lĩnh vực chuyên môn và đã đạt được những kết quả đáng khích lệ

Khóa luận này nhằm mục đích phát triển ứng dụng học và thi tiếng anh online nhằm đơn giản hoá việc học tiếng anh cho người dùng trên thiết bị di động và máy tínhbảng

Khóa luận gồm các chương chính:

 Chương 1: Tổng quan đề tài

 Chương 2: Khảo sát hiện trạng

 Chương 3: Giới thiệu ngôn ngữ Swift

 Chương 4: Mô tả ứng dụng

 Chương 5: Thiết kế giao diện và cài đặt phân hệ client

 Chương 6: Tổng kết và kết luận

 Chương 7: Danh mục tham khảo

Trang 7

MỤC LỤC

Trang 8

DANH SÁCH CÁC HÌNH ẢNH

Trang 10

KÝ HIỆU, VIẾT TẮT THUẬT NGỮ

1 Client Hệ thống các máy trạm của cơ quan chức năng

2 Smartphone Thiết bị di động thông minh

3 iOS một hệ điều hành trên thiết bị di động

Trang 11

Chương 1 TỔ

NG QUAN

ĐỀ TÀI

1.1 Lý do chọn đề tài

Trong cuộc sống chúng ta tiếng Anh là một ngôn ngữ rất quan trọng Khi ta làm việc bất cứ chuyên ngành nào cũng phải dùng tiếng anh Chúng ta cần tiếng Anh để có thể giao tiếp với khách hàng cũng như đọc tài liệu Do đó, em đã quyết định chọn đề tàiTìm hiểu ngôn ngữ Swift và xây dựng ứng dụng học, thi thử tiếng anh trên iOS để mọi người có thể dễ dàng hơn trong việc học Anh văn ở bất cứ nơi đâu chỉ với một chiếc smart phone Ngoài ra APP cũng cung cấp cho người dùng thi thử các bài thi mẫu của TOEIC, IELS mang lại lợi ích vô cùng to lớn cho việc học anh văn Ngoài ra, việc xây dựng ứng dụng có thể cung cấp các ứng dụng tiện ích cho cộng đồng và góp phần vào

sự phát triển của các thiết bị thông minh

1.2 Mục đích của đề tài

Mục đích của đề tài là tìm hiểu công nghệ Swift, xây dựng ứng dụng học và thi tiếng Anh để mọi người có thể cải thiện kỹ năng tiếng anh một cách hiệu quả Thao tác đơn giản trên APP

1.3 Đối tượng hướng đến trong đề tài

Đối tượng hướng đến trong đề tài là những người sử dụng các thiết bị iOS có nhu cầu học tiếng Anh, và thi thử các đề tiếng Anh mẫu

Trang 12

1.4 Phạm vi nghiên cứu

Phạm vi nghiên cứu của đề tài là tìm hiểu ngôn ngữ Swift cũng như các Kỹ thuật và Công nghệ lập trình trên thiết bị iOS, làm việc với hệ thống Client-Sever, các thao tác trên WebSever

Trang 13

Chương 2 KH

ẢO SÁT HIỆN TRẠNG 2.1 Hiện trạng thị phần sử dụng Smartphone nói chung

2.1.1 Tổng quan chung

Android và iOS chiếm 95,7% tổng số smartphone được giao trong Q4/2015, chiếm93,8% trong cả năm So với hồi quý 3/2015 thì thị phần của bộ đôi hệ điều hành diđộng này đã tăng trưởng 4,5% và tăng 6,1% so với một năm trước đó IDC trước đâycũng cho biết rằng tổng lượng smartphone được giao đã lần đầu tiên cán mốc 1 tỉ máytrong năm 2015

Hình 2-1 Biểu tượng của Apple và Android

2014 và hiện đang chiếm thị phần lớn nhất: 78,1% iOS xếp hạng thứ hai với 51 triệuđơn vị được chuyển giao, tăng 6,7% so với năm trước đó và đang giữ thị phần 17,6%.Theo sau là Windows Phone với 8,8 triệu máy được giao trong ba tháng cuối năm

2015, tăng 46,7% so với năm 2014 và có thị phần 3%

Trang 14

Hình 2-2 Bảng số liệu thị phần Smartphone trên thế giới

Năm 2015, Windows Phone ghi nhận mức tăng trưởng mạnh nhất với 46,7% trong giai đoạn Q3 - Q4/2015 và tăng đến 90,9% so với cả năm 2014 Nokia dẫn đầu toàn thị trường này với thị phần 89,3% Trong khi đó, BlackBerry thì đứng hạng 4 với chỉ 1,7 triệu chiếc điện thoại được giao, giảm mạnh 77% so với một năm về trước và

có thị phần hết sức nhỏ bé: 0,6% Đây là OS di động duy nhất ghi nhận mức giảm thịphần, và BlackBerry 7 vẫn đang vượt trội hơn so với BlackBerry 10

Hình 2-3 Thiết kế của màn hình Window phone

Trang 15

BlackBerry bị trượt mất vị trí thứ 3 (giảm từ 6,4% xuống còn 2,9%) Nhưng dù sao chúng ta vẫn có tin tốt lành đến từ dâu đen, khi các sản phẩm mới chạy nền tảng

OS 10 tiêu thụ hết 1 triệu chiếc smartphone trong đầu năm 2015.Tuy nhiên, phần lớn các thiết bị di động của BlackBerry bán ra trong quý đầu đều là các mô hình OS 7

Hình 2-4 Top 4 hệ điều hành dành cho di động

Nền tảng Linux chỉ chiếm 1% trên tổng số thị phần (giảm 2,1%), nhưng khả năng trong khoảng thời gian đến, các con số sẽ được cải thiến bởi loạt nền tảng mới được ra mắt như Tizen, Mozilla, SailFish và Ubuntu Cuối cùng, thị phần nền tảng già côi Symbian sụt giảm chỉ còn 0,6% Tuy vậy, IDC vẫn mong đợi các nền tảng sơ khai trước đây vẫn có thể tồn tại đến năm 2015

Số lượng trong quý I/2015

Tỉ lệ % trong quý

Tỉ lệ tăng trưởng sau

1 năm

Trang 16

I/2016 I/2015 Samsun

Total 334.9(triệu,chiếc) 100.0% 334.4(triệu chiếc) 100.0% 0.2%

Bảng 0-1 Bảng số liệu máy giao trong năm 2016

2.1.2 Thị phần thiết bị sử dụng HĐH iOS

Hình 2-5 Thị phần các thiết bị iOS

Trang 17

Theo số liệu thống kê được Apple công bố đầu 4/2016, có 87% người dùng đã nângcấp hệ điều hành iOS 9, iOS 8 chiếm 11% và chỉ 2% sử dụng phiên bản thấp hơniOS đang thể hiện ưu thế trong việc chống phân mảng so với hệ điều hành Android.Thống kê cho thấy, phần lớn người dùng đang sử dụng phiên bản Android 4.1 JellyBean trong khi đó, phiên bản mới nhất 4.4 KitKat chỉ đạt 5,3% Quan trọng hơn,Android KitKat được giới thiệu với khả năng tối ưu hóa cho các thiết bị cấu hình thấp,tuy nhiên hầu hết những máy cao cấp mới nhận được bản nâng cấp này

Hình 2-6 Thống kê thị phần Android

Số lượng thiết bị iOS tăng 73% trong tổng số thiết bị được kích hoạt quý bốn, tăng72% trong quý ba và 69% trong quý hai của năm 2015 Android có sự sụt giảm nhẹ khi

số lượng thiết bị kích hoạt giảm 1% trong quý cuối năm, chiếm 26% tổng số thiết bịkích hoạt

Trang 18

Hình 2-7 Thống kê thị phần Máy tính Bảng

Trong các thiết bị iOS của Apple, iPhone vẫn là sản phẩm được lựa chọn nhiều nhấtchiếm 54% số máy kích hoạt, iPad chiếm 19% Tính riêng máy tính bảng dành chodoanh nghiệp, iPad áp đảo hoàn toàn khi chiếm tới 91, 4% lượng máy kích hoạt trongquý cuối năm 2015

2.2 Hiện trạng sử dụng các ứng dụng tiếng anh hiện nay

Hình 2-8 Biểu tượng của iOS

Trang 19

[3] Hiện nay, hệ điều hành iOS đã và đang phát triển lớn mạnh, với tốc độ tăng trưởng thật ấn tượng, hàng loạt kho ứng dụng iOS “mọc lên như nấm” Tương tự tại Việt Nam, hệ điều hành iOS đã là nguồn cảm hứng để những người Việt quảng bá với thế giới về hình ảnh chợ ứng dụng iOS không chỉ đa dạng, mà còn mang "chất Việt".

Theo Tổng cục Thống kê Việt Nam, tính đến 6 tháng đầu năm nay số thuê bao di động đang hoạt động tại Việt Nam đạt 120,7 triệu, một thị trường đầy tiềm năng phát triển cho các nền tảng di động Xu hướng sử dụng điện thoại thông minh (Smartphone), máytính bảng (tablet) đang nở rộ, giá sản phẩm cũng giảm nhiều tạo sức hút trên thị trường.Thiết bị di động dùng iOS đã tạo được bước đi khá vững chắc tại thị trường Việt Nam trong hai năm trở lại đây

Tính đến cuối tháng 6-2015, chợ ứng dụng Appstore hiện có hơn 1.000.000 ứng dụng (app) Số lượng ứng dụng hay và chất lượng tại đây tăng nhanh môi ngày

Hình 2-9 Learning English

Với đặc thù hệ điều hành mã nguồn mở và tự do khám phá nên hệ điều hành

iOS(Swift) là điểm nhấn của nhiều bạn trẻ khi bước vào con đường lập trình viên di động Điều này đã đưa các lập trình viên và iOS lại gần nhau hơn Tuy vậy, với số lượng người tham gia lập trình, số ứng dụng tung ra quá lớn, khâu kiểm duyệt sản phẩm của Appstore lại "rất thoáng", khiến tỉ lệ các ứng dụng độc hại trên Appstore cao hơn nhiều so với Google Play (kho ứng dụng dành cho hệ điều hành Android)

Trang 20

Theo khảo sát cơ bản, hiện có nhiều website chia sẻ thông tin và ứng dụng iOS tại Việt Nam nhưng chất lượng của các nội dung chia sẻ vẫn còn là dấu hỏi, theo dạng "có bị gìthì ráng mà chịu" Nhiều chuyên gia bảo mật lên tiếng cảnh báo những nơi chia sẻ không chính thức ngoài Appstore hay các chợ ứng dụng uy tín có thể là nơi tội phạm mạng lợi dụng phát tán các ứng dụng độc hại, ứng dụng quảng cáo giả mạo đánh lừa người dùng Do đó, cần hết sức cảnh giác khi cài đặt các ứng dụng từ nguồn lạ, đáng nghi hay không có nhiều đánh giá cao từ cộng đồng sử dụng.

Vấn đề tác quyền cũng là một trong những điều rất đáng lo ngại khi bước vào một sân chơi mang tầm quốc tế Thống kê sơ bộ của Nhịp Sống Số cho thấy khá nhiều ứng dụng Việt thuộc lĩnh vực đọc sách/ truyện được phát triển bởi các nhóm hay công ty với số lượng tải rất lớn trên Appstore vẫn "làm ngơ" với bản quyền nội dung mà họ tích hợp vào sản phẩm Cụ thể, các ứng dụng mang nội dung văn học đã tùy tiện tích hợp toàn bộ nội dung tiểu thuyết, sách điện tử (ebook) đang hút khách trên thị

trường mà không thông qua bản quyền với các nhà xuất bản Nhiều người dùng còn bị đánh lừa khi một số ứng dụng cố tình lập lờ tên gọi hay logo trùng lặp với các đơn vị

uy tín nhằm thu hút lượt khách tải về

Trang 21

Chương 3 GIỚ

I THIỆU NGÔN NGỮ

SWIFT 3.1 Giới thiệu chung

Hình 3-5 Biểu tượng của Swift

Swift là một ngôn ngữ lập trình hướng đối tượng của Apple dành cho việc phát triểniOS và OS X, được giới thiệu bởi Apple tại hội nghị WWDC 2014.Swift được mongđợi sẽ tồn tại song song cùng Objective-C, ngôn ngữ lập trình hiện tại dành cho các hệđiều hành của Apple.Swift được thiết kế là một ngôn ngữ có khả năng phòng chống lôicao Nó được biên dịch với trình biên dịch LLVM

- Được xem như một phần của Xcode 6.x IDE (hiện đang được Apple phát hànhdưới Xcode 7 dạng beta), Swift cũng là một ngôn ngữ cho giao diện lập trìnhCocoa và Cocoa Touch cho hệ điều hành OS X cho máy tính và iOS cho diđộng.

- Swift là một ngôn ngữ lập trình hoàn toàn mới có thể giúp quá trình phát triển

Trang 22

ứng dụng trở nên dễ dàng hơn, nhanh hơn và ổn định hơn, tất cả nhằm tạo ranhững sản phẩm ứng dụng cho người dùng cuối tốt hết mức có thể

3.1.1 Đặc điểm

3.1.1.1 Cấu trúc ngôn ngữ bậc cao: đơn giản, chính xác

Các ngôn ngữ dạng script như Python rất dễ viết và test (kiểm thử), song chúng khôngmạnh mẽ và cũng không đủ nhanh để thực hiện các tác vụ phức tạp của ứng dụng Nóicách khác, Python không thực sự phù hợp để viết các game nặng, vốn có yêu cầu phảitận dụng tối đa sức mạnh của thiết bị Các ngôn ngữ lập trình truyền thống (ví dụ nhưObjective-C) mang tới hiệu năng khi chạy trên iPhone/iPad, cho phép tạo ra các ứngdụng phức tạp như iMovie hoặc Call of Duty Song, việc sử dụng Objective-C thường

đi kèm với một lượng lớn thời gian compile và test ứng dụng Việc học cách viếtObjective-C cũng là một quá trình dài, có thể gây khó khăn với các lập trình viên ítkinh nghiệm

Nếu thực hiện được tất cả các lời hứa của Apple, Swift sẽ mang tất cả các điểm mạnhcủa cả 2 loại ngôn ngữ script và compile truyền thống Trong một số thử nghiệmbenchmark, Swift cho hiệu năng nhanh hơn Python và thậm chí là nhanh hơn cảObjective-C Trên bộ IDE (phần mềm lập trình) Xcode của Apple, mã nguồn Swift sẽđược đồ thị hóa dựa trên tính năng playground theo thời gian thực Điều này có nghĩarằng lập trình viên có thể chạy và test mã nguồn Swift một cách dễ dàng không kém gìPython cả

Trang 23

3.1.1.2 Những lợi ích của Swift

Hình 3-6 Biểu tượng của Swift

- Khả năng phát triển ứng dụng di động và kiểm tra thành quả của mình theo thờigian thực sẽ giúp cho quá trình code của các lập trình viên trở nên nhanh và dễdàng hơn rất nhiều Ngoài ra, việc không phải chạy chương trình compiler vàcác chương trình test quá thường xuyên cũng sẽ tiết kiệm được sức mạnh phầncứng cho nhà phát triển Thay vì tập trung kiểm tra, thử nghiệm các tính năngnhỏ lẻ, lập trình viên Swift có thể dành nhiều thời gian để thực hiện các bài test

ở mức độ tích hợp cao hơn một cách kỹ càng hơn

- Lợi ích thứ 2 của Swift là các dòng code rất ngắn và dễ đọc Trong bài trình bàycủa Apple, 3 dòng code Objective C có thể gói gọn vào 1 dòng code Swift Điềunày sẽ đẩy nhanh quá trình phát triển ứng dụng và tăng hiệu quả cho quá trìnhbảo trì/vá lôi trong tương lai

- Việc lập trình với Swift cũng trực quan hơn nhờ phương thức sắp xếp hợp lý ởgiao diện sử dụng và kiểu hiển thị kết quả theo thời gian thực trong X CodeRuntime Tức trong lúc viết mã, kết quả sẽ ngay lập tức hiện ra để tiện việcchỉnh sửa và hình ảnh cũng có thể xem ngay từ bên trong IDE Ngoài ra, XCode cũng sẽ dựng các kịch bản thực hiện trong các ứng dụng, tính năng này

Trang 24

giúp lập trình viên có thể quản lý ứng dụng khỏi bị sự cố tràn bộ nhớ

- Cuối cùng và có lẽ là quan trọng nhất, nếu Swift tạo ra các ứng dụng có sức épphần cứng thấp hơn Objective-C, chúng ta sẽ được tận hưởng trải nghiệm game

ấn tượng hơn trên các thiết bị iOS Khi kết hợp Swift cùng nền tảng Metal mớicủa Apple, ngay cả vi xử lý A7 cũ kỹ cũng có thể mang tới những trải nghiệm

đồ họa ấn tượng nhất

3.1.1.3 Điểm yếu của Swift

- Điểm yếu lớn nhất của Swift sẽ là tuổi đời quá trẻ của ngôn ngữ lập trình này

- Các nhà phát triển sẽ phải học lại một ngôn ngữ lập trình hoàn toàn mới

- Các nhà phát triển ứng dụng iOS sẽ mất một khoảng thời gian đáng kể để làmchủ ngôn ngữ mới của Apple

- Giảm tốc độ phát triển của hệ sinh thái ứng dụng Apple

- Một mối lo ngại khác có thể kể đến là các ứng dụng rác Do Swift sẽ giúp quátrình phát triển ứng dụng trở nên dễ dàng hơn trước đây rất nhiều, số lượng ứngdụng chất lượng kém xuất hiện trên gian hàng App Store có thể sẽ ra tăng Song,đây cũng không hẳn là một mối lo ngại thực sự cho Apple và người dùng củaQuả táo Trải qua giai đoạn chuyển tiếp này, Swift sẽ giúp mang các ứng dụngiOS và Mac lên một tầm cao mới

3.2 Một số cú pháp cơ bản trong Swift

3.2.1 Quy tắc đặt tên

- Ngôn ngữ swift có phân biệt hoa thường

- Tên biến không có dấu tiếng việt

- Tên biến không có khoảng trắng

- Tên biến không được bắt đầu bằng số

- Tên biến không được có ký tự đặc biệt ngoài dấu _

Trang 25

- Tên biến không được đăt trùng với từ khoá ngôn ngữ (func, int , if , static)

3.2.2 Kiểu dữ liệu trong Swift

Kiểu dữ liệu sẽ giúp trình biên dịch xác định được loại dữ liệu (số nguyên, số thực,chuôi, ) mà chúng ta muốn lưu trữ là gì từ đó sẽ cấp phát lượng bộ nhớ tương ứng vớiloại dữ liệu mà chúng ta cần lưu trữ Swift hô trợ các kiểu dữ liệu cơ bản như sau:

- Int, String, Float, Bool, Array, Dictionary, Binary, Octal, Hexadecimal

3.2.4 Từ khoá thông dụng trong Swift

- Class: Khai báo class

- Func: Khai báo hàm

- Protocol: Khai báo protocol

- Private: Giới hạn phạm vi trong lớp mà biến thể hiện được khai báo

- Protected: Giới hạn phạm vi trong lớp và lớp con kế thừa mà biến thể hiện được khai báo

- Public: Không giới hạn phạm vi truy xuất

- Selector: Trả về một selector đã được biên dịch mà được định nghĩa thông qua tên phương thức

Trang 26

3.2.5 Khai báo biến trong Swift

Hình 3-0 Khai báo biến không cần gán thuộc tính

Hình 3-7 Khai báo biến gán thuộc tính,do “hang” là hằng nên sẽ bị lỗi

- Bạn có thể sử dụng bất kỳ ký tự nào bạn thích để đặt tên cho biến và hằng, baogồm cả những ký tự Unicode

- Phần kiểu dữ liệu [type] trong câu lệnh khai báo biến, hằng có thể có hoặckhông, nếu bạn không khai báo kiểu dữ liệu thì swift sẽ tự động xác định kiểu

dự liệu cho biết đó tại thời điểm biên dịch chương trình

- Giá trị không tự đổng chuyển sang 1 kiểu dữ liệu khác Nếu bạn bạn muốnchuyển đổi kiểu dữ liệu của 1 giá trị nào đó thì bản phải viết chính sát thể hiệncủa kiểu dữ liệu đó

Trang 27

3.2.6 Chuyển kiểu dữ liệu

Hình 3-8 Chuyển dữ liệu bất kỳ sang String

- Có 1 cách đơn giản hơn để chuyển đổi kiểu dữ liệu sáng String đó là viết giá trịcủa biết đó và trong dấu "\()"

3.2.7 Array, Dictionary

Hình 3-9 Khai báo array và cách sử dụng

- Tạo mảng array và dictionary bằng cách sử dụng dấu ngoặc vuông , việc truy cập từng phần tử của nó ta chỉ cần ghi vị trí và key vào dấu ngoặc vuông

- Để tạo mảng rông ta dung cú pháp:

Hình 3-10 Khai báo array rỗng

Các hàm xử lý thao tác mảng cơ bản :

Trang 28

- Append (Thêm một phần tử vào mảng)

- count (Đếm số phần tử trong mảng)

- first (Lấy phần tử đầu tiên trong mảng)

- last (Lấy phần tử cuối cung trong mảng)

- removeAll (Xoá tất cả phần tử trong mảng)

- removeAtIndex (Xoá phần tử tại vị trí index)

- ……

Các hàm xử lý thao tác Dictionary cơ bản:

- updateValue (cập nhật giá trị theo key)

- removeValue (xoá value đó ra khỏi dictionary)

- key (Lấy mảng key của dictionary)

- value (Lấy mảng value của dictionary)

3.2.8 Chuỗi

Cách khai báo: var s: String = “Hello World”

Các hàm xử lý chuôi với String:

- Lengh : độ dài của chuôi (s)

- Character[index] ( Lấy vị trí từng chữ cái)

- ComponentsSeparatedByString(Cắt chuôi thành mảng)

- SubstringFromIndex ( Cắt chuôi từ vị trí index đến cuối)

- SubstringtoIndex (Cắt chuôi từ vị trí index đến đầu)

- rangeOfString: Tìm xem có chuôi nào tồn tại trong chuôi cho trước không

- stringByReplacingOccurrencesOfString: thay thế ký tự thành 1 ký tự cho trước

- compare : so sánh 2 chuôi

3.2.9 Kiểm tra kiểu dữ liệu

Những phương thức dưới đây sẽ kiểm tra kiểu:

Trang 29

- isKindOfClass: đối tượng là hậu duệ hoặc thể hiện class ấy

- is: Kiểm tra có phải đối tương lớp đó k

- performSelector: gọi chính sách selector trên đối tượng

Hình 3-11 Chuyển dữ liệu bất kỳ sang String

3.2.10 Ép kiểu dữ liệu

Hình 3-12 Chuyển dữ liệu bất kỳ sang String

3.2.11 Khai báo vòng lặp,câu điều kiện

- Sử dụng if à switch dùng cho câu điều kiện, và sử dụng for-in, for, while và repeat-while để làm vòng lặp

Trang 30

Hình 3-13 Khai báo vòng lặp while

- Trong câu điều kiện phải bắt buộc biểu thức dạng Boolean, nghĩa là trong if luôn luôn giá trị true hoặc false (vd: if index {} sẽ là lôi vì không có so sánh)

Hình 3-14 Khai báo vòng lặp for và câu điều kiện

- Có thể sử dụng if và let cùng nhau để tránh giá trị nil

- Một giá trị optional (giá trị có dấu chấm hỏi) là một giá trị có thể chứa giá trị và

có thể không có giá trị (nil) Việc ghi dấu ? sau kiểu dữ liệu được xem làoptional

Trang 31

Hình 3-15 Khai báo vòng lặp và câu điều kiện

- Switch – case hô trợ bất kỳ kiểu dữ liệu nào và mở rộng việc so sánh giá trị,nó không giới hạn kiểu int và so sánh bằng

Hình 3-16 Khai báo switch case

Trang 32

3.2.12 Hàm và Class , Object

- Sử dụng “func” để khai báo hàm Gọi hàm theo tên mình đã đặt với các tham số truyền vào Sử dụng “->” + kiểu dữ liệu để xác định kiểu trả về

Hình 3-17 Khai báo hàm

- Tạo class với tên class đứng sau “class” được bao trong {}.những giá trị được khai báo trong class cũng tương tự như trên,hàm cũng vậy

Hình 3-18 Khai báo class

Trang 33

Hình 3-19 Khởi tạo class

Việc khởi tạo 1 class cũng tương tự như 1 hàm Tên class + giá trị truyền vào Gọithuộc tính, hàm bằng dấu chấm quen thuộc như mọi ngôn ngữ khác

Hình 3-20 Khai báo class , khời tạo có tham số

từ khóa thì mặc định là required

Protocol được sử dụng trong các trường hợp:

o Khai báo các method dự kiến sẽ được thực thi

o Khai báo một interface cho một object trong khi ẩn đi class của nó

o Khảo sát tương đồng giữa các class mà không liên quan đến cấu trúc thứ

Trang 34

Model-View-Controller là design pattern quan trọng nhất

Model-View-Controller là một design pattern ứng dụng trong quá trình phát triển cácứng dụng iOS mà theo đó các đối tượng được tạo ra sẽ gán cho một trong ba nhóm vaitrò sau: model, view hoặc controller

Trang 35

Hình 3-22 Model – View – View Controller

MVC là trung tâm của một thiết kế tốt cho một ứng dụng Những lợi ích của việc ápdụng mô hình này là rất nhiều Trong ứng dụng, có nhiều đối tượng có xu hướng có thểtái sử dụng lại và giao diện Các ứng dụng xây dựng theo thiết kế MVC cũng dễ dàng

mở rộng hơn so với các ứng dụng khác Hơn thế nữa rất nhiều công nghệ và kiến trúccủa ứng dụng đều dựa trên mô hình MVC

MVC kiểm soát luồng như sau:

- Controller xử lý các sự kiện đầu vào từ các giao diện người dùng, và chuyển đổicác sự kiện vào một hành động sử dụng thích hợp, có thể hiểu đây là Model

- Model quản lý hành vi và dữ liệu của miền ứng dụng, đáp ứng yêu cầu thông tinvề trạng thái (thường là từ View), và đáp ứng các hướng dẫn để thay đổi trạngthái (thường là từ View Controller) Trong hệ thống điều khiển sự kiện, Modelthông báo cho các bộ quan sát (thường là các View) khi thông tin thay đổi họ cóthể phản ứng

- View làm cho Model thành một hình thức thích hợp cho tương tác, thường làmột phần tử giao diện người dùng Nhiều View có thể tồn tại một Model duynhất cho những mục đích khác nhau Một khung nhìn thường có một sự tươngứng 1-1 với một bề mặt hiển thị và biết cách làm thế nào để diễn tả cho nó

Trang 36

chúng ta được khởi động bởi người dùng cho tới thời điểm ứng dụng kết thúc,UIKit framework quản lý rất nhiều hành vi cơ bản của ứng dụng Trái tim củaứng dụng là đối tượng UIApplication mà nhận được các sự kiện từ hệ thống vàchuyển chúng tới các đoạn mã của chúng ta để xử lý Để hiểu các đối tượngUIKit làm việc như thế nào với mã tùy chỉnh của chúng ta, chúng ta hãy tìmhiểu một chút về các đối tượng làm việc cho ứng dụng iOS Minh hoạ sau đây

sẽ biểu diễn các đối tượng thông dụng nhất trong ứng dụng iOS:

Hình 3-23 Đối tượng thông dụng trong iOS

- Controller nhận dữ liệu của người dùng nhập vào, khởi tạo một phản ứng bằng

Trang 37

cách gọi các đối tượng Model Controller chấp nhận đầu vào từ người sử dụng vàchỉ thị Model và Model và khung nhìn để thực hiện hành động dựa trên đầu vào.Một vào ứng dụng MVC có thể là một tập hợp của nhóm ba Model/View/Controller,môi phần chịu trách nhiệm cho một yếu tố giao diện người dùng khác nhau Modelkhông nhất thiết chỉ đơn thuần là một cơ sở dữ liệu Model trong MVC cũng là cả dữliệu và vấn đề phạm vi logic cần thiết để thao tác dữ liệu trong ứng dụng Nhiều ứngdụng sử dụng một cơ chế lưu trữ liên tục, chẳng hạn như là một cơ sở dữ liệu để lưu trữdữ liệu MVC không đề cập cụ thể đến các lớp truy cập dữ liệu bởi vì nó đã hiểu ở lớpbên dưới hoặc được đóng gói bởi Model

3.4 Một số thao tác cơ bản

3.4.1 App Icon

App icon là biểu tượng của ứng dụng sẽ hiển thị ra màn hình iPhone sau khi ứng dụngđược cài đặt, đồng thời icon của ứng dụng cũng hiển thị lên App Store khi chúng tađem ứng dụng của mình lên App Store Có hai loại icon là icon dành cho ứng dụng trêniPhone và icon dành cho ứng dụng trên App Store App icon cho iPhone Retina là120x120, App icon cho App Store là 1024x1024

3.4.2 Loading Screen

Loading Screen là hình ảnh mà khi chạy ứng dụng lên sẽ thấy nó, Để chuẩn bị choLoading Screen cần chuẩn bị trước hình ảnh dạng PNG, kích thước 640x1136 (iPhone

5 trở lên), 750 x 1334 (iPhone 6) 414 x 736

3.4.3 Thay đổi App Name

App Name là tên của ứng dụng hiển thị bên dưới App icon trên màn hình iPhone

Trang 38

Nhiều trường hợp vì tên ứng dụng quá dài nên không thể hiển thị hết trên màn hìnhiPhone, do đó cần phải đổi tên ứng dụng lại cho phù hợp, ngắn gọn để có thể hiện đượctên ứng dụng bên dưới icon, như vậy ứng dụng sẽ có tính thẩm mỹ hơn Để khắc phụctrường hợp này, chúng ta cần phải thay đổi lại App Name Truy cập tập tin plist và sửađổi Bundle Display Name thành tên mới của ứng dụng.

Hình 3-24 Thay đổi tập tin plist

Hình 3-25 Sửa bundle name hiển thị

Trang 39

3.4.4 Ẩn Status Bar

Việc ẩn status bar cho phép chạy ứng dụng của chúng ta toàn màn hình mà không phảithu nhỏ một phần giao diện dành chô cho status bar Trước tiên, chúng ta chọn tậptin plist trong project, sau đó thêm một dòng mới

Trang 40

Hình 3-27 Thay đổi background bằng image 3.4.5.2 Background Color

Ngoài việc sử dụng hình ảnh làm background cho ứng dụng, nếu bạn yêu thích sự đơngiản, bạn có thể tạo background bằng cách dùng một màu mà bạn ưa thích Trong

Inspector selector pane, bạn chọn Attributes inspector, tìm đến phần Background.

Ngày đăng: 04/04/2017, 15:52

HÌNH ẢNH LIÊN QUAN

Hình 2-2 Bảng số liệu thị phần Smartphone trên thế giới - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 2 2 Bảng số liệu thị phần Smartphone trên thế giới (Trang 14)
Hình 2-4 Top 4 hệ điều hành dành cho di động - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 2 4 Top 4 hệ điều hành dành cho di động (Trang 15)
Hình 2-7 Thống kê thị phần Máy tính Bảng - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 2 7 Thống kê thị phần Máy tính Bảng (Trang 18)
Hình 3-24 Thay đổi tập tin .plist - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 3 24 Thay đổi tập tin .plist (Trang 38)
Hình 3-27 Thay đổi background bằng image - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 3 27 Thay đổi background bằng image (Trang 40)
Hình 3-28 Attributes inspector - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 3 28 Attributes inspector (Trang 41)
Hình 3-30 Link Framework và libraries - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 3 30 Link Framework và libraries (Trang 42)
Hình 3-34 Thuộc tính Button - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 3 34 Thuộc tính Button (Trang 45)
Hình 3-36 Thuộc tính của Text Field - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 3 36 Thuộc tính của Text Field (Trang 46)
Hình 4-39 Hình minh họa hệ thống - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 4 39 Hình minh họa hệ thống (Trang 49)
Hình 5-40 Mô tả CDM hệ thống - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 5 40 Mô tả CDM hệ thống (Trang 55)
Bảng 5-3 Bảng mô tả giao diện cho màn hình đăng nhập , đăng ký - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Bảng 5 3 Bảng mô tả giao diện cho màn hình đăng nhập , đăng ký (Trang 59)
Hình 5-53 Màn hình xem danh sách đánh giá của người dùng ứng dụng - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 5 53 Màn hình xem danh sách đánh giá của người dùng ứng dụng (Trang 67)
Hình 5-54 Màn hình kết quả với user đã đăng nhập , thi theo bộ đề - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Hình 5 54 Màn hình kết quả với user đã đăng nhập , thi theo bộ đề (Trang 70)
Bảng 6-1 Các tính năng đã hoàn thành - Tìm hiểu công nghệ swift, xây dựng ứng dụng học và thi tiếng anh
Bảng 6 1 Các tính năng đã hoàn thành (Trang 84)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w