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

Báo cáo đồ án quản lí đề thi trắc nghiệm bằng android

38 1,8K 5

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

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

Nội dung

Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành công nghệ thông tin, làm từng bước thay đổi cuộc sống của con người bởi các ứng dụng sản phẩm của công nghệ. Đi cùng với sự phát triển của ngành công nghệ thông tin là sự ra đời ngày càng nhiều thiết bị cầm tay, smartphone. Nhu cầu của con người về việc sử dụng và giải trí trên các thiết bị di động cũng ngày càng cao và đa dạng. Một trong những bộ phận ứng dụng công nghệ thông tin chính là thay đổi và giúp đỡ việc sinh hoạt hàng ngày của mọi người trong cuộc sống. Vì vậy em đã lựa chọn đề tài “APP TEST trắc nghiệm” để làm đồ án với ý nghĩa mang tính thực tế. Với mong muốn người dùng có thể ôn lại những kiến thức mình đã học một cách tốt nhất, những kiến thức quan trọng và sẽ làm bài đạt kết quả cao trong các kỳ thi…vv Trong thời gian làm đồ án em đã gặp không ít khó khăn nhưng được sự giúp đỡ hướng dẫn tận tình của các thầy giáo,cô giáo trong bộ môn. Em xin chân thành cảm ơn thầy giáo Hồ Ngọc Vinh – người trực tiếp hướng dẫn đã tận tình hướng dẫn và giúp đỡ em hoàn thành đồ án.

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VINH

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN KHOA HỌC MÁY TÍNH

Sinh viên (nhóm SV): Lương Thị Hương

Nguyễn Văn Diện

Trang 2

TRƯỜNG ĐẠI HỌC SPKT VINH

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN: KHOA HỌC MÁY TÍNH

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

PHIẾU GIAO ĐỒ ÁN MÔN HỌC MÔN HỌC: PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG

Nhóm sinh viên:

1 Lương Thị Hương 0905140249 0972662401 luongthihuong2401@gmail.com

2 Nguyễn Văn Diện 0905140768 0164400174

8

nguyensydien853@gmail.com

Lớp: DHCTTCK09Z: Đại học Công nghệ Thông tin K9

Ngày giao đồ án: ./ /2017 Ngày hoàn thành: / /2017

1 Tên đề tài: Cài đặt ứng dụng app test trắc ngiệm ( các câu hỏi kiểm tra) trên hệ điều

hành android

2 Nhiệm vụ đồ án:

Yêu cầu 1: Ngôn ngữ sử dụng: JAVA, máy ảo genimotion, phần mềm Android Studio, csdl có thể là firefox hoặc sqlite.

Yêu cầu 2: Phân tích yêu cầu và xây dựng phần mềm bao gồm:

o Mục đích, yêu cầu của ứng dụng

o Phân tích và xây dựng CSDL

o Phân tích và xây dựng hệ thống chức năng

Yêu cầu 3: Giao diên người dùng và mỹ thuật:

o Giao diện dễ sử dụng, có tính khoa học, thân thiện với người dùng

o Phối màu sắc, font chữ phù hợp

3 Báo cáo và chương trình:

- Báo cáo thuyết minh trình bày bằng Slide (5-10 slide)

- Chương trình: ghi vào đĩa CD để nạp

4 Theo dõi quá trình thực hiện đồ án

Ngày Tiến độ công việc (yêu cầu ghi rõ Nhận xét của GVHD Chữ ký của

Trang 3

kiểm tra các nội dung đã hoàn thành) GVHD / /

TỔ TRƯỞNG BỘ MÔN GIÁO VIÊN HƯỚNG DẪN SINH VIÊN THỰC HIỆN

ThS Vũ Thị Thu Hiền TS Hồ Ngọc Vinh SV.Lương Thị Hương

Nguyễn Văn Diện

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

Trang 4

TP.Vinh, ngày tháng năm 2017 GIÁO VIÊN HƯỚNG DẪN (Ký, ghi rõ họ tên) TS.Hồ Ngọc Vinh NHẬN XÉT CỦA GIÁO VIÊN CHẤM ĐIỂM

TP.Vinh, ngày tháng năm 2017

GIÁO VIÊN CHẤM ĐIỂM

(Ký, ghi rõ họ tên)

Mục lục

Trang 5

LỜI CẢM ƠN 6

CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 7

1.1.Mô tả hệ thống 7

1.1.1.Nhiệm vụ cơ bản 7

1.1.2.Cơ cấu tổ chức 8

1.1.3.Quy trình xử lý 8

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 9

2.1 Tổng quan về UML 9

2.1.1 UML là gì? 9

2.1.2 Các sơ đồ lớp 9

2.1.3 Kiến trúc của hệ thống 10

2.1.4 Sơ đồ Use Case ( Use Case diagram) 11

2.1.5 Sơ đồ lớp 12

2.1.6 Sơ đồ tuần tự 14

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

2.2.1 Lịch sử về hệ điều hành Android 14

2.2.2.Tổng quan cấu trúc của Android 15

2.2.3 Dalvik delving với máy ảo 17

2.2.4 Các thành phần trong ứng dụng Android 17

2.4.5 Lệnh trong sqlite 22

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

3.1.Phân tích hệ thống về chức năng 24

3.1.1 Biều đồ lớp 24

3.1.2.Biều đồ ca sử dụng 25

3.1.3.Biểu đồ tuần tự 27

3.1.4.Biểu đồ trạng thái 28

3.1.5.Biểu đồ hoạt động 28

3.1.6.Đặc tả ca sử dụng 30

3.2.Phân tích hệ thống về dữ liệu 30

3.3.Thiết kế tiến trình hệ thống 31

CHƯƠNG 4: CÀI ĐẶT HỆ THỐNG 32

4.1 Giao diện chính 32

4.2 Chọn đề thi 33

Trang 6

4.3 Làm bài 34

4.4 Danh sách câu trả lời và chưa trả lời 34

4.5 Kết thúc bài làm 35

4.6 Lưu điểm 35

4.7 Danh sách điểm 35

4.8 Tìm kiếm 36

4.9 Thoát 36

KẾT LUẬN 37

5.1 Đề tài đạt được một số kết quả sau: 37

5.2.Hạn chế 37

5.3.Hướng phát triển 37

TÀI LIỆU THAM KHẢO 38

LỜI CẢM ƠN

Trang 7

Với sự phát triển nhanh chóng của khoa học công nghệ và đặc biệt là ngành công nghệ thông tin, làm từng bước thay đổi cuộc sống của con người bởi các ứng dụng sản phẩm của công nghệ Đi cùng với sự phát triển của ngành công nghệ thông tin là sự ra đời ngày càng nhiều thiết bị cầm tay, smartphone Nhu cầu của con người về việc sử dụng và giải trí trên các thiết bị di động cũng ngày càng cao và đa dạng Một trong những bộ phận ứng dụng công nghệ thông tin chính là thay đổi và giúp đỡ việc sinh hoạt hàng ngày của mọi người trong cuộc sống Vì vậy em đã lựa chọn đề tài “APP TEST trắc nghiệm” để làm đồ án với ý nghĩa mang tính thực tế.

Với mong muốn người dùng có thể ôn lại những kiến thức mình đã học một cách tốtnhất, những kiến thức quan trọng và sẽ làm bài đạt kết quả cao trong các kỳ thi…vv! Trong thời gian làm đồ án em đã gặp không ít khó khăn nhưng được sự giúp đỡ hướng dẫn tận tình của các thầy giáo,cô giáo trong bộ môn Em xin chân thành cảm ơnthầy giáo Hồ Ngọc Vinh – người trực tiếp hướng dẫn đã tận tình hướng dẫn và giúp đỡ

Trang 8

CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 1.1.Mô tả hệ thống

1.1.1.Nhiệm vụ cơ bản

- Xây dựng giao diện Menu, giao diện test bài trắc nghiệm

- Thiết kế giao diện cho phép xử lý các chức năng chính

- Thiết kế giao diện chương trình chính thực hiện các công việc:

+ Tổng hợp các câu hỏi (chia ra làm nhiều đề với từng môn cụ thể như:Toán, Sinh, english….) với các mốc thời gian 30 -45 phút…

+ Kiểm tra những câu đã trả lời – chưa trả lời

+ Tự chấm điểm khi thời gian kết thúc -> Hiển thị kết quả

+ Người làm bài xem bài mình làm, thay đổi đáp án nếu mình thấy là sai -> Xem kết quả -> Lưu điểm -> Xóa điểm -> Thoát

+ Xem danh sách điểm những người làm bài có lưu điểm lại (các bài Test qua)

+ Tìm kiếm câu hỏi

1.1.2.Cơ cấu tổ chức

 Hệ thống

 Đăng nhập vào hệ thống sử dụng chương trình

 Quản lý các đề thi các môn học, thêm các đề thi, sửa, xóa, thay đổi các câu hỏi trong từng đề thi

 Xem danh sách điểm

 Thoát khỏi người dùng hiện tại: Thoát khỏi hệ thống chương trình

 Giao diện với người dùng:

 Hiển thị tất cả các môn học

 Hiển thị tất cả các đề thi của từng môn học

 Hiển thị các câu hỏi cho từng đề thi: Có kết thúc giờ làm bài, kiểm tra kết quả cho từng đề thi

 Có chức năng tìm kiếm các câu trong trong đề thi

 Hiển thị danh sách điểm (nếu lưu điểm làm bài)

1.1.3.Quy trình xử lý

 Làm bài test

Bước 1: Vào giao diện chính

Bước 2: Tìm đến môn học mình cần kiểm tra, chọn đề thi làm bài test

Bước 3: Làm bài kiểm tra và kiểm tra kết qủa

Bước 4: Có thể lưu kết quả (điểm) hoặc không

Trang 9

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về UML

2.1.1 UML là gì?

UML là ngôn ngữ mô hình hóa,ngôn ngữ đặc tả và ngôn ngữ xây dựng mô hình trong quá trình phát triển phần mềm- đặc biệt là phân tích,thiết kế hệ thống hướng đối tượng

2.1.2 Các sơ đồ lớp

Sơ đồ lớp ( Class Diagram)

Mô tả cấu trúc tĩnh, mô tả mô hình khái niệm bao gồm các lớp đối tượng và cácmối quan hệ của chúng trong hệ thống hướng đối tượng Nó được sử dụng để hiện thị các lớp và gói các lớp cùng các mối quan hệ của chúng Sơ đồ lớp giúp người phát triển phần mềm quan sát và lập kế hoạch cấu trúc hệ thống trước khi lập trình

Nó đảm bảo rằng hệ thống được thiết kế tốt ngay từ đầu

Sơ đồ lớp có thể chứa nhiều loại lớp khác nhau, chúng có thể là những lớp thông thường, lớp tham số hóa, lớp hiện thực, lớp tiện ích, và lớp metaclass ( siêu lớp)

Sơ đồ đối tượng (Object Diagram)

Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng Đối tượng là một thể hiện của lớp, sơ đồ đối tượng là một thể hiện của sơ đồ lớp

Sơ đồ Use Case ( Use Case Diagram)

Khái niệm actor: là những người dùng(tác nhân) hay hệ thống khác ở bên ngoài phạm vi của hệ thống mà có tương tác với hệ thống

Sơ đồ Use case bao gồm một tập hợp các Use case, các actor và thể hiện mối quan hệ tương tác giữa actor và Use case Nó rất quan trọng trong việc tổ chức và mô hình hóa hành vi của hệ thống

Sơ đồ tuần tự (Sequence Diagram)

Là một dạng biểu đồ tương tác (interaction), biểu diễn sự tương tác giữa các đối tượng theo thứ tự thời gian Nó mô tả các đối tượng liên quan trong một tình huống cụ thể và các bước tuần tự trong việc trao đổi các thông báo(message) giữa các đối tượng

đó để thực hiện một chức năng nào đó của hệ thống

Sơ đồ cộng tác (Collaboration)

Gần giống như sơ đồ Sequence, sơ đồ hợp tác là một cách khác để thể hiện một tình huống có thể xảy ra trong hệ thống Nhưng nó tập trung vào việc thể hiện việc trao

Trang 10

đổi qua lại các thông báo giữa các đối tượng chứ không quan tâm đến thứ tự của các thông báo đó Có nghĩa là qua đó chúng ta sẽ biết được nhanh chóng giữa 2 đối tượng

cụ thể nào đó có trao đổi những thông báo gì cho nhau

Sơ đồ trạng thái (Statechart)

Chỉ ra một máy chuyển trạng thái, bao gồm các trạng thái, các bước chuyển trạngthái và các hoạt động Nó đặc biệt quan trọng trong việc mô hình hóa hành vi của một lớp giao diện(interface class) hay hợp tác và nó nhấn mạnh vào các đáp ứng theo sự kiện của một đối tượng, điều này rất hữu ích khi mô hình hóa một hệ thống phản ứng(reactive)

Sơ đồ triển khai

Chỉ ra cách bố trí vật lý các thành phần theo kiến trúc được thiết kế của hệ thống

2.1.3 Kiến trúc của hệ thống

Khi xem xét một hệ thống, chúng ta cần xây dựng các mô hình từ những khía cạnh khác nhau, xuất phát từ thực tế là những người làm việc với hệ thống với những vai trò khác nhau sẽ nhìn hệ thống từ những khía cạnh khác nhau

UML xét hệ thống trên 5 khía cạnh:

Trang 11

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

Use Case view: Mô tả cách ứng xử của hệ thống.

Logical view: Mô tả các đối tượng.

Process view: Mô tả việc đồng bộ hoá và các xử lý đồng thời.

Implementation view: Mô tả sự phụ thuộc và kết hợp giữa các

component

Deployment view: Chỉ ra cấu hình phần cứng.

2.1.4 Sơ đồ Use Case ( Use Case diagram)

Mô tả toàn cảnh hệ thống, đơn giản và ít ký hiệu

 Mục đích của sơ đồ Use Case

a Mô hình hoá chuỗi hành động

b Cung cấp tổng thể hệ thống

c Đưa ra cơ sở để xác định giao tiếp giữa người, máy đối với hệ thống

d Mô hình hoá cho một Use Case

e Cho người dùng hiểu và giao tiếp với hệ thống

f Làm cơ sở cho phát thảo các đặc tả kiểm tra

 Các ký hiệu cơ bản

Trang 12

Khái niệm Ký hiệu Ý nghĩa

Actor Người dùng hệ thống, một hệ thống khác hoặc một

sự kiện thời gian

Actor có thể: Chỉ cung cấp thông tin cho hệ thống, chỉ lấy thông tin từ hệ thống, hoặc nhận thông tin từ

hệ thống và cung cấp thông tin cho hệ thống

Use Case Là một khối chức năng được thực hiện bởi hệ thống

để mang lại một kết quả có giá trị đối với một Actor nào đó

Quy ước đặt tên Use Case: động từ đi trước, danh từ hoặc cụm từ theo sau

Relationship Quan hệ giữa các phần tử trong mô hình, bao gồm

kết hợp (association), tổng quát hoá (generalization)

Include Một Use Case có thể có chức năng của một Use Case

khác

Extend Dùng để chỉ các hành vi tự chọn (có thể hoặc không),

các hành vi theo điều kiện nhất định

2.1.5 Sơ đồ lớp

Khái niệm

 Đối tượng (Object)

 Mô hình hoá một vật hoặc một khái niệm trong thế giớithực

 Một đối tượng có các đặc điểm như: Trạng thái (state), ứng

xử (behavior), định danh (indentity)

 Lớp (class)

 Là tập hợp các đối tượng có chung các thuộc tính, các ứng xử

và ngữ nghĩa

 Là một khuôn mẫu để tạo ra đối tượng

 Đối tượng là một thể hiện của một lớp

 Gói ( package)

 Là tập hợp các lớp hay các gói có liên quan với nhau

 Sơ đồ lớp ( Class diagram)

 Cung cấp một bức tranh mô tả một số hoặc tất cả các lớp trong

mô hình

Trang 13

 Thể hiện cấu trúc và ứng xử của một hay nhiều lớp.

 Thể hiện mối quan hệ thừa kế giữa các lớp

Các thuộc tính Tên lớp

Các thao tác

Trang 14

 Lập mô hình tương tác đối tượng.

 Hiện thực hoá Use Case

 Lập mô hình các kịch bản sử dụng của Use Case

 Khám phá tính logic của một phép toán, hàm hay thủ tục phứctạp

Thông tin

điệp

Thủ tục

Đường sinh

Trang 15

Hiện tại có khoảng 250,000 ứng dụng cho Android OS và vào khoảng 375,000 ứngdụng đã được đệ trình, điều này khiến Android trở thành hệ điều hành di động có môi trường phát triển lớn thứ 2 Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng,phần mềm và viễn thông nhằm mục đích tạo nên một chuẩn mở cho điện thoại di độngtrong tương lai Google công bố hầu hết các mã nguồn của Android theo bản cấp phép Apache Hệ điều hành Android bao gồm 12 triệu dòng mã; 3 triệu dòng XML, 2.8 triệu dòng mã C, 2.1 triệu mã Java và 1.75 triệu dòng mã C++.

Các nhà sản xuất liên tục cho ra những mẫu điện thoại cực kỳ tối tân, mạnh mẽ TuySymbian chỉ mới được biết đến từ cuối thập niên 90, nhưng tuổi đời phát triển chẳngthua kém vòng đời phát triển của hệ điều hành Windows đang sử dụng là bao Tháng6/1998, Symbian ra đời tại London (Anh), tiền thân của sản phẩm này là một phầnmềm của Psion Sau đó, lần lượt Nokia, Motorola, Ericsson đều mua cổ phần chung sởhữu sử dụng nền tảng này

a Windows Phone 7

Windows Phone 7 là một hệ điều hành di động được phát triển bởi Microsoft, và

là sự kế thừa để bởi nền tảng Windows Mobile Ra mắt tại châu Âu, Singapore và Úcvào ngày 21 Tháng Mười năm 2010, tại Mỹ và Canada vào ngày 08 Tháng Mười Mộtnăm 2010, với châu Á có thể trong năm 2011.Với Windows Phone 7, Microsoft cungcấp một Metro giao diện người dùng mới, tích hợp các hệ điều hành với các dịch vụkhác của Microsoft và kế hoạch kiểm soát chặt chẽ phần cứng mà chạy trên nền tảngnày

b IOS

IOS là hệ điều hành của Apple Ban đầu được cài trên điện thoại Iphone, sau đóphát triển và trở thành hệ điều hành trên ipod touch, ipad và Apple tv Apple không cóphép hệ điều hành này chạy trên phần cứng của bên thứ 3

c BlackBerry

Giống như Windows Mobile, những chiếc BlackBerry của RIM được chỉ định làthiết bị dành cho doanh nhân, nhưng gần đây đã có những thay đổi để hướng tới ngườidùng bình dân Nền tảng này tương đối trực quan và dễ sử dụng, cung cấp cho ngườidùng một server e-mail, hỗ trợ việc gửi và nhận tin nhắn nhanh

2.2.2.Tổng quan cấu trúc của Android

Nói một cách đơn giản thì Android bao gồm ba thành phần:

1.Một hệ điều hành mở, miễn phí cho các thiết bị di động

2.Một nền tảng mã nguồn mở cho phát triển các ứng dụng

3.Thiết bị chạy hệ điều hành Android và các ứng dụng Adroid

Android software development kit (SDK):

Trang 16

Bộ SDK của Android bao gồm mọi thứ cần thiết để có thể lập trình, debug, test ứng dụng Android.

Android API: Cốt lõi của bộ SDK là thư viện các hàm API và Google cũng chỉ sử

dụng bộ API này để xây dựng các ứng dụng có sẵn cho Android

Development tool: SDK bao gồm rất nhiều công cụ để giúp biên dịch, sửa lỗi và hỗ

trợ trong việc lập trình ứng dụng

Android Emulator: Trình giả lập thiết bị chạy Android thực sự với nhiều Skin thay

thế, cực kì tiện lợi cho việc test ứng dụng Android ngay trên máy tính mà không cần phải thông qua một thiết bị chạy Android thực

Tài liệu: SDK bao gồm một bộ tài liệu rất chi tiết, giải thích cặn kẽ chính xác những gì

bao gồm trong mỗi page, class cùng với cách sử dụng Ngoài tài liệu về “code”, còn cónhững tài liệu dùng để “getting started” và giải thích các nguyên tắc và cơ chế hoạt động của ứng dụng trong Android

Code mẫu: SDK bao gồm các ứng dụng mẫu đơn giản minh họa cho các tính năng nổi

bật trên android, cũng như các ứng dụng demo cách sử dụng các tính năng của bộ API

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

Ý tưởng của Android là việc khuyến khích tái sử dụng lại các thành phần đã có,cho phép ứng dụng có thể chia sẻ Activity, Service, dữ liệu với các ứng dụng khác nhau trong giới hạn đặt ra

Sau đây là kiến trúc của mọi ứng dụng Android:

Activity Manager: Kiểm soát vòng đời của Activity.

View: Xây dựng giao diện người dùng cho Activity.

Notification Manager: Cung cấp một cơ chế thống nhất và an toàn để ứng dụng có thể

đưa ra các thông báo cho người dùng

Content Provider: Giúp trao đổi và chia sẽ dữ liệu giữa các ứng dụng với nhau.

Resource Manager: Hỗ trợ quản lý các tài nguyên không là code như các chuỗi, hình

ảnh, và âm thanh…

Các thư viện của Android:

Android cung cấp các gói API để phát triển ứng dụng Sau đây là các API mà tất cả các thiết bị Android đều tối thiểu phải hỗ trợ để giúp cho chúng ta một cái nhìn tổng quát về thư viện này

Android.util: Gói API lõi, chứa các class cấp thấp như container, string formatter, XML parsing

Android.os: Truy cập tới chức năng của hệ điều hành như gửi và nhận tin nhắn, giao tiếp nội bộ giữa các ứng dụng, thời gian…

Android.graphics: Cung cấp các lớp liên quan tới xử lý đồ họa ở mức thấp Hỗ trợ các hàm cơ bản như vẽ điểm, vẽ miền, tô màu, trên khung canvas

Trang 17

Android.text: Cung cấp các hàm phân tích và xử lý chuỗi.

Android.database: Cung cấp các lớp cấp thấp cần thiết để làm việc với database

Android.content: Dùng để quản lý các tài nguyên, các nội dung và các gói

Android.view: Views là lớp cha của mọi lớp giao diện người dùng

Android.widget: Được thừa kế từ lớp View, bao gồm các lớp cơ bản để xây dựng giao diện widget như: list, button, layout

Android.map: Gói API cấp cao, dùng để truy cập tới các chức năng của GoogleMap.Android.app: Gói API cấp cao, bao gồm các Activity và Service – hai lớp cơ sở cho mọi ứng dụng Android

Android.telephony: Cung cấp khả năng tương tác trực tiếp với các chức năng cơ bản của một điện thoại như nghe, gọi, tin nhắn

Android.webkit: Cung cấp một webView control trên nền webkit để có thể nhúng ứng dụng, cùng với các API điều khiển cơ bản như stop, refresh, cookieManager…

2.2.3 Dalvik delving với máy ảo

Dalvik là máy ảo giúp các ứng dụng Java chạy được trên các thiết bị di động Android Chạy các ứng dụng đã được chuyển đổi thành một file thực thi Dalvik (dex) Định dạng phù hợp cho các hệ thống mà thường bị hạn chế về bộ nhớ và tốc độ xử lý Dalvik đã được thiết kế và viết bởi Dan Bornstein, người đã đặt tên sau khi đến thăm một ngôi làng đánh cá nhỏ có tên là Dalvík ở đảo Eyjafjörður, nơi mà tổ tiên của ông sinh sống

Từ góc nhìn của một nhà phát triển thì Dalvik trông giống như máy ảo java (Java Virtual Machine) nhưng thực tế thì hoàn toàn khác Khi nhà phát triển viết một ứng dụng dành cho android, sẽ thực hiện các đoạn mã trong môi trường Java Sau đó,

sẽ được biên dịch sang các byteCode của Java, tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triển phải thực thi một công cụ có tên là dex Đây là công cụ dùng để chuyển đổi byteCode sang một dạng gọi là dex bytecode Dex là từ viết tắc của “Dalvik executable” đóng vai trò như cơ chế thực thi các ứng dụng Java

2.2.4 Các thành phần trong ứng dụng Android

Android project là một hệ thống thư mục file chứa toàn bộ source code, tài nguyên… mà mục đích cuối cùng là để đóng gói thành một file apk duy nhất

Trong một thư mục project, có một số thành phần (file, thư mục con) được tạo

ra mặc định, còn lại phần lớn sẽ được tạo ra sau nếu cần trong phát triển ứng dụng

Trang 18

Các thành phần trong một Android project

Src/: Chứa toàn bộ source code (file java hoặc aidl)

Bin/: Thư mục chứa file Output sau khi build Đây là nơi có thể tìm thấy file apk

Gen/: Chứa file java tạo ra bởi ADT plug-in, như là file R.java hoặc các giao diện

tạo ra từ file AIDL

Res/: Chứa các tài nguyên (resource) cho ứng dụng chẳng hạn như file hình ảnh,

file layout, các chuỗi (string)…Dưới đây là các thư mục con của nó

- Anim/: Chứa các file xml dùng cho việc thiết lập các hiệu ứng động (animation).

- Color/: Chứa các file xml dùng định nghĩa màu sắc.

- Drawable/: Chứa hình ảnh (png, jpeg, gif), file xml định nghĩa cách vẽ các loại

hình dạng khác nhau (shape)

- Layout/: Chứa file xml dùng để xây dựng giao diện người dùng.

- Menu/: Chứa file xml quy định application menu.

- Raw/: Chứa các file media, chẳng hạn như mp3, ogg

Trang 19

- Values/: Chứa file xml định nghĩa các giá trị Khác với các resource trong thư mục

khác, resource ở thư mục này khi định danh trong lớp R thì sẽ không sử dụng filename để định danh mà sẽ được định danh theo quy định bên trong file xml đó

- Xml/: Dùng chứa các file xml khác, chẳng hạn như file xml quy định app widget,

search metadata,…

Libs/: Chứa các thư viện riêng.

AndroidManifest.xml/: File kiểm soát các thành phần trong ứng dụng như: activity,

service, intent, receiver… tương tác với nhau, cách ứng dụng tương tác với ứng dụngkhác, cũng như đăng kí các quyền hạn về sử dụng tài nguyên trong máy

Build.properties/: Tùy chỉnh các thiết lập cho hệ thống build, nếu bạn sử dụng

Eclipse thì file này không cần thiết

Build.xml/: Chỉ sử dụng khi dùng dòng lệnh để kiến tạo project.

Default.properties/: File này chứa các thiết lập cho project, chẳng hạn như build

target, min SDK

2.3 Ngôn ngữ lập trình java

2.3.1 Giới thiệu

Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng(OOP) Khác với

phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi chạy Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập trình thông dịch khác như C++, PHP, C# Vào năm 1991, một nhóm các kỹ sư của Sun Microsystems có ý định thiết kế một ngôn ngữ lập trình để điều khiển các thiết bị điện tử như tivi, máy giặt, lò nướng Mặc

dù C và C++ có khả năng làm việc này nhưng trình biên dịch lại phụ thuộc vào từng loại CPU

Trình biên dịch thường phải tốn nhiều thời gian để xây dựng nên rất đắt, vì vậy để mỗi loại CPU có một trình biên dịch riêng là rất tốn kém Do đó nhu cầu thực tế đòi hỏi một ngôn ngữ chạy nhanh, gọn, hiệu quả và độc lập thiết bị tức là có thể chạy trên nhiều loại CPU khác nhau, dưới các môi trường khác nhau “Oak” đã ra đời và vào năm 1995 được đổi tên thành Java

Ngày đăng: 31/12/2017, 11:21

TỪ KHÓA LIÊN QUAN

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

w