【正文】
目前,由于 Android 桌面主題應(yīng)用程序,與普通的應(yīng)用程序不同,它是在系統(tǒng)啟動(dòng)時(shí)由系統(tǒng)進(jìn)程加載;加之,其內(nèi)部實(shí)現(xiàn)原理十分復(fù)雜,對觸摸事件響應(yīng)機(jī)制更是復(fù)雜。 在本論文的工程中, Workspace 類中通過 java 反射機(jī)制來實(shí)例化當(dāng)前主題樣式 proxy,并在相應(yīng)的方法中調(diào)用 proxy 的相應(yīng)方法。也就是說,這類應(yīng)用通過采 用某種機(jī)制來實(shí)現(xiàn)對自己行為的描述和監(jiān)測, 并能根據(jù)自身行為的狀態(tài)和結(jié)果,調(diào)整或修改應(yīng)用所描述行為的狀態(tài)和相關(guān)的語義 ① 。 基于 Android手機(jī)系統(tǒng)的 3D桌面主題開發(fā) 7 頁 第 2 章 關(guān)鍵技術(shù)介紹 JAVA 反射機(jī)制 JAVA 反射機(jī)制是在運(yùn)行狀態(tài)中,對于任意一個(gè)類,都能夠獲知此類的所有屬性和方法;對于任意一個(gè)對象,都能夠調(diào)用它的任意方法;這種動(dòng)態(tài)獲取信息以及動(dòng)態(tài)調(diào)用對象方法的功能稱為 JAVA 語言的反射機(jī)制。另外對于 OpenGL ES 應(yīng)用程序的性能優(yōu)化更是一個(gè)值得研究的領(lǐng)域。主要是由于在三維場景到二維屏幕的轉(zhuǎn)換過程需要大量的計(jì)算,而且這種計(jì)算需要重復(fù)地運(yùn)行,可是移動(dòng)設(shè)備難以承擔(dān)這種計(jì)算負(fù)載。因此,現(xiàn)在市場上帶有 3D 效果的軟件都是通過在屏幕中以不同方向繪制圖像而已,即模擬 3D 效果,并非真正的 3D 場景。如在移動(dòng)設(shè)備上實(shí)現(xiàn)各種 3D 效果等。 2020 年, google 公司提出的安卓智能手機(jī)操作系統(tǒng),風(fēng)靡全球,立即引發(fā)基于該系統(tǒng)的軟件開發(fā)熱潮,尤其是針對改善交互模式的手機(jī)主題開發(fā)。 關(guān)鍵詞: 安卓,桌面主題, OpenGL ES, Launcher, 3D,開發(fā) ① google 公司官網(wǎng) . ② 安卓開發(fā)者官網(wǎng) . ③ 本論文第 3 章將會(huì)介紹 ④ 本論文第 4 章將會(huì)介紹 基于 Android手機(jī)系統(tǒng)的 3D桌面主題開發(fā) 3 頁 ABSTRACT 2020,google has developed the Android smartphone operating system, which swept the world, making software engineers to develop on this system. And this thesis is to discuss the development of 3d desktop(the simulate 3D desktop and the 3D desktop based on OpenGL ES) based on the Android smart phone operating system and its optimized performance, in order to have a deeper understanding of the 3D development and put forward the views in the field. Both the simulate 3D desktop and the 3D desktop based on OpenGL ES are to modify the class named Workspace in the Android Launcher code. The difference is that this two desktop change screen in different ways to achieve the jump between Workspace child views. When changing screen, the simulate 3D desktop is to draw two images of the two related child views on the same screen at a fixed angle, a different visual direction. However, the 3D desktop based on OpenGL ES is to draw a N prism in the 3D scene, and each side of the prism is a corresponding image of the Workspace child view. Entering the corresponding child view of Workspace when user selects a side of the prism. Key Words: Android , Desktop Themes, OpenGL ES, Launcher,3D,develop 基于 Android手機(jī)系統(tǒng)的 3D桌面主題開發(fā) 4 頁 目錄 中文摘要 .............................................................. 1 ABSTRACT ............................................................. 3 目錄 ................................................................. 4 第 1 章 引言 ........................................................... 6 第 2 章 關(guān)鍵技術(shù)介紹 ................................................... 7 JAVA 反射機(jī)制 ......................................................... 7 Android Launcher ...................................................... 7 界面模型 .......................................................... 8 觸摸事件處理 ...................................................... 9 Launcher 開發(fā) ..................................................... 10 Opengl ES 標(biāo)準(zhǔn) ....................................................... 11 Opengl 標(biāo)準(zhǔn)簡介 ................................................... 11 OpenGL ES 管道 .................................................... 12 投影方式 ......................................................... 12 光照效果 ......................................................... 14 法向量 ........................................................... 15 物體的材質(zhì) ....................................................... 15 紋理貼圖 ......................................................... 16 第 3 章 開發(fā)模擬 3D 主題樣式 ............................................ 18 說明與概述 ........................................................... 18 解決方案 ............................................................. 18 優(yōu)化方案 ............................................................. 20 第 4 章 開發(fā) Opengl ES 3D 主題樣式 ....................................... 22 說明與概述 ........................................................... 22 解決方案 ............................................................. 23 坐標(biāo)計(jì)算 ......................................................... 23 方案一 ....................................................... 23 方案二 ....................................................... 24 比較方案 ..................................................... 26 方案修正 ..................................................... 27 鏡像技術(shù) ......................................................... 29 優(yōu)化方案 ............................................................. 36 總結(jié) ................................................................. 38 基于 Android手機(jī)系統(tǒng)的 3D桌面主題開發(fā) 5 頁 參考文獻(xiàn) ............................................................. 40 致 謝 .............................................................. 41 基于 Android手機(jī)系統(tǒng)的 3D桌面主題開發(fā) 6 頁 第 1 章 引言 進(jìn)入 21世紀(jì),信息技術(shù)高速發(fā)展。在用戶轉(zhuǎn)屏?xí)r,模擬 3D 通過在同一屏幕上以固定的夾角、不同的視覺方向繪制兩個(gè)相關(guān)的子視圖圖像,從而實(shí)現(xiàn)轉(zhuǎn)屏效果。 模擬 3D與基于 OpenGL ES 的 3D主題樣式都是通過修改 Android Launcher 源碼 中的Workspace 類來實(shí)現(xiàn)。 基于 Android手機(jī)系統(tǒng)的 3D桌面主題開發(fā) 1 頁 論文題目 : 基于 Android手機(jī)系統(tǒng)的 3D 桌面主題開發(fā) 基于 Android手機(jī)系統(tǒng)的 3D桌面主題開發(fā) 2 頁 中文摘要 2020 年, google 公司 ① 提出的安卓( Android) ② 智能手機(jī)操作系統(tǒng),風(fēng)靡全球,立即引發(fā)基于該系統(tǒng)的軟件開發(fā)熱潮。本論文主要是討論與研究 基于安卓智能手機(jī)操作系統(tǒng)桌面 3d 特效(模擬 3D主題樣式 ③ 與基于 OpenGL ES 的 3D主題樣式 ④ )的開發(fā)及其性能優(yōu)化,以期能對 3D開發(fā)有更深入的理解,以便能提出 3D開發(fā)方面的見解。區(qū)別在于兩種主題樣式以不同的轉(zhuǎn)屏方式來實(shí)現(xiàn) Workspace 子視圖之間的跳轉(zhuǎn)。而基于 OpenGL ES 的 3D主題樣式則通過在 3D場景上繪制正 N 棱體,棱體的每個(gè)側(cè)面是相對應(yīng)的 Workspace 子視圖圖像,用戶通過選擇不同的側(cè)面來進(jìn)入不同的子視圖。特別是移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,帶領(lǐng)人們進(jìn)入了“智能手機(jī)”時(shí)代。 由于移動(dòng)設(shè)備硬件的不斷發(fā)展升級(jí),用戶越來越渴望移動(dòng)設(shè)備能有更好的用戶體驗(yàn)。但目前的移動(dòng)設(shè)備硬件雖然有了一定的發(fā)展,可是對于運(yùn)行高耗性能的 3D 效果等,還 是力不從心。 實(shí)際上,在手機(jī)這種計(jì)算能力仍然十分有限的設(shè)備上,繪制真正的 3D場景(使用 OpenGL ES標(biāo)準(zhǔn))的確存在很大的瓶頸。所以如何在手機(jī)系統(tǒng)上展現(xiàn) 3D 效果是一個(gè)十分值得研究的問題。 本論文討論與研究 基于 Android 智能手機(jī)操作系統(tǒng)桌面 3d 特效的開發(fā)及其性能優(yōu)化,以期能對 3D開發(fā)有更深入的理解,以便能提出 3D開發(fā)方面的見解。 反射是 Java被認(rèn)為是動(dòng)態(tài)語言的一個(gè)非常重要的特性,它允許動(dòng)態(tài)發(fā)現(xiàn)和綁定類、方法、字段,以及所有其他的由語言所產(chǎn)生的元素。 Java 反射機(jī)制主要提供了以下功能: 在運(yùn)行時(shí)判斷任意一個(gè)對象所屬的類; 在運(yùn)行時(shí)構(gòu)造任意一個(gè)類的對象; 在運(yùn)行時(shí)判斷任意一個(gè)類所具有的成員變量和方法; 在運(yùn)行時(shí)調(diào)用任意一個(gè)對象的方法; 生成動(dòng)態(tài)代理。利用反射機(jī)制實(shí)例化對象的主要代碼為代碼。因此