lập trình 3d ứng dụng trên nền tảng android

137 1.5K 2
lập trình 3d ứng dụng trên nền tảng android

Đ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

XÂY DỰNG ỨNG DỤNG 3D VỚI ANDROID MỤC LỤC DANH MỤC HÌNH Mở đầu Hiện ngành cơng nghiệp phần mềm phát triển ngành công nghiệp phần mềm điện thoại di động khơng nằm ngồi xu Tuy cịn nhiều hạn chế phần cứng điện thoại di động thể sức mạnh nhiều lĩnh vực khác giải trí, tiện ích, tốn điện tử v.v… Ngành cơng nghệ phần mềm di động non trẻ Việt Nam việc nghiên cứu phát triển ứng dụng di động cần thiết Các hệ điều hành Window Mobile, Symbian… phần gây nhiều khó khăn cho có ý định xây dựng ứng dụng Đối với Window Mobile cơng nghệ Microsoft hồn tồn đóng người dùng, nhà phát triển ứng dụng dựa hồn tồn vào cơng nghệ mà Microsoft cung cấp, cịn Symbian việc cấu hình để lập trình vơ vàn khó khăn, đặc biệt sử dụng ngơn ngữ C/C++ để làm tảng lập trình rõ ràng khơng thuận tiện việc phát triển ứng dụng Xuất phát từ nhu cầu thực tế đó, Google mạnh dạn nghiên cứu đưa tảng hệ điều hành mới, Android Một tảng hệ điều hành mã nguồn mở hồn tồn dựa vào ngơn ngữ lập trình mạnh Java để phát triển ứng dụng Chính Android hỗ trợ Java từ tảng nó, nên việc viết ứng dụng, sử dụng chức phần cứng hồn tồn dễ dàng thơng qua việc sử dụng cơng cụ hỗ trợ lập trình cung cấp hồn tồn miễn phí, Android SDK Nhóm thực nhận thấy nhu cầu người lĩnh vực giải trí di động ngày cao Android tảng ứng dụng phát triển tương lai Chính nhóm thực chọn đề tài “Xây dựng ứng dụng 3D với Android” nhằm hiểu rõ kĩ thuật lập trình thiết bị động, đặc biệt kĩ thuật xây dựng đồ họa 3D di động để tạo nên game 3D hồn chỉnh Nhưng thời gian, lực nhóm có hạn, giới hạn việc tìm hiểu cách thức hoạt động, nghiên cứu chức năng, sử dụng công cụ Android SDK số hàm chức OpenGL ES để vẽ số hình ảnh 3D mục đích nghiệm thu q trình tìm hiểu Đề tài bao gồm: Phần A: Xây dựng ứng dụng 3D với Android Chương 1: Tổng quan ứng dụng Android Chương 2: Các thành phần ứng dụng Android Chương 3: Thiết kế giao diện Chương 4: Xử lý bất đồng Chương 5: Áp dụng OpenGL ES để tạo ứng dụng 3D Androi Phần B: Chương trình Demo Chương 6: Demo kỹ thuật vẽ hình 3D Android Phần C: Kết luận Tài liệu tham khảo PHẦN A: XÂY DỰNG ỨNG DỤNG 3D VỚI ANDROID Chương 1: Tổng quan ứng dụng android 1.1 Lược sử Android: Android phát hành phiên 11/11/2007, mơi trường hệ điều hành hồn chỉnh dựa hệ điều hành nhân Linux V2.6 Lúc đầu, đích triển khai Android lĩnh vực điện thoại di động, gồm loại điện thoại thông minh loại thiết bị điện thoại kiểu gập chi phí thấp Tuy nhiên, phạm vi đầy đủ dịch vụ điện toán Android hỗ trợ chức phong phú có tiềm mở rộng ngồi thị trường điện thoại di động Android cịn hữu ích tảng ứng dụng khác Nền Android sản phẩm Open Handset Alliance (Liên minh thiết bị cầm tay mở), tập đoàn tổ chức hợp tác với để xây dựng nên loại điện thoại di động tốt Tập đoàn Google đứng đầu gồm nhà vận hành (điện thoại) di động, nhà sản xuất thiết bị cầm tay, sản xuất linh kiện, nhà cung cấp giải pháp phần mềm công ty tiếp thị Từ quan điểm phát triển phần mềm, Android trở thành trung tâm giới mã nguồn mở có tiềm phát triển Thiết bị cầm tay có khả Android thị trường thiết bị G1 HTC sản xuất bán T-Mobile Nó trở nên sẵn có sau gần năm đồn đại, mà công cụ phát triển phần mềm sẵn có số phát hành Bộ công cụ phát triển phần mềm (SDK) cải tiến dần bước Khi ngày phát hành G1 gần đến, nhóm Android phát hành SDK V1.0 ứng dụng bắt đầu vượt lên nhằm hướng tới tảng Để kích thích đổi phát triển ứng dụng Android, Google tài trợ hai vòng thi “Các thách thức nhà phát triển Android”, hàng triệu đô la đổ vào ứng dụng dự thi hàng đầu Vài tháng sau G1, Android Market phát hành, cho phép người sử dụng duyệt tải ứng dụng trực tiếp vào điện thoại họ Trong vòng 18 tháng, di động thức có mặt thị trường đối thủ cạnh tranh nặng ký di động phổ biến trước Symbian hay Window Mobile Android cung cấp đầy đủ công cụ thiết kế cho nhà phát triển tận dụng tối đa lợi thiết bị cầm tay để xây dựng nên ứng dụng thực thuyết phục Họ tạo ứng dụng gọi thực chức lõi điện thoại thực gọi, gửi tin nhắn SMS, dùng camera … hay chia sẻ thông tin cá nhân lên trang web chẳn hạn thơng tin liên lạc, vị trí địa lí, lịch biểu… Các nhà phát triển cịn làm việc thiết bị Android hệ thống Android giao tiếp thơng qua Intents – đơn giản chuỗi mô tả hành động – ví dụ: “android.provider.Telephony.SMS_RECEIVED” Android cịn cung cấp sẵn dịch vụ định vị (và mạnh Google) với tập ứng dụng “Map” với tính ấn tượng dị đường, tính khoảng cách địa điểm, tìm bạn … Ngồi cịn có số tính bật khác Animation đồng thời hỗ trợ media-playback Android dần hoàn thiện qua phiên bản, mà phiên Android 3.1 1.2 Nền tảng Android: Với khả rộng rãi Android, dễ dàng nhầm lẫn với hệ điều hành máy tính để bàn Android môi trường phân tầng, xây dựng hệ điều hành nhân Linux, bao hàm nhiều chức phong phú Hệ thống giao diện người sử dụng gồm có:  Cửa sổ  Khung hình  Các tiểu trình để hiển thị phần tử phổ biến hộp biên soạn, danh sách, danh sách thả xuống Android gồm trình duyệt nhúng vào được, xây dựng dựa WebKit, máy (engine) trình duyệt mã nguồn mở động trình duyệt Safari iPhone Android khoe mảng dồi nhiều tùy chọn kết nối, gồm WiFi, Bluetooth liệu không dây qua kết nối di động (như GPRS, EDGE 3G) Một kỹ thuật phổ biến ứng dụng Android liên kết tới Google Maps để hiển thị địa trực tiếp ứng dụng Việc hỗ trợ cho dịch vụ dựa địa điểm (chẳng hạn GPS) dụng cụ đo gia tốc có sẵn gói phần mềm Android, khơng phải tất thiết bị Android trang bị với phần cứng cần thiết Ngồi cịn có hỗ trợ máy ảnh (camera) Về mặt lịch sử, có hai lĩnh vực mà ứng dụng di động gắng sức theo kịp đối tác máy tính để bàn đồ họa/đa phương tiện phương thức lưu trữ liệu Android giải thách thức đồ họa hỗ trợ dựng sẵn cho đồ họa 2D 3D, gồm thư viện OpenGL Gánh nặng lưu trữ liệu giảm nhẹ Android có gồm sở liệu SQLite mã nguồn mở phổ biến Hình cho thấy khung hình đơn giản hóa tầng phần mềm Android Hình – Cấu trúc Android 1.3 Kiến trúc ứng dụng Android: 1.3.1Máy ảo Dalvik: Các ứng dụng Android viết ngơn ngữ lập trình Java chúng chạy máy ảo (VM) Điều quan trọng phải lưu ý VM máy ảo Java mà máy ảo Dalvik (Dalvik Virtual Machine), công nghệ mã nguồn mở Chiếc máy ảo dựa việc đăng kí (register-based) thiết kế Dan Bornstein vài kĩ sư Google Thuật ngữ “register-based” nói lên khác biệt máy ảo Android với máy ảo JAVA thông thường Tương tự máy ảo JAVA, máy ảo thơng dịch, thơng dịch file có định dạng dex (Dalvik Execute) – định dạng giúp tối ưu nhớ khả lưu trữ máy ảo – Các máy ảo JAVA ngày chủ yếu dựa ngăn xếp (Stack-based), với tính chất cho phép rút ngắn thời gian thực thi chương trình Mỗi ứng dụng Android chạy cá thể máy ảo Dalvik, đến lượt, cá thể máy ảo nằm tiến trình nhân Linux quản lý, trình bày Hình – Máy ảo Dalvik 1.3.2 Các thành phần ứng dụng Android: Một ứng dụng Android gồm thành phần sau:  Hoạt động (Activity): ứng dụng có giao diện người dùng nhìn thấy được, thực Activity Activity dùng Views để tạo nên giao diện đồ họa người dùng, để hiển thị thông tin đáp lại hành động người dùng Khi người dùng chọn ứng dụng từ hình chủ trình khởi chạy ứng dụng Activity khởi động Activity Android tương tự Form ứng dụng desktop truyền thống  Dịch vụ (Services): service làm việc ẩn ứng dụng, sử dụng để thực xử lý thơng thường cần chí lúc Activity không hoạt động ẩn đi.Một dịch vụ nên sử dụng đối 10 với ứng dụng cần tồn thời gian dài, chẳng hạn trình giám sát mạng ứng dụng kiểm tra cập nhật  Trình cung cấp nội dung (Content Providers): coi máy chủ sở liệu Cơng việc quản lý truy cập chia sẻ liệu tồn tại, chẳng hạn sở liệu SQLite Nó cấu hình phép ứng dụng khác truy xuất ngược lại Nếu ứng dụng đơn giản khơng thiết phải tạo trình cung cấp nội  dung Trình thu phát (Broadcast Receivers): cách tạo đăng ký Broadcast Receiver, ứng dụng Android lắng nghe toàn Intent theo chuẩn cụ thể định Các Broadcast Receiver chạy ứng dụng cách tự động để đáp ứng Intent gửi đến, hay xử lý phần tử liệu đáp ứng kiện, chẳng hạn nhận văn thông báo Việc tách rời phụ thuộc thành phần ứng dụng giúp việc chia trao đổi ứng dụng khác trở nên dễ dàng 1.4 Vòng đời ứng dụng Android: Không giống ứng dụng tảng khác, ứng dụng Android khơng có điều khiển đến vịng đời chúng Thay vào đó, thành phần ứng dụng phải lắng nghe việc thay đổi trạng thái bên ứng dụng tác động trở lại cách hợp lý Mỗi ứng dụng Android tiến trình nó, chạy thể riêng biệt Dalvik Việc quản lý nhớ tiến trình ứng dụng Android điều khiển cách riêng lúc runtime Android quản lý tài nguyên cách chặt chẽ, làm việc để đảm bảo cho thiết bị trì đáp ứng Điều có nghĩa tiến trình bị hủy mà khơng có cảnh báo cần giải phóng tài nguyên cho ứng dụng có độ ưu tiên cao 123 Hình 32 - Menu Hình 33 - Menu More 124 Hình 34 - Menu vẽ hình Hình 35 - Menu pha màu 125 Hình 36 - Menu phép biến đổi Hình 37 - Menu phép chiếu 6.2.2 Hình ảnh số chức chương trình: Một số chức trình bày chương 5, nhóm thực bổ sung số hình ảnh các chức khác 126 Hình 38 – Kết hợp phép biến đổi Hình 39 – Demo chiều sâu 127 Hình 40 –Demo vẽ mặt trụ Hình 41 – Demo vẽ mặt nón 128 Hình 41 – Demo vẽ mặt nón cụt Hình 42 – Demo vẽ mặt cầu 129 Hình 43 – Mơ đường hầm 3D 130 PHẦN C: KẾT LUẬN Kết đạt được: Đứng trước phát triển thiết bị di động đòi hỏi người lĩnh vực giải trí, ứng dụng thiết bị di động ngày cao Với đề tài “Xây dựng ứng dụng 3D với Android”, khóa luận trình bày tổng quan lập trình Android kĩ thuật lập trình đồ họa dựa thư viên OpenGL ES Qua xây dựng mơ hình 3D Android để làm tảng cho việc thiết kế games 3D di động Tuy nhiên hạn chế điều kiện thời gian lực nhóm, khố luận khơng thể tránh khỏi thiếu sót Kính mong đóng góp ý kiến thầy bạn để nhóm thực hồn thiện đề tài nghiên cứu đợt làm khóa luận tốt nghiệp Hướng phát triển: Hiện tại, hệ điều hành Android phát triển rực rỡ, tính mở Và cộng đồng lập trình viên khắp giới quan tâm tìm hiểu, đồng thời trợ giúp cho Google phát triển hồn thiện tính cho hệ điều hành Đồng thời, ứng dụng 3D hấp dẫn người dùng Do đó, tương lai nhóm thực tiếp tục tìm hiểu, sâu kỹ thuật 3D cho ứng dụng Android, hướng đến phát triển demo thành game 3D hoàn chỉnh 131 PHỤ LỤC Hướng dẫn cài đặt: Cài đặt ứng dụng cho Emulator: a Khởi động emulator muốn install ứng dụng (Vào Eclipse- >Window/Android SDK and AVD manager -> chọn AVD Start) b .Đưa file ImageEditor.apk vào folder tools folder chứa sdk VD: C:\android-sdk-windows\tools c Mở Command shell lên di chuyển tới folder VD: Trong Window vào Run gõ cmd, dùng lệnh cd để tới folder tools d Gõ vào command shell lệnh adb install VD: adb install ImageEditor.apk e Vào emulator -> chọn ứng dụng chạy Cài đặt ứng dụng cho điện thoại thật: a Kết nối điện thoại với máy tính qua cổng usb b Thay đổi cài đặt ứng dụng, vào MENU > Settings > Applications > Unknown Sources c Bật Usb debugging điện thoại, vào MENU > Settings > Applications > Development, sau enable USB debugging d Mở Command shell lên di chuyển tới folder VD: Trong Window vào Run gõ cmd, dùng lệnh cd để tới folder tools e Gõ vào command shell lệnh adb install VD: adb install ImageEditor.apk f Vào emulator -> chọn ứng dụng chạy 132 TÀI LIỆU THAM KHẢO Vladimir Silva Pro android games Apress Springer-Verlag New York 2009 Sayed Y Hashimi, Satya Komatineni, Dave MacLean Pro android Apress Springer-Verlag New York 2010 Reto Meier Professional Android™ Application Development Wiley Publishing, Inc 2009 Mikael Gustavssom 3D Game Engine Design for Mobile Phones with OpenGL ES 2.0 Master of Science Thesis Stockholm, Sweden 2008 Kari Pulli, Tomi Aarnio, Ville Miettinen, Kimmo Roimela, Jani Vaarala Mobile 3D Graphics with OpenGL ES and M3G Morgan Kaufmann Publishers Elsevier Inc 2008 Aaftab Munshi, Jon Leech OpenGL ES Common Profile Specification The Khronos Group Inc 2009 Frank Ableson Nhập môn phát triền ứng dụng Android 2011 Bùi Minh Trường Lập trình Opengl với thư viện AUX www.nhipsongcongnghe.net Android OpenGL ES Issues OmniG Software Inc 2008 10 Phan Mạnh Cường Luận văn Ngiên cứu lập trình C++ Symbian 2009 11 Châu Duy Thiện, Vũ Thùy Linh, Lê Quốc Tiến Tiểu luận Tìm hiểu viết ứng 12 13 14 15 16 17 dụng hệ điều hành mobile Android 2010 http://www.android.com/ http://developer.android.com/index.html http://code.google.com/intl/vi-VN/android/ http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es http://nehe.gamedev.net/ http://www.anddev.org/android-2d-3d-graphics-opengl-tutorialsf2/page300.html ... đời ứng dụng Android: Không giống ứng dụng tảng khác, ứng dụng Android khơng có điều khiển đến vịng đời chúng Thay vào đó, thành phần ứng dụng phải lắng nghe việc thay đổi trạng thái bên ứng dụng. .. ảo máy tính để phát triển ứng dụng với hàm API hỗ trợ cho lập trình viên lập trình thiết bị di động sử dụng tảng Android thông qua ngôn ngữ lập trình Java SDK gồm có:  android. jar : tập tin lưu... chọn ứng dụng từ hình chủ trình khởi chạy ứng dụng Activity khởi động Activity Android tương tự Form ứng dụng desktop truyền thống  Dịch vụ (Services): service làm việc ẩn ứng dụng, sử dụng

Ngày đăng: 28/04/2014, 10:50

Từ khóa liên quan

Mục lục

  • XÂY DỰNG

  • ỨNG DỤNG 3D

  • VỚI ANDROID

    • DANH MỤC HÌNH

    • Mở đầu

    • Phần A: Xây dựng ứng dụng 3D với Android

    • Chương 1: Tổng quan về ứng dụng trên Android

    • Chương 2: Các thành phần cơ bản của một ứng dụng trên Android

    • Chương 3: Thiết kế giao diện

    • Chương 4: Xử lý bất đồng bộ

    • Chương 5: Áp dụng OpenGL ES để tạo ứng dụng 3D trên Androi

    • Phần B: Chương trình Demo

    • Chương 6: Demo kỹ thuật vẽ hình 3D trên Android

    • Phần C: Kết luận

    • Tài liệu tham khảo

    • PHẦN A: XÂY DỰNG ỨNG DỤNG 3D VỚI ANDROID

    • Chương 1: Tổng quan về ứng dụng trên android

      • 1.1 Lược sử về Android:

      • 1.2 Nền tảng Android:

      • Hình 1 – Cấu trúc Android

        • 1.3 Kiến trúc ứng dụng Android:

          • 1.3.1 Máy ảo Dalvik:

          • Hình 2 – Máy ảo Dalvik

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

            • 1.4 Vòng đời của ứng dụng Android:

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

Tài liệu liên quan