MỤC LỤC LỜI CẢM ƠN 2 MỤC LỤC 3 Phần A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP 4 I. Chức năng 4 II. Tổ chức 4 III. Các lĩnh vực hoạt động 4 Phần B : NỘI DUNG THỰC TẬP 5 I. Phần giới thiệu chung 5 Tên đề tài. Kế hoạch thực tập II. Phần báo cáo thực tập 5 Phần trình bày: 5 Tìm hiểu đề tài game chuẩn bị xây dựng Tìm hiều về ngôn ngữ lập trình nên game . Phân tích thiết kế :Thiết kế giao diện Thiết kế chức năng III. Phần SV tự ghi 5 Phần C: KẾT LUẬN 6
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP TỐT NGHIỆP Nội dung: Lập trình ứng dụng game xếp số cho hệ điều hành Android Nơi thực tập : Viện CNTT&TT-CDIT Người hướng dẫn : Hoàng Xuân Sơn Sinh viên thực : Trần Phú Yên Hà nội, 07/ 2015 LỜI CẢM ƠN Trên thực tế thành công mà không gắn liền với n hững hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người Và thời gian thực tập tốt nghiệp lần , em nhận nhiều giúp đỡ từ nhà trường , thầy cô Viện Công nghệ thông tin & Truyền thông – CDIT, đặc biệt thầy Hoàng Xuân Sơn – người trực tiếp hướng dẫn giúp đỡ em Lần thực tập thực khoảng thời gian tuần Bước đầu vào nghiên cứu, tìm hiểu lĩnh vực lập trình game tảng Android Kiến thức em hạn chế nhiều bỡ ngỡ Do vậy, không tránh khỏi thiếu sót điều chắn,em mong nhận ý kiến đóng góp quý báu quý Thầy Cô Thầy hướng dẫn em để kiến thức em lĩnh vực hoàn thiện đề tài thực tập lần em hoàn thành tiến độ Một lần em xin chân thành cảm ơn Thầy Cô em cố gắng để hoàn thiện chuyên môn sau đợt thực tập này! MỤC LỤC MỤC LỤC .3 Phần A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP .4 I Lịch sử phát triển II Những đóng góp CDIT cho phát triển ngành ICT Việt Nam Phần B : NỘI DUNG THỰC TẬP I Phần giới thiệu chung II Báo cáo thực tập .8 Phần A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP I Lịch sử phát triển Được thành lập từ năm 1999 với chức CDIT nghiên cứu, ứng dụng khoa học đào tạo nguồn nhân lực cho lĩnh vực Công nghệ thông tin chuyên ngành Bưu viễn thông ngành kinh tế – xã hội khác Việt Nam Qua 15 năm xây dựng phát triển, CDIT hoàn thành xuất sắc nhiệm vụ giao, góp phần to lớn phát triển ngành Thông tin truyền thông Kết quả, 15 năm phát triển CDIT Đảng, Nhà nước tặng thưởng Huân chương Lao động Hạng Nhất, Nhì, Ba Trong lĩnh vực hoạt động nghiên cứu khoa học triển khai công nghệ, CDIT đơn vị tiên phong việc sản xuất nội địa hệ thống Viễn thông thay nhập ngoại, từ hệ Tổng đài đến hệ thống phần mềm tích hợp phức tạp sản phẩm từ công trình nghiên cứu KHCN CDIT phát triển ứng dụng thành công mạng lưới viễn thông VNPT tỉnh thành nước Trong lĩnh vực hoạt động đào tạo, với mạnh từ đơn vị nghiên cứu, CDIT chuyển giao kết sang lĩnh vực đào tạo ngắn hạn Đến nay, hàng nghìn kỹ sư 63 Bưu điện tỉnh thành Tổng Công ty Bưu CDIT đào tạo chuyển giao công nghệ Trong thời gian tới, thực triển khai “Đề án đào tạo phát triển nguồn nhân lực an toàn, an ninh thông tin đến năm 2020” – Đề án 99, CDIT xác định tích cực tham gia với đơn vị khác Học viện xây dựng đội ngũ, chuẩn bị sở vật chất nghiên cứu đào tạo Đại học an toàn thông tin để nâng cao tiềm lực phát triển dịch vụ An toàn, An ninh thông tin Trải qua 15 năm xây dựng phát triển, CDIT xây dựng đội ngũ cán nghiên cứu viên, giảng viên có trình độ chuyên môn cao, giàu kinh nghiệm, hệ thống phòng Lab đại phục vụ hoạt động nghiên cứu đào tạo Các sản phẩm công nghệ ứng dụng rộng rãi Ngành liên tục đoạt giải thưởng cao quý Khoa học công nghệ giải thưởng VIFOTEC, Cúp Vàng CNTT giai đoạn năm từ 2000 đến 2004 II Những đóng góp CDIT cho phát triển ngành ICT Việt Nam CDIT có nhiệm vụ nghiên cứu, ứng dụng khoa học đào tạo nguồn nhân lực cho lĩnh vực Viễn thông Công nghệ thông tin (CNTT) Cùng với phát triển ngành CNTT xu hướng hội nhập với Truyền thông, CDIT đổi tên thành Viện CNTT Truyền thông CDIT từ 01/01/2012 Trung tâm Công nghệ thông tin CDIT thành lập năm 1999 sở sáp nhập Trung tâm Nghiên cứu Phát triển Phần mềm STC (thuộc Viện KHKT Bưu điện) Trung tâm Đào tạo Phát triển Phần mềm STDC (thuộc Trung tâm Đào tạo BCVT1) CDIT có nhiệm vụ nghiên cứu, ứng dụng khoa học đào tạo nguồn nhân lực cho lĩnh vực Viễn thông Công nghệ thông tin (CNTT) Trong suốt 15 năm phát triển mình, CDIT thể tinh thần đam mê, chủ động làm chủ công nghệ mức độ sâu, tạo sản phẩm có hàm lượng tri thức cao, đóng góp thiết thực cho phát triển ngành công nghệ thông tin truyền thông (ICT) Việt Nam NHỮNG NĂM ĐẦU TIÊN 1999-2004 Được hình thành từ đơn vị có lực kỹ thuật điện tử viễn thông CNTT, lại hoạt động mạng lưới rộng lớn Tổng công ty Bưu Viễn thông Việt Nam (VNPT) nên từ thành lập, CDIT đơn vị tiên phong việc tự sản xuất chế tạo tổng đài nhỏ từ 128 đến 512 số triển khai nhiều tỉnh mạng lưới VNPT, mở rộng vùng phủ dịch vụ viễn thông xuống huyện, xã vùng xa "vùng trắng" viễn thông Trong lĩnh vực di động, thiết bị mạng thường độc quyền hãng lớn có giá thành cao Năm 2002, CDIT tự thiết kế chế tạo hệ thống nhắn tin ngắn SMSC cho mạng di động triển khai cung cấp cho nhà khai thác Mobifone, Vinaphone Viettel Đây hệ thống MMSC triển khai mạng viễn thông Việt Nam hoàn toàn Việt Nam phát triển Thời kỳ này, dịch vụ mạng viễn thông Việt Nam nghèo nàn Từ khả tiếp cận, nắm bắt thông tin xu hướng phát triển viễn thông nước phát triển, CDIT đầu tạo nhiều sản phẩm, dịch vụ có tiếng vang với xã hội dịch vụ nhắn tin SMS, MMS, toán cước phí điện thoại qua hệ thống ATM, dịch vụ bầu chọn trực tuyến 1900 1570, dịch vụ Thông tin tuyển sinh, dịch vụ Thông tin Giáo dục, dịch vụ gia tăng di động, Internet Nhiều dịch vụ CDIT tạo có tính tiên phong thực mang lại sắc diện cho đời sống tinh thần xã hội Việt Nam GIAI ĐOẠN 2005 ĐẾN 2009 Thời kỳ 2005-2009, công nghệ viễn thông thay đổi nhanh Ở Việt Nam, thời kỳ nhà khai thác, cung cấp dịch vụ chuyển đổi công nghệ sang hệ Mạng viễn thông hệ (NGN) với nhiều kỹ thuật khác biệt so với mạng viễn thông hệ trước Với vai trò đơn vị nghiên cứu Tập đoàn VNPT, CDIT chủ động nghiên cứu đón đầu công nghệ mạng viễn thông Năm 2004, CDIT đăng ký thực thành công đề tài cấp Nhà nước KC.01.22 chế tạo hệ thống tổng đài Softswitch thành phần điều khiển quan trọng mạng NGN Trong lĩnh vực phát triển phần mềm, CDIT cung cấp nhiều sản phẩm phần mềm lớn phục vụ thiết thực cho công tác quản lý, khai thác, điều hành Tập đoàn VNPT Tổng công ty Bưu địa bàn nước như: Hệ thống cung cấp dịch vụ Thư thoại Thư thông tin cho 49 Bưu điện tỉnh thành; Phần mềm Quản lý mạng ngoại vi điều hành sửa chữa 119 40 Bưu điện tỉnh thành; Phần mềm phân tích số liệu kinh doanh cung cấp thông tin hàng ngày cho Lãnh đạo Tập đoàn Ban chức VNPT tỉnh thành; Cổng thông tin điện tử VNPT; Phần mềm cung cấp dịch vụ chuyển tiền nhanh cho Tổng công ty Bưu GIAI ĐOẠN 2010 ĐẾN 2014 Trong năm gần đây, hội tụ Viễn thông, CNTT Media diễn mạnh mẽ Các kỹ thuật truy nhập di động băng rộng, dịch vụ đa phương tiện điểm nhấn công nghệ Năm 2012, CDIT giao thực đề tài cấp Nhà nước KC.01.09/11-15 chế tạo thử nghiệm thiết bị Serving Gateway cho mạng truy nhập băng rộng hệ 4G - LTE Trong lĩnh vực ATTT, CDIT chủ động nghiên cứu công nghệ giải pháp cho hạ tầng viễn thông song song với việc thiết kế tổ chức mạng VNPT Hiện nay, CDIT giao trách nhiệm đảm bảo an toàn thông tin cho mạng băng rộng Tập đoàn Viện xây dựng hệ thống xác thực mật lần (One Time Password) đưa vào triển khai cho VNPT, VMS Văn phòng Quốc hội Phần B : NỘI DUNG THỰC TẬP I Phần giới thiệu chung TÊN ĐỀ TÀI : Lập trình ứng dụng game xếp số cho hệ điều hành Android KẾ HOẠCH THỰC TẬP: TT Nội dung thực tập Thời gian Mục tiêu Xây dựng đề cương thực tập 3/7/2015-8/7/2015 Xây dựng đề cương hoàn chỉnh gồm công việc cần làm thời gian dự kiến Tìm hiểu đề tài game chuẩn bị xây dựng 9/7/2015-12/7/2015 Tìm hiểu thể loại game, đồ họa game, ngôn ngữ lập trình game Mô tả game 12/7/201516/7/2015 Xây dựng game 17/7/2015-23/7/2015 Xây dựng giao diện game Xây dựng game 24/7/2015-3/8/2015 Xây dựng modul game sửa lỗi Demo 4/8/2015-6/8/2015 Chạy thử game máy thật đưa lên store HĐH Android +Phân tích thiết kế giao diện game +Phân tích nêu yêu cầu giao diện game +Các yêu cầu game Ghi …… II Báo cáo thực tập +Tìm hiểu đề tài game chuẩn bị xây dựng Tìm hiểu thể loại game : Game xếp số thể loại game đơn giản vừa mang tính chất giải trí vừa mang tính trí tuệ , đòi hỏi tập trung người chơi qua giúp kích thích trí nhớ họ Đồ họa game Do game chưa tới mức độ phức tạp đồ họa nên nói đến giao diện game Trò chơi khung hình vuông bao gồm ô nhỏ gồm chữ số ô ô trống để di chuyển ô khác Ngoài bên cạnh khung số menu tùy chọn với tùy chọn xếp hợp lý có màu bắt mắt Các số bên ô số thể cho người chơi thích thú dễ chịu phải tìm đường cho ô số nhìn số Các màu ô số , hình khung hiệu ứng kiện game tạo hiệu ứng đẹp mắt +Tìm hiều ngôn ngữ phần mềm lập trình nên game 3.1 Ngôn ngữ lập trình game tảng android 3.1.1 Android Android gì? Android phần mềm stack cho thiết bị di động bao gồm hệ điều hành, middleware ứng dụng quan trọng Android SDK cung cấp công cụ API cần thiết để bắt đầu phát triển ứng dụng tảng Android cách sử dụng ngôn ngữ lập trình Java Những đặc tính ứng dụng framework cho phép tái sử dụng thay thành phần Dalvik máy ảo tối ưu hóa cho thiết bị di động Tích hợp trình duyệt dựa động WebKit mã nguồn mở Kiến trúc Android Sơ đồ cho thấy thành phần hệ điều hành Android Mỗi phần mô tả chi tiết Ứng dụng Android ship với ứng dụng lõi bao gồm ứng dụng email, lịch chương trình tin nhắn SMS,, đồ, trình duyệt, liên lạc, người khác Tất ứng dụng viết cách sử dụng ngôn ngữ lập trình Java Ứng dụng Framework Bằng cách cung cấp tảng phát triển mở, Android cung cấp cho nhà phát triển khả để xây dựng ứng dụng vô phong phú sáng tạo Các nhà phát triển miễn phí để tận dụng lợi thiết bị phần cứng, thông tin địa điểm truy cập, dịch vụ chạy nền, thiết lập hệ thống báo động, thêm thông báo đến trạng thái, nhiều, nhiều Nằm bên tất ứng dụng tập hợp dịch vụ hệ thống, bao gồm: Một tập phong phú mở rộng xem sử dụng để xây dựng ứng dụng, bao gồm danh sách, lưới, hộp văn bản, nút, chí trình duyệt web nhúng Thời gian chạy Android Android bao gồm tập thư viện lõi mà cung cấp hầu hết chức sẵn có thư viện cốt lõi ngôn ngữ lập trình Java Mỗi ứng dụng Android chạy tiến trình riêng mình, với trường hợp riêng máy ảo Dalvik Dalvik viết nên thiết bị chạy nhiều máy ảo hiệu VM Dalvik thực tác phẩm Executable Dalvik (dex) VM đăng ký trên, chạy lớp học biên soạn trình biên dịch ngôn ngữ Java chuyển thành định dạng dex 3.1.2 Ngôn ngữ lập trình java *Giới thiệu ngôn ngữ Java *Lịch sử phát triển Năm 1990, Sun MicroSystems thực dự án Green nhằm phát triển phần mềm thiết bị dân dụng James Gosling, chuyên gia lập trình tạo ngôn ngữ lập trình có tên Oak Ngôn ngữ có cú pháp gần giống C++ bỏ qua tính nguy hiểm C++ truy cập trực tiếp tài nguyên hệ thống, trỏ, định nghĩa chồng tác tử… Khi ngôn ngữ Oak trưởng thành, WWW vào thời kỳ phát triển mạnh mẽ, Sun cho ngôn ngữ thích hợp cho Internet Năm 1995, Oak đổi tên thành Java sau đến 1996 Java xem chuẩn công nghiệp cho Internet Máy ảo Java (JMV - Java Virtual Machine) Để đảm bảo tính đa nền, Java sử dụng chế Máy ảo Java ByteCode ngôn ngữ máy Máy ảo Java tương tự lệnh nhị phân máy tính thực Khi thực chương trình, máy ảo Java thông dịch thị dạng Bytecode thành thị dạng nhị phân máy tính thực thực thi thực chúng máy tính thực Máy ảo thực tế chương trình thông dịch Hai kiểu ứng dụng ngôn ngữ java Khi bắt đầu thiết kế ứng dụng ngôn ngữ Java, phải chọn kiểu cho Application hay Applet Applet: Là chương trình ứng dụng nhúng vào trang web Mã chương trình tải máy người dùng từ Web server người dùng truy xuất đến trang web chứa Application: Là chương trình ứng dụng thực thi trực tiếp máy ảo Java Bộ phát triển ứng dụng Java (JDK- Java Development Kit) JDK công cụ cho phép người lập trình phát triển triển khai ứng dụng ngôn ngữ java cung cấp miễn phí công ty JavaSoft (hoặc Sun) Có Jdk cho hệ điều hành khác Các ấn JDK không ngừng phát hành, tải từ địa http://java.sun.com http://www.javasoft.com Bộ công cụ gồm chương trình thực thi đáng ý sau: javac: Chương trình biên dịch chương trình nguồn viết ngôn ngữ java tập tin thực thi máy ảo Java java: Đây chương trình làm máy ảo Java, thông dịch mã Bytecode chương trình kiểu application thành mã thực thi máy thực appletviewer: Bộ thông dịch, thực thi chương trình kiểu applet javadoc: Tạo tài liệu thích chương trình nguồn cách tự động jdb: Trình gở rối rmic: Tạo Stub cho ứng dụng kiểu RMI rmiregistry: Phục vụ danh bạ (Name Server) hệ thống RMI Tìm hiểu thêm công nghệ java Giới thiệu gói AWT GUI cung cấp chức nhập liệu theo cách thân thiện với người dùng GUI đa dạng từ ứng dụng đến ứng dụng chứa nhiều điều khiển hộp văn bản, nhã, hộp danh sách hay điều khiển khác Các ngôn ngữ VB hay VC++ cung cấp chức kéo thả phần mềm giống C++ yêu cầu người lập trình phải viết toàn mã để xây dựng GUI Một phần tử (element) GUI thiết lập cách sử dụng thủ tục sau: Tạo đối tượng Xác định xuất ban đầu đối tượng Chỉ nằm đâu Thêm phần tử vào giao diện hình Một thành phần (component) GUI đối tượng trực quan AWT viết tắt Abstract Windowing Toolkit AWT cung cấp thành phần khác để tạo GUI hiệu lôi người sử dụng Các thành phần này là: Vật chứa (Container) Thành phần (Component) 10 Code: 22 1.4 Giao diện chơi game Hình 11 : Giao diện chơi 23 Code: 24 27 1.5 Và cuối giao diện game hình hiển thị Hình 12 : Giao diện game hình hiển thị 28 Code chức game 2.1 Lớp Credits: Gọi Activity hiển thị phần giới thiệu package phuyen.demo; import com.vishesh.eight_puzzle.R; import android.app.Activity; import android.os.Bundle; public class Credits extends Activity { /** Called when the activity is first created */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.credits); } } 2.2 Lớp Help : Gọi giao diện Giới thiệu package phuyen.demo; import com.vishesh.eight_puzzle.R; import android.app.Activity; import android.os.Bundle; public class Help extends Activity { /** Called when the activity is first created */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.help); } } 2.3 Lớp Game: Các thao tac xử lí game package phuyen.demo; import java.util.ArrayList; import java.util.Collections; 29 import com.vishesh.eight_puzzle.R; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AbsoluteLayout; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; @SuppressWarnings("deprecation") public class Game extends Activity { private TextView moveCounter; private TextView feedbackText; private Button[] buttons; private Boolean bad_move = false; private static final Integer[] goal = new Integer[] { 0, 1, 2, 3, 4, 5, 6, 7, }; private ArrayList cells = new ArrayList(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.game); buttons = findButtons(); for (int i = 0; i < 9; i++) { this.cells.add(i); } Collections.shuffle(this.cells); // random cells array fill_grid(); moveCounter = (TextView) findViewById(R.id.MoveCounter); feedbackText = (TextView) findViewById(R.id.FeedbackText); for (int i = 1; i < 9; i++) { buttons[i].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { makeMove((Button) v); } }); } 30 moveCounter.setText("0"); feedbackText.setText(R.string.game_feedback_text); } public Button[] findButtons() { Button[] b = new Button[9]; b[0] = (Button) findViewById(R.id.Button00); b[1] = (Button) findViewById(R.id.Button01); b[2] = (Button) findViewById(R.id.Button02); b[3] = (Button) findViewById(R.id.Button03); b[4] = (Button) findViewById(R.id.Button04); b[5] = (Button) findViewById(R.id.Button05); b[6] = (Button) findViewById(R.id.Button06); b[7] = (Button) findViewById(R.id.Button07); b[8] = (Button) findViewById(R.id.Button08); return b; } public void makeMove(final Button b) { bad_move = true; int b_text, b_pos, zuk_pos; b_text = Integer.parseInt((String) b.getText()); b_pos = find_pos(b_text); zuk_pos = find_pos(0); switch (zuk_pos) { case (0): if (b_pos == || b_pos == 3) bad_move = false; break; case (1): if (b_pos == || b_pos == || b_pos == 4) bad_move = false; break; case (2): if (b_pos == || b_pos == 5) bad_move = false; break; case (3): if (b_pos == || b_pos == || b_pos == 6) bad_move = false; break; case (4): if (b_pos == || b_pos == || b_pos == || b_pos == 7) bad_move = false; 31 break; case (5): if (b_pos == || b_pos == || b_pos == 8) bad_move = false; break; case (6): if (b_pos == || b_pos == 7) bad_move = false; break; case (7): if (b_pos == || b_pos == || b_pos == 8) bad_move = false; break; case (8): if (b_pos == || b_pos == 7) bad_move = false; break; } if (bad_move == true) { feedbackText.setText("Move Not Allowed"); return; } feedbackText.setText("Move OK"); cells.remove(b_pos); cells.add(b_pos, 0); cells.remove(zuk_pos); cells.add(zuk_pos, b_text); fill_grid(); moveCounter.setText(Integer.toString(Integer parseInt((String) moveCounter.getText()) + 1)); for (int i = 0; i < 9; i++) { if (cells.get(i) != goal[i]) { return; } } feedbackText.setText("we have a winner"); } public void fill_grid() { for (int i = 0; i < 9; i++) { int text = cells.get(i); AbsoluteLayout.LayoutParams absParams = (AbsoluteLayout.LayoutParams) buttons[text] 32 .getLayoutParams(); switch (i) { case (0): absParams.x = 5; absParams.y = 5; buttons[text].setLayoutParams(absParams); break; case (1): absParams.x = 110; absParams.y = 5; buttons[text].setLayoutParams(absParams); break; case (2): absParams.x = 215; absParams.y = 5; buttons[text].setLayoutParams(absParams); break; case (3): absParams.x = 5; absParams.y = 110; buttons[text].setLayoutParams(absParams); break; case (4): absParams.x = 110; absParams.y = 110; buttons[text].setLayoutParams(absParams); break; case (5): absParams.x = 215; absParams.y = 110; buttons[text].setLayoutParams(absParams); break; case (6): absParams.x = 5; absParams.y = 215; buttons[text].setLayoutParams(absParams); break; case (7): 33 absParams.x = 110; absParams.y = 215; buttons[text].setLayoutParams(absParams); break; case (8): absParams.x = 215; absParams.y = 215; buttons[text].setLayoutParams(absParams); break; } } } public int find_pos(int element) { int i = 0; for (i = 0; i < 9; i++) { if (cells.get(i) == element) { break; } } return i; } } 2.4 Lớp Main: Chạy chương trình ứng dụng package phuyen.demo; import com.vishesh.eight_puzzle.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class main extends Activity { 34 /** Called when the activity is first created */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button play = (Button) findViewById(R.id.PlayButton); play.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(), Game.class); startActivity(intent); } }); } public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.exitmenu: finish(); break; case R.id.helpmenu: Intent intent = new Intent(getApplicationContext(), Help.class); startActivity(intent); break; case R.id.creditsmenu: Intent i = new Intent(getApplicationContext(), Credits.class); startActivity(i); break; } return super.onOptionsItemSelected(item); } } 35 Phần C: KẾT LUẬN Sau trình thực em tìm hiểu , thực vấn đề sau : Phần thứ : Ôn luyện lại lịch sử hình thành, phát triển thành tựu to lớn Viện Công nghệ thông tin & Truyền thông – CDIT qua hiểu truyền thống trường Phần thứ hai : Tìm hiểu lý thuyết : Ôn lại tích lũy kiến thức từ ngôn ngữ lập trình để thực nội dung đề tài 1, Ngôn ngữ lập trình game tảng Android : + Khái niệm Android + Kiến trúc Android + Thời gian chạy Android 2, Ngôn ngữ lập trình Java + Máy ảo Java (JMV - Java Virtual Machine) + Bộ phát triển ứng dụng Java (JDK- Java Development Kit) + Tìm hiểu thêm công nghệ java Phần thứ ba : Xây dựng game đề tài xếp số : + Phân tích thiết kế : Sơ đồ cấu trúc người dùng chương trình, cấu trúc chương trình + Thiết kế giao diện + Xây dựng chức game : chơi , giới thiệu ,hướng dẫn Các thông tin, nguyện vọng : Các thông tin rút thời gian thực tập Được nghiên cứu phát triển game Android, em thấy game Android lĩnh vực quan tâm phát triển nên đề tài lần thực ý nghĩa cá nhân em Nguyện vọng Nếu có đủ điều kiện làm đồ án tốt nghiệp, em mong muốn tiếp tục nghiên cứu phát triển mảng game Android để phát triển chuyên môn cố gắng để mang đến cho cộng đồng game thực ý nghĩa hay Cuối em xin cảm ơn Thầy giáo Hoàng Xuân Sơn – Thầy giáo hướng dẫn em hướng dẫn giúp đỡ em để em hoàn thiện đề tài thực tập lần này! 36