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

Xây dựng ứng dụng Kidcount trên Android ứng dụng trên điện thoại vừa học vừa giải trí

28 220 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 28
Dung lượng 1,42 MB

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

Nội dung

Hiện nay do nhu cầu trao đổi thông tin ngày đa dạng và nhu cầu sử dụng sản phẩm công nghệ cao nhiều tính năng, cấu hình cao, chất lượng tốt, kiểu dáng mẫu mã đẹp, phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng cao những sản phẩm của mình. Do đó việc xây dựng các ứng dụng cho điện thoại di động đang là một ngành công nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vượt bậc của ngành khoa học kỹ thuật. Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽ của xu hướng lập trình phần mềm ứng dụng cho các thiết bị di động. Phần mềm, ứng dụng cho điện thoại di động hiện nay rất đa dạng và phong phú trên các hệ điều hành di động cũng phát triển mạnh mẽ và đang thay đổi từng ngày. Các hệ điều hành J2ME, Android, IOS, Hybrid, Web based Mobile Application đã có rất phát triển trên thị trường truyền thông di động. Ngày nay, với sự phát triển nhanh chóng của xã hội, nhu cầu giải trí ở mọi lúc mọi nơi mọi để giảm căng thẳng trong mỗi giờ học của các em nhỏ, em đã chọn đề tài “Kids count” với mục giải trí sau mỗi giờ học trên lớp về nhà các em có thể học các bài toán dựa vào ứng dụng trên điện thoại vừa học vừa giải trí.

Trang 1

LỜI MỞ ĐẦU

Hiện nay do nhu cầu trao đổi thông tin ngày đa dạng và nhu cầu sử dụng sản phẩmcông nghệ cao nhiều tính năng, cấu hình cao, chất lượng tốt, kiểu dáng mẫu mã đẹp,phong phú nên nhà cung cấp phải luôn luôn cải thiện, nâng cao những sản phẩm củamình Do đó việc xây dựng các ứng dụng cho điện thoại di động đang là một ngànhcông nghiệp mới đầy tiềm năng và hứa hẹn nhiều sự phát triển vượt bậc của ngànhkhoa học kỹ thuật

Cùng với sự phát triển của thị trường điện thoại di động là sự phát triển mạnh mẽcủa xu hướng lập trình phần mềm ứng dụng cho các thiết bị di động Phần mềm, ứngdụng cho điện thoại di động hiện nay rất đa dạng và phong phú trên các hệ điều hành

di động cũng phát triển mạnh mẽ và đang thay đổi từng ngày Các hệ điều hành J2ME,Android, IOS, Hybrid, Web based Mobile Application đã có rất phát triển trên thịtrường truyền thông di động

Ngày nay, với sự phát triển nhanh chóng của xã hội, nhu cầu giải trí ở mọi lúc mọinơi mọi để giảm căng thẳng trong mỗi giờ học của các em nhỏ, em đã chọn đề tài

“Kids count” với mục giải trí sau mỗi giờ học trên lớp về nhà các em có thể học cácbài toán dựa vào ứng dụng trên điện thoại vừa học vừa giải trí

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 1

MỤC LỤC 2

DANH MỤC HÌNH ẢNH 4

CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 5

1.1 Sơ lược về ngôn ngữ Java 5

1.1.1 Một số tính chất của ngôn ngữ Java 5

1.1.2 Các kiểu dữ liệu 8

1.2 Sơ lược về lập trình Android 8

1.2.1 Kiến trúc của Android 10

1.2.2 Chu kì ứng dụng Android 12

CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ 17

2.1 Mô hình hóa yêu cầu 17

2.1.1 Xác định các tác nhân 17

2.1.2 Xác định các trường hợp sử dụng (use case) 17

2.1.2.1 Liệt kê các trường hợp sử dụng 17

2.1.2.2 Đặc tả các trường hợp sử dụng 17

2.1.2.3 Biểu đồ trường hợp sử dụng 18

2.2 Mô hình hóa khái niệm 18

2.2.1 Các gói trong hệ thống 18

2.2.1.1 Các lớp biên 18

2.2.1.2 Các lớp điều khiển 19

2.3 Thiết kế cơ sở dữ liệu (sử dụng SQLite) 20

2.3.1 Cơ sở lý thuyết 20

2.3.2 Chi tiết về các đặc tính của SQLite 21

2.3.3 Bảng cơ sở dữ liệu 22

2.4 Thiết kế giao diện 22

2.4.1 Màn hình chờ 22

2.4.2 Màn hình chính 23

2.4.3 Màn hình tạm dừng 24

2.4.4 Màn hình lưu điểm 25

2.4.5 Màn hình Xem điểm và xếp hạng 26

Trang 3

CHƯƠNG 3 : CHƯƠNG TRÌNH ỨNG DỤNG 27

3.1 Giới thiệu về ứng dụng: 27

3.2 Chức năng và hướng dẫn sử dụng: 27

3.3 Kết luận 27

3.3.1 Ưu điểm của ứng dụng 27

3.3.2 Nhược điểm của ứng dụng 27

3.3.3Hướng phát triển. 27

Trang 4

DANH MỤC HÌNH ẢNH

Hình 1-1 Cấu trúc stack hệ thống Android 10

Hình 1-2 Cấu trúc stack hệ thống Android 13

Hình 1-3Activity stack 13

Hình 1-4Chu kỳ sống của Activity 14

Hình 1-5 Sự kiện trong chu kì 15

Hình 2-1 Trường hợip sử dụng 18

Hình 2-2 Lớp biên 19

Hình 2-3 Lớp điều khiển 19

Hình 2-4 Lớp đối tượng 20

Hình 2-5 Bảng cơ sở dữ liệu 22

Trang 5

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

1.1 Sơ lược về ngôn ngữ Java.

* Lịch sử phát triển:

- 1990: Ngôn ngữ Oak được tạo ra bởi James Gosling trong dự án Green của SunMicroSystems nhằm phát triển phần mềm cho các thiết bị dân dụng

- 1995: Oak đổi tên thành Java

- 1996: trở thành chuẩn công nghiệp cho Internet

* Đặc điểm:

- Ngôn ngữ hoàn toàn hướng đối tượng (Pure OOP)

- Ngôn ngữ đa nền: "Viết một lần , Chạy trên nhiều nền”

- Ngôn ngữ đa luồng (multi-threading): xử lý và tính toán song song

- Ngôn ngữ phân tán (distributed): cho phép các đối tượng của một ứng dụng đượcphân bố và thực thi trên các máy tính khác nhau

- Ngôn ngữ động: cho phép mã lệnh của một chương trình được tải từ một máy tính

về máy của người yêu cầu thực thi chương trình

- Ngôn ngữ an toàn: hạn chế các thao tác nguy hiểm cho máy tính thật

- Ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, trong sáng

* Khả năng:

- Ngôn ngữ bậc cao

- Có thể được dùng để tạo ra các loại ứng dụng để giải quyết các vấn đề về số, xử lývăn bản, tạo ra trò chơi, và nhiều thứ khác

- Có các thư viện hàm hỗ trợ xây dựng giao diện (GUI) như AWT, Swing, …

- Có các môi trường lập trình đồ họa như JBuilder, NetBeans, Eclipse, …

- Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC

- Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket)cũngnhư truy xuất Web hay nhúng vào trong trang Web (Applet)

- Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép một ứng dụng cóthể được xử lý phân tán trên các máy tính khác nhau

- Lập trình trên thiết bị cầm tay (J2ME)

- Xây dựng các ứng dụng trong môi trường xí nghiệp (J2EE)

1.1.1 Một số tính chất của ngôn ngữ Java

Java là ngôn ngữ lập trình được phát triển từ ngôn ngữ lập trình C/C++ Nó kế thừa,

Trang 6

phát huy các thế mạnh của ngôn ngữ C/C++ và lược bỏ đi các cú pháp phức tạp của C/C++ Ngôn ngữ lập trình Java có một số đặc trưng tiêu biểu: đơn giản, hướng đốitượng, độc lập phần cứng và hệ điều hành, mạnh mẽ, bảo mật, phân tán, đa luồng vàlinh động.

*Đơn giản

Những người thừa kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộcvớ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 đoá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 (.h)

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

* Hướng đối tượng

Java là ngôn ngữ lập trình thầ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 ra 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ácphương thức (chương trình con gắn liền với một lớp cụ thể) Trong Java không chophép các đối tượng có tính năng đa kế thừa mà được thay thế bằng các giao diện(interface)

* Độc lập phần cứng và hệ điều hành

Đối với các ngôn ngữ lập trình truyền thống như C/C++, phương pháp biên dịchđược thực hiện như sau:

* Mạnh mẽ

Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu

• Kiểu dữ liệu phải khai báo tường minh

• Java không sử dụng con trỏ và các phép toán con trỏ

• Java kiểm tra tất cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bảo rằngcác truy nhập đó không ra ngoài giới hạn kích thước

• Trong các môi trường lập trình truyền thống, lập trình viên phải tự mình cấp phát

bộ nhớ, trước khi chương trình kết thúc thì phải tự giải phóng bộ nhớ đã cấp Vấn đề

có thể nảy sinh khi lập trình viên quên giải phóng bộ nhớ đã xin cấp trước đó Trongchương trình Java, lập trình viên không phải bận tâm đến việc cấp phát bộ nhớ Quá

Trang 7

trình cấp phát, giải phóng được thực hiện tự động, nhờ dịch vụ thu nhặt những đốitượng không còn sử dụng nữa (garbage collection).

• Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý và hồi phục sau lỗi

Trang 8

-2 bytes theo mã UNICODE

-127 ký tự đầu trùng với mã ASCII

*Kiểu chuỗi String:

-Là một lớp trong ngôn ngữ java

-Có nhiều phương thức thao tác trên chuỗi

int i = a[0]; float f = yt[9]; String str = names[20]; int x = matran [2][5];

1.2 Sơ lược về lập trình Android.

*Lịch sử Android

Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõi Linux

do công ty And roid Inc (California, Mỹ) thiết kế Công ty này sau đó đượcGoogle mua lại vào n ăm 2005 và bắt đầu xây dựng Android Platfo rm Các thànhviên chủ chốt tại ở Android Inc gồm có: Andy Rubin, Rich Miner, Nick Sears, andChris White

Trang 9

Và sau tiếp, vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tay MãNguồn mở (Open Handset Alliance) gồm các thành viên nổi bật trong ngànhviễn thông và thiết bị cầm tay như:

Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvid ia, Qualcomm, Sa msung Electronics, Sprint Nextel, T-Mob ile, ARM Holdings, Atheros Communications, Asustek Co mputer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group,…

Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn chonhu cầu n gười tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android.Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết, các nhà khaithác và các lập trình viên thiết b ị cầm tay

Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng Mobile cũng công bố chiếc điện thoại And roid đầu tiên đó là chiếc T-Mobile G1,chiếc smartphone đầu tiên dựa trên nền tảng And roid Một vài ngày sau đó,Google lại tiếp tục công bố sự ra mắt phiên bản Android SDK release Candidate1.0 Trong tháng 10 năm 2008, Google được cấp giấy phép mã nguồn mở choAndroid Platform

T-Khi Android được phát hành thì một tron g số các mục tiêu trong kiến trúc củ a

nó là cho phép các ứng dụng có thể tương tác được với nhau và có thể sử dụnglại các thành phần từ những ứng dụng khác Việc tái sử dụng không chỉ được ápdụn g cho cho các dịch vụ mà nó còn được áp dụng cho cả các thành phần dữ liệu

và giao diện người dùng

Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi làAndroid Dev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràngbuộc vào các nhà cung cấp mạng điện thoại di động Mục tiêu của thiết bị này là

Trang 10

cho phép các nhà phát triển thực hiện các cuộc th í nghiệm trên một thiết bị thực

có thể chạy hệ điều hành Android mà không phải ký một bản hợp đồng nào Vàokhoảng cùng thời gian đó thì Google cũng cho phát hành một phiên vản vá lỗi 1.1của hệ đ iều hành này Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý Android cố địnhvấn đề này bằng cách phát hành SDK 1 5 vào tháng Tư năm 2009, cùng vớimột số tính n ăng khác Chẳng hạn như nâng cao khả năng ghi âm tru yền thông,vật dụng, và các live folder

1.2.1 Kiến trúc của Android

Mô hình sau thể hiện một cách tổng quát các thành phần của hệ điều hành

Android Mỗi một phần sẽ được đặc tả mộ t cách chi tiết dưới đây

Hình 1-1 Cấu trúc stack hệ thống Android

*Tầng ứng dụng

Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts,browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Androidđều được viết bằng Java

* Application framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho các

Trang 11

nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo.Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm tru ycập, các dịch vụ ch ạy nền, thiết lập hệ thống báo động, thêm các thông báo để cácthanh trạng thái, và nhiều, nhiều hơn nữa.

Nhà phát triển có thể truy cập vào các API cùn g một khuôn khổ được sử dụngbởi các ứng dụng lõ i Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc

sử dụng lại các thành phần; bất kỳ ứng dụng có thể xuất bản khả năng của mình

và ứng dụng nào khác sau đó có thể sử dụng những khả năng (có thể hạn chế bảomật được thực thi bởi khuôn khổ) Cơ chế này cho phép các thành phần tương tự

sẽ được thay thế bởi người sử dụng

Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:

 Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết kếphần giao diện ứng dụng như: grid view, tableview, linearlayout,…

 Một “Content Provider” cho phép các ứng dụng có thể tru y xuất dữ liệu từ cácứng

* Library

Android bao gồm một tập hợp các thư viên C/C++ được sử dụng bởi nhiềuthành phần khác nhau trong hệ thống Android Điều này đư ợc thể hiện thông quanền tảng ứng dụng Android Một số các thư viện cơ bản được liệt kê dưới đây:

 System C library: a BSD-derived implementation of the standard C systemlibrary (libc), tuned for embedded Linux-based devices

 Media Libraries - based on PacketVideo's OpenCORE; the libraries supportplayback and reco rding of many popular audio and video fo rmats, as well asstatic image files, includin g MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

 Surface Manager – Quản lý việc tru y xuất vào hệ thống hiển thị

 LibWebCo re - a modern web browser en gine which po wers both theAndroid browser and an embeddable web view

 SGL - the underlying 2D graphics engine

libraries use either hardware 3D acceleration (where available) or the included,highly optimized 3D software rasterizer

Trang 12

FreeType - bitmap and vector font rendering.

SQLite - a powerful and lightweight relational database engine available to all

applications

* Android Runtime

Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết các chứcnăng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Tất cả các ứng dụngAndroid đều chạy trong tiến trình riêng Máy ảo Dalvik đã được viết để cho mộtthiết bị có thể chạy nhiều máy ảo hiệu quả Các VM Dalvik thực thi các tập tin thựcthi Dalvik (dex) Định dạng được tối ưu hóa cho bộ nhớ tối thiểu VM là dựa trênregister-based, và chạy các lớp đã được biên dịch bởi một trình biên dịch Java đểchu yển đổi thành các định dạng dex Các VM Dalvik dựa vào nhân Linux cho cácchức năng cơ bản như luồng và quản lý bộ nhớ thấp

* Linuxkernel

Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như secu rity,memory manageme nt, process management, network stack, and driver model.Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần còn lạicủa phần mềm stack

1.2.2 Chu kì ứng dụng Android

Một tiến trình Linux gói gọn một ứng dụng And roid đã được tạo ra cho ứngdụng khi codes cần được run và sẽ còn chạy cho đến khi:

Nó không phụ thuộc

Hệ thốn g cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác

Một sự khác thường và đặc tính cơ b ản củ a Android là thời gian sống của tiếntrình ứng dụng không được điều khiển trực tiếp bới chính nó Thay vào đó, nóđược xác định bởi hệ thốn g qua mộ t kết hợp của:

 Những phần của ứng dụng mà hệ thống biết đang chạy

 Những phần quan trọng như thế nào đối với người dung

* Chu kỳ sống thành phần

Các thành phần ứng dụng có một chu kỳ sống, tức là mỗi thành phần từ lúc bắtđầu khởi tạo và đến thời điểm kết thúc Giữa đó, đôi lúc chúng có thể là active ho ặcinactive, hoặc là trong trường hợp activies nó có thể visible hoặc invisible

Trang 13

Hình 1-2 Cấu trúc stack hệ thống Android

* Activity Stack

Bên trong hệ thống các activity được quản lý như một activity stack Kh i mộtActivity mới được start, nó được đặt ở đỉnh của stack và trở thành activity đangchạy activity trước sẽ ở bên dưới activity mới và sẽ không thấy trong suốt quá trìnhactivity mới tồn tại

Nếu người dùng nhấn nút Back thì activity kết tiếp củ a stack sẽ di du yển lên vàtrở thành active

Hình 1-3Activity stack

Trang 14

*Các trạng thái của chu kỳ sống

Hình 1-4Chu kỳ sống của Activity

Một Activity chủ yếu có 3 chu kỳ chính sau:

 Active hoặc running: Khi Activity là được chạy trên màn hình Activity nàytập trun g vào những thao tác củ a người dùng trên ứng dụng

 Paused: Activity là được tạm dừng (p aused) khi mất focus nhưng ngườidùng vẫn trông thấy Có nghĩa là một Activity mới ở trên nó nhưng không baophủ đầy màn hình Một Activity tạm dừn g là còn sống nhưng có thể b ị kết thúcbởi hệ thống tron g trường hợp thiếu vùng nhớ

Stopped: Nếu nó hoàn toàn bao phủ bởi Activity khác Nó vẫn còn trạng thái vàthông tin thành viên trong nó Người dùng không thấy nó và thường bị loại bỏ trongtrường hợp hệ thống cần vùng nhớ cho tác vụ khác

*Chu kỳ sống của ứng dụng

Trong một ứng dụng Android có chứa nhiều thành ph ần và mỗi thành phần đều

có một chu trình sống riêng Và ứng dụng chỉ được gọi là kết thúc khi tất cả cácthành phần trong ứng dụng kết thúc Activity là một thành phần cho phép ngườidùng giao tiếp với ứng dụng Tu y nhiên, khi tất cả các Activity kết thúc và ngườidùng không còn giao tiếp được với ứn g dụng nữa nhưng không có nghĩa là ứngdụng đã kết thúc Bởi vì ngoài Activity là thành phần có khả năng tươn g tác ngườidùng thì còn có các thành phần không có kh ả năng tương tác với người dùng như làService, Broadcast receiver Có nghĩa là những thành phần không tương tác người

Ngày đăng: 25/06/2017, 22:34

HÌNH ẢNH LIÊN QUAN

Hình 1-1  Cấu trúc stack hệ thống Android - Xây dựng ứng dụng Kidcount trên Android  ứng dụng trên điện thoại vừa học vừa giải trí
Hình 1 1 Cấu trúc stack hệ thống Android (Trang 10)
Hình 1-3Activity stack - Xây dựng ứng dụng Kidcount trên Android  ứng dụng trên điện thoại vừa học vừa giải trí
Hình 1 3Activity stack (Trang 13)
Hình 1-4Chu kỳ sống của Activity - Xây dựng ứng dụng Kidcount trên Android  ứng dụng trên điện thoại vừa học vừa giải trí
Hình 1 4Chu kỳ sống của Activity (Trang 14)
Hình 2-1  Trường hợip sử dụng - Xây dựng ứng dụng Kidcount trên Android  ứng dụng trên điện thoại vừa học vừa giải trí
Hình 2 1 Trường hợip sử dụng (Trang 19)
Hình 2-4 Lớp đối tượng - Xây dựng ứng dụng Kidcount trên Android  ứng dụng trên điện thoại vừa học vừa giải trí
Hình 2 4 Lớp đối tượng (Trang 21)
Hình 2-5 Bảng cơ sở dữ liệu - Xây dựng ứng dụng Kidcount trên Android  ứng dụng trên điện thoại vừa học vừa giải trí
Hình 2 5 Bảng cơ sở dữ liệu (Trang 23)

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