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

Nghiên cứu và phát triển ứng dụng tra cứu trao đổi thông tin tổng hợp cho sinh viên hàng hải trên nền tảng 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.05 MB, 54 trang )

GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp
Mục lục

Lời mở đầu..........................................................................................................4
Chương 1: Giới thiệu đề tài................................................................................5
Mục tiêu:...........................................................................................................8
...............................................................................................................................9
Chương 2: Giới thiệu công cụ cài đặt.............................................................10
2.1: Ttìm hiểu về Nnative Aapplication, Mmobile Aapplication, Hhybrid
Aapplication....................................................................................................10
2.11.1:Native Application :...........................................................................10
Điểm mạnh và yếu của Native application:..................................................10
Điểm mạnh....................................................................................................10
Điểm yếu.......................................................................................................11
2.21.2: Mobile Applicationn ........................................................................12
Điểm mạnh và yếu của Mobile web application..........................................12
Điểm mạnh:...................................................................................................12
Điểm yếu.......................................................................................................13
2.31.3: Hybrid.................................................................................................13
2.42. Lập trình PphoneGgap.........................................................................18
2.1.khái niệm:...............................................................................................18
i.PhoneGap có thể trở thành người bạn tốt nhất của bạn nếu bạn:.............19
PhoneGap làm việc như thế nào?................................................................19
2.2: Giới thiệu tổng quan về các API PhoneGap :.......................................21
Điểm khó khăn khi sử dụng PhoneGap:.......................................................23
2.3: Những ưu nhược điểm của PhoneGap..................................................23
ưƯuu điểm:...................................................................................................23
2.4: Cài đặt phonegap..................................................................................25
Chương 3 Pphân tích thiết kế hệ thống..........................................................39


3.13.1 Ssơ đồ phân rã chức năng...................................................................39
3.33.2: Sơ đồ mức ngữ cảnh:.........................................................................41
Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1

1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

3.4 3.3:Sơ đồ mức đỉnh...................................................................................43
3.53.4: Ssơ đồ mức dưới đỉnh của hệ thống.................................................47
3.63.5: Ssơ đồ mức dưới đỉnh của tra cứu thông tin....................................49
3.73.6: Ssơ đồ mức dưới đỉnh của trao đổi thông tin...................................51
51
3.83.6: Ssơ đồ mức dưới đỉnh của tìm kiếm..................................................52

Danh mục hình ảnh
Tài liệu tham khảo:............................................................................................3
Hình 1:..................................................................................................................6
Ssinh viên tra cứu được sinh viên khác mà mình quan tâm trên webdsite...6
Hình 2: Sự phát triển của điện thoại di động....................................................7
Hình 3: Ứng dụng di động..................................................................................8
Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1


2


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Hình 4: Các môi trường di động.....................................................................10
Hình 54: Sơ đồ so sánh......................................................................................16
Hình 65: Bảng so sánh.......................................................................................17
Hình 86...............................................................................................................18
: Hoạt động trong PhoneGap............................................................................18
Hhình 97: So sánh.............................................................................................18
Hình 108: Ứng dụng chạy trên các nền tảng khác nhau................................19
Hình 11: Ngôn ngữ sử dụng..............................................................................19
Hình 120: Kiến trúc PhoneGap........................................................................20
Hhình 13: Sơ đồ ứng dụng của PhoneGap1...................................................21
Hình 142: Giới thiệu tổng quan về PhoneGap................................................21
Hình 153: Cách tạo 1 Android Project trong Eclipse IDE............................26
Hình 16Hình 14: Cách thiết lập các thông số để tạo 1 Android Project......28
Hình175: Chỉnh sửa để chạy PhoneGap.........................................................30
Hình 186 : Ccách chỉnh sửa bên trong file java chính...................................31
Hình 19: Code chèn để chạy PhoneGap..........................................................35
Hình 201: Chạy chương trình trên nền tảng Android7................................37
Hình2118: Hình chạy chương trình trên nền Android Emulator.................38
Hình 2219: Sơ đồ phân rã chức năng.............................................................40
Hình 230: Sơ đồ mức ngữ cảnh........................................................................42
Hình 241: Sơ đồ mức đỉnh................................................................................45
Hình 25: Sơ đồ mức dưới đỉnh của hệ thống 2...............................................48
Hình 263: Sơ đồ mức dưới đỉnh của tra cứu thông tin..................................50

Hhình 274: Sơ đồ mức dưới đỉnh của trao đổi thông tin..............................51
Hình 285: Sơ đồ dưới đỉnh của tìm kiếm........................................................52
Tài liệu tham khảo:
- Trang

wed học trực tuyến: />-Tài liệu phonegap cho người mới học của Ngô Quang Trung
Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1

3


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

/>“lập trình hướng đối tượng trong javascript và các kiểu mẫu thiết kế”:
/>Tìm hiểu mã nguồn mở phonegap và xây dựng ứng dụng:
/>
Hình ảnh
Hình 1
Hình 2
Hình 3
Hình 4
Hình 5
Hình 6
Hình 7
Hình 8
Hình 9

Hình 10
Hình 11
Hình 12
Hình 13
Hình 14
Hình 15
Hình 16
Hình 17
Hình 18
Hình 19
Hình 20
Hình 21
Hình 22
Hình 23
Hình 24

trang
5
6
6
12
13
14
14
14
15
15
16
16
21

22
23
23
28
29
32
33
34
35
36
37

Lời mở đầu
Điện thoại thông minh hay còn gọi là smartphone thực sự đã mang đến
một cuộc cách mạng cho các thiết bị di động, trong thời kì mà công nghệ số
phát triển với tốc độ chóng mặt như hiện nay. Nhu cầu sử dụng thiết bị di
Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1

4


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

động đã trở nên rất phổ biến không chỉ ở Việt Nam mà trên toàn thế giới. Sự
tiến bộ vượt bậc của công nghệ đã làm thay đổi hoàn toàn thói quen cũng như
hành vi của con người. Trong tương lai, thiết bị di động sẽ trở thành phương

tiện giao tiếp và làm việc chủ yếu của con người. Và phần cốt lõi để tạo ra sức
hấp dẫn từ những chiếc smartphone chính là hệ điều hành và các ứng dụng mà
chúng đang chạy.
Hiện tại, các ứng dụng dành cho thiết bị di động đang bị phân mảnh rất
lớn do các hãng công nghệ lớn cạnh tranh, ganh đua nhau tạo ra các nền tảng
hệ điều hành di động của riêng mình. Do đó PhoneGgap ra đời với mục đích
“viết một lần, biên dịch qua cloud và chạy khắp nơi – tương thích với hầu hết
các nền tảng hệ điều hành di động hiện tại”, đã nhận được sự đóng góp của
rất nhiều tổ chức và cộng đồng công nghệ lớn. PhoneGgap giúp giảm nhẹ
gánh nặng - cần phải nắm bắt và hiểu rõ về các công nghệ bên trong mỗi nền
tảng – đối với nhà lập trình trong việc tạo ra ứng dụng có thể chạy trên đa nền
tảng di động. Giờ đây, với sự hỗ trợ đắc lực của PhoneGgap, nhà lập trình chỉ
cần nắm bắt và chuyên sâu về 1 công nghệ duy nhất.
Đề tài “nghiên cứu và phát triến ứng dụng tra cứu trao đổi thông tin tổng
hợp cho sinh viên Hàng Hải trên nền tảng di động” giúp cho sinh viên có thể có
cách vào mạng khác không phải thông qua máy tính.

Chương 1: Giới thiệu đề tài
Trong những năm gần đây, mạng Internet đã trở thành nền tảng chính chi
sự trao đổi thông tin trên toàn cầu. Có thể thấy một cách rõ ràng là Internet đã và
Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1

5


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp


đang tác động lên nhiều mặt của đời sống chúng ta từ việc tìm kiếm thông tin,
trao đổi dữ liệu đến việc hoạt động thương mại, học tập nghiên cứu và lam việc
trực tuyến… Nhờ Internet mà việc trao đổi thông tin cũng ngày càng tiện lợi,
nhanh chóng hơn, khái niệm thư điện tử (email) cũng không còn xa lạ với mọi
người.
Điện thoại thông minh hay còn gọi là smartphone thực sự đã mang đến một
cuộc cách mạng cho các thiết bị di động, trong thời kì mà công nghệ số phát
triển
với tốc độ chóng mặt như hiện nay. Nhu cầu sử dụng thiết bị di động đã trở
nên rất phổ biến không chỉ ở Việt Nam mà trên toàn thế giới. Việc tra cứu
thông tin trên di động ngày nay càng phổ biến hơn.
Đối với sinh viên Hàng Hải việc tra cứu thông tin trên các trang wed:
www.vimaru.edu.vn

Hình 1:
Ssinh viên tra cứu được sinh viên khác mà mình quan tâm trên webdsite.
Sinh viên tra cứu những văn bản biểu mẫu cần thiết giúp sinh viên có thể
nắm bắt thông tin như: học bổng, điều kiện xét tốt nghiệp, học phí, các khoa,
phòng ban, thông tin tuyển sinh của trường trong năm nay và năm tới, các đề tài
nghiên cứu khoa học.
Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1

6


GVHD: Thầy Đinh Đức Thiện


Báo cáo tốt nghiệp

Những bạn sinh viên nhà có điều kiện mua máy tinh có thể vào mạng thường
xuyên sẽ nhanh chóng có thông tin trên webdsite. Những sinh viên chưa có máy
tính phải ra quán nét mới có được thông tin cần thiết. Máạy tính không thể mang
theo bên mình suốt ngày được. Những thông tin khẩn cấp, lúc không có máy
tính ở bên cạnh, sinh viên không thể cập nhật dược thông tin nhanh chóng được.
Những lúc có sự cố về mạng, sinh viên không thể tra cứu được trên bất kỳ
phương tiện nào cả.
Những lúc có sự cố về máy tính, sinh viên không thể tra cứu được ngoài
chiếc điện thoại có thể kết nối internet sinh viên có thể vào mạng qua phương
tiện kết nối internet nào cả.Những sinh viên ở quê không có điều kiện vào mạng
internet cũng không thể nào xem được thông tin trên wedsite của
trường.Ngooàai việc tra cứu internet sinh viên hỏi thông tin qua cán bộ lớp về
việc học, sinh hoạt đầu tuần, học phí, văn bản liêen quan.Với chiếc điện thoại di
động thông minh có kết nối internet,bạn có thể tìm được thông tin cần thiết.
Trong những năm gần đây điện thoại thông minh phát triển vượt bậc.trong
năm

Hình 2: Sự phát triển của điện thoại di động

Và ứng dụng trên di động

Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1

7



GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Hình 3: Ứng dụng di động
Với đề tài “ Nnghiên cứu phát triển ứng dụng tra cứu thông tin cho sinh viên
trên nền tảng di động” giúp sinh viên đi đâu cũng có thể vào mạng lây thông tin
qua ứng dụng. Khi chưa có ứng dụng di động sinh viên thường dùng điện thoại
kết nối vào ứng dụng như facebook, googlechome trên điện thoại di động.
Mục tiêu:
Xây dựng ứng dụng di động cho phép sinh viên tra cứu, tìm kiếm và nhận
các thông tin chính xác kịp thời từ nhà trường. Các thông tin này bao gồm (tin
tức từ nhà trường, các thông báo, lịch học, lịch thi, văn bản biểu mẫu dành cho
sinh viên, hướng dẫn cho sinh viên về công tác đào tạo, công tác sinh viên, tra
cứu kết quả học tập, ….). Có khả năng cài đặt đa nền tảng (Windows Phone,
IOS, Android..). Toàn bộ các thông tin này đều được lấy thông qua dịch vụ
Webservice do site nhà trường cung cấp hoặc lấy thông tin qua RSS hoặc
XML…
Nhiệm vụ nghiên cứu.
• Tìm hiểu về hệ điều hành di động.
• Tthu thập và tìm hiểu ,cách lập trình trên phonegap..
• Tìm hiểu về lập trình html, css, javaScript
• scritp.


Phân tích thiết kế hệ thống.

Phương thức nghiên cứu.
Sinh viên: Lê Thanh Tùng


Lớp CNT51DH1

8


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

• Tìm hiểu về html5, css, javaScriptscritp.
• Đọc tài liệu về lập trình ứng dụng trên phonegap.
• - Tham gia thảo luận, hỏi đáp các diễn đàn chuyên môn, tham khảo code
ví dụ, hướng dẫn trên mạng Internet về thuật toán, cách xử lý các vấn đề
gặp phải.
Do lĩnh vực của đề tài này tương đối rộng, và bản thân kiến thức còn có
nhiều hạn chế nên đồ án không tránh khỏi nhiều sai sót. Em mong được sự
góp ý và chỉ bảo của các thầy cô và các bạn sinh viên để nội dung đồ án được
hoàn thiện và phong phú hơn.
Một lần nữa, em xin chân thành cảm ơn các thầy cô giáo trong khoa Công
Nghệ Thông Tin, đặc biệt là thầy giáo Đinh Đức Thiện đã tận tình giúp đỡ, chỉ
bảo giúp em hoàn thành đồ án.

Sinh viên: Lê Thanh Tùng

Lớp CNT51DH1

9


GVHD: Thầy Đinh Đức Thiện


Báo cáo tốt nghiệp

Chương 2: Giới thiệu công cụ cài đặt

2. 1: Ttìm hiểu về Nnative Aapplication, Mmobile Aapplication,
Hhybrid Aapplication

2.11.1:Native Application :
Mmột ứng dụng được thiết kế đặc biệt chỉ chạy trên một hệ điều hành của một
thiết bị nào đó và thường phải điều chỉnh để chạy được trên các thiết bị khác
nhau.
• Được phát triển dành riêng cho từng nền tảng cụ thể
• Được phát hành thông qua các kho ứng dụng
• Được xây dựng dược trên các công nghệ và các môi trường phát triển
dành riêng

Hình 4: Các môi trường di động
Điểm mạnh và yếu của Native application:
Điểm mạnh
• Về mặt lợi nhuận quy thành tiền, native app dễ dàng thu phí và an toàn
với các phương thức thanh tóan như iTunes và Google Checkout, dễ dàng
Sinh viên: Lê Thanh Tùng
10

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện


Báo cáo tốt nghiệp

tiếp thị và chào bán trên các chợ ứng dụng như App Store và Google market.
Các chợ ứng dụng thúc đẩy nhu cầu tiêu dùng và đảm bảo công việc kinh
doanh của nhà phát triển thứ 3. Với Mobile web app thì việc kinh doanh và
trả thanh toán cho ứng dụng vẫn còn nhiều thủ tục, không nhất quán, không
an toàn và không thúc đẩy mạnh mẽ tiêu dùng.
• - Về mặt performance thì native app chạy nhanh hơn mobile app trong
hầu hết trường hợp. Tuy nhiên sự chênh lệch ở các ứng dụng có thể là nhỏ,
chấp nhận được và khó nhận biết bởi người dùng. Hiện tại, với game thì
native app vượt bậc và thắng tuyệt đối.
• Về tính năng thì native app có khả năng truy cập các phần cứng (như
camera, GPS, thiết bị thu âm … ) và có thể truy cập đến các quyền local
như : sao chép, tạo, ghi, đọc tập tin (trên bộ nhớ của mobile), các thông tin
danh bạ, thông tin cá nhân, thực hiện cuộc gọi, nhắn tin … Trong khi Mobile
Web app thì không thể (có trường hợp có thể đọc file, như upload).
• Ở chế độ offline: Native app có lợi thế so với mobile web app (luôn phải
chạy online). Ở offline-mode, native app sẽ dùng những dữ liệu đã cache
trước đó ở lần cuối cùng mà người dùng truy cập online.
Điểm yếu
You understand and agree that all of our multi-player poker games are public
and therefore may be reviewed and published by other players, either at the
time of the game or thereafter.
• Không thể cross platform: một native app chỉ có thể chạy trên một hệ điều
hành nhất định.
• Với mỗi HDH thì người lập trình phải viết riêng native code cho nó , dẫn
đến không nhất quán giữa các phiên bản ứng dụng, chi phí phát triển cao và
đòi hỏi khả năng thành thạo nhiều ngôn ngữ ở lập trình viên. Đôi khi đòi hỏi
lập trình viên phải sử dụng những công cụ độc quyền và chỉ được làm việc


Sinh viên: Lê Thanh Tùng
11

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

trên một môi trường duy nhất như: dùng xcode trên Mac OS (nếu bạn muốn
phát triển ứng dụng cho iOS).
• Hơn nữa, việc bảo trì hay nâng cấp sẽ làm mất nhiều thời gian. Do phải
sửa chữa từng app trên từng HDH, thủ tục đưa lên chợ ứng dụng và chờ đợi
approval (đôi khi bị reject vì vi phạm một số điều lệ của nhà phát triển chợ
ứng dụng), nên bản cập nhật không đến tay người dùng ngay lập tức, hơn nữa
họ phải tự update khi vào chợ ứng dụng
• Tính đa dạng phiên bản của HDH làm cản trở việc phổ dụng các native
app. Các thiết bị chạy phiên bản HDH cũ hơn sẽ không cài đặt được.
2.21.2: Mobile Applicationn
Mmột phần mềm được viết cho một thiết bị di động như điện thoại hoặc
tablet, thực hiện một tác vụ đặc biệt cho một nhu cầu của người dùng như:
game, lịch, trình chơi nhạc, bản đồ Google map … Mobile app mang một khái
niệm chung và rộng lớn cho tất cả các ứng dụng chạy trên thiết bị mobile (kể cả
native app và web app).
• Quá trình phát triển dễ dàng, nhanh chóng và đơn giản
• Phải chạy trong trình duyệt browser của mobile
• Được xây dựng dựa trên các công nghệ theo chuẩn W3C
• Bị giới hạn truy cập tới các tính năng của thiết bị
Điểm mạnh và yếu của Mobile web application

Điểm mạnh:
• Cross platform: Có thể chạy trên tất cả trình duyệt của mobile hỗ trợ
phiên bản HTML và javascript
• Không cần cài đặt trên máy.
• Thuận lợi cho các nhà phát triển:
• Với một phiên bản duy nhất cho tất cả, nên giảm chi phí và thời gian cho
phát triển, bảo trì, cũng như nâng cấp sau này.
Sinh viên: Lê Thanh Tùng
12

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

• Ngôn ngữ lập trình phổ dụng là HTML và Javascript mà hầu hết các lập
trình viên đều biết.
• Không giới hạn môi trường lập trình, lập trình viên có thể làm việc trên
hầu hết các HDH.
• Ứng dụng không cần phải được build lại qua SDK hoặc một công cụ phát
triển độc quyền khác như xCode (chỉ cần deploy lên server và chạy).
• Việc cập nhật phiên bản sẽ đến ngay lập tức và trong suốt với người dùng
(ngay sau khi deploy) mà không cần thông qua thủ tục và chờ đợi approval
như các chợ ứng dụng.
• Có thể được đánh dấu bởi search engines (tốt cho SEO).
• Dễ dàng quảng bá: người dùng có thể tìm thấy thông qua search engine,
share link từ email, từ social netwoks hoặc từ các dich vụ quảng cáo trực
tuyến như Google Ads.

Điểm yếu
• Về performance, không chạy nhanh , không thích hợp cho các ứng dụng
game.
• Luôn phải chạy online, không thể phát triển ở chế độ offline.
• Thích hợp cho các ứng dụng, dich vụ thường là miễn phí, vì thủ tục thanh
toán không an toàn và nhanh chóng, dẫn đến thu hút tiêu dùng kém.
2.31.3: Hybrid
Ttheo định nghĩa là bất cứ điều gì từ các nguồn không đồng nhất, hoặc bao
gồm các yếu tố của các loại khác nhau hoặc không thích hợp. Một ứng dụng
hybrid là một trong đó được viết với cùng một công nghệ được sử dụng cho các
trang web và triển khai web di động, và được lưu trữ hoặc chạy bên trong một
container có nguồn gốc trên một thiết bị di động. Đây là cuộc hôn nhân của công
nghệ web và thực hiện bản địa.

Sinh viên: Lê Thanh Tùng
13

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Ứng dụng hybrid sử dụng một điều khiển xem web (UIWebView trên iOS,
WebView trên Android và những người khác) để trình bày HTML và JavaScript
tập tin trong một định dạng toàn màn hình, bằng cách sử dụng một trình duyệt tự
rendering động cơ (không phải là bản thân trình duyệt). WebKit là công cụ trình
duyệt dựng hình được sử dụng trên iOS, Android, Blackberry và những người
khác. Điều đó có nghĩa là HTML và JavaScript được sử dụng để xây dựng một

ứng dụng lai là ra / xử lý bởi các công cụ rendering WebKit (cho bạn Windows
8 folks, đây là những gì động cơ IE10 không cho các ứng dụng phong cách
Metro sử dụng WinJS) và hiển thị cho người sử dụng một toàn màn hình điều
khiển xem web, không phải trong một trình duyệt. Không còn là bạn buộc phải
sử dụng HTML và JavaScript chỉ trong trình duyệt triển khai thực hiện trên các
thiết bị di động.
Các ứng dụng lai là việc thực hiện một lớp trừu tượng đó cho thấy nhiều
khả năng thiết bị (đọc: API bản địa) đến các ứng dụng lai như một API
JavaScript. Đây là điều không thể với di động triển khai Web vì ranh giới an
ninh giữa các trình duyệt và các API thiết bị. Apache Cordova (trước đây là
PhoneGap) là một ví dụ của một lớp trừu tượng JavaScript trên các API bản địa
(đối với Windows 8 bạn folks, WinJS là một ví dụ của một lớp trừu tượng
JavaScript trên đầu trang của API bản địa). Thông qua lớp trừu tượng này một
tập hợp chung các API được tiếp xúc trong JavaScript, và các JavaScript API
làm việc trên bất kỳ thiết bị hỗ trợ bởi khuôn khổ (cho WinJS đó là chỉ dành cho
Windows 8, nhưng cho Cordova đó là bảy nền tảng di động bao gồm iOS,
Android, Blackberry và Windows Điện thoại 7). Khi wrapper bản địa được biên
dịch xung quanh HTML, CSS và JavaScript tài nguyên, có một lớp Interop thêm
kết nối các API JavaScript với các API nền tảng cụ thể.
Điều này thực sự có nghĩa là, ví dụ nếu tôi xây dựng một ứng dụng điện
Sinh viên: Lê Thanh Tùng
14

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp


thoại di động với Apache Cordova, tôi có thể sử dụng JavaScript để truy cập vào
một API bản địa, như máy ảnh, sử dụng một cuộc gọi API duy nhất bất kể nền
tảng ứng dụng sẽ chạy trên
01.navigator.camera.getPicture (
02.

onCameraSuccess,

03.

onCameraError,

04.

{

05.

quality: 50,

06.

destinationType: Camera.DestinationType.DATA_URL

07.

}

08.);
09.

10.function onCameraSuccess (imageData) {
11.

var image = document.getElementById('myImage');

12.

image.src = "data:image/jpeg;base64," + imageData;

13.}
14.
15.function onCameraError (message) {
16.

alert('Failed because: ' + message);

17.}
Tóm tắt :
Ứng dụng lai là một lựa chọn tuyệt vời cho bạn nếu bạn:


Muốn nhắm mục tiêu nhiều nền tảng điện thoại di động.



Bạn muốn tận dụng khả năng thiết bị như định vị, gia tốc hoặc máy

ảnh.



Muốn ứng dụng để có thể sử dụng khi thiết bị đang ẩn.

Sinh viên: Lê Thanh Tùng
15

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

• Không cần hiệu năng đồ họa cao cấp mà bạn chỉ có thể nhận được từ một
ứng dụng bản địa.
Ứng dụng lai được xây dựng với công nghệ web có nghĩa là có hàng triệu nhà
phát triển web, những người đã có kỹ năng thiết lập cơ sở để xây dựng các ứng
dụng di động.

Hình 54: Sơ đồ so sánh

Sinh viên: Lê Thanh Tùng
16

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp


Bảng so sánh giữa

Web

Hybrid

Native

Chi phí phát triển

Hợp lý

Hợp lý

Tốn kém

Thời gian phát

Ngắn

Ngắn

Dài

Cao

Cao

Không có


Nhanh

Có tấc độ xử lý giống

Rất nhanh

triển
Tính khả chuyển
của ứng dụng
Hiệu năng xử lý

ứng dụng bản địa nếu
cần
Các tính năng bản

Không có



Tất cả

Không có





Không có






địa
Phát hành qua
kho ứng dụng
Khả năng mở
rộng
Hình 65: Bảng so sánh
Vậy em chọn hybrib app là ngôn ngữ phát triển trên mobile.
Ứng dụng lai được xây dựng với công nghệ web có nghĩa là có hàng triệu nhà
phát triển web, những người đã có kỹ năng thiết lập cơ sở để xây dựng các ứng
Sinh viên: Lê Thanh Tùng
17

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

dụng di động

2.42. Lập trình PphoneGgap

2.1.khái niệm:
PhoneGap là một nền tảng mã nguồn mở dùng để phát triển ứng dụng
mobile cho cả iOS, Android, Windows Phone, BlackBerry, webOS, Bada,
Symbian cùng lúc, viết một lần, biên dịch qua cloud và chạy trên nhiều nền tảng

smartphone khác nhau. Đây là một dự án nguồn mở miễn phí của Nitobi giúp
việc phát triển ứng dụng di động dễ dàng hơn đối với mọi hệ điều hành, hiện đã
có 40.000 lượt tải về mỗi tháng, tổng cộng là 600.000 lượt tải, đội ngũ phát triển
ổn định. Phiên bản hiện tại PhoneGap 2.7.0 vừa được phát hành, cho phép nhà
phát triển sử dụng HTML, CSS và JavaSript để viết và triển khai ứng dụng.

Hình 86
: Hoạt động trong PhoneGap
Phát triển ứng dụng truyền thống sẽ giống như thế này:
Hhình 97: So sánh
Nếu bạn muốn phát
triển ứng dụng trên nhiều
nền tảng khác nhau như
iOS, Android, Symbian, Windows, BlackBerry ????
Sinh viên: Lê Thanh Tùng
18

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Hình 108: Ứng dụng chạy trên các nền tảng khác nhau
i. PhoneGap có thể trở thành người bạn tốt nhất của bạn nếu bạn:


Bạn muốn phát triển một ứng trên nhiều nền tảng khác nhau.




Bạn biết về HTML, Javascript, CSS



Bạn thực sự có một web site, một ứng dụng web . Do đó bạn có thể sử
dụng lại một phần củ ứng dụng này.

Hình 9
Hình 11: Ngôn ngữ sử dụng
PhoneGap làm việc như thế nào?
Kiến trúc PhoneGap:

Sinh viên: Lê Thanh Tùng
19

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Hình 120: Kiến trúc PhoneGap

i.

Kiến trúc ứng dụng PhoneGap


Framework PhoneGap chủ yếu là một thư viện Javascript cho phép các ứng
dụng viết bằng HTML/Javascript truy cập sâu vào những tính năng của thiết bị.
Framework PhoneGap cũng là một Native Component, do đó các ứng dụng
được viết bằng PhoneGap cũng có thể làm việc như một ứng dụng viết bằng
ngôn ngữ chính thống.
Xem hình trên, một ứng dụng xây dựng bằng PhonGap sẽ gồm hai thành phần
chính yếu:
1. JavaScript Business Logic Part: thành phần điểu khiển về giao diện và chức
năng của chương trình
2. JavaScript Part: thành phần truy cập và điều khiển thiết bị (điện thoại hoặc
máy tính bảng).
Lấy minh họa về một ứng dụng như Facebook. Thành phần chính đầu tiên
của ứng dụng là trang đăng nhập và sau đó là tải các hình ảnh, các bài đăng.
Tiếp theo, khi người dùng muốn chụp và đăng ảnh của mình lên Facebook. Lúc
đó, ứng dụng sẽ gọi Camera API của PhoneGap để truy cập vào Camera điện
thoại, chụp hình, lưu hình và truy xuất hình đó. Tiếp đó nữa, Ajax sẽ gọi
Facebook Server để tải ảnh lên
: Sơ đồ ứng dụng PhoneGap làm việc:

Sinh viên: Lê Thanh Tùng
20

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Hhình 13: Sơ đồ ứng dụng của PhoneGap1


2.2: Giới thiệu tổng quan về các API PhoneGap :

Hình 142: Giới thiệu tổng quan về PhoneGap
àm việc với Contacts (danh bạ điện thoạiS)):
Danh bạ là một tính năng đáp ứng trên tất cả các dòng diện thoại thông minh.
Với PhoneGap, chúng ta có thể dễ dàng sử dụng những tính năng dưới đây có
sẳn trong danh bạ điện thoại:
• Ø Tạo một liên hệ (contact) mới, sử dụng phương thức create().
Sinh viên: Lê Thanh Tùng
21

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

• Ø Lưu một liên hệ, sử dụng phương thức save().
• Ø Tìm một liên hê, sử dụng phương thức find().
• Ø Sao chép một liên hệ, sử dụng phương thức clone().
• Ø Xóa một liên hệ, sử dụng phương thức remove().
Chẳng hạn, để tạo một tài khoản mới, chúng ta phải thông qua một đối tượng
JavaScript Object Notation (JSON) là contacts.create(), đối tượng này chỉ được
lưu trữ trong bộ nhớ của ứng dụng. Sau đó, để muốn lưu trữ xuống cơ sở dữ
liệu, chúng ta phải dùng phương thức save(). PhoneGap API hỗ trợ các thuộc
tính khác nhau giúp hỗ trợ tìm kiếm (chẳng hạn như tên, bí danh, số điện thoại,
e-mail, địa chỉ, sinh nhật, hình ảnh,…). Ta có thể tìm kiếm thông qua
contacts.find(). Tương tự như thế, đối với những hàm khác như clone(),

remove(); chúng ta dễ dàng sử dụng và kết hợp những chức năng đó tùy vào ý
tưởng khác nhau mà có tạo ra những ứng dụng như mong muốn ở các nhà phát
triển.
Làm việc với Camera
:PhoneGap API hỗ trợ hai cách để chụp ảnh, trong đó đầu tiên là sử dụng
thông qua đối tượng Camera có sẳn. Thứ hai, bằng cách sử dụng Media Capture
API. Cụ thể hơn là sử dụng qua phương thức camera.getPicture(). Ta cũng có
thể lấy một bức ảnh từ thư viện hình ảnh, một đường dẫn lưu trữ tập tin.
Làm việc với Geolocation:
Hầu hết các điện thoại thông minh đều hỗ trợ GPS, qua đó bạn có thể sử
dụng nó, hoặc cũng có thể sử dụng một số công nghệ khác để xác định vị trí
thông qua kinh độ, vĩ độ. PhoneGap Geolocation API sẽ cho phép chúng ta lấy
vị trí hiện tại qua kinh độ, vĩ độ (các yếu tố khác như độ cao, vẫn là điều có thể)
cũng như sự thay đổi tọa độ. Điều này rất hữu ích cho việc chúng ta muốn theo
dỏi sự duy chuyển của thiết bị.
Làm việc với Media File:

Sinh viên: Lê Thanh Tùng
22

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Trong PhoneGap, Media Capture API không chỉ đơn thuần là chụp một bức
ảnh (trong Media), chúng ta cũng có thể sử dụng nó để ghi lại âm thanh, hình
ảnh (audio, video). Thật vậy, Media Capture API cho phép ghi âm, ghi hình,

chơi một tập tin media (bao gồm: play, pause, stop) từ một đường dẫn.
Làm việc với tùy chọn lưu trữ:
Với HTML5, PhoneGap cũng hỗ trợ cơ sở dữ liệu Web SQL. Và tất nhiên, khi
làm việc cục bộ, SQLite cũng đủ làm cho ứng dụng của bạn trở nên phong phú
và hữu ích hơn.
Điểm khó khăn khi sử dụng PhoneGap:


Khó hoạt động trên các mobile browser cũ vì không hỗ trợ javascript và
tốc độ chậm.



Việc quản lý các tài nguyên sâu của thiết bị không thực hiện được như:
quản lý các tiến trình(đồng bộ, bất đồng bộ), khả năng đồ họa hạn chế (3D).



Layout ứng dụng sẻ không phù hợp khi qua các màn hình thiết bị có độ
phân giải khác nhau, và tùy thuộc vào độ hỗ trợ của trình HTML của thiết bị.
vd các apps cho android trên các thiết bị khác nhau thì sẽ không rõ nét vì trên
androids hỗ trợ các bộ icon cho các độ phân giải khác nhau nên rõ nét hơn.



Các bộ nhập liệu trên từng thiết bị không điều khiển được như: keypad,
track ball, tapping,rocker …




Khó trong việc phát triển vì debug khó khăn.



Tài liệu khá ít, Phonegap đang trên đà hoàn thiện vì thế nguy cơ tiềm ẩn
khi phát triển ứng dụng bị stuck là điều có thể xảy ra .

2.3: Những ưu nhược điểm của PhoneGap
ưƯuu điểm:
PhoneGap là một nền tảng mã nguồn mở dùng để phát triển ứng dụng mobile
cho cả iOS, Android, Windows Phone, BlackBerry, webOS, Bada, Symbian
cùng lúc, viết một lần, biên dịch qua cloud và chạy trên nhiều nền tảng
smartphone khác nhau.
Sinh viên: Lê Thanh Tùng
23

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp

Điểm nổi bật của PhoneGap đầu tiên ở đây như đã được đề cập trước đó là việc
sử dụng các ngôn ngữ chuẩn HTML, CSS và Javascript. Và tất cả những gì
chúng ta cần là tìm hiểu về các thành phần API mà PhoneGap đã cung cấp. Tiếp
đó nữa, việc sử dụng PhoneGap giúp chúng ta có thể dễ dàng truy cập nhanh
hơn vào các tính năng của điện thoại cung cấp như la bàn, camera,… Đặc biệt,
nếu ứng dụng của ta cần kết nối tới các Web Service (thông thường là một Web
Service hoặc là một RESTful API), thì sẽ dễ dàng hơn với các bộ công cụ hỗ trợ

như jQuery, tạo sức mạnh hơn trong việc xử lý Ajax.
Nhược điểm:
Mặc dù vậy, nhưng vẫn còn những vướn mắc trong việc xây dụng một
ứng dụng chạy trên mọi nền tảng. Chẳng hạn, khi xây dựng một ứng dụng bằng
PhoneGap viết cho iPhone, thì khi biên dịch cho các nền tảng khác như Android,
Windows Phone,… cũng cần phải có những tinh chỉnh thích hợp để ứng dụng
đó có thể chạy hoàn toàn tính năng. Cũng như việc phát triển ứng dụng thông
thường, thì ứng dụng sử dụng PhoneGap cũng cần phải quan tâm đến môi
trường phát triển trên các nền tảng riêng biệt.
Khó hoạt động trên các mobile browser cũ vì không hỗ trợ javascript và tốc
độ chậm.
Việc quản lý các tài nguyên sâu của thiết bị không thực hiện được như: quản
lý các tiến trình(đồng bộ, bất đồng bộ), khả năng đồ họa hạn chế (3D).
Layout ứng dụng sẻ không phù hợp khi qua các màn hình thiết bị có độ phân
giải khác nhau, và tùy thuộc vào độ hỗ trợ của trình HTML của thiết bị. vd các
apps cho android trên các thiết bị khác nhau thì sẽ không rõ nét vì trên androids
hỗ trợ các bộ icon cho các độ phân giải khác nhau nên rõ nét hơn.
Các bộ nhập liệu trên từng thiết bị không điều khiển được như: keypad, track
ball, tapping,rocker …
Khó trong việc phát triển vì debug khó khăn.
Tài liệu khá ít, Phonegap đang trên đà hoàn thiện vì thế nguy cơ tiềm ẩn khi
Sinh viên: Lê Thanh Tùng
24

Lớp CNT51DH1


GVHD: Thầy Đinh Đức Thiện

Báo cáo tốt nghiệp


phát triển ứng dụng bị stuck là điều có thể xảy ra .
2.4: Cài đặt phonegap
Cách thiết lập cài đặt Phonegap cho Android Project bằng Eclipse
. Yêu cầu cài đặt



Eclipse: Tải về và cài đặt phần mềm Eclipse IDE tại

đường dẫn sau : />


Android SDK và Android ADT Plugin cho eclipse: Tải

bản
Android SDK và Android ADT Plugin mới nhất, và cài đặt, thiết
lập cho phù hợp với môi trường làm việc tại đường dẫn sau :
/>
Sinh viên: Lê Thanh Tùng
25

Lớp CNT51DH1


×