基于Android的五子棋游戲的設(shè)計畢業(yè)論文_第1頁
基于Android的五子棋游戲的設(shè)計畢業(yè)論文_第2頁
基于Android的五子棋游戲的設(shè)計畢業(yè)論文_第3頁
基于Android的五子棋游戲的設(shè)計畢業(yè)論文_第4頁
基于Android的五子棋游戲的設(shè)計畢業(yè)論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、上海電力學(xué)院上海電力學(xué)院本科畢業(yè)設(shè)計(論文)本科畢業(yè)設(shè)計(論文) 題目: 基于 android 的 五子棋游戲設(shè)計 院系: 計算機與信息工程學(xué)院 專業(yè)年級: 2008 電子科學(xué)與技術(shù) 學(xué)生姓名: 王思超 學(xué)號: 20082618 指導(dǎo)教師: 金一鳴 2012 年 06 月 11 日基于 android 的五子棋游戲設(shè)計摘摘 要要 移動互聯(lián)網(wǎng)時代的到來極大的改變了我們的生活,而 android 是一種以 linux 為基礎(chǔ)的開放源碼操作系統(tǒng)迅速占領(lǐng)了智能機操作系統(tǒng),所以在 android 環(huán)境下開發(fā)顯得尤為必要。本文詳細(xì)介紹了在 android 平臺上以 java 為語言編寫游戲的過程。五子棋游

2、戲的開發(fā)不僅是一個簡單游戲的編寫過程,更重要的是在系統(tǒng)分析和設(shè)計階段所做的工作。本文在設(shè)計過程中嚴(yán)格遵循軟件工程學(xué)的方法,用分階段的生命周期計劃嚴(yán)格管理,并主要講述了程序的總體設(shè)計、詳細(xì)設(shè)計階段,對程序進(jìn)行需求迭代,不斷修正和改進(jìn),利用 surface 重繪等數(shù)據(jù)存儲功能,直到形成一個完善的可行性系統(tǒng).界面美觀、大方,方便的操作與良好的視覺感應(yīng)共同構(gòu)成了“基于 android 平臺的五子棋游戲設(shè)計與開發(fā)”的設(shè)計。關(guān)鍵詞關(guān)鍵詞: android,java,數(shù)據(jù)存儲,軟件工程,五子棋the five in a row game based on androidabstractarrival of

3、the mobile internet era has greatly changed our lives, and android is a linux-basedopen source operating system quickly occupied the smartphone operating system, android developmentis particularly necessary under the circumstances. this paper focus on a based on the android platform of five in a row

4、 game design and development program design and application system develoment issues as the background, introduces in detail in the android platform to java language write games for the process.the development of the quintet game is not just a progress of programing. whatsmore, we need to pay more a

5、ttention to the work on the period of systematic analysis and design.the program follows the software engineering strictly and narrates the major design and section. thisprogram maily talk about the period of the system design and the detailed design. and also it will study on the bug fixing and imp

6、rovements. by using the some fuctiong of datalogging such as the surface, it build a practicable system. the nice and expert interface and good visual introduction form the design which is based on the designing and development of android platform five-in-a-row game. key words: android,java, data st

7、orage,software engineering, five in a row目目 錄錄1緒論緒論.51.1 背景.71.2 課題來源.71.3 國內(nèi)外研究現(xiàn)狀.81.4 論文主要工作.82 android 的開發(fā)環(huán)境的開發(fā)環(huán)境.92.1 操作系統(tǒng).92.2 android開發(fā)環(huán)境 .92.3 android開發(fā)環(huán)境變量配置 .102.3.1 jdk的配置.102.3.2 sdk的配置.112.4 eclipse設(shè)置.112.5 android開發(fā)環(huán)境配置最終步驟 .123 android 的架構(gòu)分析的架構(gòu)分析.123.1 android的功能特征 .123.2 android架構(gòu)分析 .

8、143.2.1 應(yīng)用程序框架.143.2.2 類庫.153.2.3 android運行時的組件.163.3 android應(yīng)用的構(gòu)成和工作機制 .164 android 應(yīng)用程序架構(gòu)結(jié)構(gòu)剖析應(yīng)用程序架構(gòu)結(jié)構(gòu)剖析.164.1 應(yīng)用程序基礎(chǔ).174.2 應(yīng)用程序組件.174.2.1 活動(activities).184.2.2 服務(wù)(services).204.2.3 廣播接收者(broadcast receivers).214.2.4 內(nèi)容提供者(content providers).225 程序的設(shè)計與實現(xiàn)程序的設(shè)計與實現(xiàn).225.1 程序的算法研究:.235.1.1 棋盤布局的數(shù)據(jù)結(jié)構(gòu).23

9、5.1.2 行棋坐標(biāo)判定.245.1.3 勝負(fù)的判定.255.2 流程設(shè)計.265.3 游戲的實現(xiàn):.275.4 改進(jìn)與優(yōu)化.29總結(jié)總結(jié).30參考文獻(xiàn)參考文獻(xiàn).31附錄附錄 1.321緒論 智能手機(smartphone),具有獨立的 操作系統(tǒng),像個人電腦一樣支持用戶自行安裝 軟件、游戲等第三方服務(wù)商提供的程序,并通過此類程序不斷對手機的功能進(jìn)行擴充,同時可通過移動通訊網(wǎng)絡(luò)來實現(xiàn) 無線網(wǎng)絡(luò)接入。目前,全球多數(shù)手機廠商都有智能手機產(chǎn)品,而芬蘭諾基亞、美國蘋果、加拿大 rim(黑莓) 、美國摩托羅拉、中國臺灣宏達(dá)( htc)更是智能機中的佼佼者。智能手機具有五大特點:1. 具備了無線接入互聯(lián)網(wǎng)的

10、能力,即要有 gsm 的支持網(wǎng)絡(luò)下的 gprs或者是 cdma 網(wǎng)絡(luò)支持下的 cdma 1x 或 3g 網(wǎng)絡(luò)。2. 人性化,可以根據(jù)個人需要擴展機器的功能。3. 它是具有開放性的操作系統(tǒng),還可以安裝非常多的應(yīng)用程序,使得智能手機的功能可以得到無限的擴展。4. 具有 pda 功能,其中包括個人信息管理、日程記事、任務(wù)安排、多媒體應(yīng)用、瀏覽網(wǎng)頁。5.強大的功能,擴展性能強,第三方軟件支持多。android 的誕生:從時間要追溯到 二零零三年,在參與到 android 的傳奇之前,它的創(chuàng)始人 andy rubin 在周刊中這么說過:“在開發(fā)對于用戶位置以及狀態(tài)更加敏感的移動設(shè)備方面存在著巨大的潛力”

11、,他還說過:“很快他們就會在消費類產(chǎn)品中使用這些位置信息,如果開發(fā)者足夠聰明的話。 ”現(xiàn)在看起來他自己都沒想到他的預(yù)言是多么的準(zhǔn)確:實際上,移動領(lǐng)域?qū)l(fā)生巨變,從而催生出我們從未見過的強大的智能手機。到二零零五 年有很多關(guān)于 google 即將進(jìn)軍移動設(shè)備制造領(lǐng)域并專注于制造基于位置服務(wù)的手機的謠傳,但最大的障礙就在于 google 沒有自己的可以達(dá)成這個目標(biāo)的平臺。在二零零五 年 七月,google 收購了 android,這么一個小規(guī)模收購行動還是立刻引起了移動業(yè)界的興趣,它們懷疑這是 google 進(jìn)入移動市場的的標(biāo)志。盡管如此,這個當(dāng)時只是一個小規(guī)模的移動軟件開發(fā)公司正是由 andy

12、 rubin、rich miner、nick sears 以及 chris white 四個人共同創(chuàng)建的?,F(xiàn)在看來,他們的懷疑是正確的。差不多兩年半以后,在 二零零七 年 十一 月 五 日,google 發(fā)布了 android,它這個的發(fā)布給移動業(yè)界帶來了一場可怕的風(fēng)暴, ,基于 linux 的全新移動操作系統(tǒng)。這不單單是一個全新的移動系統(tǒng),非常重要的是:它是開源的。這是當(dāng)時新成立的開放手機聯(lián)盟整合下的成果,諸如 google、htc、intel、sprint-nextel、t-mobile 以及 nvidia 都是這個聯(lián)盟的成員,該聯(lián)盟的目的就是要創(chuàng)立移動設(shè)備的開放標(biāo)準(zhǔn)。第一款搭載 andr

13、oid 系統(tǒng)的手機是 2008 年 9 月由 t-mobile 發(fā)布的 g1,它擁有 gps 功能,3.1m 攝像頭,以及一系列的 google 應(yīng)用。g1 的面市,正式拉開了 google 以及整個移動業(yè)界激動人心的大冒險的序幕。android 操作系統(tǒng)版本android 1.1 (發(fā)布于 2009 年 2 月)android 1.5 “cupcake” 這是第一個主要版本,發(fā)布于 2009 年 5 月.這個升級之后,它的更新給用戶帶來了新的體驗。用戶界面得到了極大的改良,并且增添了以下功能。android 1.6 “donut” 2009 年 9 月發(fā)布。搭載 android 1.6 的

14、htc hero 獲得了意想不到的成功。使得原來用許多都沒有用過 android 的人都對 android 非常的關(guān)注,并且也讓競爭者蘋果和微軟更加警惕了。android 2.0/2.1: 2009 年 10 月 26 日,又一個主要版本升級以創(chuàng)紀(jì)錄的速度放出。這次,大版本升級到了 android 2.0/2.1 “eclair.”。android 2.0.1 sdk 在 2009 年 12 月 3 日發(fā)布出來,后來是 2010 年 1 月 10 日發(fā)布的 2.1 版本。很多圍觀群眾和用戶可能會有點奇怪:“android 為什么會被用甜點作為它系統(tǒng)版本的代號?”,其實這個命名方法開始在 and

15、oird 1.5 發(fā)布出來的時候。每一個版本代表的甜點的尺寸就越變越大,然后按照字母的數(shù)序:小蛋糕,甜甜圈和松餅。在這之前人們預(yù)計 2.2 版本的代號可能是“餡餅”,但這個最終被證明是錯誤的, “froyo”(凍酸奶)才是 android 2.2 這個伴隨 google nexus one 發(fā)布的新版的最新代號。而下一個版本的代號將會是“姜餅”。android 2.2 “froyo”: nexus one 的用戶已經(jīng)開始接受 android 2.2 “froyo”的無線更新,其它機型的用戶可能會在短時間內(nèi)獲取到這一更新的。這一版本的更新出來會讓大量讓其他手機用戶垂涎三尺。有關(guān)的消息眾口一詞聲稱

16、 android 3.0 “gingerbread”,google 將會在今年秋天的某個時候發(fā)布出來,它將帶來給用戶新的體驗。從 android 的發(fā)展旅途中,我們看到 2003 年 andy 他是一個有遠(yuǎn)見的人,看到了 2005 年的起步和被 google 的收購,也看到了系統(tǒng)的進(jìn)步以及新的機型的快速發(fā)布。所有這一切都讓我們相信,android 將會走向世界第一移動操作系統(tǒng)寶座的步伐是勢不可擋的。android 平板電腦也在今年的夏天開始發(fā)布以及 google tv 發(fā)布以后(也許還有 google music?),android 可能真的會將繼續(xù)帶著我們走向移動設(shè)備夢想的彼岸。1.1 背景

17、背景在我們的生活中有許多的游戲,但是游戲不同,它也會給玩家?guī)聿煌母惺芎蜕罾砟?。游戲是我們?nèi)粘I畹囊粋€必不可少的娛樂項目,也帶動了游戲相關(guān)產(chǎn)業(yè)市場的發(fā)展。游戲平臺是經(jīng)過從游戲機到電視游戲,然后從到 pc 游戲,到手機游戲,中間經(jīng)歷了很多的技術(shù)的更新和變革。但隨著新技術(shù)的發(fā)展和我們生活水平質(zhì)量的提高,手機開始逐漸變?yōu)槠占?,因為手機是非常小巧便捷的,而且方便的特性成為我們?nèi)粘I钪斜貍渫ㄓ嵐ぞ?。而基于手機平臺的游戲也就擁有的市場空間是巨大的,也因隨著 3g 的開通和應(yīng)用,手機游戲必然會迎來新的一輪游戲熱潮!1.2 課題來源課題來源現(xiàn)在的移動電話是小型的計算機,它的處理能力與臺式機的標(biāo)準(zhǔn)處理能

18、力相比很有限,但是足夠運行一個小型的游戲。現(xiàn)在的手機的一個特性就是它們還是網(wǎng)絡(luò)計算機,能夠高速發(fā)送和接收數(shù)字?jǐn)?shù)據(jù)。除了語音數(shù)據(jù)以外,它們還可以發(fā)送和接收其它類型的數(shù)據(jù)。所以這樣的網(wǎng)絡(luò)游戲也可以在手機上實現(xiàn)。短信類游戲就好像“虛擬寵物”那樣。短信游戲是通過玩家和游戲服務(wù)商通過短信中的文字的內(nèi)容來交流,達(dá)到進(jìn)行游戲的目的的一種文字游戲。 由于短信游戲的整個游戲過程都是通過文字來表達(dá),造成短信游戲的娛樂性較差。但是短信游戲卻是兼容性最好的手機游戲之一。只要您的手機可以發(fā)短信,您就可以暢快的享受短信游戲給您帶來的快樂了。圖形類游戲更接近我們常說的“電視游戲”,玩家通過動畫的形式來發(fā)展情節(jié)進(jìn)行游戲。由于

19、游戲采用了更為直觀且更為精美的畫面直接表現(xiàn),因此圖形類游戲的游戲性和代入感往往較文字類游戲高。因此廣受玩家們的歡迎。嵌入式游戲是一種將游戲程序預(yù)先固化在手機的芯片中的游戲。由于這種游戲的所有數(shù)據(jù)都是預(yù)先固化在手機芯片中的,因此這種游戲是無法進(jìn)行任何修改的。也就是說,您不能更換其它游戲的,只能玩您手機中已經(jīng)存在的娛樂游戲,而且您也不能將它們刪除。手機在網(wǎng)絡(luò)游戲行業(yè)在多年的技術(shù)經(jīng)驗與運營經(jīng)驗的積累與總結(jié)之后,到了 2009 年迫不及待的需要創(chuàng)新出新的游戲模式和嶄新的運營模式來推動手機游戲市場的爆發(fā)和發(fā)展。其中比較吸引人們的是手機的休閑類的游戲。應(yīng)該可以說它是與 pc 網(wǎng)絡(luò)游戲完全的脫離開了,而且充

20、分發(fā)揮了自身的優(yōu)勢手機終端。休閑類的游戲恰巧與之相反,只需要很少的網(wǎng)絡(luò)流量的網(wǎng)絡(luò)環(huán)境,通過少量多次的游戲形式帶給玩家流暢的游戲體驗滿足玩家瞬間提升的快感,但是同時卻很難具有長期的“沉迷”性。本題目是基于 android 平臺開發(fā)的一個小型的程序。其實都差不多,在有 java 的智能手機上都可以運行。其實手機是我們生活中不可缺少的工具,這些小游戲可以帶給我們快樂和放松我們的心情。無論什么樣手機,我想買起來的時候上面就有一些它自帶的各種小游戲,其中有一個獨特的小游戲也是非常重要的。1.3 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀android 是 google 開發(fā)的基于 linux 平臺的開源手機操作系統(tǒng)。

21、它包括操作系統(tǒng)、用戶界面和應(yīng)用程序 移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。google 與開放手機聯(lián)盟合作開發(fā)了 android,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達(dá)電和 t-mobile 在內(nèi)的 30 多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。google 通過與運營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標(biāo)準(zhǔn)化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。android 作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)隨時隨地為每個人提供信息這一企業(yè)目標(biāo)的實現(xiàn)。我們發(fā)現(xiàn),全球為數(shù)眾多的移動電話用戶從未使

22、用過任何基于 android 的電話。谷歌的目標(biāo)是讓(移動通訊)不依賴于設(shè)備甚至平臺。出于這個目的,android 將補充,而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機制造商和移動運營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品。開放手機聯(lián)盟的成立和 android 的推出是對現(xiàn)狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入。但是,我們認(rèn)為全球移動用戶從中能獲得的潛在利益是值得付出這些努力的。如果你也是一個開發(fā)者,并對我們的想法感興趣,就請再給我們一星期的時間,屆時谷歌便能提供 sdk 了。如果你是一名移動用戶,只需再等一段時間,我們的一些合

23、作伙伴計劃在 2008 年下半年推出基于 android 平臺的電話產(chǎn)品。如果你已經(jīng)擁有一部你了解并喜愛的電話,請登錄 ,確保你已經(jīng)安裝谷歌手機地圖、gmail 以及其他一些專為你的手機開發(fā)的精彩應(yīng)用。谷歌將繼續(xù)努力,讓這些服務(wù)變得更好,同時也將添加更有吸引力的特性、應(yīng)用和服務(wù)。1.4 論文主要工作論文主要工作此游戲主要是采用 android 的 view 框架編寫,部分框架運用 android 中的其他組件。主要運用了算法來實現(xiàn)對棋局的分析,棋盤輸贏的判定。 ui 方面:此游戲當(dāng)進(jìn)入游戲的界面時,調(diào)用的是一個用相對布局-absolutelayout 的 xml 布局文件。其中包括了一個 ia

24、mgeview 和 4 個 button.分別實現(xiàn)了不同的功能。第一個 button 是進(jìn)入新游戲,點擊按鈕進(jìn)入新游戲,來選擇對手。第二個 button 是幫助,用了一個 textview 來說明怎樣來進(jìn)行游戲。第三個 button 是游戲的關(guān)于,用了一個 alertdialog 來介紹了一下游戲的這個游戲的好處。第四個 button 是游戲的退出按鈕。在游戲中,我用畫線來不滿了整個的手機屏幕,在上面用了 textview來進(jìn)行了文字的說明和提示。本篇論文,主要目的是為了探討更加深入的理解 android,為移動終端上的游戲軟件的打造提供一個思路。2 android 的開發(fā)環(huán)境的開發(fā)環(huán)境本章將

25、主要介紹如何構(gòu)建 android 開發(fā)環(huán)境,包括獲取 android sdk、eclipse 以及進(jìn)行 android eclipse 插件設(shè)置等。2.1 操作系統(tǒng)操作系統(tǒng)目前只支持 xp(32-bit)、vista(32/64-bit)、mac os x 10.4.8 或更新版本(x86)、linux(只在 linux ubuntu dapper drake 上面做過測試)。系統(tǒng) xp sp2/sp3 32bit 來做講解,其他系統(tǒng)的可以 google 一下差異,反正都大同小異的。2.2 android 開發(fā)環(huán)境開發(fā)環(huán)境無論是官方還是我本人,都建議使用 eclipse 進(jìn)行開發(fā),當(dāng)然,ecl

26、ipse 版本要在 3.3 以上,這是官方說法,3.3 以下我也沒測過,3.3 (europa)、3.4 (ganymede) 都可以,java 版本或者 ee 版本也都沒問題的,可以到 eclipse 官方下載最新版本。因為開發(fā)是基于 java 的,所以 jdk 是少不了的,jdk 要求是 5.0 或者 6.0,我還是用 5.0 比較多,可以到 sun 官方下載。2.3 android 開發(fā)環(huán)境變量配置開發(fā)環(huán)境變量配置2.3.1 jdk 的配置首先要到 sun 官方下載 jdk,注意的是下載 jdk 而不是下載 jre,因為 jre 是提供 java 的運行環(huán)境而不是開發(fā)環(huán)境。sun 官方網(wǎng)

27、站是:http:/下載后安裝是下的解壓包那就解壓到某目錄,例如解壓到是 c:program filesjavajdk1.5.0_14右鍵點擊我的電腦 - 屬性 - 高級,點擊下面的環(huán)境變量,在下面的“系統(tǒng)變量”處選擇新建在變量名處輸入 java_home 變量值中輸入剛才的目錄,比如我的就 c:program filesjavajdk1.5.0_14 。效果如圖 2-1 所示:圖 2-1 進(jìn)入環(huán)境變量確定后再新建一個變量名為 classpath,變量值為 %java_home%/lib/rt.jar;%java_home%/lib/tools.jar , 確定后找到 path 的變量,雙擊或點

28、擊編輯,在變量值最前面加上%java_home%/bin; 注意里面的是,確定、確定、確定后即可。具體如下圖 2-2 所示:圖 2-2 環(huán)境變量的設(shè)置然后開始 - 運行 cmd,輸入 java 或者 javac 看看有沒有效果,如果出來一大堆其它的東西,那就好了,如果出現(xiàn)類似 xxx 不是內(nèi)部或者是外部命令之類的,那就說明你的設(shè)置有問題,看看那里出問題然后加以改正。2.3.2 sdk 的配置因為我們要開發(fā)的 android 應(yīng)用程序,所以下的 sdk 是 google 那里下載,地址在 http:/ 以后更新后估計地址會變,所以大家可以從 http:/ 進(jìn)入 android 主頁,然后點擊 s

29、dk 就到了這個下載頁面,我是 xp,當(dāng)然下載了第一個 windows 的版本。下載后解壓到一個目錄,如是 d:sdkandroid-sdk-windows-1.5_r3android-sdk-windows-1.5_r3 然后同樣要設(shè)置環(huán)境變量,同 jdk 設(shè)置,新建一個 sdk_home,值為 d:sdkandroid-sdk-windows-1.5_r3android-sdk-windows-1.5_r3 ,然后找到 path,在前面加上%sdk_home%tools; 就 ok 了。和 jdk 一樣,我們也可以測試一下環(huán)境變量是否設(shè)置成功,cmd 窗口中輸入 android,出現(xiàn)一堆東

30、西,就完成了。2.4 eclipse 設(shè)置設(shè)置當(dāng)然,以上都搞定后,還不能馬上用 eclipse 開發(fā) android 應(yīng)用程序,還必須添加 eclipse 插件才行,幸好這步驟非常輕松,打開 eclipse 后,點擊菜單欄的 help - install new software. 然后點擊 add會出來一個 add site 的窗口,這里 name 輸入 android(自己取個就是了),location 中輸入插件的網(wǎng)絡(luò)地址:https:/dl- install,把android ddms 和 android development tools都選中,finish 就可以了,可能有段時間會

31、去計算插件占用資源情況,慢慢等會。完成后會提示重啟 eclipse 來加載插件,ok 重啟,就可以用了。2.5 android 開發(fā)環(huán)境配置最終步驟開發(fā)環(huán)境配置最終步驟為什么要有這個步驟,是因為運行了 example 的時候總會出現(xiàn)“failed to find an avd compatible with target”,所以在這里寫一下該步驟來提供大家的方便。avd 必須在運行實例之前前創(chuàng)建好,這個時候可以直接在 cmd 中輸入 android list,就會列出幾個由 avd 創(chuàng)建的 api,如果有 id1 id2 id3 分別對應(yīng) sdk1.1 sdk1.5 googleapis。然后

32、就運行 android create -name myname(取一個英文的名字) -target 3(如果要用 sdk1.5 就輸入2,1.1 輸出 1)3 android 的架構(gòu)分析的架構(gòu)分析3.1 android 的功能特征的功能特征 (l)應(yīng)用程序架構(gòu):在應(yīng)用程序架構(gòu)內(nèi)已經(jīng)具備多種不同的基礎(chǔ)組件,在開發(fā)應(yīng)用程序時,就可以直接調(diào)用這些組件來使用,可以節(jié)省開發(fā)應(yīng)用程序的心力及時間。(2)dalvik 虛擬機器:在 android 平臺上所使用 java 虛擬機,不是 sim 公司的標(biāo)準(zhǔn) java 虛擬機,而是使用 google 自主開發(fā)的代號為 dalvik 的虛擬機,它在保證 api 方

33、面的兼容的同時,針對移動手機進(jìn)行了大幅優(yōu)化,占用資源更小,運行效率更高。(3)集成的瀏覽器:集成的瀏覽器是 android 內(nèi)建的瀏覽器,是以 webkit 的瀏覽引擎為基礎(chǔ)所開發(fā)成的。wedkit 是一個開源瀏覽器網(wǎng)頁排版引擎,目前使用 webkit 引擎的瀏覽器主要有:safari,midori,epiphany 等。配合 android 手機的功能,可以在瀏覽網(wǎng)頁時,達(dá)到更好的效果,例如:局部性的縮放網(wǎng)頁上的資訊、觸控式的操作等效果。(4)優(yōu)化的繪圖能力:在程序里可以用到的繪圖功能分為 2d 與 3d 兩個方面。在 2d 方面,android提供了一套特有的類庫(sgl;而在 3d 方面

34、則是使用 opengles1.0(opengl for embedded systems)規(guī)范的類庫。它們是一種非??斓膱D形引擎,并且支持硬件加速。(5)sqlite 數(shù)據(jù)庫:sqlite 提供結(jié)構(gòu)化的數(shù)據(jù)存取。sqlite 是一款輕型的數(shù)據(jù)庫,它的設(shè)計目標(biāo)是嵌入式的,目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用的資源非常低。它能夠支持 windows/linux/u nix 等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 php,java 等,還有 odbc 接口,同樣比起 mysql,postgresql 來講,它的處理速度比它們都快。它無需安裝和管理配置,它是一個儲存在單一磁盤文件中

35、的完整數(shù)據(jù)庫,體積小只有 250kb 但支持?jǐn)?shù)據(jù)庫大小至 2tb。它雖然很小巧,但是支持的 sql 語句毫不遜色于其它開源數(shù)據(jù)庫。同時它還支持事務(wù)功能和并發(fā)處理等等。sqlite 也是一套開放性的關(guān)聯(lián)式資料庫,其特點在于輕量性方面的設(shè)計結(jié)構(gòu),更適合在手機上使用。(6)多媒體的支持能力:主要用于播放媒體文件。這同時包括對音頻(如播放 mp3 或其他音樂文件等)和視頻(如播放從網(wǎng)上下載的視頻)的支持,并支持“播放 uri 地址”(note:uri 即是統(tǒng)一資源識別地址)模式在網(wǎng)絡(luò)上直接播放的流媒體。另外支持各種通用的靜態(tài)圖像格式,例如:jpg、png、gif 等格式。(7)gsm 技術(shù):globa

36、l system for mobile communications,即全球移動通訊系統(tǒng),俗稱”全球通”,是一種起源于歐洲的移動通信技術(shù)標(biāo)準(zhǔn),是第二代移動通信技術(shù),其開發(fā)目的是讓全球各地可以共同使用一個移動電話網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶使用一部手機就能行遍全球。gsm 技術(shù)是屬于手機硬件方面的展現(xiàn),也是在開發(fā) android 應(yīng)用程序時可以突出的特點之一。(8)藍(lán)牙、edge、3g 及 wi-fi:藍(lán)牙是一種新型、開放、低成本、短距離的無線連接技術(shù),可取代短距離的電纜,實現(xiàn)話音和數(shù)據(jù)的無線傳輸。edge(enhanced data rate for gsm,evolution),即增強型數(shù)據(jù)速率 gsm

37、 演進(jìn)技術(shù)。edge 是一種從 gsm 到 3g 的過渡技術(shù),它主要是在 gsm 系統(tǒng)中采用了一種新的調(diào)制方法,即最先進(jìn)的多時隙操作和 spsk 調(diào)制技術(shù)。由于 8psk 可將現(xiàn)有 gsm 網(wǎng)絡(luò)采用的 gmsk 調(diào)制技術(shù)的信號空間從 2 擴展到 8,從而使每個符號所包含的信息是原來的 4 倍。wi-fi(wirelessfidelity),即無線保真技術(shù),與藍(lán)牙技術(shù)一樣,同屬于在辦公室和家庭中使用的短距離無線技術(shù)。該技術(shù)使用的是 2.4ghz 附近的頻段,該頻段目前尚屬沒用許可的無線頻段。其目前可使用的標(biāo)準(zhǔn)有兩個,分別是 ieee802.lla 和 ieee802.11b。這些通訊能力也是屬于

38、手機硬件方面的展現(xiàn),也是在開發(fā) android 應(yīng)用程序時可以突出的特點之一。(9)gps: global positioning system,即全球定位系統(tǒng),它是一個由覆蓋全球的 24 顆衛(wèi)星組成的衛(wèi)星系統(tǒng)。這個系統(tǒng)可以保證在任意時刻和任何地點都可以同時觀測到 4 顆衛(wèi)星,以保證衛(wèi)星可以采集到該觀測點的經(jīng)緯度和高度,以便實現(xiàn)導(dǎo)航、定位、授時等功能。這項技術(shù)可以用來引導(dǎo)飛機、船舶、車輛以及個人。這個同樣也是屬于手機硬體方面的體現(xiàn),也是在開發(fā) android 應(yīng)用程序是可以突出的特點之一。3.2 android 架構(gòu)分析架構(gòu)分析圖中顯示的是 android 架構(gòu)的五個主要部分。3.2.1 應(yīng)用

39、程序框架在 android sdk 中,定義了讓開發(fā)者使用與核心應(yīng)用程序相同 api 的權(quán)限應(yīng)用程序框架是為了要簡化組件的重新利用而設(shè)計的,應(yīng)用程序可以發(fā)布功能為其它應(yīng)用程序所使用。但是,這要受限于應(yīng)用程序架構(gòu)的安全機制,使用者以用同樣的機制來新增、置換組件。目前所有的應(yīng)用程序是由服務(wù)及系統(tǒng)來組成,包含有:(l)一套強大和可擴展的視圖系統(tǒng):用來建構(gòu)一個應(yīng)用程序的基本組件,包了在開發(fā)系統(tǒng)畫面時,常用的列表、網(wǎng)格、文本框、按鈕等控制項,甚至是內(nèi)嵌的 web 瀏覽器。 圖 2-1 android 架構(gòu)的五個部分(2)內(nèi)容提供者:使應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)庫),或者共享它們自己

40、的數(shù)據(jù)。(3)資源管理器:提供各種非程序代碼的資源讓應(yīng)用程序去使用。例如:本字符串、圖形文件或排版相關(guān)的布局文件。(4)通知管理器:提供應(yīng)用程序在狀態(tài)欄中顯示應(yīng)用程序自定義的提示信息。(5)活動管理器:管理所有應(yīng)用程序的生命周期及提供常用的導(dǎo)航回退功能。例如:啟動應(yīng)用程序要用到的資源準(zhǔn)備及關(guān)閉應(yīng)用程序時釋放內(nèi)存及相關(guān)資源等工作。(6)視窗管理器:用來管理所有啟動程序的視窗。(7)位置管理器:用來管理地圖服務(wù)的相關(guān)功能。(8)電話管理器:用來管理用戶撥打與接聽電話的相關(guān)功能。(9)包管理器:管理所有安裝在 android 系統(tǒng)內(nèi)的包。3.2.2 類庫在 android 中包含一些 c/c+的類庫

41、,這些類庫能被 android 系統(tǒng)中不同的組件來使用。開發(fā)者可以通過應(yīng)用程序框架使用這些功能。部分核心類庫列表如下:(1)surface manager:主要的功能是讓開發(fā)者可以去存取/顯示系統(tǒng)及管理的功能,在顯示與存取操作間的對應(yīng)、互動以及實現(xiàn)無接縫的 2d/3d 多應(yīng)用程序之間的整合。例如:在 2d、2d 顯示上的合成、疊合動作。(2)3dlibraries:主要是依 opengles1.0 規(guī)范所定義的 3d 繪圖引擎。該庫使用硬件加速(當(dāng)硬件可用時),可以將硬件的 3d 功能做最佳化的處理顯示。(3)sgl:主要是處理有關(guān)顯示 2d 方面的繪圖引擎。(4)media frame wo

42、rk:主要是以 packetvideo 公司的 opencore 為基礎(chǔ)所發(fā)展的多媒體類庫,該庫支持回放和錄制大量流行的音視頻格式和靜態(tài)圖片。例如:mpeg4、h.264、mp3、aac、amr、jpg、png、gif 等格式(5)free type:主要是用來顯示點陣圖和處理向量字形的。(6)ssl:(securesocketsuyer),中文名為“安全套接層協(xié)議層” ,它是網(wǎng)景公司提出的基于 web 應(yīng)用的安全協(xié)議,當(dāng)前版本為 3.0。ssl 協(xié)議指定了一種在應(yīng)用程序協(xié)議(如 http、telenet、nmtp 和 ftp 等)和 tcp/ip 協(xié)議之間提供數(shù)據(jù)安全性分層的機制,它為 tc

43、p/ip 連接提供數(shù)據(jù)加密、服務(wù)器認(rèn)證、消息完整性以及可選的客戶機認(rèn)證。它已被廣泛地用于 web 瀏覽器與服務(wù)器之間的身份認(rèn)證和加密數(shù)據(jù)傳輸。ssl 協(xié)議位于 tcp 膽協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。ssl 協(xié)議可分為兩層:ssl 記錄協(xié)議(ssl record proto col):它建立在可靠的傳輸協(xié)議(如 tcp)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。ssl 握手協(xié)議(ssl hand shake proto col):它建立在 ssl記錄協(xié)議之上,用于在實際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。ssl 協(xié)議提供的服

44、務(wù)主要有:認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機和服務(wù)器;加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊取;維護數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中不被改變。(7)sqlite:sqlite 是一套開放性的關(guān)聯(lián)式資料庫,能夠被所有應(yīng)用程序使用的輕量級的關(guān)系數(shù)據(jù)庫引擎。(8)web kit:是一個先進(jìn)的網(wǎng)頁瀏覽器引擎,被用來構(gòu)建 android 瀏覽器和內(nèi)嵌的 web 視圖,也可以讓開發(fā)者利用這個引擎來做不同的應(yīng)用。(9)lib c:就是一個 bsd 標(biāo)準(zhǔn) c 類庫。但是,針對 linux 嵌入式裝置進(jìn)行過最佳化的調(diào)整。3.2.3 android 運行時的組件雖然 android 是用 java 語言來開發(fā)、撰

45、寫應(yīng)用程序,但卻不使用 java 運行時組件來執(zhí)行 java 程序,而是使用了由 google 自行研發(fā)的 android 運行時組件來執(zhí)行程序。android 運行時組件包括兩個重要的部分,一個是核心類庫,另一個是 dalvik 虛擬機。3.3 android 應(yīng)用的構(gòu)成和工作機制應(yīng)用的構(gòu)成和工作機制對于一個 android 應(yīng)用程序來說,是由 activity、intentreceiver、service、content provider 四部分組成,但并不是每一個 android 應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時,需要在配置文件 androidmanifest.xml 中

46、進(jìn)行配置。這個配置文件是每個 android 應(yīng)用程序所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。android 應(yīng)用的構(gòu)成和工作流程如圖 2-2: 圖 2-2 android 的構(gòu)成和工作流程4 android 應(yīng)用程序架構(gòu)結(jié)構(gòu)剖析應(yīng)用程序架構(gòu)結(jié)構(gòu)剖析本章將會詳細(xì)敘述 android 的應(yīng)用程序所包括的基本組件,還有這些組件之間的溝通方式intent(除了 contentprovider),同時講解一下 android 應(yīng)用程序的生命周期(activity)這是其他智能收與 android 手機平臺最顯著不同的地方。最后將介紹在 android 的應(yīng)用程序中如何利用下載外部資

47、源。4.1 應(yīng)用程序基礎(chǔ)應(yīng)用程序基礎(chǔ)android 的應(yīng)用程序全部都是用 java 編程語言所寫的。編譯后的 java 代碼包括應(yīng)用程序要求的任何數(shù)據(jù)和資源文件,是通過 aapt 工具捆綁成一個 android 包,歸檔文件是以.apk 為后綴。這個文件是分發(fā)應(yīng)用程序和安裝到移動設(shè)備的中介或者是工具,用戶下載這個文件到他們自己的設(shè)備上。一個.apk 文件中的所有代碼就會被認(rèn)為是一個應(yīng)用程序。aapt 是 android asset packaging tool 的首寫字母的縮寫,這個工具包是含在 sdk 的 tools/目錄下的。查看、創(chuàng)建、更新與 zip 兼容的歸檔文件(zip、jar、ap

48、k) 。它也能將資源文件編譯成二進(jìn)制包。雖然你可能不會經(jīng)常直接使用 appt,但構(gòu)建腳本(build scripts)和 ide 插件會使用這個工具打包成 apk 文件,構(gòu)成一個 android 的應(yīng)用程序。下面是更詳細(xì)的使用細(xì)節(jié),首先打開一個終端,進(jìn)入 tools/目錄下,運行命令:linux 或 mac 操作系統(tǒng):./aapt ,如果是 windows:aapt.exe 。在這里注意的是:tools/目錄指的是 android sdk 目錄下的/platforms/android-x/tools/。在很多的方面,每個 android 的應(yīng)用程序是生活在它自己的世界。默認(rèn)的情況下,任何一個應(yīng)

49、用程序是運行在它自己的 linux 進(jìn)程中。而當(dāng)應(yīng)用程序中的任何代碼需要被執(zhí)行時候,android 將啟動進(jìn)程;當(dāng)它不再需要和系統(tǒng)資源不會被其他應(yīng)用程序所請求時,android 就會關(guān)閉進(jìn)程這個進(jìn)程。每一個應(yīng)用程序都有自己的 java 虛擬機(vm) ,所以應(yīng)用程序的代碼是獨立于其他所有的應(yīng)用程序代碼的運行。在默認(rèn)情況下,每一個應(yīng)用程序分配一個唯一的 linux 用戶 id。權(quán)限被設(shè)置為每一個應(yīng)用程序的文件僅對用戶和應(yīng)用程序自己本身可見。雖然有一些方法也可以暴露他們給其他應(yīng)用程序。也有可能的是設(shè)置兩個應(yīng)用程序共享一個用戶 id,這種情況下,他們能夠看到對方的文件。為了節(jié)省系統(tǒng)資源的占用,具有相

50、同 id 的應(yīng)用程序最好可以安排在同一個 linux 進(jìn)程中,共享同一個 vm。4.2 應(yīng)用程序組件應(yīng)用程序組件android 的一個主要特點是,一個應(yīng)用程序可以利用其他應(yīng)用程序的元素(假設(shè)這些應(yīng)用程序允許的話) 。例如,如果你的應(yīng)用程序需要顯示一個圖像的滾動列表,且其他應(yīng)用程序已經(jīng)開發(fā)了一個合適的滾動條并可以提供給別的應(yīng)用程序用,你可以調(diào)用這個滾動條來工作,而不用自己開發(fā)一個。你的應(yīng)用程序不用并入其他應(yīng)用程序的代碼或鏈接到它。相反,當(dāng)需求產(chǎn)生時它只是啟動其他應(yīng)用程序塊。對于這個工作,當(dāng)應(yīng)用程序的任何部分被請求時,系統(tǒng)必須能夠啟動一個應(yīng)用程序的進(jìn)程,并實例化該部分的 java 對象。因此,不像

51、其他大多數(shù)系統(tǒng)的應(yīng)用程序,android 應(yīng)用程序沒有一個單一的入口點(例如,沒有 main()函數(shù)) 。相反,系統(tǒng)能夠?qū)嵗瓦\行需要幾個必要的組件。有四種類型的組件:活動(activities) 服務(wù)(services) 廣播接收者(broadcast receivers) 內(nèi)容提供者(content providers) 然而,并不是所有的應(yīng)用程序都必須包含上面的四個部分,你的應(yīng)用程序可以由上面的一個或幾個來組建。當(dāng)你決定使用以上哪些組件來構(gòu)建 android 應(yīng)用程序時,你應(yīng)該將它們列在 androidmanifest.xml 文件中,在這個文件中你可以聲明應(yīng)用程序組件以及它們的特性和

52、要求。關(guān)于 androidmanifest.xml 在 android 開發(fā)之旅:helloworld 項目的目錄結(jié)構(gòu)的 1.6、androidmanifest.xml 簡單介紹了一下,你可以參考一下,下篇也將介紹它。4.2.1 活動(activities) 一個活動表示一個可視化的用戶界面,關(guān)注一個用戶從事的事件。例如,一個活動可能表示一個用戶可選擇的菜單項列表,或者可能顯示照片連同它的標(biāo)題。一個文本短信應(yīng)用程序可能有一個活動,顯示聯(lián)系人的名單發(fā)送信息;第二個活動,寫信息給選定的聯(lián)系人;其他活動,重新查看舊信息或更改設(shè)置。雖然他們一起工作形成一個整體的用戶界面,但是每個活動是獨立于其他活動的

53、。每一個都是作為 activity 基類的一個子類的實現(xiàn)。android.app.activity 類:因為幾乎所有的活動(activities)都是與用戶交互的,所以 activity 類關(guān)注創(chuàng)建窗口,你可以用方法 setcontentview(view)將自己的 ui 放到里面。然而活動通常以全屏的方式展示給用戶,也可以以浮動窗口或嵌入在另外一個活動中。有兩個方法是幾乎所有的 activity 子類都實現(xiàn)的:oncreate(bundle):初始化你的活動(activity) ,比如完成一些圖形的繪制。最重要的是,在這個方法里你通常將用布局資源(layout resource)調(diào)用 set

54、contentview(int)方法定義你的 ui,和用 findviewbyid(int)在你的 ui 中檢索你需要編程地交互的小部件(widgets) 。setcontentview 指定由哪個文件指定布局(main.xml) ,可以將這個界面顯示出來,然后我們進(jìn)行相關(guān)操作,我們的操作會被包裝成為一個意圖(intent) ,然后這個意圖對應(yīng)有相關(guān)的 activity 進(jìn)行處理。 onpause():處理當(dāng)離開你的活動時要做的事情。最重要的是,用戶做的所有改變應(yīng)該在這里提交(通常 contentprovider 保存數(shù)據(jù)) 。 生命周期如圖 3-1圖 3-1android 的生命周期每一個應(yīng)

55、用程序可能只包含一個活動,或者是像短信應(yīng)用程序一樣,它可能會包含幾個活動。這些活動分別是什么,以及有多少,這個當(dāng)然取決于它的應(yīng)用程序自己的設(shè)計。根據(jù)一般情況來說,當(dāng)一個應(yīng)用程序被啟動的時候,會被標(biāo)記為第一個的活動,應(yīng)該展示給用戶。從一個活動轉(zhuǎn)移到另外一個活動由當(dāng)前的活動完成從而開始下一個。每一個活動都會有一個默認(rèn)的窗口。根據(jù)一般情況來說,窗口是會填滿整個屏幕的,但是它也有可能比屏幕小或者是浮在其他窗口上,這個就是程序員代碼的編寫情況了。一個活動還可以使用額外窗口。比如彈出式對話框,或者是當(dāng)一個用戶選擇屏幕上一個特定的項時,會跳出一個窗口來顯示給用戶重要的信息。窗口的可視化內(nèi)容是由繼承自接口為

56、view 基類,一個分層的視圖對象提供。每個可視化控件是窗口內(nèi)的一個特定的矩形空間。父視圖包含和組織子女視圖的布局。葉子視圖-分層的底層。繪制的矩形會直接控制和響應(yīng)用戶的操作。所以,一個視圖活動是與用戶發(fā)生交互的地方。比如說,一個視圖顯示一個小的圖片和當(dāng)用戶點擊圖片時發(fā)起一個動作行為。android 有一些現(xiàn)成的可視化控件你可以使用,其中包括按鈕(buttons) 、圖片按鈕(imagebutton) 、文本域(text fields) 、可編輯文本控件(edittext) 、菜單項(menu items) 、仿真時鐘(analogclock)滾動條(scroll bars) 、開關(guān)按鈕(to

57、gglebutton) 、復(fù)選按鈕(check boxes)等等。通過 activity.setcontentview() 方法來設(shè)置一個視圖層次在我們的活動窗口中。內(nèi)容視圖(content view)是層次結(jié)構(gòu)的根視圖對象。層次結(jié)構(gòu)如下圖 3-2 所示:圖 3-2 view 的層次結(jié)構(gòu)activity.setcontentview()方法:public void setcontentview (int layoutresid):根據(jù)布局資源的設(shè)置活動界面。資源將會被夸大,添加布局資源文件中的所有的最高層的視圖( top-level views )到活動.4.2.2 服務(wù)(services)與

58、 activity 相反,service 是沒有可視化的用戶界面,但是 service 的特點是能長時間在后臺運行的。所以,也可以這樣去理解,service 是具有一段較長生命周期而且沒有用戶界面的程序。比如說一個服務(wù)可能要播放背景音樂但是用戶做可以去做其他一些事情,或者它也可能從網(wǎng)絡(luò)獲取數(shù)據(jù),也或者是計算一些東西并會提供一個結(jié)果給需要的活動(activities) 。每一個服務(wù)都繼承自 service 基類。每一個服務(wù)類都惠子在 androidmanifest.xml 中有自己相應(yīng)的聲明。服務(wù)必須可以通過 context.startservice()或者 context.bindservic

59、e()啟動因為 service 是有兩個不同的生命周期的。一個非常典型的例子是媒體播放器播放一個播放列表中的歌曲文件。該播放器應(yīng)用程序?qū)⒖赡苡幸粋€或者是多個活動(activities) ,可以允許用戶選擇要聽的歌曲和開始播放。然而,音樂播放本身就不會被一個活動處理,因為用戶是希望保持音樂一直播放的,當(dāng)用戶離開播放器的時候而去做其他事情。為了保持音樂能夠繼續(xù)播放,媒體播放器活動可以啟動一個服務(wù)運行在后臺的運行。系統(tǒng)將會保持音樂播放服務(wù)運行,甚至媒體播放器離開屏幕的時候??梢赃B接到(綁定到)一個持續(xù)運行的服務(wù)(并啟動服務(wù),如果它尚未運行) 。連接之后,你可以通過服務(wù)暴露的接口與服務(wù)交流。對于音樂服

60、務(wù),這個接口可以允許用戶暫停、倒帶、停止和重新播放。像活動(activities)和其他組件一樣,服務(wù)(services)運行在應(yīng)用程序進(jìn)程中的主線程中。因此,他們將不會阻止其他組件或用戶界面,他們往往產(chǎn)生其他一些耗時的任務(wù)(如音樂播放) 。4.2.3 廣播接收者(broadcast receivers) 一個廣播接收者是這樣一個組件,它不做什么事,僅是接受廣播公告并作出相應(yīng)的反應(yīng)。許多廣播源自于系統(tǒng)代碼,例如公告時區(qū)的改變、電池電量低、已采取圖片、用戶改變了語言偏好。應(yīng)用程序也可以發(fā)起廣播,例如為了他其他程序知道某些數(shù)據(jù)已經(jīng)下載到設(shè)備且他們可以使用這些數(shù)據(jù)。一個應(yīng)用程序可以有任意數(shù)量的廣播接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論