《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android的手機相冊分享軟件的設計與實現(xiàn)
基于Android的手機相冊分享軟件的設計與實現(xiàn)
2014年微型機與應用第13期
程 濤1,2,陳慧琴1,2,孫 萍1
1.江蘇農(nóng)牧科技職業(yè)學院,2.江蘇泰州農(nóng)業(yè)物聯(lián)網(wǎng)工程技術中心,江蘇 泰州
摘要: 分析了基于Android的手機相冊分享軟件的功能模塊,對其進行架構設計和代碼實現(xiàn),完成了照片拍攝,特效編輯等功能,并以廣泛使用的新浪微博為例,探討了如何通過微博授權進行分享。
Abstract:
Key words :

  摘  要: 分析了基于Android手機相冊分享軟件的功能模塊,對其進行架構設計和代碼實現(xiàn),完成了照片拍攝,特效編輯等功能,并以廣泛使用的新浪微博為例,探討了如何通過微博授權進行分享。

  關鍵詞: Android;手機相冊;分享;微博;設計與實現(xiàn)

  1 需求分析及技術思路

  移動互聯(lián)網(wǎng),就是將互聯(lián)網(wǎng)和移動通信二者融合起來,成為一體?;ヂ?lián)網(wǎng)和移動通信成為當今世界發(fā)展最快、市場前景最大的業(yè)務,隨著4G移動通信技術的發(fā)展,移動終端不僅是通信網(wǎng)絡的終端,還將成為互聯(lián)網(wǎng)的終端,移動終端的應用軟件迎來了巨大的發(fā)展空間,隨時隨地通過手機發(fā)微博成為廣大網(wǎng)民交流信息的方式[1]。該軟件具有拍攝照片、編輯照片、查看刪除、換膚等功能,并且可以發(fā)布到新浪微博進行分享。

  本軟件是基于Android操作系統(tǒng)開發(fā)的。Android是一個完整的手機軟件平臺,其主要組件有:活動(Activity)、意圖(Intent)、服務(Service)、內(nèi)容(Content)、廣播接收器(Broadcast Receiver)?;顒邮潜硎緦?,是一個負責與用戶交互的組件,可以顯示信息并響應用戶的行為;意圖是一個簡單的消息傳遞框架,用來完成Android各個組件之間的通信;服務是一個應用程序,它的生命周期很長但不能自己運行只能后臺運行,主要負責更新數(shù)據(jù)源和可見的活動以及觸發(fā)通知,并且可以和其他組件進行交互;內(nèi)容主要負責數(shù)據(jù)的存儲;廣播接收器配合意圖的廣播消息使用,它可以監(jiān)聽符合特定條件的廣播[2]。

  2 軟件分析與設計

  2.1 系統(tǒng)功能劃分

  功能模塊劃分是描述系統(tǒng)的一個過程,需要將需求分析中的感性描述進行抽象化,提取出要實現(xiàn)的功能,這是整個軟件開發(fā)的一個關鍵過程。在系統(tǒng)分析的基礎上,確定系統(tǒng)的功能模塊,如圖1所示。功能模塊主要劃分為:拍攝照片、相冊瀏覽、相片編輯、登錄到新浪微博進行分享幾大功能。

001.jpg

  2.2 實現(xiàn)步驟

  (1)通過注冊新浪微博賬戶,在weibo官方網(wǎng)站上輸入所需創(chuàng)建應用的基本信息,所創(chuàng)建應用的AppKey及AppSecret作為新浪微博開放平臺各API的身份標志,申請到AppKey和AppSecret后,就可以調(diào)用微博開放平臺上的一系列接口;

 ?。?)調(diào)用系統(tǒng)Camera,使用的是Intent Camera方式,借助Intent和MediaStroe調(diào)用系統(tǒng)Camera App程序來實現(xiàn)拍照功能;

  (3)獲得SD卡DCIM中所有圖片,獲取每張圖片的id,為刪除、分享等操作做準備;

 ?。?)實現(xiàn)獨立的編輯類和編輯布局,獨立的編輯類對布局中對應的效果按鈕進行相應的處理;

 ?。?)對一個ImageButton的處理,提供多個皮膚供用戶選擇,同樣需要對按鈕設置事件監(jiān)聽,以此來捕捉事件并處理。

  3 系統(tǒng)實現(xiàn)

  3.1 開發(fā)環(huán)境構建

  Android的應用開發(fā)通常使用Google提供的Android SDK中的工具集,它包括編譯器、調(diào)試器、資源管理器和模擬器,另外通常使用Eclipse加上ADT插件(Android Development Tools)作為集成開發(fā)環(huán)境。本系統(tǒng)開發(fā)環(huán)境需要的工具有Eclipse、Android SDK、JDK以及ADT。開發(fā)環(huán)境搭建的具體過程為:(1)安裝JDK并配置Java環(huán)境變量;(2)安裝集成開發(fā)環(huán)境Eclipse,并安裝工具插件ADT,該插件提供了設備模擬器、內(nèi)存和效率調(diào)優(yōu)工具、調(diào)試工具;(3)安裝Android SDK,將tools所在文件夾路徑加入到path的環(huán)境變量中;(4)通過AVD Manager添加手機模擬器并測試環(huán)境[3]。

  3.2 系統(tǒng)功能實現(xiàn)

 ?。?)能夠綁定SNS社區(qū)賬戶,第一次訪問需要授權及認證,以后便可直接訪問采用Oauth2.0隱式授權認證方式登錄,其核心代碼如下。

  Context context=MainMainActivity.this;

  WifiManager wifimanager=context.getSystemService

 ?。–ontext.WIFI_SERVICE);

  if(!wifiManager.isWifiEnabled()){

  wifiManager.setWifiEnabled(true);}

  if(num==1){

  Weibo weibo=Weibo.getInstance();

  weibo.setupConsumerConfig(CONSUMER_KEY,

  CONSUMER_SECRET);

  weibo.setRedirectUrl("http://www.sina.com");

  //此處回調(diào)頁內(nèi)容應該替換為與Appkey對應的應用回調(diào)頁

  weibo.authorize(MainMainActivity.this,new AuthDialogListener());}

  else{Intent intent=new Intent(MainMainActivity.this,MainActivity.class);

  startActivity(intent);

  onDestroy();}

 ?。?)拍攝、查看、共享及分發(fā)的功能

  使用Android拍照,實現(xiàn)起來比較簡單,直接調(diào)用手機內(nèi)置的攝像頭。

  Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

  (3)圖片編輯功能

  圖像的編輯包括對圖像進行異彩、負片、增強、黑白、水印、對稱、放縮等操作,在換膚功能中,軟件為拍攝的照片提供了3套皮膚用來換膚。

 ?。?)換膚功能,提供換膚模板庫供用戶選擇

  先將幾套皮膚放在res/drawable目錄里,然后用SharePreference來記錄當前的皮膚資源id,最后在啟動呈現(xiàn)出的時候加載Activity背景。

  public final static String SKIN_PREF="skinSetting";

  public SharedPreferences skin;private Activity PaperActivity;

  private int[] paperResources={R.drawable. wallpaperA,R.drawable.wallpaperB,R.drawable.wallpaperC,R.drawable.wallpaperD,R.drawable.wallpaper_g};

  public int getSkinType(){

  String key="skin_type";

  return skin.getInt(key,0);}

  public SkinSettingManager(Activity activity){

  this.PaperActivity=activity;

  skin=PaperActivity.getSharedPreferences(SKIN_PREF,3);}

  本文對Android編程技術進行了研究,實現(xiàn)了基于Android的圖像共享軟件,用戶可以使用該軟件進行拍攝照片、特效編輯、護膚等功能,并且可以隨時隨地通過新浪微博進行共享。

  參考文獻

  [1] 姬莉霞,馬建紅,張雷.基于Android的智能圖像共享系統(tǒng)的研究[J].計算機與現(xiàn)代化,2012(8):87-89.

  [2] 王為學,谷剛.基于Android和Wi-Fi的智能點菜終端設計與實現(xiàn)[J].電腦開發(fā)與應用,2011(12):40-42.

  [3] 羅軍舟,吳文甲,楊明.移動互聯(lián)網(wǎng):終端、網(wǎng)絡與服務[J].計算機學報,2011(11):2029-2051.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。