1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android

58 23 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 58
Dung lượng 1,9 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ừ thưc tế đó, với kiến thức đã học kết hợp với nền tảng Android trên di động em đã chọn đề tài tốt nghiệp cho mình là: Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động Andr

Trang 1

KHOA TIN HỌC

Tel (84-511)3841323 - 3841513, Fax (84-511) 3842953 Website: www.ued.edu.vn E-mail: Education@dng.vnn.vn

KHÓA LUẬN TỐT NGHIỆP NGÀNH CỬ NHÂN CÔNG NGHỆ THÔNG TIN

Trang 2

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 2

LỜI CẢM ƠN

Đầu tiên em xin chân thành cảm ơn các thầy cô trường Đại học Sư phạm

Đà Nẵng, đã truyền đạt những kinh nghiệm quý báu cho chúng em trong những năm học vừa qua

Đặc biệt xin chúng em xin chân thành cảm ơn thầy Lê Văn Mỹ đã nhiệt tình hướng dẫn em hoàn thành đề tài luận văn tốt nghiệp này

Tuy nhiên, trong quá trình hoàn thành đề tài không thể tránh khỏi những thiếu sót Em mong nhận được nhiều đóng góp của quý thầy cô để đề tài được hoàn thiện hơn

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

Đà Nẵng, tháng 5/2013

Sinh viên thực hiện:

Nguyễn Tấn Quốc

Trang 3

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan:

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy thầy Lê Văn Mỹ

2 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, chúng tôi xin chịu hoàn toàn trách nhiệm

Trang 4

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 4

MỤC LỤC

DANH MỤC CÁC HÌNH 5

DANH MỤC CÁC BẢNG 8

DANH MỤC CÁC TỪ VIẾT TẮT 9

MỞ ĐẦU 10

1.Lý do chọn đề tài 10

2.Mục đích nghiên cứu 10

3.Đối tượng và phạm vi nghiên cứu 10

3.1.Đối tượng nghiên cứu 10

3.2.Phạm vi nghiên cứu 10

4.Phương pháp nghiên cứu 10

4.1.Cơ sở lý thuyết 11

4.2.Công cụ thiết kế chương trình 11

4.3.Dự kiến kết quả đạt được 11

5 Ý nghĩa khoa học và thực tiễn đề tài 11

6 Cấu trúc của luận văn 12

Chương 1: CƠ SỞ LÝ THYẾT 13

1.1 Tổng quan về Android 13

1.1.1 Android là gì? 13

1.1.2 Lịch sử Android 13

1.1.3 Nền tảng Android 14

1.1.4 Kiến trúc ứng dụng Android 17

1.1.5 Một số gói cơ bản của Android 22

1.2 Cài đặt SDK 23

1.2.1 Giới thiệu SDK 23

1.2.2 Cài đặt Plugin cho Eclipse 24

1.3 Giới thiệu về Dịch vụ Web (Web service) 26

1.3.1 Giới thiệu công nghệ 26

1.3.2 Đặc điểm của Dịch vụ Web 26

1.3.3 Các thành phần của Dịch vụ Web 28

Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 33

Trang 5

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 5

2.1 Thiết kế các thành phần ứng dụng 33

2.2 Phân tích và thiết kế hệ thống 36

2.3 Giải pháp và xây dựng ứng dụng 40

2.3.1 Phân tích và thiết kế CSDL 40

2.3.2 Các kỹ thuật sử dụng trong ứng dụng 42

2.4 Thiết kế mã nguồn 45

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH VÀ KẾT QUẢ THỰC HIỆN 48

3.1 Cài đặt chương trình 48

3.2 Kết quả chương trình 49

KẾT LUẬN 56

1 Kết quả đạt được 56

1.1 Về lý thuyết 56

1.2 Về thực nghiệm 56

2 Hướng phát triển của đề tài 57

TÀI LIỆU THAM KHẢO 58

Trang 6

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 6

DANH MỤC CÁC HÌNH

Hình 1 1 Biểu tưởng hệ điều hành Android 13

Hình 1 2 Kiến trúc hệ điều hành Android 15

Hình 1 3 Các thành phần của một ứng dụng Android 18

Hình 1 4 Vòng đời của một ứng dụng Android 19

Hình 1 5 Hình ảnh một device emulator 23

Hình 1 6 Biểu diễn bước đầu tiên cài đặt plugin 24

Hình 1 7 Hình biểu diễn địa chỉ trang web cài đặt plugin 25

Hình 1 8 Hình biểu diễn qua trình cài đặt tự động của plugin 25

Hình 2 1 Mô hình tổng quát của ứng dụng 33

Hình 2 2 Sơ đồ luồng thành phần Du lịch 33

Hình 2 3 Sơ đồ luồng thành phần Ẩm thực 34

Hình 2 4 Sơ đồ luồng thành phần Khách sạn 34

Hình 2 5 Sơ đồ luồng thành phần Taxi 35

Hình 2 6 Sơ đồ luồng thành phần Mua sắm 35

Hình 2 7 Sơ đồ luồng thành phần ATM 36

Hình 2 8 Mô hình Use Case Khạch sạn 36

Hình 2 9 Mô hình Use Case Ẩm thực 37

Hình 2 10 Mô hình Use Case Mua Sắm 37

Hình 2 11Mô hình Use Case Du lịch 38

Hình 2 12 Mô hình Use Case ATM 38

Hình 2 13 Mô hình Use Case Taxi 39

Hình 2 14 Sơ đồ tuần tự triển khai ứng dụng 39

Hình 2 15 Các lớp trong packet Map 45

Hình 2 16 Tổng hợp các packet và thư mục của ứng dụng 45

Trang 7

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 7 Hình 3 1 Giao diện kho ứng dụng Google Play 48

Trang 8

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 8

DANH MỤC CÁC BẢNG

Bảng 2.1 Cấu trúc bảng ATM 40

Bảng 2.2 Cấu trúc bảng Ẩm thực 40

Bảng 2.3 Cấu trúc bảng Khách sạn 41

Bảng 2.4 Cấu trúc bảng Mua sắm 41

Bảng 2.5 Cấu trúc bảng Taxi 41

Bảng 2.6 Cấu trúc bảng Du lịch 41

\

Trang 9

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 9

DANH MỤC CÁC TỪ VIẾT TẮT

1. APK : Android application package file

2. API : Application Programming Interface

3. SDK: Software Development Kit

4. ADT: Adroid Development Tool

Trang 10

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 10

MỞ ĐẦU

Ngày nay do nhu cầu đời sống con người ngày càng được nâng cao, có sự hiểu biết rộng rãi hơn, công nghệ và những tính năng mới trên điện thoại càng được con người chú ý và đặt mối qua tâm Thêm vào đó nhu cầu giải trí,du lịch của con người cũng được quan tâm, xuất phát từ những nhu cầu đó các ứng dụng di động trở thành công cụ không thể thiếu trong cuộc sống của con người trong thời hiện đại Từ thưc tế

đó, với kiến thức đã học kết hợp với nền tảng Android trên di động em đã chọn đề tài tốt nghiệp cho mình là:

Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động Android:

“ Sổ tay du lịch Đà Nẵng ”

Với sự phát triển công nghệ như hiên nay, thế giới được ví là thế giới của công nghệ thông tin Thêm vào đó nhu cầu du lịch của con người ngày càng tăng lên, các địa điểm vị trí trên bản đồ giấy không còn tiện lợi nữa Android ra đời làm tăng khả năng tiện dụng khi chúng ta có thể đưa một bản đồ, những địa điểm du lịch vào chiếc

điện thoại thông minh của mình

Android là một hệ điều hành mở cho nền tảng di động và là một sự chọn lựa đúng đắn của người tiêu dùng Với đề tài này chúng em sẽ đi nghiên cứu công nghệ, nền tảng và ứng dụng của Android trên thiết bị di động và những kỹ thuật để xây dựng ứng dụng của mình

Phạm vi nghiên cứu của đề tài này là các kiến thức cơ bản liên quan đến Android và các kĩ thuật liên quan đến mạng Trên cơ sở đó xây dựng thành công ứng

dụng “Sổ tay du lịch Đà Nẵng” trên nền Android Đây là một ứng dụng có thể thay

thế bản đồ giấy, giúp du khách có thể dễ dàng tra cứu về các thông tin, tìm đường đi đến các điểm du lịch, nhà hàng, khách sạn, v/v…

Trang 11

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 11

Tìm hiểu công nghệ và nền tảng di động mở Android của Google, cách thức sử dụng GoogleMap, nhằm xây dựng thành công một ứng dụng trên nền di động Android Với mục đích đó, yêu cầu phải nắm được các kiến thức cơ bản sau đây trên nền tảng công nghệ Android:

¾ Quy trình phát triển một ứng dụng trên nền di động

¾ Các công cụ và ngôn ngữ lập trình

¾ Kiến thức về cở sở dữ liệu SQLite

¾ Thực thi chương trình trên thiết bị thực (điện thoại di động chạy trên nền Android)

¾ Eclipse 4.2.1

¾ Thiết kế đồ họa Photoshop CS3

¾ Android SDK_r06-window tích hợp trên Eclipse

¾ Thiết kế sơ đồ UML

Nắm rõ lý thuyết thiết kế ứng dụng trên nền tảng Android nói riêng Xây dựng

ứng dụng “Sổ tay du lịch Đà Nẵng” thõa mãn các yêu cầu sau đây:

x Ứng dụng thể hiện các địa điểm du lịch, giải trí, nhà hàng, khách sạn trên địa bàn thành phố Đà Nẵng

x Đảm bảo tính chính xác về địa điểm trên bản đồ, đồng thời đưa ra chỉ dẫn cho du khách

x Cài đặt trên các thiết bị di động dùng hệ điều hành Android

Trang 12

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 12

Xây dựng thành công ứng dụng trên nền tảng di động sử dụng hệ điều hành

Android “Sổ tay du lịch Đà Nẵng” mang đến sự tiện lợi cho du khách, góp phần làm

hiện đại hóa Ngành du lịch ở Đà Nẵng nói chung và ở Việt Nam nói chung

Đề tài giúp chúng ta hiểu rõ hơn về sự phát triển công nghệ hiện nay và đặc biệt hiểu rõ hơn về nền tảng, những ứng dụng và vai trò của Android trong lĩnh vực di động

x Mở đầu: Giới thiệu sơ lược về đề tài, hướng nghiên cứu và dự kiến kết quả đạt được

x Chương 1: Cở sở lý thuyết

Khái niệm, lịch sử phát triển, các tính năng, mô hình, vòng đời và các gói trong Android

Vẽ các sơ đồ phân tích, thiết kế và kết quả đạt được

Đưa ra cách cài đặt ứng dụng vào điện thoại và những hình ảnh của ứng dụng

Nêu ra những nhận xét về kết quả đạt được từ đó đưa ra hướng phát triển cho đề tài

Trang 13

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 13

Chương 1: CƠ SỞ LÝ THYẾT

2 Rich Miner (nhà đồng sáng lập công ty truyền thông Wildfire Communications)

3 Nick Sears (một trong những vị phó chủ tịch của nhà cung cấp mạng viễn thông

di động T-Mobile ở Mỹ)

4 Chris White (trưởng bộ phận thiết kế và phát triển giao diện của WebTV)

Năm 2005, sau hơn 2 năm hoạt động thì Android được Google mua lại với một khoản tiền không được tiết lộ và chính thức trở thành một trong những công ty con của

gã khổng lồ ngành tìm kiếm Đồng thời cả Andy Rubin, Rich Miner và Chris White đều quyết định tiếp tục làm việc tại chính công ty của mình sau khi được mua lại Ở thời điểm đó, nhiều người không thực sự chú ý vào thương vụ này, thế nhưng nó lại đánh dấu bước đi đầu tiên của Google trong thị trường thiết bị di động thế giới

Trang 14

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 14

Tại Google, một nhóm nghiên cứu đứng đầu là Rubin đã bắt đầu phát triển một nền tảng dành cho thiết bị di động dựa trên nhân của hệ điều hành Linux Và sau đó,

hệ điều hành này cũng được giới thiệu đến các nhà phát triển phần cứng lẫn phần mềm, báo hiệu sự có mặt của một "ngôi sao" khác trên "thiên hà" thị trường công nghệ

di động

Đến tháng 12 năm 2006, suy đoán về ý định gia nhập thị trường truyền thông di động của Google tiếp tục được củng cố sau khi BBC và The Wall Street Journal cho biết rằng hãng này muốn đưa ứng dụng và chức năng tìm kiếm của mình lên các thiết

bị di động Lập tức ngay sau đó, nhiều tin đồn về chiếc điện thoại mang thương hiệu Google xuất hiện khắp các phương tiện truyền thông

Tháng 5 năm 2007, liên minh các nhà sản xuất thiết bị cầm tay - Open Handset Alliance (OHA) được thành lập bao gồm Google và một số thành viên khác của cộng đồng Linux mở như: Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia,Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile và Texas Instruments Mục tiêu của OHA là phát triển tiêu chuẩn mở cho các thiết bị di động và sản phẩm đầu tiên của liên minh này đó là Android, một nền tảng di động được xây dựng trên nhân Linux phiên bản 2.6

Tính cho đến thời điểm này, Google Android đã có 5 phiên bản chính thức và 1 phiên bản sắp ra mắt được đặt tên theo những món tráng miệng, với ngụ ý người dùng

sẽ dễ dàng sử dụng hệ điều hành của họ như thưởng thức các món ăn đó Các phiên bản Android có tên mã lần lượt là: Cupcake 1.5, Donut 1.6, Éclair 2.0, Froyo 2.2, Gingerbread 2.3, Honeycomb 3.0/3.1 và phiên bản sắp ra mắt là Android Ice Cream Sandwich

1.1.3 Nền tảng Android

Với khả năng rộng rãi của Android, sẽ rất dễ dàng nhầm lẫn nó với một hệ điều hành máy tính để bàn Android là một môi trường phân tầng, xây dựng trên nền của hệ điều hành nhân Linux, và nó bao hàm nhiều chức năng phong phú Hệ thống giao diện người sử dụng gồm có:

• Cửa sổ

• Khung hình

• Các tiểu trình để hiển thị các phần tử phổ biến như các hộp biên soạn, danh sách, danh sách thả xuống

Trang 15

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 15

Android gồm một trình duyệt có thể nhúng vào được, được xây dựng dựa trên WebKit, chính là máy (engine) trình duyệt mã nguồn mở cũng đang là động cơ của trình duyệt Safari của iPhone

Android khoe ra một mảng dồi dào nhiều tùy chọn kết nối, gồm WiFi, Bluetooth và dữ liệu không dây qua một kết nối di động (như GPRS, EDGE và 3G) Một kỹ thuật phổ biến trong các ứng dụng Android là liên kết tới Google Maps để hiển thị một địa chỉ trực tiếp trong một ứng dụng Việc hỗ trợ cho các dịch vụ dựa trên địa điểm (chẳng hạn như GPS) và các dụng cụ đo gia tốc cũng có sẵn trong gói phần mềm Android, mặc dù không phải tất cả các thiết bị Android được trang bị với các phần cứng cần thiết Ngoài ra còn có cả hỗ trợ máy ảnh nữa (camera)

Về mặt lịch sử, có hai lĩnh vực mà các ứng dụng di động đã gắng sức theo kịp các đối tác máy tính để bàn là đồ họa/đa phương tiện và phương thức lưu trữ dữ liệu Android giải quyết thách thức về đồ họa bằng sự hỗ trợ dựng sẵn cho đồ họa 2D và 3D, gồm cả thư viện OpenGL Gánh nặng lưu trữ dữ liệu được giảm nhẹ vì nền Android có gồm cả cơ sở dữ liệu SQLite mã nguồn mở phổ biến Hình 1 cho thấy một khung hình đơn giản hóa về các tầng phần mềm Android

Hình 1 2 Kiến trúc hệ điều hành Android

Trang 16

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 16

™ Application

Android đƣợc phát hành cùng với một bộ các ứng dụng gốc bao gồm: email, trình tin nhắn SMS, lịch, bản đồ, trình duyệt web, danh bạ, và một số ứng dụng khác Tất cả các ứng dụng trên đƣợc viết bằng ngôn ngữ lập trình Java

™ Application Framework

Bằng cách phát triển một nền tảng mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng vô cùng phong phú Bên cạnh đó, họ có thể tự do tận dụng ƣu điểm của các thiết bị phần cứng, thông tin địa điểm truy cập hay các dịch vụ chạy nền để thiết lập hệ thống báo động, thông báo trên thanh trạng thái và rất nhiều dịch vụ khác nữa

Ngoài ra, các nhà phát triển có toàn quyền truy cập vào nền tảng API (Application Programming Interface - giao diện lập trình ứng dụng) mà các ứng dụng gốc sử dụng Cấu trúc của các ứng dụng đƣợc đơn giản hóa thiết kế giúp cho việc tái

sử dụng, thay thế các thành phần của bất kỳ ứng dụng nào đó một cách dễ dàng (nhƣng phải tùy thuộc vào cơ chế bảo mật riêng của từng ứng dụng)

View System đƣợc dùng để xây dựng một ứng dụng bao gồm các văn bản, nút bấm và cả những trình duyệt web nhúng

Content Provider cho phép truy cập dữ liệu từ các ứng dụng khác (nhƣ Contacts ) hoặc chia sẻ dữ liệu của riêng mình

Resource Manager cung cấp khả năng truy cập mã nguồn

Notification Manager cho phép tất cả các ứng dụng hiển thị thông báo tuỳ chỉnh trong thanh trạng thái

Activity Manager quản lý thời gian hoạt động của các ứng dụng

™ Libraries

Android đƣợc tích hợp một thƣ viện ngôn ngữ C/C++ đƣợc sử dụng bởi nhiều thành phần khác nhau của hệ thống Thƣ viện ngôn ngữ này sẽ tiếp xúc với các nhà phát triển ứng dụng thông qua nền tảng hệ điều hành Android Một số các thƣ viện nhƣ:

System C library: có gốc từ hệ thống thƣ viện chuẩn C (LIBC) giúp điều chỉnh

nhúng cho các thiết bị sử dụng nền tảng Linux

Trang 17

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 17

Media Libraries: dựa trên OpenCORE của PacketVideo, hỗ trợ ghi và phát lại

âm thanh, hình ảnh, video dưới nhiều định dạng phổ biến như MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG

Surface Manager: quản lý truy cập vào các hệ thống hiển thị và tổng hợp đồ

họa 2D và 3D các lớp từ nhiều ứng dụng trên thiết bị

LibWebCore: trình duyệt web hiện đại hỗ trợ cả trình duyệt web của Android

và các trình duyệt web nhúng khác

SGL: công cụ đồ họa 2D cơ bản

3D libraries: dựa trên OpenGL ES 1.0 API, dùng để tăng tốc phần cứng 3D

(nếu có) hoặc để tối ưu hóa các phần mềm 3D

SQLite: cơ sở dữ liệu dùng cho tất cả các ứng dụng

™ Android Runtime

Cung cấp các chức năng có sẵn trong thư viện gốc của ngôn ngữ lập trình Java Mỗi ứng dụng trên hệ điều hành Android sẽ chạy trên một tiến trình của riêng nó Ví dụ: các máy ảo Dalvik chạy trên các lớp được biên soạn bởi một trình biên dịch ngôn ngữ Java và được chuyển đổi sang định dạng Dalvik (.dex) bằng công cụ "dx" tích hợp Các tập tin được thực thi dưới định dạng dex sẽ giúp tối ưu hóa cũng như quản lý

bộ nhớ ở cấp độ thấp

™ Linux Kernel

Android hoạt động dựa trên nhân hệ điều hành Linux 2.6 qua đó cung cấp các dịch vụ cho hệ thống cốt lõi như an ninh, quản lý bộ nhớ, quá trình hay mô hình điều khiển Đồng thời nhân hệ điều hành hoạt động như một lớp trừu tượng giúp kết nối giữa phần cứng và những phần mềm còn lại trên nền tảng

Trang 18

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 18

đến lượt mình, cá thể máy ảo này nằm trong một tiến trình do nhân Linux quản lý, như trình bày dưới đây.( Hình dưới là Máy ảo Dalvik)

Hình 1 3 Các thành phần của một ứng dụng Android

™ Activity

Một ứng dụng có một giao diện người dùng nhìn thấy được, sẽ được thực hiện bằng một Activity Activity dùng Views để tạo nên giao diện đồ họa người dùng, để hiển thị thông tin và đáp lại các hành động của người dùng Khi người dùng chọn một ứng dụng từ màn hình chủ hoặc trình khởi chạy ứng dụng thì một Activity được khởi động Activity trong Android cũng tương tự như một Form trong các ứng dụng

desktop truyền thống

Vòng đời của ứng dụng Android:

Actitvity là thành phần quan trọng nhất và đóng vai trò chính trong xây dựng ứng dụng Android

Hệ điều hành Android quản lý Activity theo dạng stack: khi một Activity mới được khởi tạo, nó sẽ được xếp lên đầu của stack và trở thành running activity, các Activity trước đó sẽ bị tạm dừng và chỉ hoạt động trở lại khi Activity mới được giải phóng

Các trạng thái trong Activity:

• Running: Activity đang hiển thị trên màn hình (foreground)

• Paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost focus)

Trang 19

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 19

• Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái stop

• Killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo

nguyên tắc ưu tiên Các Activity ở trạng thái stop hoặc paused cũng có thể bị giải phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn và phục hồi lại trạng thái trước đó

Hình 1 4 Vòng đời của một ứng dụng Android

™ Service

Service là một ứng dụng component có thể thực hiện các hoạt động

long-running trong background và không cung cấp một giao diện người dùng Một ứng dụng component có thể bắt đầu một service và nó sẽ tiếp tục chạy trong background thậm chí nếu người dùng chuyển cho ứng dụng khác Ngoài ra, một component có thể liên kết cho một dịch vụ tương tác với nó và thậm chí thực hiện giao tiếp InterProcess

Trang 20

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 20

(IPC) Ví dụ, một dịch vụ có thể xử lý các giao dịch mạng, nghe nhạc, thực hiện các tập tin I/O, hoặc tương tác với một provider content, tất cả từ background

Một service cơ bản có thể có hai hình thức:

Started

Service là "started" khi một component ứng dụng (như một activity) bắt đầu nó bằng cách gọi startService () Khi bắt đầu, một service có thể chạy trên background vô thời hạn, ngay cả khi các thành phần đó bắt đầu nó bị phá hủy Thông thường, một service bắt đầu thực hiện một hoạt động đơn lẻ và không trả lại kết quả cho người gọi

Ví dụ, nó có thể tải về hoặc tải lên một tập tin qua mạng Khi hoạt động được thực hiện, các service nên dừng lại bản thân

Bound

Service là "bound" khi một component ứng dụng liên kết cho nó bằng cách gọi bindService () Một service ràng buộc cung cấp một giao diện client-server cho phép các component tương tác với các dịch vụ, gửi các yêu cầu, có được kết quả, và thậm chí làm như vậy qua quá trình giao tiếp InterProcess (IPC) Một service bound chỉ chạy miễn là ứng dụng component khác bị ràng buộc vào nó Nhiều thành phần có thể liên kết cho dịch vụ cùng một lúc, nhưng khi tất cả chúng unbind, service này bị phá hủy

Để tạo ra một service, bạn phải tạo một lớp dịch vụ (hoặc một trong các

subclasses hiện tại của nó) Trong implementation của bạn, bạn cần cho ghi đè lên một

số method gọi lại có thể xử lý các khía cạnh quan trọng của vòng đời service và cung cấp một cơ chế cho các component cho gắn kết với dịch vụ, nếu thích hợp Các

method quan trọng nhất bạn có nên ghi đè lên gọi là:

+ onStartCommand()

Hệ thống gọi method này khi component như là một activity, yêu cầu các

service được started, bằng cách gọi startService () Sau khi thực hiện phương pháp này, các service được khởi động và có thể chạy trong background vô thời hạn Nếu bạn có triển khai điều này, đó là trách nhiệm của bạn để dừng dịch vụ khi công việc của mình được thực hiện, bởi stopSelf gọi điện thoại () hoặc stopService () (Nếu bạn

có chỉ muốn cung cấp ràng buộc, bạn không cần phải triển khai method này.)

+ onBind()

Trang 21

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 21

Hệ thống gọi method này khi component muốn liên kết với các service (chẳng hạn như cho thực hiện RPC), bằng cách gọi bindService() Trong implementation của bạn của phương pháp này, bạn có phải cung cấp một giao diện đó khách hàng sử dụng

để giao tiếp với dịch vụ, bằng cách trả lại một IBinder Bạn luôn luôn phải triển khai phương pháp này, nhưng nếu bạn không muốn cho phép liên kết, sau đó bạn nên trở về null

+ onCreate()

Hệ thống gọi method này khi service đầu tiên tạo ra, để thực hiện các thủ tục thiết lập một lần (trước khi cuộc gọi hoặc là onStartCommand() hoặc onBind()) Nếu service đang chạy, phương pháp này không được gọi

+ onDestroy()

Hệ thống gọi method này khi service không còn được sử dụng và đang được bị phá hủy service của bạn nên triển khai điều này cho làm sạch bất cứ nguồn tài nguyên như chủ đề, người nghe đã đăng ký, nhận, vv Đây là các cuộc gọi qua dịch vụ này nhận được

™ Content Provider

Có thể coi như là một máy chủ cơ sở dữ liệu Công việc của nó là quản lý truy cập và chia sẻ dữ liệu đang tồn tại, chẳng hạn như một cơ sở dữ liệu SQLite Nó có thể được cấu hình để cho phép các ứng dụng khác truy xuất và ngược lại Nếu ứng dụng rất đơn giản thì không nhất thiết phải tạo ra một trình cung cấp nội dung

Content Provider giúp tách biệt tầng ứng dụng ra khỏi tầng dữ liệu Nó có đầy

đủ các quyền điều khiển và được truy xuất thông qua mô hình URI đơn giản như là có thể thêm, xóa, cập nhật dữ liệu của các ứng dụng

™ Broadcast Receiver

Bằng cách tạo và đăng ký một Broadcast Receiver, ứng dụng Android có thể lắng nghe toàn bộ các Intent theo một chuẩn cụ thể được chỉ định Các Broadcast Receiver sẽ chạy ứng dụng một cách tự động để đáp ứng một Intent gửi đến, hay xử lý một phần tử dữ liệu hoặc đáp ứng một sự kiện, chẳng hạn như nhận một văn bản thông báo

BroadcastReceiver chỉ có duy nhất một phương thức onReceive()

Trang 22

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 22

• Khi có sự kiện mà BroadcastReceiver đã đăng ký nhận được phát đi, thì

phương thức onReceive() của BroadcastReceiver đó sẽ được gọi

• Sau khi thực thi xong phương thức này, vòng đời của BroadcastReceiver kết thúc

1.1.5 Một số gói cơ bản của Android

Trong Android có một số gói chính sau đây:

lớp container được đặc biệt hóa, tiện ích XML,…

gói tin, giao tiếp giữa các tiến trình

canvas, bộ lọc màu, point trong map, và các khối chữ nhật giúp bạn có thể trang trí trực tiếp lên giao diện

công cụ xử lý văn bản mạnh mẽ, hỗ trợ rich text, những phương thức nhập…

liệu

thiết bị: những ứng dụng được cài đặt trên thiết bị và những tài nguyên gắn liền với chúng, và những bộ cung cấp dữ liệu chung lâu dài của riêng android

hình ứng dụng

android

Trang 23

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 23

Bộ SDK được thiết kế cho phép các nhà phát triển “mở rộng, thay thế và tái sử dụng ” các thành phần phần mềm và đi kèm công cụ gỡ lỗi, một chương trình device emulator (thiết bị giả lập) và các dự án mẫu

Hình 1 5 Hình ảnh một device emulator

Trang 24

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 24

SDK cũng chứa chương trình hỗ trợ để kết hợp với các công cụ với nền tảng phát triển nguồn mở Eclipse Sử dụng cho Eclipse từ 3.2 trở lên

1.2.2 Cài đặt Plugin cho Eclipse

Sử dụng Eclipse như một môi trường để phát triển ứng dụng Android Bạn có thể cài đặt plugin ADT (Android Development Tools), công cụ hỗ trợ các công cụ lập trình Android gắn liền với Eclipse với các chức năng bao gồm: tạo, chạy, gỡ rối các ứng dụng trên Android dễ dàng hơn nhiều

Sau đó hãy tải bộ SDK tại địa chỉ www.code.google.com/android

Để cài đặt Android plugin ta làm như sau:

Eclipse 3.7) tại website http://www.eclipse.org/downloads/dow -3.7-win32.zip

Hình 1 6 Biểu diễn bước đầu tiên cài đặt plugin

Lưu ý: Hộp name có thể đặt tên tùy ý của bạn còn hộp Location thì bắt buộc là

https://dl-ssl.google.com/android/eclipse/

Trang 25

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 25

Hình 1 7 Hình biểu diễn địa chỉ trang web cài đặt plugin

x Bước 5: Đợi eclipse lấy thông số plugin từ địa chỉ trên

Hình 1 8 Hình biểu diễn qua trình cài đặt tự động của plugin

Trang 26

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 26

1.3 Giới thiệu về Dịch vụ Web (Web service)

1.3.1 Giới thiệu công nghệ

Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ Web là một

hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng XML Dịch vụ Web là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu Một dịch vụ Web được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ dịch vụ Web khác Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server

Trước hết, có thể nói rằng ứng dụng cơ bản của Dịch vụ Web là tích hợp các hệ thống và là một trong những hoạt động chính khi phát triển hệ thống Trong hệ thống này, các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và các ứng dụng khác, người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích và lấy dữ liệu Trong thời gian gần đây, việc phát triển mạnh mẽ của thương mại điện tử và B2B cũng đòi hỏi các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là tương tác với hệ thống bên ngoài - bên cạnh tương tác với các thành phần bên trong của hệ thống trong doanh nghiệp)

Dưới đây, chúng ta sẽ xem qua những khái niệm và cách thức cơ bản nhất để xây dựng một dịch vụ Web trong tích hợp và phát triển hệ thống

1.3.2 Đặc điểm của Dịch vụ Web

ƒ Đặc điểm

- Dịch vụ Web cho phép client và server tương tác được với nhau ngay cả trong những môi trường khác nhau Ví dụ, đặt Web server cho ứng dụng trên một máy chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều hành

Trang 27

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 27

Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêm yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này

- Phần lớn kĩ thuật của Dịch vụ Web được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như XML

- Một Dịch vụ Web bao gồm có nhiều mô-đun và có thể công bố lên mạng Internet

- Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh vực

cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp, khách hàng, những nhà cung cấp khác và cả những cá nhân thông qua mạng Internet

- Một ứng dụng khi được triển khai sẽ hoạt động theo mô hình client-server Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như PHP, Oracle Application server hay Microsoft.Net…

- Ngày nay dịch vụ Web đang rất phát triển, những lĩnh vực trong cuộc sống có thể

áp dụng và tích hợp dịch vụ Web là khá rộng lớn như dịch vụ chọn lọc và phân loại tin tức (hệ thống thư viện có kết nối đến web portal để tìm kiếm các thông tin cần thiết); ứng dụng cho các dịch vụ du lịch (cung cấp giá vé, thông tin về địa điểm…), các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, tỷ giá hối đoái, đấu giá qua mạng…hay dịch vụ giao dịch trực tuyến (cho cả B2B và B2C) như đặt vé máy bay, thông tin thuê xe…

- Các ứng dụng có tích hợp dịch vụ Web đã không còn là xa lạ, đặc biệt trong điều kiện thương mại điện tử đang bùng nổ và phát triển không ngừng cùng với sự lớn mạnh của Internet Bất kì một lĩnh vực nào trong cuộc sống cũng có thể tích hợp với dịch vụ Web, đây là cách thức kinh doanh và làm việc có hiệu quả bởi thời đại ngày nay là thời đại của truyền thông và trao đổi thông tin qua mạng Do vậy, việc phát triển

và tích hợp các ứng dụng với dịch vụ Web đang được quan tâm phát triển là điều hoàn toàn dễ hiểu

ƒ Ưu và nhược điểm

Ưu điểm:

Trang 28

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 28

+ Dịch vụ Web cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần mềm khác nhau chạy trên những nền tảng khác nhau

+ Sử dụng các giao thức và chuẩn mở Giao thức và định dạng dữ liệu dựa trên văn bản (text), giúp các lập trình viên dễ dàng hiểu được

+ Nâng cao khả năng tái sử dụng

+ Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web

+ Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán

+ Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác

Nhược điểm:

+ Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ Web, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành

+ Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt

+ Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật

1.3.3 Các thành phần của Dịch vụ Web

¾ XML – eXtensible Markup Language

Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thành phần

đó chứa cái gì Với XML, các thẻ có thể được lập trình viên tự tạo ra trên mỗi trang

Trang 29

SVTH: Nguyễn Tấn Quốc – Lớp 09CNTT1 Trang 29

web và được chọn là định dạng thông điệp chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở

Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp XML là công cụ chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một dịch vụ Web, tất

cả dữ liệu sẽ được chuyển sang định dạng thẻ XML Khi đó, các thông tin mã hóa sẽ hoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML-RPC và có thể tương tác với nhau trong một thể thống nhất

¾ WSDL - Web Service Description Language

WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, bao gồm các thông tin:

- Tên dịch vụ

- Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ Web

- Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch vụ Web cộng với tên cho giao diện này)

Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương thức kết nối) và phần thi hành mô tả thông tin truy xuất CSDL Cả hai phần này sẽ được lưu trong 2 tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi hành dịch vụ Giao diện của một dịch vụ Web được miêu tả trong phần này đưa ra cách thức làm thế nào để giao tiếp qua dịch vụ Web Tên, giao thức liên kết và định dạng thông điệp yêu cầu để tương tác với dịch vụ Web được đưa vào thư mục của WSDL

WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp dịch vụ Web qua Internet Một client khi kết nối tới dịch vụ Web có thể đọc WSDL để xác định những chức năng sẵn có trên server Sau đó, client có thể sử dụng SOAP để lấy ra chức năng chính xác có trong WSDL

¾ Universal Description, Discovery, and Integration (UDDI)

Ngày đăng: 26/06/2021, 13:14

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Biểu tưởng hệ điều hành Android - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1.1 Biểu tưởng hệ điều hành Android (Trang 13)
Hình 1.2 Kiến trúc hệ điều hành Android - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1.2 Kiến trúc hệ điều hành Android (Trang 15)
Hình 1.3 Các thành phần của một ứng dụng Android - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1.3 Các thành phần của một ứng dụng Android (Trang 18)
Hình 1.4 Vòng đời của một ứng dụng Android - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1.4 Vòng đời của một ứng dụng Android (Trang 19)
Hình 1.5 Hình ảnh một device emulator - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1.5 Hình ảnh một device emulator (Trang 23)
Hình 1.6 Biểu diễn bước đầu tiên cài đặt plugin - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1.6 Biểu diễn bước đầu tiên cài đặt plugin (Trang 24)
Hình 1. 8 Hình biểu diễn qua trình cài đặt tự động của plugin - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1. 8 Hình biểu diễn qua trình cài đặt tự động của plugin (Trang 25)
Hình 1 .7 Hình biểu diễn địa chỉ trang web cài đặt plugin - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 1 7 Hình biểu diễn địa chỉ trang web cài đặt plugin (Trang 25)
Hình 2.1 Mô hình tổng quát của ứng dụng - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2.1 Mô hình tổng quát của ứng dụng (Trang 33)
Hình 2.2 Sơ đồ luồng thành phần Du lịch - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2.2 Sơ đồ luồng thành phần Du lịch (Trang 33)
Hình 2.4 Sơ đồ luồng thành phần Khách sạn - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2.4 Sơ đồ luồng thành phần Khách sạn (Trang 34)
Hình 2.3 Sơ đồ luồng thành phần Ẩm thực - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2.3 Sơ đồ luồng thành phần Ẩm thực (Trang 34)
Hình 2.6 Sơ đồ luồng thành phần Mua sắm - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2.6 Sơ đồ luồng thành phần Mua sắm (Trang 35)
Hình 2.5 Sơ đồ luồng thành phần Taxi - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2.5 Sơ đồ luồng thành phần Taxi (Trang 35)
Hình 2 .7 Sơ đồ luồng thành phần ATM - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2 7 Sơ đồ luồng thành phần ATM (Trang 36)
a. Mô hình UseCase Khách sạn - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
a. Mô hình UseCase Khách sạn (Trang 36)
Hình 2. 9 Mô hình UseCase Ẩm thực - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2. 9 Mô hình UseCase Ẩm thực (Trang 37)
b. Mô hình UseCase Ẩm thực - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
b. Mô hình UseCase Ẩm thực (Trang 37)
Hình 2. 11Mô hình UseCase Du lịch - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2. 11Mô hình UseCase Du lịch (Trang 38)
d. Mô hình UseCase Du lịch - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
d. Mô hình UseCase Du lịch (Trang 38)
Hình 2. 13 Mô hình UseCase Taxi - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2. 13 Mô hình UseCase Taxi (Trang 39)
Bảng 2.1 Cấu trúc bảng ATM - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Bảng 2.1 Cấu trúc bảng ATM (Trang 40)
Bảng 2.3 Cấu trúc bảng Khách sạn - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Bảng 2.3 Cấu trúc bảng Khách sạn (Trang 41)
Bảng 2.4 Cấu trúc bảng Mua sắm - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Bảng 2.4 Cấu trúc bảng Mua sắm (Trang 41)
Hình 2. 15 Các lớp trong packet Map - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 2. 15 Các lớp trong packet Map (Trang 45)
Hình 3.1 Giao diện kho ứng dụng Google Play - Nghiên cứu và phát triển ứng dụng trên nền điện thoại di động android
Hình 3.1 Giao diện kho ứng dụng Google Play (Trang 48)

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