Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 128 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
128
Dung lượng
1,76 MB
Nội dung
LỜI CẢM ƠN Tôi xin gửi lời cảm ơn tới thầy cô giáo, cán công nhân viên trường Đại Học Hịa Bình giúp đỡ tơi suốt thời gian bốn năm học tập trường Các thầy cô cho kiến thức vô quý báu, hành trang thiếu trước bước vào sống ngồi xã hội Tơi xin gửi lời cảm ơn tới bạn Đặng Văn Giỏi thành viên diễn đàn VietAndroid.com giúp nhiều việc bổ túc kiến thức lập trình Cuối xin gửi lời cảm ơn sâu sắc tới gia đình , tất người bạn người hợp tác, tác giả nhiều tài liệu mà tơi tham khảo Trong q trình sử dụng tài liệu, trích dẫn luận điểm có số thơng tin mà tơi khơng có nguồn gốc thức mong tác giả cho phép tơi sử dụng luận điểm Tơi xin cam kết không vi phạm quyền sử dụng với mục đích thương mại mục đích trái với pháp luật Tơi xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2012 Vũ Đình Giang MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ ANDROID 1.1 Lịch sử đời android 1.2 Các phiên thức đặt tính kỹ thuật 1.3 Công nghệ sử dụng 10 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ ANDROID 12 2.1 Các phần mềm chuẩn bị 12 Cài đặt Android SDK Plugin cho Eclipse 3.5 windows 12 2.2 Mơ hình kiến trúc điểm bật Android 22 2.2.1 Kiến trúc hệ điều hành Android 22 2.2.1.1 Application 22 2.2.1.2 Application Framework 22 2.2.1.3 Library 27 2.2.1.4 Linux Kernel 28 2.2.1.5 Android Runtime 28 2.2.2 Android , Java, Linux 29 2.2.2.1 So sánh với Java: 29 2.2.2.2 So sánh với linux 29 2.2.3 Tại Android hội có? 29 2.2.3.1 Các điểm bật hệ điều hành Android 30 2.2.3.2 So sánh với hệ điều hành khác 30 2.2.4 Một số hạn chế Android 33 2.2.5 Làm việc với thành phần 34 2.2.5.1 Intent BroadCast Reciever 34 2.2.5.2 Service 36 CHƯƠNG III - LÝ THUYẾT XÂY DỰNG ỨNG DỤNG GAME ANDROID 40 3.1 Quy trình phát triển game di động 40 3.1.1 3.1.1.1 Kiểm tra đối thủ cạnh tranh 40 3.1.1.2 Tạo nhóm 41 3.1.1.3 Đối tượng trò chơi 42 3.1.1.4 Tính thương mại 43 3.1.1.5 Cách tạo hứng thú cho người chơi 43 3.1.1.6 Nội dung trò chơi 45 3.1.1.7 Điều khiển 46 3.1.1.8 Các tính trị chơi 47 3.1.2 3.2 Sáng tạo thiết kế kịch game 40 Thiết kế tương tác game, đồ họa âm 48 3.1.2.1 Đồ họa game 48 3.1.2.2 Âm âm nhạc 48 3.1.2.3 Phông chữ 49 3.1.2.4 Màn hình Menu lựa chọn 49 Thiết kế cấu trúc hệ thống game 49 Xem cấu trúc Game Audition 51 CHƯƠNG IV –NGHIÊN CỨU THỊ TRƯỜNG DI ĐỘNG VIỆT NAM 53 4.1 Cơ sở lý thuyết 55 4.1.1 Các thành phần 55 4.1.2 Nghiên cứu marketing 55 4.1.2.1 Hành vi tiêu dùng 56 4.1.2.2 Những yếu tố ảnh hưởng đến hành vi người tiêu dùng 56 4.1.2.3 Yếu tố văn hóa 57 4.1.2.4 Những yếu tố xã hội 57 4.1.2.5 Những yếu tố tâm lý 58 4.1.2.6 4.2 Quá trình định người tiêu dùng 61 Phương pháp nghiên cứu 65 4.2.1 Đối tượng nghiên cứu 65 4.2.2 Thiết kế nghiên cứu 66 CHƯƠNG V – CHƯƠNG TRÌNH ỨNG DỤNG 84 5.1 Phát biểu toán : 84 5.2 Các sơ đồ phân tích: 85 5.2.1 Sơ đồ chơi game 85 5.2.2 Sơ đồ User - Case 86 5.3 Đặc tả Use case: 87 5.3.1 Đặc tả use case BatDauChoi 87 5.3.2 Đặc tả use case BanTenLua 88 5.3.3 Đặc tả use case ThongTin 89 5.3.4 Đặc tả use case Xoay hình 90 5.4 Thiết kế cấu trúc trò chơi 90 5.4.1 Cấu trúc hệ thống 90 5.4.2 Mô tả chi tiết thành phần hệ thống: 91 Lớp Activity: 91 Các lớp BUS: 92 5.4.3 Thiết kế giao diện 93 5.4.4 Viết chương trình 99 CHƯƠNG VI KẾT LUẬN 124 6.1 Kết luận : 124 6.2 Tương lai phát triển 125 MỞ ĐẦU Thế giới công nghệ mở thời kỳ mới, thời kỳ thiết bị cầm tay ngày thông minh hơn, sắc nét đẹp đẽ Kéo theo đua tranh nhà sản xuất hòng đưa sản phẩm với nhiều tính độc đáo nhằm thu hút người tiêu dùng Android xuất tham gia vào chơi Với lợi phát triển Google – ông lớn làng cơng nghệ giới, open src, thích hợp với nhiều loại thiết bị phần cứng khác nhau…liệu Android có tạo nên sóng thực áp đảo thị trường công nghệ hay không? Việt Nam lấy công nghệ phần mềm sáu nghành công nghiệp mũi nhọn để phát triển kinh tế đất nước Chính nên có nhiều người có xu hướng tiếp cận với cơng nghệ làm chủ để tạo nên thành cơng cho riêng Android bước vào Việt Nam không sớm sủa với trào lưu chung giới, lập trình viên Việt Nam bắt đầu tìm hiểu xây dựng nên ứng dụng hệ điều hành Vậy người cần phải đâu? Bắt đầu nào? Hiện tương lai Android? Làm để xây dựng ứng dụng đem lại lợi nhuận cao đáp ứng nhu cầu thị trường? Câu hỏi ban đầu người muốn tham gia phát triển cơng nghệ việc cơng nghệ có phải lựa chọn tốt cho sống hay khơng? Nó có đem lại nhiều lợi nhuận hay khơng? Có q khó để nắm bắt sử dụng hay khơng? Nó tồn bao lâu? Và tất nhiên muốn có ý kiến người trải qua sử dụng công nghệ Bài luận nhằm mục đích đưa nhìn tổng quan hệ điều hành Android, lịch sử phát triển, so sánh với hệ điều hành khác, cấu trúc hệ điều hành Android Và bước xây dựng ứng dụng game thương mại hệ điều hành Đồng thời khảo sát thị trường di động, đánh giá thực trạng phát triển dự báo tương lai phát triển Android Thu thập thông tin nhu cầu khách hàng nhằm đưa sản phẩm phù hợp với xu nhất, đem lại lợi nhuận cao đón nhận nồng nhiệt CHƯƠNG 1: TỔNG QUAN VỀ ANDROID 1.1 Lịch sử đời android Tháng năm 2005, Google mua lại Android, Inc, doanh nghiệp nhỏ có tuổi đời non trẻ trụ sở Palo Alto, California Mỹ Những người sáng lập Android cựu chiến binh xuyên suốt trình phát triển Android bao gồm Andy Rubin (đồng sáng lập Danger Inc), Rich Miner (người đồng sáng lập Wildfire Communication Inc), Nick Sears (Phó chủ tịch T-Mobile) việc Google mua lại Android, Inc khiến Android bắt đầu “nổi” với tin đồn Google lập kế hoạch cho hệ điều hành cho thị trường di động Sau sát nhập vào Google, nhóm phát triển dẫn đầu Rubin đồng nghiệp tiến hành xây dựng tảng hỗ trợ thiết bị di động dựa lõi Linux Hệ thống bán thị trường để nhà sản xuất thiết bị cầm tay mang để nâng cấp chỉnh sửa cho phù hợp tối ưu cho hệ thống họ Google cung cấp hàng loạt thành phần hỗ trợ phần cứng phần mềm mở rộng bên thứ ba để mang lại thuận tiện cho người sử dụng Vào năm 2007, Liên doanh thiết bị cầm tay mã nguồn mở (Open Handset Alliance) gồm đại gia ngành thiết bị cầm tay Texas Instrument, Broadcom Corporation, Google, HTC, Intel, LG, Marwell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile … cho mắt sản phẩm đầu tiên, Android, hệ điều hành xây dựng nhân Linux phiên 2.6 Với thời gian cập nhật nhanh chóng, Android hiệu lực mã nguồn mở kể từ 21-11-2008 Goolge cơng bố tồn source code source mạng lẫn công nghệ stack cấp phép Apache Với giấy phép Apache 2.0, nhà cung cấp thêm phần mở rộng độc quyền họ mà không cần báo cáo cho cộng đồng nguồn mở 1.2 Các phiên thức đặt tính kỹ thuật 1.1 Phát hành ngày 09-02-2009 Ngày 30-04-2009, phiên 1.5 có tên Cupcake phát hành Bao gồm tính • Có khả thu phát hình ảnh thơng qua chế độ camcorder • Tải video lên YouTube hình ảnh lên Picasa Web Album trực tiếp điện thoại di động 1.5 (Cupcake) Nhân Linux V2.6.27 • Bàn phím ảo thơng minh (text-prediction) • Hỗ trợ Bluetooth chuẩn A2DP AVRCP • Tự động kết nối vào thiết bị Bluetooth khoảng cách • Thêm widget widget hiển thị shortcut hình • Thêm hiệu ứng di chuyển trạng thái 15-9-2009, SDK phiên 1.6 cho mắt Thêm tính năng: • Thêm Android Market • Giao diện camera, camcorder, gallery ảnh đẹp mắt 1.6 (Donut) Nhân V2.6.27 Linux • Xóa nhiều hình ảnh lúc gallery • Cập nhật tìm kiếm giọng nói, thực lệnh điều khiển điện thoại giọng nói • Cập nhật công nghệ hỗ trợ mạng CDMA /EVDO, IEEE 802.1x … • Hỗ trợ độ phân giải WVGA (800x480, 848x480 854x480) • Tăng tốc tìm kiếm ứng dụng cho video • Thêm cơng cụ xây dựng Gesture framework Gesturebuilder Cũng vào thời điểm 26-11-2009, SDK 2.0 mắt Các thay đổi gồm: • Tối ưu sử dụng phần cứng để đem lại tốc độ nhanh • Hỗ trợ thêm số độ phân giải • Thay đổi giao diện đẹp mắt • Trình duyệt web va hỗ trợ HTML5 • Nhiều dạng Contact lists 2.0/2.1 (Eclair) Nhân • Better white-black ratio for backgrounds Linux V2.6.29 • Google Maps 3.1.2 • MotionEvent class enhanced to track multi-touch events • Sửa đổi bàn phím ảo phù hợp • Bluetooth 2.1 • Live Wallpaper Bộ SDK 2.0.1 phát hành ngày 3-12-2009 Bộ SDK 2.1 phát hành ngày 12-1-2010 2.2 Nhân (Froyo) Phát hành 20-05-2010 SDK Gồm thay đổi: Linux • Tăng tốc hệ điều hành, memory… V2.6.32 • Các trình ứng dụng chạy nhanh nhờ vào khả thực thi JIT • Tích hợp V8 JavaScript engine Chrome vào trình duyệt web • Cải tiến hỗ trợ Microsoft Exchange • Tăng tốc ứng dụng chạy shortcut liên kết từ trình duyệt • Khả chia mạng qua USB qua Wireless • Thêm chức kiểm sốt liệu mạng • Nâng cấp ứng dụng Market (tự động cập nhật) • Keyboard có chức chuyển đổi từ điển nhanh chóng • Voice dialing contact sharing thơng qua Bluetooth • Hỗ trợ password dạng số lẫn chữ • Hỗ trợ upoload file Browser • Hỗ trợ cài đặt ứng dụng nhớ mở rộng • Hỗ trợ Adobe flash 10.1 Các chức chứng thực Gingerbread, Nhân Linux V2.6.33/34 • Hỗ trợ WebM video playback • Cải thiện chức copy-paste Các chức chưa chứng thực • Hỗ trợ định dạng FLAC7 • Market có thêm chức mua nhạc • Media streaming from PC library • Một giao diện hồn tồn Bảng 1.1 Bảng công nghệ hỗ trợ Android Google cho biết, tính trung bình ngày, họ phải thực kích hoạt đến 160.000 di động chạy Android Hệ thống chợ ứng dụng Android Market bước đến số 70.000 ứng dụng 1.3 Công nghệ sử dụng Hệ thống mã nguồn mở nên chỉnh sửa nâng cấp, thư viện Handset Layouts hỗ trợ bao gồm VGA, 2D graphic library, 3D graphic library, (OpenGL 2.0), traditions smartphone layouts Storage SQLite, hệ quản trị sở liệu gọn nhẹ cho thiết bị di động Connectivity GSM/EDGE, IDEN, EV-DO,UTMS, Bluetooth, Wifi, Wimax Messaging SMS, MM, Android cloud to device messaging Framework (C2DM) Trình duyệt web Android dựa hệ thống mã nguồn mở Web browser WebKit engine V8 JavaScript engine Chrome Đạt 93/100 điểm Acid3 Trong ứng dụng Android chủ yếu viết Java mà Java support Android khơng có Java Virtual Machine Các lớp Java biên dịch thành Dalvik executeable chạy Dalvik virtual machine Android không hỗ trợ J2ME Media H.263, H.264 (in GP, MP4 container) Additional Với hệ điều hành Android, người sử dụng sử dụng camera, 10 114 public Sprite sprite_gameover; private Texture Texture_gameover; Sound nhacnen; public boolean onTouchEvent(E3Scene arg0, Shape arg1, MotionEvent arg2, int arg3, int arg4) { return false; } @Override public E3Engine onLoadEngine() { E3Engine engine = new E3Engine(this, WIDTH, HEIGHT); engine.requestFullScreen(); engine.requestPortrait(); return engine; } @Override public void onLoadResources() { bg.load(this); diem.load(this); 114 115 Texture_gameover = new AssetTexture("overgame.png", this); //Load player player.load(FighterplaneActivity.this); //Load no for(int i=0;i