基于android平臺的手機相冊軟件的開發(fā)及實現(xiàn)_第1頁
基于android平臺的手機相冊軟件的開發(fā)及實現(xiàn)_第2頁
基于android平臺的手機相冊軟件的開發(fā)及實現(xiàn)_第3頁
基于android平臺的手機相冊軟件的開發(fā)及實現(xiàn)_第4頁
基于android平臺的手機相冊軟件的開發(fā)及實現(xiàn)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. - 可修編工業(yè)園區(qū)效勞外包職業(yè)學(xué)院畢業(yè)設(shè)計論文論文題目:基于android平臺的手機相冊軟件的開發(fā)與實現(xiàn)屆 別 2016屆系 別網(wǎng)絡(luò)與通信技術(shù)系專業(yè)移動通信運營與效勞班級通信131姓 名 戚秀學(xué) 號130121001指導(dǎo)教師 金霞畢業(yè)設(shè)計論文獨創(chuàng)性聲明本人聲明,所呈交的畢業(yè)設(shè)計論文系在指導(dǎo)教師的指導(dǎo)下本人獨立完成的研究成果。論文中依法引用他人的成果,均已做出明確標(biāo)注或得到許可。論文容未包含法律意義上已屬于他人的任何形式的研究成果,如論文涉及任何知識產(chǎn)權(quán)糾紛,本人將承當(dāng)一切責(zé)任。 學(xué)生簽名:_日期:_. 目 錄TOC o 1-3 h u HYPERLINK l _Toc9426 第一章 系統(tǒng)

2、論述 PAGEREF _Toc9426 2 HYPERLINK l _Toc23329 1.1課題背景 PAGEREF _Toc23329 2 HYPERLINK l _Toc16883 1.2 Android系統(tǒng)相冊軟件現(xiàn)狀 PAGEREF _Toc16883 3 HYPERLINK l _Toc22059 1.2.1快圖瀏覽 PAGEREF _Toc22059 3 HYPERLINK l _Toc19881 1.2.2 Gallery 3D PAGEREF _Toc19881 4 HYPERLINK l _Toc24620 第二章 Android開發(fā)平臺 PAGEREF _Toc24620

3、 5 HYPERLINK l _Toc15711 2.1 Android的由來 PAGEREF _Toc15711 5 HYPERLINK l _Toc10370 2.2 Windows系統(tǒng)中Android開發(fā)平臺在Eclipse上的搭建 PAGEREF _Toc10370 5 HYPERLINK l _Toc23569 2.2.1 Java開發(fā)環(huán)境的建立 PAGEREF _Toc23569 5 HYPERLINK l _Toc10990 2.2.2 Eclipse的安裝 PAGEREF _Toc10990 5 HYPERLINK l _Toc26730 2.2.3 下載Android SDK

4、 PAGEREF _Toc26730 6 HYPERLINK l _Toc15790 2.2.4 在eclipse中安裝ADTAndroid Development Tools PAGEREF _Toc15790 6 HYPERLINK l _Toc12520 2.2.5 新建一個模擬器 PAGEREF _Toc12520 6 HYPERLINK l _Toc27037 第三章 Android相冊系統(tǒng)分析 PAGEREF _Toc27037 7 HYPERLINK l _Toc1538 3.1 系統(tǒng)可行性分析 PAGEREF _Toc1538 7 HYPERLINK l _Toc9269 3.

5、2 系統(tǒng)需求分析 PAGEREF _Toc9269 7 HYPERLINK l _Toc23207 3.3 基于Android平臺手機相冊軟件的建立原則 PAGEREF _Toc23207 8 HYPERLINK l _Toc668 第四章 Android相冊概要設(shè)計 PAGEREF _Toc668 8 HYPERLINK l _Toc28049 4.1 系統(tǒng)設(shè)計目標(biāo) PAGEREF _Toc28049 8 HYPERLINK l _Toc30246 4.2 系統(tǒng)模塊設(shè)計 PAGEREF _Toc30246 8 HYPERLINK l _Toc27193 4.2.1 系統(tǒng)功能模塊劃分 PAGE

6、REF _Toc27193 8 HYPERLINK l _Toc26106 4.2.2 系統(tǒng)總體構(gòu)造設(shè)計 PAGEREF _Toc26106 9 HYPERLINK l _Toc9847 4.2.3 系統(tǒng)模塊用例分析 PAGEREF _Toc9847 11 HYPERLINK l _Toc22197 第五章 Android相冊的功能實現(xiàn) PAGEREF _Toc22197 13 HYPERLINK l _Toc2574 5.1瀏覽照片功能模塊實現(xiàn) PAGEREF _Toc2574 14 HYPERLINK l _Toc6204 5.2拍攝照片模塊實現(xiàn) PAGEREF _Toc6204 15 H

7、YPERLINK l _Toc22455 5.3 分享照片到新浪微博模塊實現(xiàn) PAGEREF _Toc22455 16 HYPERLINK l _Toc29477 5.4 刪除照片模塊實現(xiàn) PAGEREF _Toc29477 17HYPERLINK l _Toc2923 5.5 照片詳細(xì)信息模塊實現(xiàn) PAGEREF _Toc2923 18 HYPERLINK l _Toc23132 第六章 系統(tǒng)測試 PAGEREF _Toc23132 19 HYPERLINK l _Toc24560 6.1 單元測試 PAGEREF _Toc24560 19 HYPERLINK l _Toc2795 6.2

8、集成測試 PAGEREF _Toc2795 20 HYPERLINK l _Toc24068 6.3 測試結(jié)果 PAGEREF _Toc24068 20 HYPERLINK l _Toc4881 致 PAGEREF _Toc4881 21 HYPERLINK l _Toc10640 參考文獻(xiàn) PAGEREF _Toc10640 21基于android平臺的手機相冊軟件摘 要:本系統(tǒng)在Android SDK 2.3.3平臺下進(jìn)展,使用Java語言進(jìn)展開發(fā),使系統(tǒng)具有良好的可移植性和擴展性。系統(tǒng)具有動態(tài)查看相冊,拍攝相片,編輯相片,查看相片的詳細(xì)信息等功能,用戶可以針對*相片分享到新浪微博,新浪微

9、博分享的初次使用需授權(quán)、認(rèn)證以及賬號綁定,下次使用無需再次輸入賬號和密碼。本程序在開發(fā)平臺上運行之后產(chǎn)生可以直接安裝在Android 2.3.3版本手機上的apk文件,并且完美運行。關(guān)鍵詞:Android SDK, Linu*, 新浪微博, 授權(quán), 分享, apkAbstract:Android is the open source mobile operating system based on the Linu* platform which Google pany launched in 2007, with Android version changed from 1.1 to 4.2

10、.2 so far, Android mobile application service is more and more accepted, and widely favored by users, mobile phone photo album application is one of the many Android applications.This system is running in the Android SDK 2.3.3 platform, with the development language of Java makes the system in good

11、portability and scalability. The system has a dynamic view the photo album, shooting photos, edit photos, see photos for detailed information, and so on, users can share to sina micro-blog in a photo, the first use of the function of share in sina micro-blog need to authorization, authentication and

12、 account binding, while users dont have to input account and password for the ne*t time. After running this program on the development platform, there will be generated an apk file that can directly installed in the Android 2.3.3 release of mobile phone.【Key words】Android SDK, Linu*, sina micro-blog

13、, authorization, share, apk 第一章 系統(tǒng)論述1.1課題背景Android手機操作系統(tǒng)是在2007年推出的基于Linu*平臺的完全開源手機操作系統(tǒng),由谷歌開發(fā),引領(lǐng)潮流的手機制造商把他們的目光投向了這一款手機操作系統(tǒng)。Android手機操作系統(tǒng)也也一天天的變得更加成熟。隨著Android手機的廣泛使用,基于Android平臺的各種應(yīng)用軟件也變得炙手可熱,這個市場有很大的開展前景,無數(shù)的軟件開發(fā)商和開發(fā)人員將會被吸引,然后投入到市場中。目前,Android應(yīng)用市場琳瑯滿目,主要的應(yīng)用市場包括獵豹清理等等,這其中每個市場中展示的Android應(yīng)用多如牛毛,有官方的,也有非

14、官方的,但是各種應(yīng)用表達(dá)了Android手機操作系統(tǒng)的時代性。越來越多免費的Android應(yīng)用不僅符合了群眾化的需求,更促進(jìn)了應(yīng)用市場的不斷多樣化的開展。本課題的研究正是處在這樣的一種大環(huán)境下,Android手機相冊應(yīng)用在眾多的Android應(yīng)用中只是一個小角色,但是相冊軟件對于移動設(shè)備卻是必不可少的。以往人們用數(shù)碼相機或者其他拍攝相片的設(shè)備拍攝出來的照片只能上傳到電腦上才能更好實現(xiàn)的瀏覽功能,然而并不是每個人、每個時刻、每個地方攜帶電腦都是一件輕松的事情。當(dāng)我們出門旅行的時候,輕松便捷是我們的首選,這時候,Android移動手機的拍攝功能以及一個與之配套的相冊瀏覽功能便能很好的滿足人們的需求

15、,隨拍隨看隨分享的體念讓這款應(yīng)用更具有價值。1.2 Android系統(tǒng)相冊軟件現(xiàn)狀 目前,應(yīng)用市場上的相冊軟件眾多,雖然功能小異,但是每種軟件無論在界面風(fēng)格的設(shè)計上還是在實現(xiàn)的設(shè)計上都獨具特色。就拿Android系統(tǒng)自帶的幾款相冊瀏覽工具來說,比擬好的有快圖瀏覽和Gallery 3D兩種。1.2.1快圖瀏覽快圖瀏覽是一個以文件夾模式為基準(zhǔn)的輕量級圖片瀏覽器,可以又快又清晰的預(yù)覽縮略圖,同時它的2D瀏覽體驗也極其流暢幻燈片播放、滑動切換圖片等功能,此軟件都可以提供;用戶在看圖的時候如果想處理圖片,這個軟件也是可以做到的,縮小放大還有裁剪等都可以操作,如圖1.1所示。 圖1.1 快圖瀏覽1.2.2

16、 Gallery 3DGallery 3D是一款具有3D效果的圖片瀏覽器,流動式的顯示每個文件夾中的縮略圖,支持多點觸屏縮放、滑動切換圖片、幻燈片播放、調(diào)用系統(tǒng)照相機、照片的編輯、時時分享以及視頻的播放功能,但是缺乏之處就是當(dāng)圖庫中的圖片過多時刷新速度過慢的缺點影響了用戶的體驗效果,如圖1.2所示。圖1.2 Gallery 3D第二章 Android開發(fā)平臺2.1 Android的由來 Android一詞最早出現(xiàn)于科幻小說未來夏娃中,外形像人一樣的機器被來自法國的作家利爾亞當(dāng)命名為Android。Android公司是由魯賓等人在2003年的創(chuàng)辦一家美國公司,他把手機軟件和手機操作系統(tǒng)設(shè)置為該公

17、司的主要業(yè)務(wù)。2007年Google公司宣布Android是基于Linu*平臺的開源手機操作系統(tǒng)的名稱,從此走上了新的舞臺。2.2 Windows系統(tǒng)中Android開發(fā)平臺在Eclipse上的搭建對于一個開發(fā)者而言,在進(jìn)展Android應(yīng)用的開發(fā)之前,第一步需要完成Android開發(fā)平臺的搭建。雖然這款全新的Android應(yīng)用開發(fā)軟件在2003年被谷歌公司在I/O大會上公布,但Eclipse中的ADT依然是之前我們習(xí)慣的開發(fā)平臺,所以這次設(shè)計的實現(xiàn)也是在Eclipse中實現(xiàn)的,針對這個要求而言,Android開發(fā)平臺的搭建是如何在Windows系統(tǒng)中實現(xiàn),我要來簡單描述。2.2.1 建立Ja

18、va開發(fā)環(huán)境在Oracle官網(wǎng)中下載最新的版本為JDK 1.7的JDK文件。 最后運行查看版本信息,確定環(huán)境配置是否成功。2.2.2 Eclipse的安裝在它的官網(wǎng)中下載Eclipse Classic的最新版本,安裝并把其安裝路徑保存在C盤 ,可以將C:eclipseworkspace設(shè)置工作空間。2.2.3 下載Android SDK訪問,選擇Download the SDK for Window下載并解壓文件,解壓后運行SDK Manager.e*e文件,如圖2.2所示是各個版本的SDK安裝向?qū)?。圖2.2 Android SDK Manager2.2.4 在eclipse中安裝ADT下載A

19、DT-15.0.0.zip文件不用解壓縮,然后在eclipse中選擇help后,點擊Add接著選擇我們之前已經(jīng)下載好的未壓縮的文件,在Name處寫上自己的名字,確定后等待安裝成功。2.2.5 新建一個模擬器圖2.3 Android模擬器第三章 Android相冊系統(tǒng)分析3.1 系統(tǒng)可行性分析a.經(jīng)濟(jì)可行性:開發(fā)工具為免費的eclipse + ADT,因此開發(fā)本錢非常低。b.技術(shù)可行性:基于Android系統(tǒng)的相冊軟件完全使用Android系統(tǒng)中相關(guān)組件,分享到新浪微博功能也是使用新浪微博開放平臺提供SDK中的相關(guān)API 接口,基于Android平臺的開發(fā)所使用的語言有Java和*ML,具有非常

20、好的可擴展性和移植性。c.操作可行性:相冊應(yīng)用的開發(fā)是在eclipse中進(jìn)展的,開發(fā)出來的應(yīng)用可以直接在模擬器或者實體Android手機上進(jìn)展調(diào)試,只有經(jīng)過了仔細(xì)的測試以及調(diào)試之后才能將應(yīng)用打包為apk文件并進(jìn)展發(fā)布,供用戶使用。也就是說,在用戶使用之前,該應(yīng)用是經(jīng)過良好而嚴(yán)格的測試的,而且經(jīng)過一大批測試用戶的使用之后才廣泛發(fā)布到市場上的。同時在市場上,Android手機或者其他的移動設(shè)備具有很高的占有率,并且各大手機制造廠商相繼推出具有更高硬件配置的手機終端,因此可知該相冊系統(tǒng)在操作上是完全可行的。3.2 系統(tǒng)需求分析當(dāng)該相冊安裝到Android手機上并啟動后,用戶能夠瀏覽手機相冊中的照片,

21、并編輯照片放大、縮小照片;當(dāng)用戶想拍攝照片時,還能夠點擊屏幕中的按鈕直接進(jìn)展照片的拍攝;最重要的是用戶能夠時時的對照片進(jìn)展社區(qū)的分享,例如點擊屏幕中的分享按鈕,相應(yīng)的照片就可以分享到新浪微博,加上要說的話就可以和照片一起分享出去,同時對于新浪微博的第一次使用需要授權(quán)和認(rèn)證,當(dāng)?shù)顷懗晒χ缶湍軐崿F(xiàn)賬戶的綁定,下一次不需要再次輸入賬號和密碼就能直接進(jìn)展照片的分享。此應(yīng)用的功能讀者可以通過以上文字了解到。啟動應(yīng)用程序如果用戶只需要瀏覽照片,則直接滑動選擇想要查看的照片,向左向右能夠?qū)崿F(xiàn)照片的切換瀏覽如果用戶想編輯照片放大、縮小照片,則直接點擊圖片下方的放大、縮小按鈕,實現(xiàn)放大或者縮小的照片的查看如果

22、用戶覺得*照片不再需要的時候,可以點擊屏幕中的刪除按鈕,直接將該照片從SD卡的相冊文件中刪除,但在刪除前會顯示是否刪除,這時需要你再次確定,防止錯誤的刪除了需要留下的照片。如果用戶想查看具體*照片的詳細(xì)信息,點擊屏幕中的詳細(xì)信息,查看該照片的名字、格式,存放在SD卡中的位置以及拍攝地點。當(dāng)用戶特別喜歡*照片,希望能夠分享該照片時,可以點擊屏幕中的分享,將照片分享到需要分享到的平臺,我們這里以分享到新浪微博為例。如果用戶是第一次使用該應(yīng)用的分享功能,我們需要獲得新浪的授權(quán)認(rèn)證,所以我們要輸入新浪微博的用戶名和密碼,才可以獲得授權(quán)。如果用戶已獲得授權(quán)認(rèn)證,則可以點擊分享到新浪微博按鈕,跳轉(zhuǎn)到分享頁

23、面,輸入想要說的話,你想要分享的照片會在下方顯示,當(dāng)用戶點擊發(fā)布到新浪微博之后,實現(xiàn)了照片和文字的分享。3.3 基于Android平臺手機相冊軟件的建立原則考慮周全需求,面面俱到、分布設(shè)計。堅持標(biāo)準(zhǔn)化和系統(tǒng)的可行性。保證系統(tǒng)的穩(wěn)定性、持續(xù)性和平安性。系統(tǒng)人機界面穩(wěn)定,操作簡單,能被很容易的理解,使用也很方便。 做一個Android手機的相冊應(yīng)用技術(shù)簡單,但是做好這個應(yīng)用卻是很難,一個良好的系統(tǒng)對用戶來說應(yīng)該具有親和力。首先,就應(yīng)該保證該應(yīng)用不會在安裝于用戶Android系統(tǒng)手機之后,占用系統(tǒng)大量的存而造成死機,長時間等待,或者程序響應(yīng)異常;其次,應(yīng)用界面的設(shè)計會大大影響用戶對該應(yīng)用的體驗效果,

24、所以應(yīng)用界面的美觀也需要考慮到盡量使設(shè)計變得更完美。第四章 Android相冊概要設(shè)計4.1 系統(tǒng)設(shè)計目標(biāo)通過手機相冊應(yīng)用,讓用戶能夠瀏覽照片、編輯照片、拍攝照片,并將喜歡的照片分享到新浪微博。通過良好的具有親和力的人機界面,使得用戶更加喜歡拍照和分享身邊的景象。4.2 系統(tǒng)模塊設(shè)計4.2.1 系統(tǒng)功能模塊劃分系統(tǒng)概要設(shè)計中的一個重要環(huán)節(jié)就是確定該系統(tǒng)的模塊構(gòu)成,以及構(gòu)成系統(tǒng)的這些模塊之間的聯(lián)系。因而在進(jìn)展Android手機相冊概要設(shè)計時,在分析系統(tǒng)的根底之上,確定了該系統(tǒng)應(yīng)該具有的模塊如下列圖4.1所示。相冊客戶端用戶瀏覽照片拍攝照片分享照片刪除照片照片詳細(xì)信息編輯照片相信信息陸新浪微博授權(quán)

25、認(rèn)證享照片分享到新浪微博圖4.1 系統(tǒng)功能模塊圖4.2.2 系統(tǒng)總體構(gòu)造設(shè)計系統(tǒng)總體構(gòu)造設(shè)計是在系統(tǒng)功能模塊劃分的根底之上確定各個模塊之間的相互關(guān)系。例如:在瀏覽照片時如果在相冊文件夾中沒有發(fā)現(xiàn)照片,則需要調(diào)用拍攝照片功能模塊確定用戶是否決定拍照并返回照片;只有通過了新浪微博的授權(quán)和認(rèn)證之后,才能分享照片到新浪微博。相冊應(yīng)用沒有想象中的則簡單,實際上它的容很復(fù)雜。在界面布局方面,采用Android UI技術(shù),使系統(tǒng)具有良好的布局和美觀的操作界面,通過屏幕點擊或者觸摸進(jìn)展操作,使用戶可以簡單明了的操作同時也不缺乏樂趣。在系統(tǒng)的平安方面,在分享照片到新浪微博時,采用的是OAuth 2.0Open

26、the Authentication的認(rèn)證方式。這種協(xié)議會保證用戶的信息平安,不會被第三方應(yīng)用觸及。因為用戶輸入的信息是完全與新浪微博的效勞器進(jìn)展交互的。OAuth當(dāng)中有四種角色:第一種:Service Provider效勞提供者,一般是,一些受限制的資源通常被保存在這些中。只有用戶提供用戶名和密碼來確認(rèn)自己的身份才可以查看到相關(guān)的資源信息。第二種:User用戶,用戶可以通過提供的用戶名和密碼保存私人的信息,例如照片、日記和金錢交易等等。這些最隱私的信息用戶需要將其共享給其他但又希望不被公開。第三種:Consumer客戶,客戶是希望用戶私人信息可以被訪問的應(yīng)用程序,想要訪問相應(yīng)的資源必須得到C

27、onsumer授權(quán)。第四種:Protected Resources被保護(hù)的資源,比方備忘錄,照片等等。以上四種角色在認(rèn)證時的關(guān)系如圖4.2所示:圖4.2 OAuth 角色關(guān)系新浪微博OAuth 2.0的認(rèn)證過程是:在新浪微博開放平臺注冊應(yīng)用,新浪為該應(yīng)用提供相應(yīng)的appId,appSecret,callbackUrl,組裝認(rèn)證url,以WebView為橋梁,向開發(fā)平臺認(rèn)證中心發(fā)起授權(quán)。應(yīng)用的出處將由認(rèn)證中心判斷,合法跳轉(zhuǎn)到用戶授權(quán)界面,賬號和密碼在被用戶輸入后就表示同意授權(quán)向認(rèn)證中心發(fā)起授權(quán)。授權(quán)請求會由認(rèn)證中心處理,以callbackUrl加參數(shù)的方式Redirect,這是攔截Redirec

28、t url后附帶的參數(shù),通過這個可以知道認(rèn)證結(jié)果。open_id,access_token,e*pires_in等參數(shù),這些參數(shù)將在認(rèn)證成功后獲得,有了這些數(shù)據(jù)就可以向新浪微博開放平臺的業(yè)務(wù)層接口發(fā)起請求了。如圖4.3所示為OAuth 2.0的認(rèn)證流程:圖4.3 OAuth 2.0認(rèn)證原理4.2.3 系統(tǒng)模塊用例分析照片瀏覽模塊功能描述:當(dāng)進(jìn)入應(yīng)用程序之后,屏幕上展現(xiàn)給用戶的是相片文件夾中的首照片,用戶可以通過左右滑動屏幕實現(xiàn)照片瀏覽的動態(tài)切換。參與者:用戶。前置條件:前一照片。后置條件:后一照片。如下列圖4.4所示:用戶戶照片瀏覽圖4.4 用戶瀏覽照片用例圖拍攝照片模塊功能描述:當(dāng)用戶想要拍

29、攝照片時,可以通過點擊菜單按鈕選擇拍照。參與者:用戶。前置條件:點擊拍攝按鈕。后置條件:通過拍照傳回來相片到相冊文件夾中。該模塊的用例圖如下列圖4.5所示:用戶拍攝照片圖4.5 拍照用例圖分享照片到新浪微博模塊功能描述:如果用戶是第一次使用分享功能,則需要先輸入賬號和密碼進(jìn)展新浪微博的授權(quán)和認(rèn)證;如果用戶已經(jīng)得到新浪微博的授權(quán),則可以直接分享照片到新浪微博。參與者:用戶。前置條件:用戶具有新浪微博的賬號和密碼。后置條件:用戶將自己手機上的照片分享到新浪微博。該模塊的用例圖如下列圖4.6所示:用戶通過授權(quán)認(rèn)證分享照片到新浪微博圖4.6 分享功能模塊用例圖用戶分享照片到新浪微博模塊流程圖如下列圖4

30、.7所示:開場啟動應(yīng)用是否授權(quán)是分享照片否輸入賬號密碼授權(quán)圖4.7 分享功能流程圖刪除照片模塊功能描述:如果用戶對*一照片不滿意,點擊屏幕中的刪除按鈕即可。參與者:用戶。前置條件:已點擊刪除按鈕。后置條件:該照片從相冊文件夾中刪除。該模塊的用例圖如下列圖4.8所示:用戶刪除照片圖4.8 刪除照片模塊用例圖查看照片詳細(xì)信息模塊功能描述:當(dāng)用戶點擊查看詳細(xì)信息后,顯示當(dāng)前照片的名字,在SD卡中的存放位置,拍攝地點。參與者:用戶前置條件:已點擊查看詳細(xì)信息按鈕后置條件:顯示照片詳細(xì)信息該模塊的用例圖如下列圖4.9所示:用戶顯示照片詳細(xì)信息圖4.9 查看照片詳細(xì)信息模塊用例圖編輯照片模塊功能描述:當(dāng)用

31、戶點擊圖片下方的放大縮小按鈕時,可以實現(xiàn)照片的放大和縮小。參與者:用戶。前置條件:以點擊放大或者縮小按鈕。后置條件:照片唄方法或者縮小。該模塊的用例圖如下列圖4.8所示:用戶照片放大照片縮小圖4.8 編輯照片模塊用例圖第五章Android相冊的功能實現(xiàn)本應(yīng)用主要實現(xiàn)了六個主要的模塊,包括瀏覽模塊;拍攝照片模塊;分享照片到新浪微博模塊;刪除照片模塊;照片詳細(xì)信息模塊和編輯照片模塊,以下針對于每個模塊給出具體的實現(xiàn)方法和實現(xiàn)之后的效果。5.1瀏覽照片功能模塊實現(xiàn)應(yīng)用啟動之后,用戶直接能看到可以左右滑動的縮略圖,在整個屏幕中顯示的是該縮略圖的大圖,如果用戶選擇了向左滑動縮略圖,則屏幕同步顯示前一照片

32、的大圖;反之,則屏幕同步顯示后一照片的大圖。效果如圖5.1所示。圖5.1 瀏覽照片界面核心算法分析:定義一個Map map的全局變量,然后遍歷的camera相冊文件夾,判斷里面的文件是否為文件,如果是文件并且是以jpg、jpeg、bmp、png、gif為后綴名的,則將該文件參加map中去,map中的Key為該文件,value為該文件所處的SD卡中的位置。這樣一來,map中保存了camera相冊文件夾中所有的照片文件。定義一個適配器ImageAdapter類,該類繼承自類,重寫里面的方法中重要的一個方法是getView方法,此方法在gallery切換時自動調(diào)用。為了有效的解決Android系統(tǒng)中

33、關(guān)于Bitmap位圖操作的OOMOut Of Memory問題,在獲得位圖的時候,在設(shè)計上使用BitmapFactory.decodeStream從文件中取得圖片文件的流,以縮略圖的方式顯示,BitmapFactory.Options options = new BitmapFactory.Options; options.inSampleSize = 2;以上代碼表示獲取的位圖為原圖的四分之一。5.2拍攝照片模塊實現(xiàn)當(dāng)用戶在瀏覽照片的同時有了拍攝照片的需求后,用戶可以按下菜單按鈕,選擇拍照菜單項進(jìn)展拍照,如果用戶對拍攝的效果滿意的話,點擊確定按鈕從而拍攝的照片會自動存放到camera文件夾中

34、,然后又返回瀏覽照片的界面上,如果用戶對拍攝的效果不是很滿意,用戶可以點擊取消按鈕,然后重新拍攝。如圖5.2所示。圖5.2 拍攝照片界面核心算法分析:其中的MediaStore.ACTION_IMAGE_CAPTURE為系統(tǒng)的照相機的功能,這里定義一個指向系統(tǒng)照相機的意向,當(dāng)點擊拍照菜單項的之后,自動從原來的Activity轉(zhuǎn)到系統(tǒng)拍照的Activity,第二個方法為帶返回數(shù)據(jù)的啟動意向,TAKE_PHOTOS為自定義的常量,代表請求參數(shù)。重寫onActivityResult方法,當(dāng)請求碼與TAKE_PHOTOS相等時,取出系統(tǒng)照相機拍攝后的照片,Bundle bundle = data.ge

35、tE*tras;Bitmap bitmap = Bundlebundle.getdata;當(dāng)取出照片之后,將照片文件寫入相冊文件夾camera之中,在寫入文件的同時,考慮到的一個問題就是如何給照片起名。因為拍攝照片是在不同的時間拍攝的,為了保證文件名字在一樣目錄下必須唯一的特性,在實現(xiàn)的時候?qū)⒄掌臄z的時間設(shè)置為照片的文件名字。5.3 分享照片到新浪微博模塊實現(xiàn)如果用戶是第一次使用分享功能,就需要輸入用戶名和密碼獲得新浪微博的授權(quán)認(rèn)證,認(rèn)證成功后用戶就能夠成功分享。如圖5.3所示。圖5.3 授權(quán)到新浪微博界面核心算法分析:;其中CONSUMER_KEY為新浪微博開發(fā)平臺分配給每個第三方的app

36、key,用于鑒別身份,顯示來源等功能。當(dāng)點擊授權(quán)到新浪微博按鈕時,頁面跳轉(zhuǎn)到新浪微博的授權(quán)和認(rèn)證頁面。當(dāng)用戶授權(quán)認(rèn)證成功之后,為了實現(xiàn)用戶賬號的綁定,需要獲得access_token訪問令牌和e*pires_in剩余有效時間并保存到本地,下一次直接從本地文件中讀取即可,這樣就可以防止用戶每次登陸的麻煩,方便了用戶的使用。當(dāng)用戶已經(jīng)成功實現(xiàn)了新浪微博的授權(quán)和認(rèn)證之后,即實現(xiàn)了用戶賬號的綁定功能,用戶可以直接對需要分享的圖片進(jìn)展描述并分享到新浪微博。效果如圖5.4所示。圖5.4 分享到新浪微博界面核心算法分析:取得保存在本地上的access_token訪問令牌和e*pires_in剩余有效時間,實

37、現(xiàn)自動登陸,無需用戶再次輸入同戶名和密碼,調(diào)用StatusesAPI中的upload方法,實現(xiàn)文字和圖片的上傳,實現(xiàn)真正的分享。5.4 刪除照片模塊實現(xiàn)當(dāng)用戶對*照片不滿意的時候,可以點擊屏幕上的刪除按鈕,對照片進(jìn)展刪除。但是在真正刪除之前,系統(tǒng)會給用戶確定或者取消的提示以防止用戶誤刪除操作。效果如圖5.5所示。圖5.5 刪除照片界面核心算法分析:為刪除按鈕設(shè)置監(jiān)聽,監(jiān)聽為一個信息警告,當(dāng)用戶選擇確定時,又實現(xiàn)一個監(jiān)聽,此時照片在相冊文件夾中進(jìn)展刪除;當(dāng)用戶選擇取消時,退出提示并不做任何處理。5.5 照片詳細(xì)信息模塊實現(xiàn)當(dāng)用戶點擊屏幕中的查看照片詳細(xì)信息按鈕的時候,出現(xiàn)一個對話框,顯示照片的名

38、字、存儲于SD card中的位置和照片拍攝的地點。效果如圖5.6所示。圖5.6 照片詳細(xì)信息界面核心算法分析:為詳細(xì)信息按鈕設(shè)置監(jiān)聽,監(jiān)聽為一個信息提示框,提示過map中取得的entry對象獲得照片文件的名稱、位置和拍攝地點。第六章 系統(tǒng)測試系統(tǒng)的測試分為單元測試與集成測試。單元測試指對軟件中的最小的可測試單元進(jìn)展檢查和驗證;集成測試是在單元測試的根底上,將所有的模塊按照設(shè)計要求組裝成系統(tǒng)或者子系統(tǒng)。6.1 單元測試測試一:當(dāng)相冊文件中不存在照片,程序是否會有相應(yīng)的提示。具體操作:刪除camera相冊中的所有照片文件,重新啟動本應(yīng)用。結(jié)果:顯示相冊中沒有相片,啟動照相機進(jìn)展拍照。結(jié)論:提示功能正常,不會出現(xiàn)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論