Tìm hiểu hệ điều hành android và xây dựng ứng dụng game sudoku

74 621 0
Tìm hiểu hệ điều hành android và xây dựng ứng dụng game sudoku

Đ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

LỜI CẢM ƠN Sau thời gian tìm hiểu hệ điều Hệ điều hành Android, em hoàn thành đề tài: “Tìm hiểu hệ điều hành Android xây dựng ứng dụng game Sudoku” Đề tài hoàn thành nhờ cố gắng thân, nhờ có hướng dẫn, bảo thầy Trần Văn Khánh, với giúp đỡ bạn bè, người có kinh nghiệm làm việc với Android Vì thời gian có hạn, với kiến thức hạn chế mình, cho dù em cố gắng chắn không tránh khỏi sai sót Em mong nhận góp ý thầy cô môn toàn thể bạn Em xin chân thành cảm ơn! Thái Nguyên, tháng năm 2012 Sinh viên thực Trần Văn Toàn LỜI CAM ĐOAN Đồ án tốt nghiệp sản phẩm tổng hợp kiến thức mà sinh viên học suốt trình học tập trường đại học Ý thức điều đó, với tinh thần nghiêm túc, học tập miệt mài thân nhờ giúp đỡ bạn bè, thầy cô em hoàn thành xong đồ án tốt nghiệp Em xin cam đoan kết đồ án “Tìm Hiểu HĐH Android xây dựng ứng dụng game Sudoku” nghiên cứu em, không chép Nội dung đồ án có tham khảo, sử dụng tài liệu, thông tin từ số nguồn trích dẫn phần tài liệu tham khảo Nếu có sai lệch em xin hoàn toàn chịu trách nhiệm Tác giả đồ án Trần Văn Toàn DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Các phiên Android phát hành Bảng 3.1 Chi tiết bảng Folder 64 Bảng 3.2 Chi tiết bảng Sudoku 65 DANH MỤC CÁC HÌNH ẢNH Hình 2.1 Khuôn dạng game sudoku chuẩn .41 Hình 2.2 Biểu đồ Use-Case hệ thống 44 Hình 2.3 Biểu đồ trình tự UC Select new game 46 Hình 2.4 Biểu đồ cộng tác cho UC Select new game .47 Hình 2.5 Biểu đồ trình tự UC Set CheckPoint 48 Hình 2.6 Biểu đồ cộng tác UC Set Checkpoint 49 Hình 2.7 Biểu đồ trình tự UC “Undo To Checkpoint” .51 Hình 2.8 Biểu đồ cộng tác UC “Undo To Checkpoint .52 Hình 2.9 Biểu đồ trình tự UC “game setting” 53 Hình 2.10 Biểu đồ cộng tác UC “Game Setting” .53 Hình 2.11 Biểu đồ trình tự UC “Add new game” 55 Hình 2.12 Biểu đồ cộng tác UC “Add new game” 56 Hình 2.13 Biểu đồ trình tự UC “Add/Edit Description” 58 Hình 2.14 Biểu đồ cộng tác UC “Add/Edit Description” 59 Hình 2.15 Biểu đồ trình tự UC “Filter Game” 61 Hình 2.16 Biểu đồ cộng tác UC “Filter Game” 62 Hình 2.17 Biểu đồ lớp hệ thống 63 DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ Từ viết tắt/thuật ngữ Giải thích UC Use Case – Ca sử dụng (chức năng) CSDL Cơ sở liệu Android SDK Android Software Development Kits (Bộ phát triển phần mềm Android) HĐH Hệ Điều Hành ADT Android Development Tool (Công cụ phát triển Android) AVD Android Virtual Devices (Thiết bị Android Ảo) Puzzle Màn chơi MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC CÁC BẢNG BIỂU .3 DANH MỤC CÁC HÌNH ẢNH MỤC LỤC MỞ ĐẦU .6 CHƯƠNG CƠ SỞ LÝ THUYẾT CHƯƠNG XÂY DỰNG ỨNG DỤNG GAME SUDOKU 40 63 TÀI LIỆU THAM KHẢO 72 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 73 MỞ ĐẦU Công nghệ thiết bị di động phát triển mạnh mẽ thời gian ngắn, đặc biệt với dòng điện thoại thông minh Những điện thoại ngày trở nên thông minh hơn, mạnh mẽ hơn, giá thành hạ, mẫu mã đẹp bên cạnh đó, chúng trang bị hệ điều hành mạnh mẽ Có thể kể đến số Hệ điều hành phổ biến Simbian, iOS, RIM, Window Mobile… Các hệ điều hành có tính mạnh mẽ, hỗ trợ tốt cho việc xây dựng ứng dụng cho điện thoại di động Một hệ điều hành đời sau, nhiên gây ý người dùng nhà phát triển ứng dụng hệ điều hành Android Android hệ điều hành mạnh mẽ không thua hệ điều hành đời trước Điều đặc biệt phải kể đến Android, tảng mã nguồn mở cho việc phát triển ứng dụng thiết bị di động Với ưu mã nguồn mở, việc phát triển ứng dụng Android trở nên dễ dàng hỗ trợ cộng đồng mã nguồn mở toàn giới Ngày nay, nhu cầu đời sống người ngày nâng cao nhu cầu giải trí quan tâm tới nhiều Chiếc điện thoại không đơn phương tiện để nghe - gọi - nhắn tin mà thêm vào chức giải trí như: nghe nhạc, đọc báo, lướt web Không khó để bắt gặp việc người cầm điện thoại chơi game, đọc tin, nghe nhạc… nơi, lúc Một smart phone hỗ trợ đủ tính nghe nhạc, chơi game lựa chọn đa số người dùng Trong đó, ứng dụng game phong phú nhất, đa dạng Chính lý trên, em chọn đề tài “Tìm hiểu hệ điều hành Android xây dựng ứng dụng game Sudoku” cho đồ án tốt nghiệp Nội dung đồ án bao gồm: CHƯƠNG I CƠ SỞ LÝ THUYẾT Chương trình bày kiến thức hệ điều hành Android, cách tạo ứng dụng Android, vòng đời ứng dụng Đồng thời, chương trình bày công cụ cần thiết để xây dựng ứng dụng cách cài đặt công cụ CHƯƠNG XÂY DỰNG ỨNG DỤNG GAME SUDOKU Chương trình bày nguồn gốc, biến thể, luật chơi game, trình khảo sát, phân tích thiết kế ứng dụng game Sudoku CHƯƠNG CÀI ĐẶT CHƯƠNG TRÌNH Chương trình bày số cài đặt cụ thể chương trình CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Android Một cách định nghĩa đầy đủ coi Android tảng mở cho thiết bị di động Google (gồm hệ điều hành, middleware số ứng dụng bản) Bộ Android SDK (Software Development Kits – devkit) cung cấp công cụ API cần thiết để xây dựng ứng dụng android sử dụng ngôn ngữ lập trình java 1.2 Lịch sử phát triển Android - Android tên công ty nhỏ thành lập 10/2003 Palo Alto, bang California, Mỹ Vào 8/2005 Google mua lại công ty Những nhà đồng sáng lập Android chuyển sang làm việc Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng phó chủ tịch T-Mobile), Chris White (trưởng nhóm thiết kế phát triển giao diện WebTV - Tại Google, nhóm Rubin đứng đầu phát triển tảng thiết bị di động dựa hạt nhân Linux, họ tiếp thị đến nhà sản xuất thiết bị cầm tay nhà mạng tiền đề việc cung cấp hệ thống mềm dẻo, có khả nâng cấp mở rộng cao - Google muốn Android trở thành tảng mở miễn phí, thế, đa số mã nguồn android xuất giấy phép mã nguồn mở Bất muốn dùng Android download đầy đủ mã nguồn Đó sản phẩm kết tinh từ ý tưởng Khối Liên minh thiết bị cầm tay mở Google dẫn đầu, gồm 34 thành viên với công ty hàng đầu công nghệ di động toàn cầu như: Qualcomm, Intel, Motorola, Texas Instruments LG Electronics, nhà mạng T-Mobile, Sprint Nextel, NTT DoCoMo China Mobile… - Các nhà phát triển sử dụng miễn phí Android Software Development Kit (SDK) để xây dựng ứng dụng - Các phiên Android phát hành: Phiên Bản 1.0 1.1 1.5 1.6 2.0 2.1 2.2 2.3/2.4 3.0 3.1/3.2 Ngày Phát Hành 9/2008 2/2009 4/2009 9/2009 10/2009 Eclair 5/2010 6/12/2010 2/2011 7/2011 Tên Gọi Cupcake Donut Eclair Eclair Froyo Gingerbread Honeycomb Bảng 1.1 Các phiên Android phát hành 1.3 So sánh Android với HĐH khác Android với J2ME 1.3.1 Android so với HĐH khác - Android xây dựng mở phép nhà phát triển để tạo ứng dụng di động hấp dẫn tận dụng tất chức điện thoại cung cấp Một ứng dụng gọi chức lõi sẵn có thiết bị thực gọi, gửi tin nhắn… Android xây dựng nhân Linux Hơn nữa, sử dụng máy ảo tuỳ chỉnh thiết kế để tối ưu hóa nhớ tài nguyên phần cứng với nhiều thư viện mở rộng - Với Android khái niệm phần mềm lõi điện thoại phần mềm cung cấp hãng thứ không ranh giới Một chương trình người dùng tự viết không khác so với phần mềm máy có toàn quyền sử dụng triệu gọi dịch vụ tảng máy điện thoại vận hành Android - Android cung cấp cách tiếp cận thống cho việc phát triển ứng dụng Người phát triển cần phát triển ứng dụng cho Android tất ứng dụng họ chạy thiết bị cầm tay khác trang bị HĐH Android - Android thực tảng đa nhiệm Các tảng khác làm điều nhiên việc quản lý đa nhiệm chúng có phần khó khăn khả thi - Android cho phép xây dựng ROM tuỳ biến cho Android, điều mang lại khả tuỳ biến cao - Android cho phép thay đổi cài đặt nhanh Với HĐH khác người dùng thường gặp rắc rối với thiết lập hệ thống họ muốn sử dụng thiết bị Android cho phép bạn sử dụng widget để quản lý cài đặt trực tiếp từ hình chính, cài đặt sử dụng widget riêng, nhiên tạo Shortcut hình để truy cập đến thiết lập muốn thay đổi - Đồng với máy tính nhớ, người dùng Android copy liệu vào thẻ nhớ, đưa vào máy Ngoài ra, việc đồng với máy tính đơn giản hơn, thêm vào Android hỗ trợ Flash, pin thẻ nhớ tháo rời dễ dàng thay mới, nâng cấp 1.3.2 Android so với J2ME a) Giống  Đều sử dụng tảng ngôn ngữ lập trình java  Đều sử dụng máy ảo API có sẵn cho nhà phát triển ứng dụng b) Điểm khác  J2ME (Java Micro Edition) nhánh ngôn ngữ lập trình Java để phát triển ứng dụng điện thoại di động hay thiết bị cầm tay nhỏ gọn khác Trong Android tảng gồm HĐH, ngôn ngữ lập trình phần mềm trung gian khác  J2ME chạy thiết bị di động có hỗ trợ java Android chạy tảng HĐH Android J2ME đòi hỏi chương 10 2.2.4.7 UC Filter game - Mục đích: Yêu cầu hệ thống thị danh sách Sudoku lọc theo tiêu chí - Luồng kiện chính: Hành động tác nhân Phản ứng hệ thống Tại giao diện FolderList, chọn mức chơi Truy vấn CSDL liệt kê Sudoku mức chơi giao diện PuzzleList Chọn menu “Filter game” Hiện thị Dialog cho phép người chơi lựa chọn trạng thái Sudoku muốn hiển thị Chọn trạng trạng thái Truy vấn sở liệu hiển thị lại danh sách Sudoku lọc lên giao diện PuzzleList 60 Hình 2.15 Biểu đồ trình tự UC “Filter Game” 61 Hình 2.16 Biểu đồ cộng tác UC “Filter Game” 62 2.2.5 Biểu đồ lớp hệ thống Hình 2.17 Biểu đồ lớp hệ thống 63 CHƯƠNG CÀI ĐẶT CHƯƠNG TRÌNH 3.1 Thiết kế sở liệu Chương trình lưu thông tin game sở liệu gồm bảng: - Bảng Folder: Mỗi folder đại diện cho level game, chứa số Sudoku ứng với level - Bảng Sudoku: Chứa liệu Sudoku Folder table Thuộc tính Diễn giải Kiểu liệu Khóa _id Mã Folder Integer PK created Ngày tạo folder Integer name Tên folder Text Bảng 3.1 Chi tiết bảng Folder 64 Sudoku table Thuộc tính Diễn giải Kiểu liệu Khóa _id Mã Sudoku Integer PK Folder_id Mã folder chứa Sudoku Integer FK Created Ngày tạo Sudoku Integer state Trạng thái Sudoku Integer Last_played Thời gian chơi Sudoku Lần cuối chơi Sudoku data Dữ liệu Sudoku Text puzzle_description Ghi Sudoku Text time Integer Integer Bảng 3.2 Chi tiết bảng Sudoku 3.2 Một số lớp chương trình - Lớp Cell.java: Lớp biểu diễn cho ô Sudoku game Mỗi ô có giá trị như: nhóm, số hàng, số cột, giá trị, ghi Lớp bao gồm số phương thức cho phép khởi tạo ô trả thuộc tính ô từ chuỗi liệu đầu vào - Lớp CellGroup.java: Lớp biểu diễn cho nhóm Cell Mỗi CellGroup hàng, cột hay khối 3x3 chứa Cell (với Sudoku dạng chuẩn hàng, cột) - Lớp CellCollection: Lớp đại diện cho tập hợp tất Cell game Sudoku Nó có thuộc tính như: tập hợp Cell theo ma trận 9x9, tập CellGroup 65 - Lớp SudokuGame.java: Lớp bao gồm thuộc tính biểu diễn cho thông tin liên quan đến chơi như: thời gian chơi, trạng thái, thời gian tạo, lần cuối chơi game hay mô tả bổ xung cho game - Lớp DatabaseHelper: Là lớp giúp cho việc mở truy vấn sở liệu SQLite Cho phép tạo lưu trữ bảng liệu vào sở liệu SQLite Nó kế thừa cài đặt từ lớp SQLiteOpenHelper dễ dạng tạo, nâng cấp sở liệu cần thiết - Lớp SudokuDatabase: Lớp chứa phương thức cho phép truy vấn thông tin chơi từ sở liệu, danh sách Sudoku, thêm mới, cập nhật xóa Sudoku khỏi sở liệu - Lớp SudokuPlayActivity.java: Lớp Activity cung cấp giao diện game cho người chơi tương tác Sau người chơi chọn Sudoku, lớp gọi Giao diện lớp gồm hai View tạo lớp SudokuBoardView.java IMControlPanel.java - Lớp SudokuBoardView.java: Lớp kế thừa từ lớp View Android Nó chịu trách nhiệm vẽ hàng, cột, nhóm giao diện game Sudoku sử dụng đối tượng đồ họa Paint Đồng thời cho phép cài đặt phương thức từ lớp cha View để xử lý kiện chạm hay di chuyển ô Sudoku - Lớp IMControlPanel.java: Lớp tạo giao diện cho phép người chơi nhập liệu cho ô Sudoku game Tùy thuộc vào phương thức nhập mà người chơi lựa chọn như: single number, number pad hay popup mà lớp tạo giao diện tương ứng 3.3 Một số hình ảnh giao diện chương trình 3.3.1 Giao diện Folder List - Khi bắt đầu mở ứng dụng, giao diện hiển thị Nó truy vấn sở liệu để Folder tương ứng với mức chơi, đồng thời hiển thị thông tin số lượng Sudoku có ứng với mức chơi 66 Hình 3.1 Giao diện Folder List 3.3.2 Giao diện Sudoku List - Sau chọn mức chơi giao diện Folder List Cơ sở liệu truy vấn danh sách Sudoku Folder thị thông tin liên quan đến Sudoku lên giao diện Sudoku List Các thông tin gồm có: thời gian chơi, lần cuối chơi, ngày tạo, trạng thái tại, mô tả (nếu có) 67 Hình 3.2 Giao diện Sudoku List 3.3.3 Giao diện Sudoku Play - Sau người chơi chọn Sudoku giao diện Sudoku list Cơ sở liệu truy vấn thông tin Sudoku chọn hiển thị lên giao diện Sudoku play Người chơi bắt đầu nhập vào Sudoku số qua giao diện 68 Hình 3.3 Giao diện Sudoku play 3.3.4 Giao diện Game setting - Giao diện thị thông tin cấu hình game như: giao diện, trợ giúp, theme… Người chơi thay đổi cấu hình theo ý muốn thông qua giao diện Giao diện hiển thị cách chọn menu setting giao diện Sudoku play 69 Hình 3.4 Giao diện Game setting 70 KẾT LUẬN Dù đời không lâu, với kho ứng dụng phong phú với tính mở, tính linh hoạt, Android chiếm nhiều quan tâm người sử dụng đồng thời bộc lộ ưu điểm so với hệ điều hành tại, ngày chiếm ưu thị trường smartphone với thị phần ngày tăng (tính đến 6/2011 Android chiếm 54% thị phần HĐH) Android thu hút nhiều nhà phát triển ứng dụng, cộng đồng Android ngày tăng lên Thời gian để em tìm hiều hệ điều hành thực nhiều, không đủ để nắm bắt hết vấn đề Android Tuy nhiên, giúp đỡ, bảo thầy Trần Văn Khánh, thầy cô giáo môn bạn, em tìm hiều vấn đề bản, tảng Android, xây dựng ứng dụng game Sudoku đáp ứng số tiêu chí cách chơi, luật chơi, vận dụng tối đa kiến thức mà em biết Android Đó tiền đề để em nghiên cứu sâu hệ điều hành Do hạn chế kinh nghiệm thời gian làm đề tài chương trình em nhiều thiếu sót, chưa đáp ứng hết yêu cầu cần có ứng dụng game Do vậy, hướng phát triển tương lai đề tài bao gồm: - Cho phép nhiều người chơi, người có tài khoản riêng để đăng nhập vào game Như trạng thái Sudoku họ không bị thay đổi người chơi khác - Thống kê thời gian giải Sudoku nhanh số người chơi - Cho phép import, export sở liệu game để dùng cho máy khác, người chơi cần copy sở liệu sang máy khác có cài chương trình mà Sudoku họ giữ nguyên trạng 71 TÀI LIỆU THAM KHẢO “Introduction to Android” - Sean Sullivan (October 27, 2008) “Hello Android Introducing Google’s Mobile Development” - Ed Burnette (2008) “Beginning Android Application Development (2011).” - Wei-Meng Lee http://developer.android.com http://vietandroid.com 72 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………… ………………………………………………………………………………………… …………………………………………… ………………………………………………………………………………………… ………………… ………………………………………………………………………………………… …………………………………………… ………………………………………………………………………………………… ………………… ………………………………………………………………………………………… …………………………………………… ………………………………………………………………………………………… ………………… ………………………………………………………………………………………… …………………………………………… ………………………………………………………………………………………… ………………… ………………………………………………………………………………………… …………………………………………… ………………………………………………………………………………………… ………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… …… Giáo viên hướng dẫn 73 74 ... việc xây dựng ứng dụng cho điện thoại di động Một hệ điều hành đời sau, nhiên gây ý người dùng nhà phát triển ứng dụng hệ điều hành Android Android hệ điều hành mạnh mẽ không thua hệ điều hành. .. thức hệ điều hành Android, cách tạo ứng dụng Android, vòng đời ứng dụng Đồng thời, chương trình bày công cụ cần thiết để xây dựng ứng dụng cách cài đặt công cụ CHƯƠNG XÂY DỰNG ỨNG DỤNG GAME SUDOKU. .. lựa chọn đa số người dùng Trong đó, ứng dụng game phong phú nhất, đa dạng Chính lý trên, em chọn đề tài Tìm hiểu hệ điều hành Android xây dựng ứng dụng game Sudoku cho đồ án tốt nghiệp Nội dung

Ngày đăng: 20/04/2017, 22:16

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • DANH MỤC CÁC BẢNG BIỂU

  • DANH MỤC CÁC HÌNH ẢNH

  • MỤC LỤC

  • MỞ ĐẦU

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

    • 1.1 Android là gì

    • 1.2 Lịch sử phát triển của Android

    • 1.3 So sánh Android với các HĐH khác và Android với J2ME

      • 1.3.1 Android so với các HĐH khác

      • 1.3.2 Android so với J2ME

    • 1.4 Các tính năng của Android

    • 1.5 Nhược điểm của Android

    • 1.6 Kiến trúc của HĐH Android

    • 1.7 Cấu trúc của một project Android

      • 1.7.1 File AndroidManifest.xml

      • 1.7.2 File R.java

      • 1.7.3 Các tài nguyên dùng trong một ứng dụng Android

    • 1.8. Các thành phần cơ bản của 1 ứng dụng Android

      • 1.8.1 Activity

        • Hình 1.3 Vòng đời của Activity

      • 1.8.2 Services

      • 1.8.3 Broadcast Receiver

      • 1.8.4 Content provider

      • 1.8.5 Intent

      • 1.8.6 Notification

    • 1.9 Giao diện người dùng trong Android

      • 1.9.2 Button

      • 1.9.3 ListView và GridView

      • 1.9.4 TextView, EditText

      • 1.9.5 Menu

      • 1.9.6 Bắt sự kiện giao diện người dùng

    • 1.10 Multimedia trong Android

    • 1.11 Network và CSDL SQLite trong Android

    • 1.12 Các công cụ cần có để xây dựng 1 ứng dụng Android

    • 1.13 Cài đặt Android

      • 1.13.1 Cài đặt Java JDK

      • 1.13.2 Cài đặt Eclipse

      • 1.13.3 Cài đặt Android SDK

      • 1.13.4 Tích hợp Android SDK vào Eclipse

      • 1.13.5 Tạo Android Virtual Devices (AVDs)

        • Hình 1.7 Tạo Android AVD

  • CHƯƠNG 2. XÂY DỰNG ỨNG DỤNG GAME SUDOKU

    • 2.1 Sơ lược về game Sudoku.

      • 2.1.1 Nguồn gốc

      • 2.1.2 Luật chơi

    • 2.2 Phân tích bài toán

      • 2.2.1 Các yêu cầu

      • 2.2.3 Biều đồ UC

      • 2.2.4 Kịch bản cho các UC chính

        • Hình 2.13 Biểu đồ trình tự UC “Add/Edit Description”

        • Hình 2.14 Biểu đồ cộng tác UC “Add/Edit Description”

      • 2.2.5 Biểu đồ lớp của hệ thống

    • 3.1 Thiết kế cơ sở dữ liệu

    • 3.2 Một số lớp chính trong chương trình

    • 3.3 Một số hình ảnh về giao diện chương trình

      • 3.3.1 Giao diện Folder List

      • 3.3.2 Giao diện Sudoku List

      • 3.3.3 Giao diện Sudoku Play

      • 3.3.4 Giao diện Game setting

  • TÀI LIỆU THAM KHẢO

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

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan