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

Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android

61 7 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

Tiêu đề Xây Dựng Trò Chơi Funny Trên Hệ Điều Hành Android
Tác giả Cao Khương Duy
Người hướng dẫn ThS. Đinh Thái Sơn
Trường học Đại Học Hùng Vương
Chuyên ngành Công Nghệ Thông Tin
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2017
Thành phố Việt Trì
Định dạng
Số trang 61
Dung lượng 1,74 MB

Cấu trúc

  • A. MỞ ĐẦU (8)
    • 1. Đặt vấn đề nghiên cứu (8)
      • 1.1 Sự cần thiết phải nghiên cứu (8)
      • 1.2 Căn cứ khoa học và thực tiễn (9)
    • 2. Mục tiêu nghiên cứu của đề tài (9)
      • 2.1. Mục tiêu chung (9)
      • 2.2. Mục tiêu cụ thể (9)
    • 3. Đối tượng và phạm vi nghiên cứu (9)
      • 3.1. Đối tượng nghiên cứu (9)
      • 3.2. Phạm vi nghiên cứu (9)
    • 4. Phương pháp nghiên cứu (9)
      • 4.1. Tiến trình nghiên cứu (9)
      • 4.2. Phương pháp nghiên cứu (10)
    • 5. Bố cục đề tài (10)
  • B. NỘI DUNG NGHIÊN CỨU (10)
  • CHƯƠNG 1: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID TRÊN THIẾT BỊ DI ĐỘNG (11)
    • 1.1. Lịch sử ra đời (11)
    • 1.2. Giao diện người dùng của Android (13)
    • 1.3. Ứng dụng của Android (14)
    • 1.4. Kiến trúc và các thành phần (15)
      • 1.4.1. Kiến trúc tổng quát (15)
      • 1.4.2. Hệ điều hành (15)
    • 1.5 Ngôn ngữ Java (27)
      • 1.5.1 Giới thiệu về Java (27)
      • 1.5.2 Các đặc trưng của Java (28)
      • 1.5.3 Các kiểu chương trình Java (29)
      • 1.5.4 Máy ảo Java (JVM- Java Virtual Machine) (30)
  • CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG (32)
    • 2.1. Xác định yêu cầu (32)
      • 2.1.1. Các chức năng chính của chương trình (32)
      • 2.1.2. Biểu đồ UserCase (34)
    • 2.2. Phân tích thiết kế (35)
      • 2.2.1 Sơ đồ phân cấp chức năng (35)
      • 2.2.2 Sơ đồ luồng dữ liệu (35)
      • 2.2.3 Sơ đồ luồng dữ liệu mức đỉnh (35)
      • 2.2.4 Mô hình lớp (36)
  • CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG (40)
    • 3.1. Danh sách các màn hình (40)
    • 3.2. Chi tiết các màn hình (41)
    • 3.3. Các quy luật chơi chính (49)
      • 3.3.1. Luật chơi (49)
      • 3.3.2. Chọn bài (50)
      • 3.3.3. Bắt bóng (50)
      • 3.3.4. Tấn công (51)
      • 3.3.5 Các thuộc tính trong trò chơi (59)
      • 3.3.6 Menu trong trò chơi (59)
    • C. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (10)
    • D. TÀI LIỆU THAM KHẢO (10)

Nội dung

NỘI DUNG NGHIÊN CỨU

+ Chương 1: Tổng quan hệ điều hành Android trên thiết bị di động

+ Chương 2: Phân tích và thiết kế ứng dụng

+ Chương 3: Xây dựng ứng dụng

- C Kết luận và hướng phát triển

TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID TRÊN THIẾT BỊ DI ĐỘNG

Lịch sử ra đời

Tổng công ty Android (Android, Inc.) được thành lập vào tháng 10 năm 2003 tại Palo Alto, California, bởi Andy Rubin, Rich Miner, Nick Sears và Chris White với mục tiêu phát triển các thiết bị di động thông minh hơn, có khả năng nhận biết vị trí và sở thích của người dùng Mặc dù các nhà sáng lập đều là những nhân vật nổi bật trong ngành công nghệ, công ty hoạt động khá âm thầm và chỉ tiết lộ rằng họ đang phát triển phần mềm cho điện thoại di động Trong năm đầu tiên, Andy Rubin gặp khó khăn về tài chính và được người bạn Steve Perlman hỗ trợ 10.000 USD nhưng từ chối tham gia vào công ty.

Vào ngày 17 tháng 8 năm 2005, Google đã mua lại Tổng công ty Android và biến nó thành một bộ phận của mình, với các nhân viên chủ chốt như Rubin, Miner và White tiếp tục làm việc tại công ty Mặc dù thông tin về Tổng công ty Android lúc bấy giờ còn hạn chế, nhiều người đã dự đoán rằng Google có kế hoạch tham gia vào thị trường điện thoại di động Nhóm do Rubin dẫn dắt tại Google đã phát triển một nền tảng thiết bị di động dựa trên nhân Linux, được quảng bá cho các nhà sản xuất điện thoại và nhà mạng với cam kết về một hệ thống linh hoạt và dễ nâng cấp Google cũng đã kết nối với nhiều hãng phần cứng và đối tác phần mềm, thông báo cho các nhà mạng về sự sẵn sàng hợp tác ở nhiều cấp độ khác nhau.

Vào tháng 12 năm 2006, ngày càng nhiều suy đoán cho rằng Google sẽ gia nhập thị trường điện thoại di động Các nguồn tin từ BBC và Nhật Báo Phố Wall cho biết Google đang nỗ lực tích hợp công nghệ tìm kiếm và ứng dụng của họ vào điện thoại di động Đồng thời, cả truyền thông truyền thống và online đều đưa tin về việc Google đang phát triển một thiết bị cầm tay mang thương hiệu của mình.

Một số báo cáo cho biết Google đang phát triển các bản mô tả kỹ thuật chi tiết và đã giới thiệu sản phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng Vào tháng 9 năm 2007, Information Week đã công bố một nghiên cứu từ Evalueserve cho thấy Google đã nộp nhiều đơn xin cấp bằng sáng chế liên quan đến lĩnh vực điện thoại di động.

Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronic, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động Cùng ngày, Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6 Chiếc điện thoại chạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008 Biểu trưng của hệ điều hành Android mới là một con rôbốt màu xanh lá cây do hãng thiết kế Irina Blok tại California vẽ

Kể từ năm 2008, hệ điều hành Android đã trải qua nhiều bản cập nhật, cải tiến tính năng và sửa lỗi, với mỗi phiên bản được đặt tên theo thứ tự bảng chữ cái và các món tráng miệng, như phiên bản 1.5 Cupcake và 1.6 Donut Hiện tại, phiên bản mới nhất là 6.0 Marshmallow và 7.0 Nougat Beta Năm 2010, Google giới thiệu dòng sản phẩm Nexus, bao gồm điện thoại thông minh và máy tính bảng chạy Android, với sự hợp tác đầu tiên từ HTC cho chiếc Nexus One Nhiều thiết bị mới hơn như Nexus 4 và các máy tính bảng khác cũng đã được ra mắt trong dòng sản phẩm này.

LG và Samsung lần lượt sản xuất 10 mẫu điện thoại Nexus, mà Google xem là thiết bị Android chủ lực với tính năng phần cứng và phần mềm tiên tiến Android, được xây dựng trên nền tảng mở với bộ thư viện đa năng, mạnh mẽ, đã trở thành hệ điều hành smartphone phổ biến nhất thế giới, nhận được sự ủng hộ mạnh mẽ từ cộng đồng lập trình viên di động.

Giao diện người dùng của Android

Hình 1.1 Giao diện hệ điều hành Android

Giao diện người dùng của Android sử dụng nguyên tắc tác động trực tiếp với cảm ứng chạm, cho phép người dùng thực hiện các động tác như vuốt, chạm, kéo giãn và thu lại để tương tác với màn hình Phản ứng với tác động của người dùng diễn ra ngay lập tức, tạo ra trải nghiệm cảm ứng mượt mà, thường kết hợp với tính năng rung để cung cấp phản hồi Ngoài ra, các thiết bị phần cứng như gia tốc kế, con quay hồi chuyển và cảm biến khoảng cách được sử dụng trong một số ứng dụng, cho phép điều chỉnh màn hình từ chế độ dọc sang ngang hoặc điều khiển xe đua bằng cách xoay thiết bị, tương tự như điều khiển vô-lăng.

Màn hình chính của các thiết bị Android, tương tự như desktop trên máy tính để bàn, hiển thị các biểu tượng ứng dụng và tiện ích cho phép người dùng truy cập nhanh chóng vào thông tin và ứng dụng Người dùng có thể tùy chỉnh giao diện màn hình chính, sắp xếp các biểu tượng và tiện ích theo sở thích cá nhân, cũng như thay đổi "chủ đề" thông qua các ứng dụng từ Google Play Thanh trạng thái ở phía trên màn hình cung cấp thông tin về thiết bị và tình trạng kết nối, có thể kéo xuống để xem các thông báo quan trọng mà không làm gián đoạn trải nghiệm sử dụng Các thông báo này sẽ tồn tại cho đến khi người dùng đọc hoặc xóa chúng, với nhiều tính năng tiện ích được bổ sung theo thời gian.

Ứng dụng của Android

Hệ điều hành Android sở hữu một kho ứng dụng phong phú từ bên thứ ba, có thể tải về từ các cửa hàng như Google Play và Amazon Appstore, hoặc qua file APK từ trang web khác Cửa hàng Play cho phép người dùng duyệt và cập nhật ứng dụng từ Google và các nhà phát triển khác, với khả năng tự động lọc ứng dụng tương thích cho thiết bị Các nhà phát triển có thể giới hạn ứng dụng theo nhà mạng hoặc quốc gia vì lý do kinh doanh Người dùng có thể yêu cầu hoàn tiền trong vòng 15 phút nếu không hài lòng với ứng dụng đã mua Đến tháng 9 năm 2012, số lượng ứng dụng trên Android đã vượt qua 675.000 và tổng số lượt tải từ Cửa hàng Play ước tính đạt 25 tỷ.

Các ứng dụng Android được phát triển bằng ngôn ngữ Java thông qua Bộ phát triển phần mềm Android (SDK), bao gồm các công cụ như gỡ lỗi, thư viện phần mềm, bộ giả lập điện thoại QEMU, tài liệu hướng dẫn và mã nguồn mẫu Môi trường phát triển tích hợp (IDE) chính thức là Eclipse với phần bổ sung Android Development Tools (ADT) Ngoài ra, còn có các công cụ phát triển khác như Bộ phát triển gốc cho C/C++, Google App Inventor cho lập trình viên mới và nhiều nền tảng ứng dụng web di động đa nền tảng Tại Trung Quốc, các thiết bị Android thường bị điều chỉnh để chỉ sử dụng các dịch vụ đã được duyệt nhằm vượt qua sự kiểm duyệt Internet.

Kiến trúc và các thành phần

Android bao gồm bốn thành phần sau:

- Thư viện và các giao diện lập trình ứng dụng

Hình 1.2 Kiến trúc tổng quát hệ điều hành Android

Android sử dụng nhân Linux 2.6 để cung cấp các dịch vụ hệ thống như bảo mật, quản lý bộ nhớ, và quản lý tiến trình Nhân này hỗ trợ xử lý đa luồng, ngăn xếp mạng và trình điều khiển thiết bị, bao gồm giao tiếp USB, hồng ngoại và không dây Ngoài ra, nó còn đóng vai trò là lớp trừu tượng giữa phần cứng và phần mềm.

Mặc dù được xây dựng trên nền tảng nhân Linux, nhưng nhân này đã trải qua nhiều cải tiến và điều chỉnh để phù hợp với các thiết bị cầm tay, bao gồm việc tối ưu hóa cho bộ vi xử lý hạn chế, dung lượng bộ nhớ nhỏ, kích thước màn hình và nhu cầu kết nối mạng không dây.

1.4.2.1 Các thành phần của nhân Linux

Hình 1.3 Các thành phần nhân Linux

- Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận những điều khiển của người dùng lên màn hình ( di chuyển, cảm ứng…)

- Camera Driver : điều khiển hoạt động của camera, nhận luồng dữ liệu từ camera về

- Bluetooth Driver : Điều khiển thiết bị phát, thu sóng Bluetooth

- USB Driver : Điều khiển bàn phím

- Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi

- Audio Driver : Điều khiển các bộ thu phí phát âm thanh, giải mã các tín hiệu dạng audio thành tín hiệu số và ngược lại

- Power Management : Giám sát việc tiêu thụ điện năng

- M-system Driver : Quản lý việc đọc ghi… lên các thiết bị nhớ như thẻ

Binder IPC Driver là thành phần quan trọng trong việc kết nối và giao tiếp với các mạng vô tuyến như CDMA, GSM, 3G, 4G và 5G, đảm bảo các chức năng truyền thông được thực hiện một cách hiệu quả.

Android cung cấp một số các APIs cho phát triển ứng dụng

Danh sách các API cơ bản sau được cung cấp bởi tất cả các thiết bị trên nền Android:

- android.util: Gói tiện ích cơ bản bao gồm nhiều lớp mức thấp như là các lớp quản lý (List, Stack…) lớp xử lý chuỗi, lớp xử lý XML

- android.graphics: Cung cấp các lớp đồ họa mức thấp thực hiện các chức năng đồ họa, màu, vẽ cơ bản

- android.database: Cung cấp các lớp mức thấp bắt buộc cho việc điều khiển cursor khi làm việc với các cơ sở dữ liệu

Android.content là một phần quan trọng trong lập trình Android, giúp quản lý truy cập dữ liệu và xuất bản thông tin Nó cung cấp các dịch vụ cần thiết để thao tác với tài nguyên, bao gồm Content Provider và các gói liên quan.

View trong android.view là lớp cơ bản nhất cho giao diện người dùng, và mọi giao diện đều cần sử dụng các View để tạo ra các thành phần tương tác với người dùng.

Gói android.widget cung cấp các lớp widget, là những thành phần giao diện người dùng được tạo sẵn, giúp xây dựng giao diện một cách dễ dàng Các widget này bao gồm danh sách, nút bấm, hộp nhập và nhiều kiểu trình bày khác nhau, tạo nên trải nghiệm người dùng mượt mà và trực quan.

Bộ API com.google.android.maps cung cấp quyền truy cập vào các điều khiển bản đồ có sẵn trong Android, cho phép các ứng dụng tương tác với bản đồ Nó bao gồm lớp MapView, Overlay và MapController, giúp người dùng dễ dàng quản lý và hiển thị bản đồ trong ứng dụng của mình.

- android.provider: Để tạo thuận lợi cho người phát triển truy cập đến các Content Provider tiêu chuẩn (như là dữ liệu danh bạ), gói cung cấp

(Provider) bao gồm các lớp cho phép truy cập đến cơ sở dữ liệu chuẩn trong tất cả các bản phân phối Android

API điện đàm trong android.telephony cho phép người dùng tương tác trực tiếp với hệ thống điện thoại của thiết bị, từ việc tạo và nhận cuộc gọi đến theo dõi trạng thái cuộc gọi và quản lý tin nhắn SMS.

Gói android.webkit cung cấp các API hữu ích cho việc xử lý nội dung web, bao gồm lớp WebView cho phép tạo giao diện web nhúng trong ứng dụng và trình quản lý cookie để quản lý thông tin phiên làm việc.

Cùng với các API của Android, còn có một tập các thư viện C/C++ như:

- OpenGL: Thư viện dùng để tạo ra các đồ họa 3D dựa vào chuẩn OpenGLES 1.0 API

- FreeType: Hỗ trợ xử lý bitmap và font vector

- GGL: Thư viện cơ bản, dùng để cung cấp các engine đồ họa 2D

- Libc: Thư viện C chuẩn, được tối ưu cho các thiết bị Linux-based

- SQLite Engine: Cơ sở dữ liệu quan hệ gọn nhẹ, dùng để lưu trữ dữ liệu của ứng dụng

- SSL: Hỗ trợ sử dụng giao thức mã hóa Secure Sockets Layer trong bảo mật truyền thông Internet

Ngoài các thư viện chuẩn của Android, hệ điều hành này còn hỗ trợ các API phụ thuộc vào thiết bị như android.Location, android.Media, android.OpenGL và android.Hardware, nhằm đáp ứng nhu cầu sử dụng trên nhiều loại thiết bị khác nhau.

Chương trình viết bằng ngôn ngữ Java hoạt động thông qua các thư viện, bao gồm hai phần chính Phần đầu tiên là các thư viện lỗi (Core Library), chứa các lớp quan trọng như JAVA IO, Collections và File Access Phần thứ hai là máy ảo Java (Dalvik Virtual Machine), cho phép chạy các ứng dụng Java trên thiết bị.

Mặc dù ứng dụng Java trên hệ điều hành Android được viết bằng ngôn ngữ Java, nhưng nó không chạy trên JRE (Java Runtime Environment) của Sun (nay là Oracle) mà sử dụng máy ảo Dalvik do Google phát triển Máy ảo Dalvik, được đặt tên theo một ngôi làng mà một nhà phát triển phần mềm của Google đã thăm, thực thi các tập tin định dạng dex, khác với Java, nơi mã được chuyển đổi sang dạng bytecode Định dạng dex này được tối ưu hóa để tiết kiệm bộ nhớ.

Kiến trúc Android hỗ trợ việc tái sử dụng các thành phần, cho phép chia sẻ và công bố các Activity, Service và dữ liệu giữa các ứng dụng khác nhau, với quyền truy cập được kiểm soát thông qua các khai báo.

Cơ chế này cho phép lập trình viên phát triển một trình quản lý danh bạ hoặc trình quay số điện thoại, trong đó các thành phần có thể được người khác tạo mới giao diện và mở rộng chức năng mà không cần phải thiết lập lại từ đầu.

Các dịch vụ kiến trúc cơ bản nhất cho tất cả các ứng dụng bao gồm một framework thiết yếu cho mọi phần mềm được phát triển.

- Actitvity Manager: Điều khiển vòng đời của các Activity bao gồm cả quản lý các tầng Activity

- Views: Được sử dụng để tạo lập các giao diện người dùng cho Activity

- Notification Manager: Cung cấp một cơ chế cố định và quy củ cho việc gửi các thông báo đến người dùng

- Content Provider: Cho phép ứng dụng chia sẻ dữ liệu giữa các ứng dụng

- Resource Manager : Hỗ trợ các thành phần không thuộc mã nguồn như là chuỗi ký tự đồ họa được đặt bên ngoài

1.4.2.5 Các thành phần của một ứng dụng Android

Một ứng dụng trên Android được cấu thành từ bốn thành phần cơ bản sau:

Ngoài ra còn một số thành phần khác Các thành phần này không nhất thiết phải có mặt đầy đủ trong ứng dụng

Chúng ta có thể xem các thành phần nào được sử dụng trong ứng dụng bằng việc xem khai báo trong file AndroidManifest.xml

Ngôn ngữ Java

Java là ngôn ngữ lập trình được Sun Microsystems ra mắt vào tháng 6 năm 1995 và nhanh chóng trở thành công cụ ưa chuộng của các lập trình viên chuyên nghiệp Được phát triển dựa trên nền tảng của C và C++, Java kế thừa cú pháp của C cùng với các đặc trưng hướng đối tượng của C++.

Vào năm 1991, các kỹ sư của Sun Microsystems đã phát triển một ngôn ngữ lập trình mới nhằm điều khiển các thiết bị điện tử như TV, máy giặt và lò nướng Mặc dù C và C++ có thể thực hiện nhiệm vụ này, nhưng chúng lại phụ thuộc vào từng loại CPU, gây khó khăn trong việc triển khai.

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

Để giảm thiểu chi phí, mỗi loại CPU không nên có trình biên dịch riêng, vì vậy cần một ngôn ngữ lập trình nhanh, gọn, hiệu quả và độc lập với thiết bị, có khả năng chạy trên nhiều loại CPU và trong các môi trường khác nhau Từ nhu cầu này, ngôn ngữ "Oak" ra đời và được đổi tên thành Java vào năm 1995 Mặc dù không được phát triển với mục tiêu ban đầu cho Internet, nhưng nhờ tính độc lập thiết bị, Java đã nhanh chóng trở thành ngôn ngữ lập trình phổ biến cho các ứng dụng trên Internet.

Java là một ngôn ngữ lập trình hướng đối tượng, vì vậy không thể sử dụng Java để phát triển các chương trình theo phong cách lập trình chức năng Tuy nhiên, Java có khả năng thực hiện hầu hết các tác vụ mà các ngôn ngữ lập trình khác có thể thực hiện.

Java là ngôn ngữ lập trình kết hợp giữa biên dịch và thông dịch, trong đó mã nguồn được biên dịch thành ByteCode bằng công cụ JAVAC ByteCode sau đó được thực thi trên các loại máy khác nhau thông qua chương trình thông dịch Mục tiêu của các nhà thiết kế Java là cho phép lập trình viên viết một lần và chạy trên mọi phần cứng.

Java hiện nay là một ngôn ngữ lập trình phổ biến cho việc phát triển ứng dụng trên Internet Với tính năng hướng đối tượng và độc lập với thiết bị, Java không bị ràng buộc bởi hệ điều hành Nó không chỉ được sử dụng để tạo ra các ứng dụng độc lập hoặc trên mạng mà còn để phát triển các trình điều khiển thiết bị cho điện thoại di động, PDA, và nhiều thiết bị khác.

1.5.2 Các đặc trưng của Java

Java được thiết kế với mục tiêu đơn giản, dễ học và quen thuộc với hầu hết người lập trình Để đạt được điều này, Java đã loại bỏ các đặc trưng phức tạp của C và C++, như thao tác con trỏ và nạp đè Ngoài ra, ngôn ngữ này không sử dụng lệnh "goto" hay file header (.h), và cũng không có cấu trúc "struct" và "union".

Java được xây dựng dựa trên mô hình lập trình hướng đối tượng, trong đó trọng tâm là dữ liệu và các phương pháp xử lý dữ liệu đó.

Dữ liệu và các phương pháp mô tả trạng thái và cách ứng xử của một đối tượng trong Java

Java nổi bật với khả năng độc lập về phần cứng và hệ điều hành, cho phép chương trình được viết trên một máy có thể chạy mượt mà trên bất kỳ máy nào khác Tại mức mã nguồn, lập trình viên cần xác định kiểu dữ liệu cho mỗi biến, và Java đảm bảo tính nhất quán này trên tất cả các hệ điều hành và phần cứng Thêm vào đó, Java sở hữu một thư viện các lớp cơ sở riêng, giúp việc dịch và chạy chương trình trở nên dễ dàng mà không cần viết lại Ở mức nhị phân, các chương trình đã biên dịch có thể hoạt động trên nền tảng khác mà không cần phải dịch lại mã nguồn.

Tuy vậy cần có phần mềm máy ảo Java hoạt động như một trình thông dịch tại máy thực thi

Java yêu cầu người lập trình phải xác định rõ ràng kiểu dữ liệu khi viết mã Điều này giúp giảm thiểu lỗi, vì các kiểu dữ liệu sẽ được kiểm tra cả trong quá trình biên dịch và thông dịch Nhờ đó, Java loại bỏ những kiểu dữ liệu dễ gây ra lỗi, mang lại sự an toàn và ổn định cho các ứng dụng.

Java cung cấp các lớp kiểm tra bảo mật với dữ liệu và phương pháp được đóng gói bên trong, chỉ có thể truy xuất qua các giao diện mà lớp cung cấp Việc không hỗ trợ con trỏ giúp ngăn chặn truy xuất bộ nhớ trực tiếp và bảo vệ thông tin bên ngoài của mảng khỏi kỹ thuật tràn Ngoài ra, Java cũng cung cấp kỹ thuật dọn rác trong bộ nhớ, tạo nên tính an toàn và khả năng cơ động cao cho ngôn ngữ này.

Trong quá trình thực thi mã, lớp thứ hai của trình biên dịch đảm bảo tính an toàn của mã, trong khi lớp thứ ba, do trình thông dịch đảm nhiệm, kiểm tra bytecode để xác nhận tuân thủ các quy tắc an toàn Đồng thời, lớp thứ tư quản lý việc nạp các lớp vào bộ nhớ, giám sát các vi phạm giới hạn truy xuất trước khi mã được đưa vào hệ thống.

Java là ngôn ngữ lập trình mạnh mẽ, cho phép phát triển ứng dụng tương thích với nhiều phần cứng, hệ điều hành và giao diện đồ họa khác nhau Được thiết kế đặc biệt cho các ứng dụng mạng, Java được sử dụng phổ biến trên Internet, nơi mà sự đa dạng của nền tảng là rất lớn.

Chương trình Java áp dụng kỹ thuật đa tiến trình (Multithread) để thực hiện các tác vụ đồng thời, đồng thời cung cấp giải pháp đồng bộ hóa giữa các tiến trình Tính năng hỗ trợ đa tiến trình này giúp xây dựng các ứng dụng mạng hoạt động mượt mà và hiệu quả.

Java được phát triển như một ngôn ngữ động, phù hợp với các môi trường mở Các chương trình Java có khả năng bổ sung thông tin cho các đối tượng trong thời gian thực thi, cho phép liên kết động giữa các mã.

1.5.3 Các kiểu chương trình Java

PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG

Xác định yêu cầu

2.1.1 Các chức năng chính của chương trình

- Cho phép người sử dụng chơi trò chơi Funny

+ Khi nhấn vào nút bắt đầu (Start) người chơi sẽ chuyển đến màn hình trò chơi 1

Trong màn hình trò chơi 1, hai người chơi cần chọn mức độ chơi và quân bài Quân bài bên trái sẽ là lựa chọn của người chơi 1, trong khi quân bài bên phải là lựa chọn của người chơi 2 Sau khi hoàn tất việc chọn quân bài, hãy khóa các lựa chọn và nhấn nút "Player start" để tiếp tục đến màn hình trò chơi 2.

Hình 2.1 Sơ đồ chức năng màn hình trò chơi 1

Trong màn hình trò chơi 2, người chơi được xác định theo giá trị quân bài lớn hơn ở màn hình trò chơi 1, với người chơi 1 ở bên trái và người chơi 2 ở bên phải Để bắt đầu, người chơi nhấn nút Player start và nhanh chóng ấn vào quả bóng (bóng đỏ cho người chơi bên trái và bóng tím cho người chơi bên phải) Khi ấn kịp thời, bộ kỹ năng tương ứng sẽ xuất hiện cho phía nút Player start mà họ chọn Người chơi có thể tùy chọn các nút kỹ năng để điều khiển nhân vật của mình, trong khi hai nhân vật sẽ tham gia vào trận đấu với các chỉ số như máu, năng lượng và nộ Trò chơi kết thúc khi một trong hai nhân vật hết máu trước.

Hình 2.2 Sơ đồ chức năng màn hình trò chơi 2

Để bật menu trong trò chơi, người chơi chỉ cần nhấn phím có biểu tượng bật tắt ở góc phải cuối màn hình Menu bao gồm các chức năng: Chơi tiếp (Continue), Chơi lại (Play again), Trở về menu trò chơi chính (Home) và Thoát khỏi trò chơi (Exit).

- Cho phép người sử dụng xem hướng dẫn cách chơi trò chơi

+ Người chơi vuốt ngang màn hình để xem lần lượt các trang hướng dẫn chơi trò chơi

- Giới thiệu thông tin về trò chơi

Biểu đồ Use Case (Use Case Diagram) trong ngôn ngữ UML mô tả các tình huống sử dụng và chức năng mà người dùng có thể tương tác với chương trình Một mô hình Use Case có thể bao gồm nhiều biểu đồ khác nhau, thể hiện rõ ràng các chức năng mà người dùng sẽ sử dụng sau khi chương trình hoạt động.

Người sử dụng Hướng dẫn

Giới thiệu Xem nội dung

Phân tích thiết kế

2.2.1 Sơ đồ phân cấp chức năng

Hình 2.4 Sơ đồ phân cấp chức năng 2.2.2 Sơ đồ luồng dữ liệu

Hình 2.5 Sơ đồ luồng dữ liệu mức khung cảnh 2.2.3 Sơ đồ luồng dữ liệu mức đỉnh

Hình 2.6 Sơ đồ luồng dữ liệu mức đỉnh

Trò chơi Hướng dẫn Giới thiệu

Người sử dụng Funny version

Mô hình lớp thể hiện mối liên hệ giữa các lớp với nhau, liên kết với nhau tạo giúp chương trình hoạt động tốt, tối ưu

Lớp chính của chương trình đảm nhận việc xử lý hầu hết các yêu cầu của người sử dụng và có mối liên kết chặt chẽ với các lớp khác trong mô hình.

Lớp này có chức năng cho người dùng chơi trò chơi ở màn hình trò chơi 1

Bảng 2.1 Code nút khóa ở màn hình trò chơi 1 private void nutkhoa(){ btndanh.setOnClickListener(new

@Override public void onClick(View v) { long sss=spinlv.getSelectedItemId(); blv = sss + ""; if(Integer.parseInt(blv) == 0){

Toast.makeText(mhg1.this,"Choose

Level",Toast LENGTH_SHORT ).show();} else { so1 Integer.parseInt(txtlb1.getText().toString());

The code snippet demonstrates a conditional check where two integer values, so1 and so2, are parsed from user input If both values are less than 13 and so1 is greater than so2, several UI elements are updated: the spinner's visibility is set to invisible, a result text is displayed as "1" and also hidden, and images are set to a specific resource Additionally, the background of a button is changed, making it visible and enabled, while other buttons are hidden.

In the event that so1 is less than so2, the visibility of spinlv is set to invisible, and the text of txtkq is updated to "2" while also being made invisible Both imgv1 and imgv2 are assigned the image resource R.drawable.hinhbantay The background of btngo is changed to R.drawable.maupl2, making it visible and enabled Meanwhile, btnclb1, btnclb2, and btndanh are all set to invisible.

} else if (so1 == so2) { txtkq.setVisibility(View VISIBLE ); txtkq.setText("Reselect");

Toast.makeText(mhg1.this,"Reselect",Toast LENGTH_

The interface updates include making the "btngo" button invisible while enabling "btnclb1" and "btnclb2," which are both set to visible The images for "imgv1" and "imgv2" are updated to display the resource "matsaulabai." Additionally, the text labels "txtlb1" and "txtlb2" are both set to display the number "13," and the "btndanh" button is also made visible.

Toast.makeText(mhg1.this,"Choose

Card",Toast LENGTH_SHORT ).show();} else if (so1 >= 13){

Toast.makeText(mhg1.this,"Player1 Choose

Card",Toast LENGTH_SHORT ).show();} else if (so2 >= 13){

Toast.makeText(mhg1.this,"Player2 Choose

Card",Toast LENGTH_SHORT ).show();

Lớp này có chức năng cho người dùng chơi trò chơi ở màn hình trò chơi 2

Bảng 2.2 Các hiệu ứng Animation sử dụng trong trò chơi

Animation anim_mover, anim_movel, anim_choi1, anim_choi2, anim_hoimau1, anim_hoimau2, anim_utils, anim_utils1, anim_utisgk, anim_utiashe1, anim_utiashe, anim_uticadic;

Lớp này hiển thị nội dung hướng dẫn cách chơi game Funny

Giới thiệu thông tin khái quát về phần mềm bao gồm:

Bảng 2.3 Code lớp giới thiệu public class Gioithieu extends Activity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout activity_gioithieu ); getWindow().setFlags(WindowManager.LayoutParams F

LAG_FULLSCREEN ,WindowManager.LayoutParams FLAG_FU LLSCREEN ); lngth (LinearLayout)findViewById(R.id activity_gioithie u ); lngth.setBackgroundResource(R.drawable nengioithi eu );

XÂY DỰNG ỨNG DỤNG

Danh sách các màn hình

Bảng 3.1 Danh sách các màn hình

Bảng 3.2 Code cho chuyển từ màn hình chính sang màn hình trò chơi 1, màn hình hướng dẫn và giới thiệu

View.OnClickListener() { public void onClick(View v) {

Intent(MainActivity.this,mhg1.class); startActivity(mhg1);

View.OnClickListener() { public void onClick(View v) {

Intent(MainActivity.this,mhgioithieu.class); startActivity(mhgt);}}); btngioithieu.setOnClickListener(new

View.OnClickListener() { public void onClick(View v) {Intent mhgt = new Intent(MainActivity.this,mhhuongdan.class); startActivity(mhgt);}});

STT Tên màn hình Ý nghĩa, ghi chú

1 Màn hình chính Gồm các chức năng chính của trò chơi

2 Màn hình hướng dẫn Hướng dẫn cách chơi trò chơi

7 Màn hình trò chơi 1 Chơi trò chơi ở giao diện 1

8 Màn hình trò chơi 2 Chơi trò chơi ở giao diện 2

9 Màn hình giới thiệu Giới thiệu thông tin ứng dụng

Chi tiết các màn hình

Bảng 3.3 Mô tả chi tiết màn hình chính

1 imvtieude Image View Hiển thị tên trò chơi

2 imvquabong Image View Hiển thị quả bóng chuyển động

3 btnbatdau Image Button Chuyển sang màn hình game 1

4 btnhuongdan Image Button Chuyển sang mang hình hướng dẫn

5 btngioithieu Image Button Chuyển sang màn hình giới thiệu

Bảng 3.4 Code hiệu ứng anim(hiệu ứng chuyển động) cho quả bóng khi mới vào giao diện trò chơi

Ngày đăng: 29/06/2022, 20:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Võ Thành Nhật – Phan Thành Trung (2010), Tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa Sách, tạp chí
Tiêu đề: Tìm hiểu hệ điều hành android" và
Tác giả: Võ Thành Nhật – Phan Thành Trung
Năm: 2010
2. Rick Rogers, Android Application Developmen, Gravenstein Highway North, Sebastopol, CA 95472: O’Reilly Media Inc, May 2009 Sách, tạp chí
Tiêu đề: Android Application Developmen
3. Kyle Merrifield Mew, Android 3.0 Application Development Cookbook, B27 6PA, UK: 32 Lincoln RoadOlton Birmingham, July 2011 Sách, tạp chí
Tiêu đề: Android 3.0 Application Development Cookbook
4. Wei-Meng Lee, Beginning Android™ Application Development Indianapolis, Indiana: Wiley Publishing, Inc., 2011 Sách, tạp chí
Tiêu đề: Beginning Android™ Application Development
5. Mark L. Murphy, Beginning Android 2, 233 Spring Street, 6th Floor, New York, Mar 2010 Sách, tạp chí
Tiêu đề: Beginning Android 2
6. W.FRANK ABLESON and CHARLIE COLLINS, Unlocking Android , ROBI SEN, 2009 Sách, tạp chí
Tiêu đề: Unlocking Android

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Giao diện hệ điều hành Android - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Hình 1.1. Giao diện hệ điều hành Android (Trang 13)
Hình 1.2 Kiến trúc tổng quát hệ điều hành Android. - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Hình 1.2 Kiến trúc tổng quát hệ điều hành Android (Trang 15)
Hình 1.4 Các thư viện - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Hình 1.4 Các thư viện (Trang 17)
Hình 1.6 Khung ứng dụng - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Hình 1.6 Khung ứng dụng (Trang 19)
Hình 1.8 Sơ đồ chuyển trạng thái của service - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Hình 1.8 Sơ đồ chuyển trạng thái của service (Trang 23)
+ Màn hình trò chơi 2: Dựa vào giá trị quân bài nào lớn hơn ở màn hình trò chơi 1 để xác định người chơi nào được chơi trước (người chơi 1  nút player start ở bên trái, người chơi 2 nút player start  ở màn hình bên  phải) - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
n hình trò chơi 2: Dựa vào giá trị quân bài nào lớn hơn ở màn hình trò chơi 1 để xác định người chơi nào được chơi trước (người chơi 1 nút player start ở bên trái, người chơi 2 nút player start ở màn hình bên phải) (Trang 33)
+ Người chơi vuốt ngang màn hình để xem lần lượt các trang hướng dẫn chơi trò chơi. - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
g ười chơi vuốt ngang màn hình để xem lần lượt các trang hướng dẫn chơi trò chơi (Trang 34)
Hình 2.4 Sơ đồ phân cấp chức năng - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Hình 2.4 Sơ đồ phân cấp chức năng (Trang 35)
Mô hình lớp thể hiện mối liên hệ giữa các lớp với nhau, liên kết với nhau tạo giúp chương trình hoạt động tốt, tối ưu - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
h ình lớp thể hiện mối liên hệ giữa các lớp với nhau, liên kết với nhau tạo giúp chương trình hoạt động tốt, tối ưu (Trang 36)
Lớp này có chức năng cho người dùng chơi trò chơi ở màn hình trò chơi 2. - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
p này có chức năng cho người dùng chơi trò chơi ở màn hình trò chơi 2 (Trang 38)
Bảng 3.1 Danh sách các màn hình - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Bảng 3.1 Danh sách các màn hình (Trang 40)
 Màn hình chính Giao diện - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
n hình chính Giao diện (Trang 41)
3.2. Chi tiết các màn hình - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
3.2. Chi tiết các màn hình (Trang 41)
Bảng 3.4 Code hiệu ứng anim(hiệu ứng chuyển động) cho quả bóng khi mới vào giao diện trò chơi - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
Bảng 3.4 Code hiệu ứng anim(hiệu ứng chuyển động) cho quả bóng khi mới vào giao diện trò chơi (Trang 42)
 Màn hình trò chơ i1  Giao diện - Xây dựng trò chơi funny trên thiết bị di động chạy hệ điều hành android
n hình trò chơ i1  Giao diện (Trang 45)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w