国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android 的多功能手機(jī)相冊設(shè)計與實現(xiàn)

2013-12-31 00:00:00姜海嵐
電腦知識與技術(shù) 2013年15期

摘要:該文通過介紹設(shè)計一個基于Android的多功能手機(jī)相冊軟件,闡述了Android Camera、圖片編輯、微博客戶端開發(fā)等相關(guān)知識,尤其對使用Camera API直接控制相機(jī)硬件及新浪微博分享作了詳細(xì)的介紹,同時將設(shè)計過程中所用到的主要方法及控件進(jìn)行了詳細(xì)說明。具有較強的實用性。

關(guān)鍵詞:Android Camera;新浪微博; API

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)15-3614-03

Android 平臺以其強大的功能和友好的用戶界面,在幾大主流平臺的競爭中取得了巨大的勝利和飛速的發(fā)展,在移動操作系統(tǒng)市場的份額中所占的比例也越來越大。

3G時代的出現(xiàn),也使更多人愿意隨時隨地分享自己的信息。多功能手機(jī)相冊軟件將手機(jī)拍照、照片的編輯與美化、微博分享等功能結(jié)合在一起,給用戶帶來了一站式的體驗,也改變了用戶的生活方式。

1 Android簡介

Android是一種以Linux為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。由Google和開放手持設(shè)備聯(lián)盟開發(fā)與領(lǐng)導(dǎo)。

1.1 Android架構(gòu)

Android的系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。android分為四個層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層和linux核心層。Android系統(tǒng)架構(gòu)圖如圖1所示[1]。

1.2 Android平臺的關(guān)鍵組件

Android應(yīng)用組件是應(yīng)用程序的必要構(gòu)建模塊,每個組件都存在于自己的實體并且扮演著唯一的構(gòu)建模塊,可以用來定義Android應(yīng)用的完整行為。Android有四種不同類型的應(yīng)用組件,每個組件充當(dāng)不同的角色,并且有唯一的用來定義組件如何創(chuàng)建、如何消亡的不同的生命周期[2]。這四種應(yīng)用組件是:

1)Activities:一個Activity代表一個單獨的帶有用戶接口的屏幕。并且一個應(yīng)用可以啟動另一個完全不同的應(yīng)用中的Activity。

2)Services:service是運行在后臺執(zhí)行長期運行的操作或者遠(yuǎn)程進(jìn)程中的工作。Service不提供用戶接口。

3)Broadcast receivers:Broadcast receivers是一個能夠響應(yīng)系統(tǒng)級廣播的組件,如當(dāng)電池電量低或屏幕關(guān)閉時會進(jìn)行廣播聲明。

4)Content providers:它管理著一組共享的應(yīng)用數(shù)據(jù)。你可以在文件系統(tǒng)、SQLLite數(shù)據(jù)庫、網(wǎng)上或者任何其他持久性存儲設(shè)備等應(yīng)用程序可以訪問到的地方中存儲數(shù)據(jù)[3]。

2 系統(tǒng)總體設(shè)計

多功能手機(jī)相冊主要由4個模塊組成:拍照、編輯照片、照片分享及換膚功能。

1)拍照模塊主要完成拍照、照片存儲功能。

2)編輯照片模塊可以瀏覽手機(jī)上的所有照片,并上下滑動選中某張照片進(jìn)行大圖瀏覽、編輯,進(jìn)行美化。

3)照片分享模塊主要將拍攝的照片分享到另外一個SNS社區(qū)(如新浪微博、騰訊微博等)。

4)換膚功能模塊主要實現(xiàn)多種皮膚的更換。

3 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)

3.1 拍照模塊設(shè)計

Android手機(jī)關(guān)于Camera的使用,一是拍照,二是攝像。由于Android提供了強大的組件功能,為此對于在Android手機(jī)系統(tǒng)上進(jìn)行Camera的開發(fā),我們可以使用兩類方法:一是借助Intent和MediaStroe,調(diào)用系統(tǒng)Camera App程序來實現(xiàn)拍照和攝像功能;二是根據(jù)Camera API自己編寫Camera程序[4]。為了實現(xiàn)更多的自由拍照功能,本軟件通過調(diào)用Android的Camera APIs實現(xiàn)直接控制相機(jī)硬件,并將照片保存到手機(jī)的存儲卡中。

在拍照前首先檢查硬件設(shè)備,使用Camera的Open函數(shù)開啟攝像頭硬件,開啟成功后,使用SurfaceHolder.Callback的surfaceChanged函數(shù)中調(diào)用getParameters函數(shù)得到已打開的攝像頭的配置參數(shù)Parameters對象,需要注意的是當(dāng)Android版本低于2.2時,需要設(shè)置Parameters對象的rotation參數(shù)為90度,另外還可以設(shè)置預(yù)覽的屏幕尺寸、生成的圖片尺寸等,設(shè)置好參數(shù)就可以在SurfaceView預(yù)覽了。在預(yù)覽照片時,如果有手機(jī)來電,需要在Acitivity的onPause方法中釋放Camera對象,來電結(jié)束后在onResume方法中重新打開Camera對象。拍照模塊如圖2所示。

3.2 照片編輯模塊設(shè)計

瀏覽照片使用Gridview實現(xiàn)。首先通過File獲取手機(jī)存儲卡上的以jpg、gif、bmp等為擴(kuò)展名的照片文件,將其存儲到List中。為了實現(xiàn)GridView的效果,需要構(gòu)建一個BaseAdapter,這個類表示Grid中的所包含的內(nèi)容,即包含照片文件名的List。用戶可以上下滑動選擇一張圖片,照片的位置在GridView的onItemClick事件中傳入Gallery界面,在Gallery界面中將選中的照片以image和Gallery顯示,實現(xiàn)效果如圖3所示。編輯功能使用Matrix對照片進(jìn)行放大、縮小及旋轉(zhuǎn)。使用ImageUtils實現(xiàn)圓角及倒影等功能。編輯效果如圖4所示。

在GridView加載顯示圖片時,有一些圖片太大,容易導(dǎo)致內(nèi)存溢出,因此采取把圖片壓縮成縮略圖的方式,以減少圖片加載顯示的時間,提高用戶體驗。Android中bitmap類的方法bitmap.compress(Bitmap.CompressFormat.JPEG, quality,fos)可以實現(xiàn)將幾百K的圖片壓縮成幾k或幾百B。

3.3 照片分享設(shè)計

目前新浪微博開放平臺用戶身份鑒權(quán)使用OAuth2.0協(xié)議,同時提供對Web,桌面和移動應(yīng)用程序的支持[4]。當(dāng)用戶第一次登陸,進(jìn)行授權(quán)認(rèn)證時會獲取UserID號、Access Token和Access Secret,并將其存儲到SharedPreferences中以便用戶下次使用。用戶再次登錄時開始檢查SharedPreferences中是否有該用戶的新浪微博的記錄,避免了重新授權(quán)認(rèn)證的繁瑣操作。登錄界面如圖5所示。

開發(fā)中通過調(diào)用新浪微博提供的API從微博服務(wù)商那里獲得用戶的數(shù)據(jù),也可以發(fā)送數(shù)據(jù)給微博服務(wù)器。用戶上傳文字和圖片的界面如圖6所示。

4 結(jié)束語

本文介紹了基于Android的多功能手機(jī)相冊軟件的設(shè)計與實現(xiàn),其中對Android的Camera技術(shù)、圖片編輯技術(shù)和新浪微博客戶端設(shè)計作了詳細(xì)的闡述,并指出了應(yīng)用開發(fā)過程中可能遇到的問題和解決方法。集手機(jī)拍照、照片編輯、照片微博分享功能于一體,具有一定的實際意義和使用價值。

參考文獻(xiàn);

[1] Android Developer, http://developer.android.com .

[2] Android Developer, http://developer.android.com/guide/components/fundamentals.html.

[3] Android Developer, http://developer.android.com/training/camera/index.html.

西华县| 湖口县| 许昌县| 志丹县| 甘泉县| 习水县| 张家港市| 吐鲁番市| 岚皋县| 大厂| 甘洛县| 涿州市| 越西县| 湾仔区| 政和县| 长乐市| 分宜县| 博客| 黑龙江省| 凤城市| 白城市| 开化县| 五常市| 灵寿县| 贺州市| 塔河县| 泸州市| 准格尔旗| 马公市| 荣成市| 龙口市| 麻江县| 汉中市| 二连浩特市| 铅山县| 大竹县| 左贡县| 临洮县| 德江县| 祁门县| 兰坪|