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

Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android

60 740 1

Đ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 60
Dung lượng 1,36 MB

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

Nội dung

Mục đích nội dung của ĐATN • Tìm hiểu các thông tin, cấu trúc hệ điều hành Android • Tìm hiểu môi trường phát triển ứng dụng cho Mobile dùng hệ điều hành Android • Tìm hiểu quy trình phá

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Sinh viên thực hiện : Phan Thanh Tuấn

Lớp CNPM – K51

Giáo viên hướng dẫn: Ths Lương Mạnh Bá

HÀ NỘI 6 - 2011

Trang 2

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Thông tin về sinh viên

Họ và tên sinh viên: Phan Thanh Tuấn

Điện thoại liên lạc 0976240300 Email: tuanpt88@gmail.com

Lớp: CNPM Hệ đào tạo: Đại học chính quy

Đồ án tốt nghiệp được thực hiện tại: Đại học Bách Khoa Hà Nội

Thời gian làm ĐATN: Từ ngày 28/ 2/ 2011 đến 28/ 5/ 2011

2 Mục đích nội dung của ĐATN

• Tìm hiểu các thông tin, cấu trúc hệ điều hành Android

• Tìm hiểu môi trường phát triển ứng dụng cho Mobile dùng hệ điều hành Android

• Tìm hiểu quy trình phát triển ứng dụng cho Mobile dùng hệ điều hành Android

3 Các nhiệm vụ cụ thể của ĐATN

• Tìm kiếm và tổng hợp thông tin

• Cài đặt môi trường phát triển

• Viết chương trình thử nghiệm và tích hợp với các Module để xây dựng hệ thống

4 Lời cam đoan của sinh viên:

Tôi - Phan Thanh Tuấn - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của thạc sỹ Lương Mạnh Bá

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác.

Hà Nội, ngày 26 tháng 5 năm 2011

Tác giả ĐATN

Phan Thanh Tuấn

5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:

Hà Nội, ngày 26 tháng 5 năm 2011

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

Thạc sỹ Lương Mạnh Bá

Trang 3

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Trong báo cáo này, em xin trình bày những kiến thức mà em đã tìm hiểu được trong thời gian thực hiện đồ án tốt nghiệp vừa qua về hệ điều hành Android cũng như môi trường

để phát triển ứng dụng đa phương tiện cho hệ điều hành này

Nội dung chính của đồ án được chia thành các phần sau:

 Phần mở đầu: Tóm tắt nội dung, đề tài được giao trong khuôn khổ đồ án tốt nghiệp Trình bày các thông tin về môi trường thực hiện đồ án và giới thiệu tóm tắt bố cục của đồ án

 Phần nội dung chính của đồ án được chia thành 4 chương:

• Chương I: Đặt vấn đề và định hướng giải pháp

Trình bày cụ thể về nhiệm vụ, mô tả bài toán, các vấn đề cần giải quyết

Định hướng giải pháp giải quyết các vấn đề đặt ra

Chương II: Công cụ và môi trường phát triển

Giới thiệu tóm tắt về cơ sở lý thuyết và các công cụ được lựa chọn để giải quyết các vấn đề

Giới thiệu về quy trình phát triển một ứng dụng cho thiết bị di động

• Chương III: Phân tích hệ thống

Chương này sẽ trình bày những phân tích cụ thể về hệ thống bao gồm:

- Mục đích thiết kế

- Kiến trúc hệ thống

- Thiết kế tổng quan

- Thiết kế chi tiết (phía client)

- Thiết kế giao tiếp người dùng (phía client)

• Chương IV: Cài đặt và triển khai ứng dụng - xây dựng module client và tích hợpChương này sẽ trình bày những hướng dẫn cho việc cài đặt và những kết quả trong việc triển khai ứng dụng, những đánh giá về hệ thống

Trang 4

MỤC LỤC

Trang 5

DANH MỤC HÌNH

Trang 6

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

STT Từ viết tắt Ý nghĩa

1 ĐATN Đồ án tốt nghiệp

3 SDK Software Development Toolkit

4 DVM Dalvik Virtual Machine

5 API Application Programming Interface

6 CMS Content Management System

7 SQL Structured Query Language

8 RDMS Relational Database Management System

9 GOMS Goals – Operator – Method – Selection

10 GPRS General Packet Radio Service

11 VGA Video graphics array

12 PC Personal Computer

13 IDE Integrated Development Environment

14 ĐTDĐ Điện thoại di động

Trang 7

MỞ ĐẦU

1 Giới thiệu

Công nghệ trên thế giới đang phát triển từng ngày với tốc độ vũ bão Xu hướng hiện nay của ngành công nghệ thông tin không chỉ gói gọn trong việc làm việc với các ứng dụng trên máy tính mà đang chuyển dịch dần thành công nghệ thông tin và truyền thông Cụ thể hơn, từ những chiếc máy tính để bàn cố định, con người phát triển nên chiếc laptop cơ động hơn Nhưng những chiếc laptop đó vẫn chưa thể thỏa mãn được nhu cầu ngày càng cao của con người Con người lại kết hợp máy tính với chiếc điện thoại di động để cho ra những thiết bị di động thế hệ mới, có sức mạnh của chiếc máy tính lại nhỏ gọn, cơ động như những chiếc điện thoại di động, không chỉ giúp con người liên lạc, trao đổi thông tin mà còn trợ giúp trong những công việc hàng ngày

Đi kèm với sự phát triển của phần cứng như vậy, phần mềm cũng đang phát triển nhanh chóng để phù hợp với các thiết bị thế hệ mới Quan trọng nhất đó chính

là các hệ điều hành cho các thiết bị di động Nổi bật nhất gần đây là hệ điều hành hành Android của Google Nó được đánh giá là một hệ điều hành tốt, nhiều tiềm năng phát triển và sẽ có những bước nhảy vọt trong thời gian tới Trong kỳ thực tập

và làm đồ án tốt nghiệp em được tìm hiểu về hệ điều hành này

Cùng với sự phát triển của công nghệ, nhu cầu của con người đối với các thiết bị di động cũng không còn giới hạn trong việc nghe gọi và nhắn tin như trước,

mà vươn cao hơn tới các nhu cầu giải trí, thu thập thông tin Xuất phát từ nhu cầu

đó mà nhóm em có mong muốn xây dựng một hệ thống đa phương tiện cho phép người sử dụng điện thoại di động có thể có được các thông tin mới nhất cũng như việc người dùng có thể có các giây phút giải trí thú vị ngay chỉ với chiếc điện thoại

nhỏ bé của mình Đó cũng chính là lý do mà nhóm em đã lựa chọn đề tài “Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android” để

làm đồ án tốt nghiệp

2 Nhiệm vụ được giao trong đề tài

Đề tài “Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android” do nhóm em thực hiện trong thời gian làm đồ án Về cơ bản đề tài được chia ra thành ba phần với từng nhiệm vụ cụ thể cho từng thành viên trong nhóm Cụ thể như sau:

 Phan Thanh Tuấn: xây dựng các module phía client

 Nguyễn Thế Trung: xây dựng các module phía Server

 Nguyễn Mạnh Hùng: xây dựng các module CMS và thiết kế cơ sở dữ liệu.Với nhiệm vụ xây dựng các module phía client, các công việc của em trong

đồ án cụ thể gồm hai công việc chính:

Trang 8

• Tìm hiểu về hệ điều hành cho di động, cụ thể là hệ điều hành Android (cơ sở

lý thuyết, kiến trúc tổng thể, môi trường lập trình )

• Xây dựng các module phía client cho dòng máy chạy hệ điều hành Android

3 Bố cục đồ án tốt nghiệp

Đồ án của em trình bày bốn phần chính Cụ thể như sau:

Phần mở đầu: giới thiệu tổng quan về đồ án, các thông tin về nhóm cũng như môi trường thực hiện đồ án và công nghệ sử dụng

Phần 2: Đặt vấn đề và định hướng giải pháp, nêu các phương hướng phát triển cho đồ án, môi trường và công cụ được lựa chọn Phần này được trình bày cụ thể trong chương I, II của đồ án

Phần 3: là các kết quả đạt được trong đồ án bao gồm kết quả phân tích thiết

kế hệ thống, kết quả thực hiện cài đặt và thử nghiệm ứng dụng, đánh giá ưu nhược điểm và khả năng sử dụng của dịch vụ Phần này được trình bày cụ thể trong chương III và chương IV của đồ án

Phần 4: Phần kết luận bao gồm kết luận đánh giá các công việc đã làm và chưa làm được và định hướng nhằm hoàn thiện kết quả đạt được của ĐATN

Trang 9

CHƯƠNG I: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP

I Đặt vấn đề

Thị trường di động Việt Nam được đánh giá là một trong những thị trường thông tin di động có tốc độ phát triển nhanh nhất châu Á, tới 40% - 50% một năm, Việt Nam đang trở thành một điểm đến hấp dẫn của các tập đoàn viễn thông nước ngoài

Mới đây, 2/4/2009 Bộ Thông tin và truyền thông đã tổ chức thi tuyển và cấp giấy phép 3G cho 4 đơn vị trúng tuyển với tổng số tiền cam kết đầu tư triển khai trong ba năm đầu lên đến 33.800 tỷ đồng (tương đương khoảng gần 2 tỷ USD) đã đưa thị trường di động Việt Nam bước vào kỷ nguyên mới 3G sẽ tạo ra băng thông rộng, giống như một xa lộ, tạo cơ sở hạ tầng mạng để phát triển các dịch vụ giá trị gia tăng hiện đại như các dịch vụ thoại truyền hình, dịch vụ thoại hình ảnh, đặc biệt

là các dịch vụ nội dung giải trí như xem phim, nghe nhạc trực tuyến…

Với việc phát triển nhanh chóng của thị trường di động ở nước ta, việc sử dụng chiếc điện thoại cá nhân để tiếp cận với những thông tin khổng lồ trên internet

là một yêu cầu cấp thiết và được người sử dụng điện thoại di động mong đợi Đáp ứng nhu cầu đó một số phần mềm đa phương tiện dành cho Mobile ra đời giúp cho người sử dụng điện thoại di động có thể sử dụng chiếc điện thoại của mình tiếp cận với những thông tin khổng lồ trên internet tương tự như trên PC Tiêu biểu trong các phần mềm đó là sản phẩm iMedia do công ty Naiscorp xây dựng

Hình 1: Mô hình bài toán

Trang 10

Sản phẩm iMedia là một sản phẩm tiêu biểu về cổng thông tin điện tử cho thiết bị di động trong quá trình thực tập tại công ty Naiscorp nhóm em đã có điều kiện tìm hiểu kĩ hơn về mô hình của sản phẩm từ đó có những giải pháp cho việc xây dựng ứng dụng trong đồ án tốt nghiệp.

Hệ thống iMedia được được chia thành 3 tầng với những chức năng và nhiệm vụ cụ thể:

• Tầng ứng dụng (Java Application)

• Tầng giao diện (Mobile Interface)

• Tầng dưới cùng là tầng máy tìm kiếm socbay (Socbay Search

Engine)

Việc mô hình hóa hệ thống được biểu diễn như hình dưới:

Hình 2: Mô hình sản phẩm iMedia

Trong đó:

Socbay Search Engine: máy tìm kiếm của socbay chịu trách nhiệm thu thập

dữ liệu từ các nguồn khác nhau trên internet Dữ liệu được đánh chỉ mục và lưu trữ trong cơ sở dữ liệu của socbay

Mobile Interface: hỗ trợ cho việc chuẩn hóa dữ liệu phục vụ cho thiết bị di

đông Ngoài ra Mobile Interface còn quản lý module giao tiếp cho phép lấy

và trả dữ liệu về cho ứng dụng Java khi nhận được yêu cầu từ ứng dụng

Java Application: Ứng dụng phía client với tên gọi Socbay Mobile Search,

tương tác với người sử dụng thông qua các thành phần đồ họa

Trong khoảng ba tháng làm đồ án ngắn ngủi đồng thời vừa phải tìm hiểu và xây dựng chương trình việc xây dựng nên một ứng dụng giống như iMedia cho nhiều hệ điều hành , dòng điện thoại với đầy đủ chức năng là khó thành công do đó nhóm em đã quyết định xây dựng một chương trình cho dòng máy chạy hệ điều

Trang 11

hành Android mô phỏng lại một số chức năng cơ bản như đọc báo, xem tranh, đọc truyện

Mô hình hệ thống mà nhóm em xây dựng nhìn chung khá giống với mô hình của sản phẩm iMedia tuy nhiên cũng có một số khác biệt sau:

• iMedia có một hệ thống Search Engine khá nổi tiếng và tầm cỡ có nhiệm vụ thu thập thông tin trên Internet Trong khi đó nhóm em xây dựng một Server

có nhiệm vụ Crawler thông tin về cơ sở dữ liệu, dĩ nhiên là dữ liệu thu thập

về ít hơn và cũng không được phân loại, sàng lọc kĩ như Socbay Search Engine

• Sản phẩm iMedia được xây dựng cho các dòng máy có hỗ trợ Java trong khi

đó sản phẩm của nhóm được xây dựng cho dòng máy chạy hệ điều hành Android

Hình 3: Mô hình hệ thống

Tuy vậy ứng dụng vẫn có khả năng cung cấp cho người dùng những thông tin đã được sàng lọc, tổng hợp và chuẩn hóa riêng phù hợp cho thiết bị di động Sản phẩm tuy được phát triển trong thời gian ngắn nhưng hy vọng sẽ mang lại tính đột phá, đa dạng và phù hợp với văn hóa của người Việt Ứng dụng cung cấp cho người dùng những chức năng chính sau:

• Chức năng đọc tin tức

• Chức năng xem kết quả xổ số

• Chức năng xem hình ảnh

• Chức năng đọc truyện

Trang 12

• Chức năng nghe nhạc

Ở trên em chỉ nêu mô tả bài toán với các chức năng cơ bản Việc phân tích và thiết kế tương ứng cho từng chức năng sẽ được trình bày kỹ hơn ở chương III của báo cáo

II Định hướng giải quyết

Để giải quyết các vấn đề đã được nêu ra trong phần trên nhóm em đưa ra định hướng để giải quyết các vấn đề của bài toán

Từ bài toán cụ thể trên chúng em đã tiến hành xây dựng mô hình chung của

SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn User SQL Server 2005 có thể kết hợp ăn ý với các server khác nhau

Trên đây là một số giới thiệu về SQL Server 2005 với nhiều điểm ấn tượng, ngoài ra trong quá trình học tập chúng em đã có thời gian tìm hiểu về hệ quản trị cơ

sở dữ liệu này do đó việc lựa chọn nó cũng là một ưu thế so với các hệ quản trị cơ

Không thể không kể đến một số điểm mạnh của ngôn ngữ Java như khả năng thông dịch, lập trình hướng đối tượng, đa nhiệm, đa luồng, tính khả chuyển và khả năng hỗ trợ mạnh cho việc phát triển ứng dụng

Chúng em đã lựa chọn ngôn ngữ Java và môi trường phát triển là Netbeans trên hệ điều hành Windows Netbean IDE là một công cụ dành cho lập trình viên để viết, biên dịch, gỡ lỗi (debug) và triển khai (deploy) chương trình, giao diện thân thiện, được coi là phổ biến và hiệu quả nhất Một sản phẩm miễn phí và không có

Trang 13

giới hạn nào trong việc sử dụng nó thì NetBean IDE có lẽ là lựa chon tối ưu nhất để viết Java.

Phần xây dựng các module kết nối được xây dựng bằng việc sử dụng giao thức Socket Cùng với giao thức HTTP là hai giao thức truyền thống, rất dễ sử dụng Song mỗi giao thức có những ưu, nhược điểm riêng Nhưng trong khuôn khổ

có phần hạn chế của đồ án em xin lựa chọn giao thức Socket để xây dựng các module kết nối

Với việc lựa chọn nhiệm vụ cho mình là xây dựng các module phía client, trong phần tiếp theo của đồ án xem xin trình bày những cơ sở lý thuyết và các công

cụ được lựa chọn để giải quyết vấn đề của bài toán

Trang 14

CHƯƠNG II: CÔNG CỤ VÀ MÔI TRƯỜNG PHÁT TRIỂN

Android được đánh giá là có triển vọng rất lớn và có tốc độ tăng trưởng nhanh trong những năm tới Dưới đây là những ưu điểm tạo nên sức cạnh tranh của Android

Những điểm mạnh của Android

• Tính mở: Android được xây dựng dựa trên nhân là hệ điều hành Linux Đây

là một nền tảng hoàn toàn mở (mã nguồn mở – open source), do đó những chiếc điện thoại chạy Android sẽ không mất phí cho hệ điều hành, kéo theo giá thành của những chiếc điện thoại này sẽ giảm xuống Đó chính là một yếu tố cạnh tranh rất lớn của Android Bên cạnh đó, do có một nền tảng mở

và bản thân cũng là phần mềm mở nên các nhà phát triển ứng dụng có thể thoải mái làm mọi thứ trên Android Các ứng dụng có thể gọi đến bất kì ứng dụng lõi nào của Android như tạo cuộc gọi, gửi tin nhắn, sử dụng camera

Họ cũng có thể tạo ra một hệ điều hành mới mang bản sắc riêng dựa trên mã nguồn mở của Android Tính mở còn giúp Android ngày càng được mở rộng khi cộng đồng phát triển tiếp tục làm việc cùng nhau để tạo ra các ứng dụng mới

• Các ứng dụng tạo ra ngang bằng nhau: Android không phân biệt các ứng dụng lõi của điện thoại và các ứng dụng của bên thứ ba Tất cả đều có quyền truy nhập như nhau đến các khả năng của điện thoại cung cấp cho người dùng với các ứng dụng và dịch vụ rất rộng rãi Vì thế các ứng dụng có thể

Trang 15

phát huy mọi điểm mạnh của mình mà không gặp trở ngại nào.

• Phá vỡ những ranh giới ứng dụng: Android phá vỡ các rào cản trong việc xây dựng các ứng dụng mới Ví dụ như nhà phát triển có thể kết hợp thông tin từ web và các thông tin cá nhân trong điện thoại di động như user contact, calendar để cung cấp cho người dùng những thông tin phù hợp hơn, tượng

tự như các dịch vụ hiện có của Google Và không chỉ phá vỡ rào cản về mặt

kỹ thuật mà còn cả rào cản về mặt địa lý, với Android một nhà phát triển có thể xây dựng ứng dụng cho phép người dùng thấy được vị trí của bạn bè của

họ, thông báo khi họ ở gần nhau và tạo cơ hội để họ kết nối với nhau

• Phát triển ứng dụng nhanh và dễ dàng: Android cho phép truy nhập phạm vi rất rộng các công cụ và thư viện hữu ích được sử dụng để xây dựng các ứng dụng Ví dụ Android cho phép các nhà phát triển lấy về vị trí của thiết bị và cho phép các thiết bị kết nối với nhau Thêm nữa Android còn chứa một tập đầy đủ các công cụ được xây dựng rất sát với nền tảng giúp cho các ứng dụng được tạo ra có hiệu suất cao

2 Kiến trúc Android OS

Kiến trúc Android bao gồm một loạt tính năng ấn tượng cho các ứng dụng di động Trong thực tế, khi nhìn vào kiến trúc đơn lẻ, nếu không xem xét Android là một nền tảng thiết kế cho các môi trường điện thoại di động, thì rất dễ dàng nhầm lẫn kiến trúc Android với một kiến trúc máy tính nói chung Tất cả các thành phần chính của nền tảng máy tính đều tồn tại trong Android Sau đây là mô tả về các thành phần trong kiến trúc của nó

Kiến trúc Android gồm 4 tầng: Applications, FrameWork Application, Libraries, Linux Kernel Dưới đây là hình vẽ minh họa kiến trúc tổng thể của Android:

Trang 16

Hình 4: Kiến trúc tổng thể Android

a Applications

Đây là các ứng dụng tương tác trực tiếp với người dùng bao gồm các ứng dựng lõi và những ứng dụng của bên thứ ba Ngoài việc cung cấp đầy đủ các ứng dụng cơ bản của một chiếc điện thoại thông thường như: tạo cuộc gọi, nhắn tin Android còn có những dịch vụ rất hữu ích khác: trình duyệt web, google maps, các ứng dụng media, camera, games Hơn nữa Google còn cung cấp kho ứng dụng cho Android tai địa chỉ http://www.android.com/market/ khá phong phú giúp người dùng có thể thoải mái download để sử dụng

b Application Framework

Đây là nơi chứa các dịch vụ và hệ thống quản lí ứng dụng bao gồm:

• Activity Manager: quản lí vòng đời của ứng dụng

• Window Manager: quản lí các cửa sổ trong ứng dụng như trạng thái, cách bố trí

• Content Providers: cho phép ứng dụng có thể truy nhập dữ liệu của ứng dụng khác hoặc chia sẻ dữ liệu của nó cho các ứng dụng

• View System: cung cấp các thành phần giao diện như list, text, button, thậm chí cả trình duyệt web được nhúng vào trong ứng dụng

Trang 17

• Package Manager: chứa các công cụ quản lí việc cài đặt, nâng cấp, cấu hình hoặc gỡ bỏ các gói ứng dụng.

• Telephony Manager: quản lí các dịch vụ thoại như thông tin, trạng thái các cuộc gọi, tin nhắn

• Resource Manager: cung cấp quyền truy nhập đến các tài nguyên không nằm trong code như các chuỗi, icon, các file layout, các đối tượng graphics được

• Surface Manager: quản lí việc truy nhập đến các hệ thống con dùng cho việc thể hiện đồ họa, kết hợp các lớp đồ họa 2D, 3D từ nhiều ứng dụng

• LibWebCore: một cơ chế trình duyệ Web hiện đại bao gồm khả năng của trình duyệt Web Android và trình duyệt Web nhúng

• SGL (Skia Graphics Library): cơ chế đồ họa 2D cơ sở

• Thư viện 3D: thư viện đồ họa 3D phát triển dựa trên OpenGL ES 1.0 APIs

• FreeType: render các ảnh bitmap và font vectơ

• SQLite: hệ quản trị cơ sở dữ liệu quan hệ nhẹ và mạnh mẽ có hiệu lực với tất

cả các ứng dụng

d Dalvik Virtual Machine (DVM)

Máy ảo Dalvik một thành phần rất quan trọng trong Android Nó thực hiện các ứng dụng trên nền Java và đã được đóng gói dưới dạng file dex (Dalvik Executable - dạng file thực thi của máy ảo Dalvik) phù hợp với các thiết bị mobile

bị hạn chế về bộ nhớ và tốc độ xử lí chậm Không giống như hầu hết các máy ảo dựa trên ngăn xếp, Dalvik là một máy ảo dựa thanh ghi Với các máy ảo dựa ngăn xếp, do phải nạp dữ liệu vào ngăn xếp rồi mới thực hiện trên các dữ liệu đó nên chúng thường cần nhiều lệnh hơn so với những máy ảo dựa thanh ghi Tuy nhiên các máy ảo dựa thanh ghi do phải mã hóa thanh ghi nguồn và đích nên các lệnh thường sẽ lớn hơn Dalvik sử dụng một loại bytecode riêng không phải Java bytecode Android SDK cung cấp công cụ cho phép chuyển các file Java class sau khi biên dịch sang dạng file .dex, tức là dịch từ Java bytecode sang Dalvik bytecode Nhiều file class có thể được đóng gói vào một file dex Dalvik có cơ chế

Trang 18

mã hóa đặc biệt khiến cho các file dex có kích thước nhỏ hơn file jar nhằm tối ưu hóa việc sử dụng bộ nhớ Mỗi ứng dụng chạy trên một tiến trình của riêng nó tương ứng mỗi tiến trình lại có riêng nó một DVM, như vậy các tiến trình sẽ không gây ảnh hưởng lẫn nhau Cũng theo đó, Android cũng hỗ trợ nhiều thực thể DVM chạy song song với nhau cho phép chạy cùng lúc nhiều ứng dụng.

e Linux kernel

Android dựa trên nhân Linux version 2.6 đối với các dịch vụ lõi của hệ thống như bảo mật, quản lí bộ nhớ, quản lí tiến trình, mạng, trình điều khiển Nhân Linux như là một lớp trừu tượng giữa phần cứng và phần còn lại của hệ thống Android Nhưng Linux không làm việc trực tiếp với các ứng dụng mà thông qua máy ảo DVM Nhân Linux được Google sử dụng không hoàn toàn là nhân Linux được sử dụng cho các phiên bản hệ điều hành cho máy tính để bàn, trong đó Google đã loại

bỏ đi hệ thống quản lý cửa sổ ứng dụng X Window System cũng như bỏ bớt một số thư viện trong bộ thư viện chuẩn GNU Do đó việc sử dụng lại code cũng như thư viện của các chương trình ứng dụng của các hệ điều hành Linux cho máy tính để bàn là rất khó khăn

3 Tính năng của Android

Giao diện

Hỗ trợ màn hình kích thước lớn, card đồ họa VGA, đồ họa 2D,

đồ họa 3D dựa trên OpenGL ES và tương thích với giao diện truyền thống của các thiết bị di động Một số tính năng khác: autocomplete (gợi ý và tự đồng điền), màn hình chính tiện dụng cho phép tìm kiếm dữ liệu thông tin Ngoài ra Androd còn cho phép tìm kiếm qua giọng nói

Lưu trữ Sử dụng hệ quản trị cơ sở dữ liệu quan hệ SQLite để lưu trữ dữ

liệu

Kết nối Hỗ trợ nhiều giao thức kết nối khác nhau: GSM/EDGE, IDEN,

CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi và WiMAX

Tin nhắn Hỗ trợ 2 giao thức truyền tải tin nhắn là SMS và MMS

Trình duyệt web

Trình duyệt web của Android được xây dựng dựa trên nền Webkit Trình duyệt này đạt được 93/100 điểm với bài kiểm tra Acid3 Hỗ trợ Flash phiên bản 10, hỗ trợ upload file qua trình duyệt

Hỗ trợ Java

Ứng dụng trên Android được viết bằng mã Java có thể được biên dịch để chạy trên máy ảo Dalvik Virtual Machine Tuy nhiên Android lại không trợ J2ME như nhiều dòng điện thoại hiện đại khác Ngoài ra ứng dụng trên Android còn có thể được cài đặt trên thẻ nhớ ngoài nhằm mở rộng dung lượng bộ nhớ

Hỗ trợ Media Một số chuẩn của 3GP và MP4 như H263, H264, MPEG-4 SP,

Trang 19

AAC ; MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP Cho phép quay phim và xem lại Cho phép gửi ảnh lên Piccassa

và video lên Youtupe trực tiếp từ thiết bị Ngoài ra Android còn

đi kèm theo một trình quản lý thư viện (galleries)

Google cho ra đời một cửa hàng trực tuyến tại địa chỉ

http://www.android.com/market/ bắt đầu từ năm 2008, cho phép người dùng tải và cải đặt phần mềm vào Android mà không phải thông qua máy tính để bàn

Hỗ trợ đa chạm

Android có hỗ trợ cảm ứng đa chạm với các thiết bị hỗ trợ công nghệ này Tuy nhiên tính năng này mặc định bị tắt nhằm tránh vi phạm tới bằng sáng chế của Apple Tính năng này chỉ được bật sẵn trên Nexus One của Google và Motorola Droid

Gọi điện video Không chính thức hỗ trợ, nhưng có thể sử dụng trên chiếc HTC

4 Phần mềm trên Android

a Phân loại:

Phần mềm trên Android có 2 dạng chia theo mã nguồn:

Dạng thứ nhất là các phần mềm viết bằng mã thuần C cho kiến trúc ARM có thể biên dịch bằng bộ biên dịch mã nguồn mở GCC và cài đặt vào Android thông qua công cụ Android Native Development Kit Các phần mềm này chạy trực tiếp với nhân Linux, vì vậy các phần mềm dạng này thường là các thư viện trong lớp Libraries của Android Các lớp trong các thư viện này có thể được gọi từ các chương trình viết bằng mã Java khác thông qua máy ảo Dalvik Tuy Google cung cấp công cụ cho phép cài đặt và thực thi các chương trình viết bằng ngôn ngữ C trên Android, thực tế việc phát triển ứng dụng dạng này là khó khăn, bởi các thư viện C của Android không phải là các thư viện chuẩn như trên các hệ điều hành khác

Dạng phần mềm thứ hai được viết bằng ngôn ngữ Java Mã Java sau khi được biên dịch sẽ được đóng gói thành một file đơn apk duy nhất Đây chính là

Trang 20

dạng file dùng cho việc phân phối và cài đặt các ứng dụng Android trên thiết bị Toàn bộ code trong một gói apk được coi là một ứng dụng Tuy nhiên điểm cần chú

ý rằng thực chất Android chỉ sử dụng lại cú pháp của ngôn ngữ Java là chủ yếu chứ không hỗ trợ đầy đủ ngôn ngữ này Các thư viện Java cũng như các hàm API của Android chỉ là một phần của bộ chuẩn Java Platform Standard Edition (Java SE) hay bộ thu nhỏ dành cho di động Java Platform Micro Edition (Java ME hay còn gọi là J2ME) Máy ảo Java của Android cũng là một dạng khác dựa trên cấu trúc của máy ảo Java Vì vậy việc tái sử dụng mã nguồn của các ứng dụng viết cho các

hệ điều hành khác vào các ứng dụng trên Android cũng khá khó khăn

Trong khuôn khổ đồ án này sẽ tập trung vào nghiên cứu và trình bày về phát triển ứng dụng trên Android sử dụng ngôn ngữ Java

b Các thành phần cơ bản của ứng dụng Android:

Ứng dụng Android bao gồm 6 thành phần:

• Activity: Activity là nền của một ứng dụng Khi khởi động một ứng dụng Android nào đó thì bao giờ cũng có một main Activity được gọi, hiển thị màn hình giao diện của ứng dụng cho phép người dùng tương tácMột ứng dụng Android có thể chứa một hoặc nhiều activity Mỗi một activity được cung cấp một cửa sổ để thao tác trên đó Cửa sổ này có thể là toàn màn hình hoặc nhỏ hơn màn hình và đè lên cửa sổ khác Thành phần trực quan của cửa sổ được cung cấp bởi một hệ thống các khung nhìn - các đối tượng thừa kế từ lớp View (như TextView để thể hiện các dòng văn bản, ButtonView để thể hiện các nút, ) Mỗi khung nhìn điều khiển một vùng hình chữ nhật bên trong cửa sổ Các khung nhìn chính là nơi một activity tương tác với người dùng Các khung nhìn được đặt vào cửa sổ bởi hàm Activity.setContentView(View Oject)

• Service: Một service không có một giao diện trực quan Nó chạy ở nền trong một thời gian không xác định Mỗi một service thừa kế từ lớp cơ sở Service Một ví dụ để có thể hiểu về service là ứng dụng music player Ứng dụng có thể có nhiều activity cho phép người dùng lựa chọn bài hát hay bắt đầu chơi nhạc Tuy nhiên bộ phận phát nhạc lại không được được điều khiển bởi activity bởi người dùng mong muốn nhạc vẫn được chơi khi người dùng rời khỏi giao diện của ứng dụng và chuyển sang một công việc khác Khi đó activity của ứng dụng cần khởi động một service điều khiển việc phát nhạc ở nền Như vậy hệ thống có thể duy trì service điều khiển việc phát nhạc ngay

cả khi người dùng chuyển sang một giao diện khác

• Broadcast Receiver: Broadcast Receiver là một thành phần không làm gì ngoài việc nhận và hưởng ứng lại những thông báo (broadcasts) được ban ra Rất nhiều thông báo bắt nguồn từ trong mã của hệ thống như thông báo timezone thay đổi, pin yếu, có cuộc gọi đến Ngoài ra một ứng dụng cũng

Trang 21

có thể khởi tạo các broadcasts nhằm thông báo cho các ứng dụng khác các thông tin cần thiết Một ứng dụng có thể có tùy ý số lượng các Broadcasts Receiver để hưởng ứng lại các thông báo tương ứng mà nó cho là quan trọng Tất cả các receiver đó đều thừa kế từ lớp cơ sở BroadcastsReceiver Broadcasts Receiver không thể hiện giao diện trực quan Tuy nhiên nó có thể khởi động một activity hưởng ứng lại thông tin nhận được hoặc có thể sử dụng lớp Notification Manager để cảnh báo người dùng

• Content Provider: Content Provider là thành phần làm cho tập dữ liệu của ứng dụng có thể được sử dụng bởi một ứng dụng khác Content Provider thừa kế từ lớp cơ sở ContentProvider để thực hiện một tập các phương thức chuẩn cho phép các ứng dụng lấy hoặc lưu trữ các kiểu dữ liệu mà nó điều khiển Tuy nhiên các ứng dụng không nên gọi trực tiếp các hàm này Thay vào đó chúng sử dụng đối tượng ContenResolver và các phương thức của chúng Một đối tượng ContenResolver có thể nói chuyện với bất kì ContentProvider nào, chúng kết hợp với các provider để quản lí các liên lạc liên tiến trình

• Intent: nền tảng để truyền tải các thông báo Intent được sử dụng để gửi các thông báo đi nhằm khởi tạo một Activity hay Service để thực hiện công việc

mà người dùng mong muốn Ví dụ khi mở một trang web, tức là người dùng gửi một intent đi để tạo một activity mới hiển thị trang web đó

• Notification: đưa ra các cảnh báo mà không làm cho các Activity phải ngừng hoạt động

Activity, Service, Broadcast Receiver và Content Provider mới là những thành phần chính cấu thành nên ứng dụng Android, bắt buộc phải khai báo trong AndroidManifest

c Vòng đời của một ứng dụng:

Như đã giới thiệu ở trên , 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

Trang 22

Hình 5: Vòng đời của ứng dụng Android

Activity bao gồm 4 state:

• active (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) VD: một activity mới xuất hiện hiển thị giao diện đè lên trên activity

cũ, nhưng giao diện này nhỏ hơn giao diện của activity cũ, do đó ta vẫn thấy được 1 phần giao diện của activity cũ nhưng lại không thể tương tác với nó

• stop: 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 đó

5 Môi trường phát triển

Trang 23

mã bytecode Dalvik để chạy trên máy ảo DVM Vì vậy môi trường chính để phát triển ứng dụng cho Android là môi trường Java (JDK 5, 6 hoặc cao hơn) và các IDE cho Java như Eclipse, Netbeans

Đối với những người mới bắt đầu thì đơn giản nhất là sử dụng Eclipse kết hợp với plugin ADT (Android Development Tool) do chính Google cung cấp Nó rút gọn và đơn giản hoá các công việc như tạo lập project, gỡ rối … hơn Yêu cầu đối với Eclipse là phải có kèm theo gói JDT (Java Development Tools), vì vậy nên chọn các gói Eclipse cấu hình sẵn như Eclipse for Java Development, Eclipse for Java EE development

c Cài đặt môi trường lập trình:

Các bước để cài đặt các công cụ hỗ trợ phát triển ứng dụng Android:

• Cài đặt Android Software Development Kits (Android SDK)

• Cài đặt Java IDE: (cụ thể là Eclipse)

Cụ thể các bước cài đặt khá đơn giản tuy nhiên trong khuôn khổ có hạn của nội dung đồ án em không trình bày cụ thể ở đây Chi tiết về việc cài đặt có thể tham khảo tại địa chỉ http://developer.android.com/sdk/installing.html với hướng dẫn khá chi tiết và tỉ mỉ

II Giao thức kết nối

Giao thức kết nối Socket cùng với giao thức HTTP là hai giao thức truyền thống, rất dễ sử dụng Trong hai giao thức kết nối trên mỗi giao thức lại có những

ưu, nhược điểm riêng mà tùy trong mỗi chương trình mà ta có thể lựa chọn phương thức kết nối thích hợp

Giao thức HTTP:

Trong giao thức HTTP, client truyền thông điệp cho server thông qua hai phương thức là POST và GET Với phương thức POST, lập trình viên có thể giấu các tham số truyền lên server, điều này sẽ giúp bảo mật hơn cho server, tuy nhiên sẽ gây khó khăn hơn cho lập trình viên phía client Với phương thức GET, lập trình viên sẽ gửi tất cả các tham số yêu cầu qua url, điều này sẽ dễ dàng hơn cho lập trình viên phía client tuy nhiên sẽ rất khó để giấu url cho server

Việc sử dụng kết nối HTTP có ưu điểm là dễ dàng cho lập trình viên nhưng

nó lại có một số điểm bất lợi sau :

• HTTP khiến cho kết nối giữa Client-Server không được liên tục Hệ thống chỉ thực hiện kết nối khi có yêu cầu, và đóng lại sau khi nhận được dữ liệu

Do đó, việc request sẽ tốn một khoảng thời gian để thiết lập kết nối, điều mà kết nối socket không mắc phải

Trang 24

• Ngoài ra do việc sử dụng giao thức kết nối HTTP thực hiện truy vấn trực tiếp lên service không đảm bảo được tính bảo mật và trong suốt của hệ thống do

có thể dễ dàng phát hiện các câu truy vấn

Giao thức Socket TCP:

Chính từ những nhược điểm trên của HTTP, yêu cầu đặt ra là xây dựng thêm một module kết nối nằm giữa client và các service, nhằm làm trong suốt giữa hai tầng này, nâng cao tính bảo mật đối với server chứa service Module này sẽ thiết lập một kết nối TCP socket với các client, giữ các kêt nối, lấy các dữ liệu từ service và trả lại cho client

Module kết nối tại client có nhiệm vụ quản lý các gói tin gửi đi, nhận và xử lí

các gói tin gửi về từ server và hiển thị kết quả lên form Module này do client xây dựng và quản lý

Module kết nối tại Server sẽ tạo một socket, lắng nghe những packet từ client

gửi lên, xử lý,sau đó dựa vào mã gửi lên để gọi các dịch vụ được cung cấp bởi CMS – Database (theo mô hình 3 trang 13) để trả về các dữ liệu đã được chuẩn hoá tương ứng Module này do Server quản lý

Hình 6: Mô hình Socket TCP

Một số đặc điểm của giao thức Socket:

- Socket có cơ chế keep alive, kết nối không bị mất sau mỗi lần nhận được dữ liệu.=> khắc phục được so với http Thời gian kết nối client-server sẽ không bị mất

Trang 25

- Tuy nhiên chính điều này dẫn đến 1 vấn đề là khi mà Socket keep alive với các request của client Server có thể sẽ bị quá tải trong trường hợp hàng nghìn request gửi cùng 1 lúc và nó vẫn keep.

Trong khuôn khổ đồ án em đã chọn giao thức Socket TCP làm giao thức kết nối cho chương trình của mình Tuy mỗi giao thức đều có những lợi ích riêng nhưng việc lựa chọn một phần cũng do khuôn khổ làm đồ án có hạn và cũng một phần lợi thế là em đã nghiên cứu giao thức này trong thời gian thực tập vừa qua

III Quy trình phát triển ứng dụng cho thiết bị di động

Quy trình phát triển một ứng dụng cho thiết bị di động thông thường khá giống nhau tuy nhiên trong khuôn khổ có hạn của đồ án tốt nghiệp em chỉ xin trình bày quy trình cho Android Quy trình phát triển ứng dụng cho Android bao gồm các bước cơ bản sau:

1 Quy trình phát triển một ứng dụng

Hình 7: Quy trình phát triển ứng dụng cho thiết bị di động

Quy trình phát triển một ứng dụng bao gồm các bước chính sau:

• Tạo một project: Sau khi tìm hiểu yêu cầu và cài đặt môi trường chúng ta sẽ tiến hành tạo một project cho dự án

• Modify application code: Quá trình này sẽ có những sửa chữa, phát triển dự án

Trang 26

• Maintain the project: Quá trình duy trì và phát triển dự án diễn ra song song với công việc bước 2.

• Bước tiếp theo sẽ tiến hành build và biên dịch code (cho một hay nhiều phiên bản cho các dòng điện thoại)

2 Phát hành sản phẩm (cho hệ điều hành Android)

Chương trình sau khi phát triển để có thể đóng gói thành tệp apk và cải đặt lên máy thật cần trải qua một số bước sau đây

a Xác thực cho gói chương trình:

Như đã trình bày trong phần bảo mật, mỗi gói chương trình để cài đặt lên Android cần có một mã xác thực do chính người viết tạo nên Khi chạy trên máy ảo, các công cụ hỗ trợ đã tự động tạo cho gói cài đặt một mã xác thực dùng cho máy ảo, tuy nhiên mã này không được sử dụng cho chương trình trên máy thật

Mã xác thực cần hội tụ các đặc điểm sau:

• Thuộc sở hữu của người viết (không trùng lặp với người khác)

• Đại diện được cho thông tin cá nhân, cơ quan, tổ chức của người viết phần mềm

• Có thời gian hết hạn phù hợp với tuổi thọ của chương trình

• Không phải là mã xác thực trong chế độ chạy thử trên máy ảo

Để tạo mã xác thực và gắn vào gói cài đặt của chương trình ta có hai bộ công

cụ Bộ thứ nhất là các công cụ Keytool để sinh mã và Jarsigner để gắn mã với gói cài đặt chương trình trong bộ SDK của Android Bộ thứ hai được tích hợp trong plugin ADT cho Elipse với trình Export Wizard

Thông thường tất cả chương trình của cùng một tác giả nên cùng được gắn bởi một khóa xác thực duy nhất, bởi khóa xác thực này có tác dụng xác định tác giả của phần mềm cũng như quan hệ giữa các phần mềm với nhau Khi cập nhật phiên bản mới cho phần mềm sẽ xảy ra hai trường hợp Trường hợp thứ nhất ta sử dụng lại mã xác thực đã gán cho phiên bản trước đó, nếu tất cả xác thực gán cho phiên bản mới đều phù hợp với các xác thực của phiên bản cũ thì hệ thống cho phép ta thay đổi các phần mới Ngược lại nếu ta gán mã xác thực mới, để có thể cài đặt ta phải đổi tên gói chương trình, và khi cài đặt là cài đặt một chương trình mới và tách biệt với chương trình cũ Một vấn đề nữa là Android cho phép các chương trình khác nhau có cùng mã xác nhận sẽ cùng được chạy trong một tiến trình và được coi như một chương trình Vì vậy chương trình nên chia thành các module dùng chung xác thực để tiện cập nhật cũng như chia sẻ dữ liệu và mã Một điểm nữa trong khóa

Trang 27

xác thực, đó là chia sẻ dữ liệu và chức năng thông qua phân quyền dựa trên mã xác thực Một ứng dụng có thể chia sẻ dữ liệu cũng như các chức năng mà nó thực hiện cho các ứng dụng khác có mã xác thực nhất định Vì vậy khi gán chung một mã xác thực cho nhiều ứng dụng, đồng thời kết hợp với việc phân quyền dựa trên mã xác thực, mã và dữ liệu của chương trình có thể được sử dụng một cách hiệu quả hơn.

Một điều lưu ý với mã xác thực là thời gian hết hạn của nó Ta cần xác định thời gian hết hạn của mã phù hợp với tuổi thọ của các chương trình được gán mã xác thực đó Khi mã hết hạn thì người dùng không thể cập nhật phiên bản mới hơn cho chương trình Thông thường thời hạn cho mã xác thực này là 12 năm Các chương trình được phát hành trên Android Market của Google cần có thời hạn cho

mã xác thực nằm sau ngày 22/10/2033

b Gán phiên bản:

Chương trình cần được gán phiên bản do một số yêu cầu như sau:

• Yêu cầu từ chính người dùng muốn biết rõ phiên bản phần mềm nào họ đang

sử dụng, từ đó họ biết các đặc điểm của chương trình do ta đã cung cấp trước

• Các chương trình khác, đặc biết các chương trình có liên quan đến chương trình của ta cần biết phiên bản của chương trình để xác định tính tương thích

• Các dịch vụ phát hành chương trình của ta cần biết phiên bản của phần mềm

để quảng bá sản phẩm cho phù hợp

Tuy nhiên Android không quan tâm đến phiên bản của phần mềm cũng như đưa ra các thông báo cập nhật hay tương thích Việc cập nhật phần mềm sẽ do người dùng tự quyết định Android cũng không cung cấp cho các ứng dụng phiên bản của mình, mà các ứng dụng sẽ phải khai báo phiên bản API tối thiểu của hệ thống tương thích với chương trình, từ đó Android có cho phép cài đặt hay không

Phiên bản của chương trình được thiết lập trong tệp cấu hình AndroidManifest.xml tại các thuộc tính của thẻ <manifest> Có hai loại mã phiên bản và ta nên thiết lập cho cả hai Loại thứ nhất là một số nguyên, thường bắt đầu từ

1 và tăng dần qua các phiên bản Loại mã phiên bản này thích hợp cho chương trình

dễ dàng xử lý Loại mã phiên bản thứ hai sử dụng để hiển thị cho người sử dụng, khó xử lý trong chương trình hơn nhưng dễ hiểu với người dùng Đây là một chuỗi văn bản theo quy ước nào đó, thường là theo khuôn dạng hay gặp là

Trang 28

</application>

</manifest>

c Một số chuẩn bị khác trước khi phát hành sản phẩm:

• Kiểm tra lại phần mềm

• Tạo giấy phép bản quyền

• Tạo tên gọi cũng như biểu tượng cho chương trình

• Tắt chức năng cho phép gỡ rỗi cũng như loại bỏ các đoạn mã nguồn gỡ rối khác, và loại bỏ các tệp tin dữ liệu thử nghiệm, rác

Trang 29

CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

I Mục đích

Sản phẩm mà nhóm em xây dựng nhằm mục đích giúp người sử dụng điện thoại di động chạy hệ điều hành Android có thể tra cứu, tiếp cận với nguồn thông tin khổng lồ trên internet với việc luồng thông tin đã được sàng lọc, chắt lọc, phân loại cho phù hợp với thiết bị di động, tránh lãng phí tài nguyên và thời gian

Để dễ theo dõi một cách tổng thể hệ thống, phần này trình bày kiến trúc chung hệ thống, sau đó sẽ trình bày chi tiết phần module client mà em chịu trách nhiệm chính

Sản phẩm được xây dựng gồm có 5 chức năng chính:

- Giao diện ứng dụng đẹp, chạy ổn định

- Có khả năng khai thác giá trị thực tế cao

- Có tính cộng đồng cao

- Dễ sử dụng, thân thiện với người dùng

 Mục tiêu theo chức năng:

- Chức năng đọc tin tức Online: Đọc tin tức mới nhất hoặc đọc tin theo chủ đề

- Chức năng xem ảnh onlien: Xem ảnh theo chủ đề

- Chức năng tra cứu kết quả xổ số: Tra cứu kết quả xổ số theo ngày

- Chức năng đọc truyện: Đọc truyện theo chủ đề

- Chức năng nghe nhạc: Nghe nhạc theo chủ đề

Client sẽ các là điện thoại di động của người sử dụng Nó sẽ gửi các request yêu cầu lên server, ví dụ : gửi request yêu cầu đọc báo tin mới nhất, hoặc tra cứu kết quả xổ số

Server sẽ nhận request yêu cầu từ Client, sau đó xử lý: lấy dữ liệu từ database, xử lý rồi truyền trả về về cho Client Với các yêu cầu lấy dữ liệu khác nhau : Tin Tức, Xổ Số, Truyện thì server có các cơ chế xử lý khác nhau

Trang 30

Hình 8: Kiến trúc hệ thống

1 Tầng Interface

Đây là tầng cung cấp giao diện tương tác giữa người dùng và ứng dụng.Giao diện tương tác được thiết kế theo kiểu các màn hình với các menu chọn Người dùng sẽ dùng các nút trên bàn phím hay tác động trên màn hình cảm ứng để chọn.Các yêu cầu của người dùng sẽ được Client xử lý và gửi lên Server để lấy dữ liệu

Server có nhiệm vụ nhận có yêu cầu dữ liệu từ Client,sau đó truy nhập vào

cơ sở dữ liệu để lấy các dữ liệu cần thiết, phân tích các dữ liệu rồi gửi chúng về Client

Ngày đăng: 18/10/2014, 09:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Các tài liệu trực tuyến của Google Android tại địa chỉ:http://developer.android.com Link
2. Diễn đàn Android Việt Nam http://diendan.vietandroid.com Link
3. Reto Meier, Professional Android 2 Application Development, Wrox Khác
4. Sayed Y. Hashimi and Satya Komatineni, Pro Android, Apress the expert’s voice, 2009 Khác
5. Mark L. Murphy, Begining Android, Apress the expert’s voice, 2009 Khác
6. Huỳnh Quyết Thắng, tài liệu Thiết kế xây dựng phần mềm Khác
7. Lương Mạnh Bá, Tài liệu Tương tác người máy Khác

HÌNH ẢNH LIÊN QUAN

Hình 1: Mô hình bài toán - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 1 Mô hình bài toán (Trang 9)
Hình 2: Mô hình sản phẩm iMedia - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 2 Mô hình sản phẩm iMedia (Trang 10)
Hình 3: Mô hình hệ thống - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 3 Mô hình hệ thống (Trang 11)
Hình 4: Kiến trúc tổng thể Android - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 4 Kiến trúc tổng thể Android (Trang 16)
Hình 5: Vòng đời của ứng dụng Android - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 5 Vòng đời của ứng dụng Android (Trang 22)
Hình 6: Mô hình Socket TCP - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 6 Mô hình Socket TCP (Trang 24)
Hình 7: Quy trình phát triển ứng dụng cho thiết bị di động - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 7 Quy trình phát triển ứng dụng cho thiết bị di động (Trang 25)
Hình 8: Kiến trúc hệ thống - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 8 Kiến trúc hệ thống (Trang 30)
Hình 9: Biểu đồ mức khái niệm - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 9 Biểu đồ mức khái niệm (Trang 31)
Hình 10: Biểu đồ mức vật lý - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 10 Biểu đồ mức vật lý (Trang 32)
Hình 11: Biểu đồ Use case - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 11 Biểu đồ Use case (Trang 33)
Hình 12: Biểu đồ Activity - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 12 Biểu đồ Activity (Trang 38)
Hình 13: Biểu đồ tuần tự - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 13 Biểu đồ tuần tự (Trang 39)
Hình 14: Biểu đồ cộng tác - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 14 Biểu đồ cộng tác (Trang 40)
Hình 16: Mô hình cài đặt - Xây dựng ứng dụng đa phương tiện cho Mobile sử dụng hệ điều hành Android
Hình 16 Mô hình cài đặt (Trang 50)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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