1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo THỰC tập NGHIỆP vụ đề tài tìm HIỂU ANDROID và ỨNG DỤNG xây DỰNG PHẦN mềm THI TRẮC NGHIỆM

49 18 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 49
Dung lượng 808,38 KB

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

Nội dung

i TRƯỜNG ĐẠI HỌC HẢI PHÒNG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP NGHIỆP VỤ ĐỀ TÀI TÌM HIỂU ANDROID VÀ ỨNG DỤNG XÂY DỰNG PHẦN MỀM THI TRẮC NGHIỆM Sinh viên thực hiện Đào Trọng Huy Ngày sinh 17/10/2[.]

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

LỜI CẢM ƠNTrước hết, em xin bày tỏ lòng biết ơn sâu sắc tới ThS Đỗ Quỳnh Anh, người đã

trực tiếp hướng dẫn và tận tình giúp đỡ em hoàn thành báo cáo thực tập này

Em xin chân thành cảm ơn sự giúp đỡ của toàn thể các giảng viên trong khoaCông Nghệ Thông Tin trường Đại học Hải Phòng, cũng như sự chỉ bảo của các anhchị trong Công ty TNHH Thương Mại Thế Giới Số Huy Hậu nơi em thực tập đã dìudắt, dạy dỗ em cả về kiến thức chuyên môn và tinh thần học tập, sáng tạo để em cóđược kiến thức thực hiện báo cáo của mình

Cuối cùng, em xin bày tỏ lòng biết ơn sâu đậm của mình tới gia đình, bạn bènhững người luôn sát cánh bên em, tạo mọi điều kiện tốt nhất để em có thể thực hiệnbáo cáo thực tập của mình

Trong quá trình thực hiện báo cáo thực tập, mặc dù đã cố gắng hết sức song dothời gian và khả năng có hạn nên em không thể tránh khỏi những thiếu sốt Vì vậy, emrất mong nhận được sự thông cảm, chỉ bảo và giúp đỡ của các thầy giáo, cô giáo vàcác bạn

Một lần nữa em xin chân thành cảm ơn!

Trang 3

MỤC LỤC

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC CÁC BẢNG v

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

LỜI MỞ ĐẦU 1

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

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

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

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

1.1.3.Quy trình xử lý 2

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

2.1 Tổng quan về UML 3

2.1.1 UML là gì? 3

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

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

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

2.1.5 Sơ đồ lớp 6

2.1.6 Sơ đồ tuần tự 8

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

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

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

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

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

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

2.3.1 Giới thiệu 14

Trang 4

2.3.2 Đặc trưng ngôn ngữ JAVA 15

2.4 SQLITE 16

2.4.1.sqlite là gì? 16

2.4.2 Tại sao lại sử dụng sqlite 16

2.4.3 Lịch sử của sqlite 17

2.4.4 Hạn chế của sqlite 17

2.4.5 Lệnh trong sqlite 18

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

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

3.1.1 Biều đồ lớp 19

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

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

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

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

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

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

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

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

4.1 Giao diện chính 33

4.2 Chọn đề thi 35

4.3 Làm bài 35

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

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

4.6 Lưu điểm 37

4.7 Danh sách điểm 37

4.8 Tìm kiếm 38

Trang 5

4.9 Thoát 38

KẾT LUẬN 39

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

5.2.Hạn chế 39

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

TÀI LIỆU THAM KHẢO 40

Trang 6

DANH MỤC CÁC BẢNG

Bảng2.1: Các ký hiệu cơ bản của sơ đồ Use Case 14

Bảng2.2: Các kiểu lớp 16

Bảng2.3: Hạn chế của sqlite 25

Bảng2.4: Lệnh nhóm DLL 26

Bảng2.5: Lệnh nhóm DML 26

Bảng2.6: Lệnh nhóm DQL 26

Bảng3 1: Đặc tả ca sử dụng cập nhật môn 27

Bảng3 2: Đặc tả ca sử dụng cập nhật đề thi 28

Bảng3 3: Đặc tả ca sử dụng cập nhật câu hỏi 29

Bảng3 4: Đặc tả ca sử dụng cập nhật đáp án 30

Bảng3 5: Đặc tả ca sử dụng tìm kiếm 31

Bảng3 6: Phân tích hệ thống về dữ liệu trắc nghiệm 31

Bảng3 7: Phân tích hệ thống về dữ liệu điểm số 32

Trang 7

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

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

Hình 2 2: Ký hiệu cơ bản lớp 13

Hình 2 3: Ký hiệu cơ bản mối kết hợp 13

Hình 2 4: Các ký hiệu sơ đồ tuần tự 15

Hình 2 5: Các thành phần trong một Android project 19

Hình 2 6: Logo Java 20

Hình 3 1: Biểu đồ lớp tổng quát 25

Hình 3 2: Biểu đồ lớp hệ thống 25

Hình 3 3: Biểu đồ lớp chọn đề thi 26

Hình 3 4: Biểu đồ lớp môn học 26

Hình 3 5: Biểu đồ lớp cập nhật đề thi 26

Hình 3 6 Biểu đồ lớp làm bài thi 26

Hình 3 7: Biểu đồ ca sử dụng tổng quát 27

Hình 3 8: Biểu đồ ca sử dụng cập nhật môn 27

Hình 3 9: Biểu đồ ca sử dụng cập nhật đề thi 27

Hình 3 10: Biểu đồ ca sử dụng cập nhật câu hỏi 28

Hình 3 11: Biểu đồ ca sử dụng cập nhật đáp án 28

Hình 3 12: Biểu đồ ca sử dụng tìm kiếm 28

Hình 3 13: Biểu đồ tuần tự mở hệ thống 29

Hình 3 14: Biểu đồ tuần tự đóng hệ thống 29

Hình 3 15: Biểu đồ tuần tự thêm môn 29

Hình 3 16: Biểu đồ tuần tự đề thi 30

Hình 3 17: Biểu đồ tuần tự câu hỏi 30

Hình 3 18: Biểu đồ trạng thái hệ thống 30

Hình 3 19: Biểu đồ trạng thái tìm kiếm 31

Hình 3 20: Biểu đồ hoạt động mở hệ thống 31

Hình 3 21: Biểu đồ hoạt động đóng hệ thống 31

Hình 3 22: Biểu đồ hoạt động cập nhật môn 32

Hình 3 23: Biểu đồ hoạt động cập nhật đề thi 32

Hình 3 24: Biểu đồ hoạt động tìm kiếm 32

Trang 8

Hình 3 25: Thiết kế tiến trình hệ thống 34

Hình 4 1: Màn hình giao diện chính 36

Hình 4 2: Màn hình chọn đề thi 38

Hình 4 3: Màn hình làm bài thi 38

Hình 4 4: Màn hình danh sách câu trả lời và chưa trả lời 39

Hình 4 5: Màn hình kết thúc bài làm 39

Hình 4 6: Màn hình lưu điểm 40

Hình 4 7: Màn hình danh sách điểm 40

Hình 4 8: Màn hình tìm kiếm 41

Hình 4 9: Màn hình thoát 41

Trang 10

LỜI MỞ ĐẦU

Ngày nay, xu thế của xã hội thông tin đang chuyển dần sang lĩnh vực công nghệ

di động nói chung và điện thoại di động nói riêng Minh chứng cho điều đó là sự ra đờicủa hai dòng điện thoại smartphone Android và iPhone Tuy nhiên, hiện nay tiêu điểm gây chú ý nhất trong xã hội thông tin vẫn là nền tảng Android của Google

Android là một nền tảng phần mềm mở dựa trên nhân hệ điều hành Linux và đánh giá là một nền tảng công nghệ phổ biến trong nhiều lĩnh vực trong tương lai Hiện nay, Android đã thu hút được sự quan tâm của các nhà sản xuất điện thoại di động lớn trên thế giới và mức tăng trưởng của Android vượt lên dẫn đầu so với

iPhone, Nokia và nhiều hãng khác

Ở nước ta, Android thực sự là một mảnh đất màu mỡ mà các công ty phần mềmkhai thác Điều này cũng kéo theo việc cơ hội việc làm cho sinh viên mới ra trường cũng nhiều hơn Ngoài ra, Android là một nền tảng mở và được viết bằng ngôn ngữ Java nên đây là một điểm rất thuận lợi để cho nhiều người có thể dễ dàng bắt tay vào nghiên cứu cũng như dễ dàng tiếp cận công nghệ

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

“Ứng dụng phần mềm thi 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!

Trang 11

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

Trang 12

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

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)

Trang 13

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đổ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 14

Hình 2 1: 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 15

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ácExtend 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

Bảng2.1: Các ký hiệu cơ bản của sơ đồ Use Case

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ới thự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

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

Trang 16

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

Trang 17

 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ức tạp

Trang 18

 Các ký hiệu

Hình 2 4: Các ký hiệu sơ đồ tuần tự

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

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

Android là hệ điều hành trên các thiết bị số di động như smartphone và tablet (vàhiện nay là cả trên một số đầu tư phát HD, HD Player) phát triển bởi Google và dựa trên nền tảng Linux Trước đây, Android được phát triển bởi công ty liên hợp Android.Vào năm 2005, Google đã mua lại Android nằm trong chiến lược tiến vào thị trường diđộng Google muốn Android trở thành nền tảng”mở” và miễn phí Do vậy hầu hết mã nguồn của Android được phát hành theo giấy phép mã nguồn mở Apache nên bất cứ aimuốn sử dụng Android có thể dowload toàn bộ mã nguồn Hơn nữa các nhà sản xuất phần cứng có thể thêm các thành phần mở rộng độc quyền của hãng để tạo ra các sản phẩm khác nhau Chính mô hình phát triển đơn giản này khiến Android trở nên hấp dẫn Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụng cho hệ điều hành của mình

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

Trang 19

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 động trongtươ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):

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

Trang 20

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

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

Trang 21

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 22

Hình 2 5: 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 23

- 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

Hình 2 6: Logo Java 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

Trang 24

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.

2.3.2 Đặc trưng ngôn ngữ JAVA

 Đơn giản:

Những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộc với đa số người lập trình Do vậy Java loại bỏ các đặc trưng phức tạp của

C và C++ như:

 Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng toán tử

 Không cho phép đa kế thừa mà sử dụng các giao diện

 Không sử dụng lệnh “goto” cũng như file header

 Loại bỏ cấu trúc “struct” và “union”

 Hướng đối tượng:

Java là ngôn ngữ lập trình thuần hướng đối tượng, mọi chương trình viết trên Java đều phải được xây dựng trên các đối tượng Nếu trong C/C++ ta có thể tạo các hàm (chương trình con không gắn với đối tượng nào) thì trong Java ta chỉ

có thể tạo ra các phương thức Trong Java không cho phép các đối tượng có tính năng kế thừa mà được thay thế bằng các giao diện

 Độc lập với hệ nền

Mục tiêu chính của các nhà thiết kế java là độc lập với hệ nền hay còn gọi là độclập phần cứng và hệ điều hành Đây là khả năng một chương trình được viết tại mộtmáy nhưng có thể chạy được bất kỳ đâu Các chương trình viết bằng java có thể chạytrên hầu hết các hệ nền mà không cần phải thay đổi gì, điều này đã được những ngườilập trình đặt cho nó một khẩu hiệu ‘viết một lần, chạy mọi nơi’, điều này là không thể

có với các ngôn ngữ lập trình khác Xây dựng ứng dụng quản lí sổ tiêm chủng của trẻem

 Hỗ trợ lập trình đa tuyến

Đây là tính năng cho phép viết một chương trình có nhiều đoạn mã lệnh được chạysong song với nhau Với java ta có thể viết các chương trình có khả năng chạy songsong một cách dễ dàng, hơn thế nữa việc đồng bộ tài nguyên dùng chung trong Javacũng rất đơng giản Điều này là không thể có đối với một số ngôn ngữ lập trình khácnhư C/C++, pascal …

Ngày đăng: 19/11/2022, 13:16

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