1、設計目的
為了更加深入的了解Android開發,我最初是打算設計是建立一個相冊或視頻相關的多媒體的應用,但一次偶然的機會我看到了在github中一個框架,該框架中定義了許多有關圖片和視頻相關操作的方法,而且能夠獲取到手機本地的檔案,而不像之前的應用需要匯入到drawable中或在網上獲取,于是本次課程設計我決定利用github
https://github.com/LuckSiege/PictureSelector的開源框架做一個能夠查看手機后臺存盤資料的應用,這樣方便的找出手機中存盤在各個位置的圖片音樂視頻等,比如手機拍攝的圖片,本地下載的視頻,或者本地下載的音樂等,在選擇時進行預覽方便選擇,類似于手機相冊,
2、功能描述
- 預覽查看手機存盤的照片,視頻和音頻,可以通過應用找到手機中存盤的各型別照片,視頻和音頻,包括png,jpg,jpeg等格式
- 單選或多選手機本地存盤的照片,音頻和視頻,將選擇的照片視頻音頻回傳到首頁顯示
- 拍照,錄像或錄音,將結果回傳到首頁展示
- 在首頁播放選擇的照片視頻和音頻
3、詳細設計
3.1 系統業務邏輯
業務邏輯流程圖

3.2 系統功能模塊設計

3.3 系統界面設計
- 首頁:顯示自己選擇的檔案,
- 操作選項頁面,在首頁點擊后進入操作選擇頁面,可以選擇是添加照片和視頻還是音頻,亦或者是拍照,
- 本地檔案展示頁面:將手機本地的檔案(圖片,視頻,音頻)以類似手機相冊的方式顯示,可以進行選擇和預覽
- 檔案預覽頁面:點擊想要選擇的檔案,會預覽檔案
4、程式實作
首先由于我用了第三方的集成框架,所以首先要利用gradle匯入
allprojects {
repositories {
jcenter()
maven { url ‘https://jitpack.io’ }
}
}
然后建立layout中的xml檔案,首先首頁利用RecyclerView來便于將選擇的圖片進行排列,在利用相對布局和imageview以及庫中的layout將圖片視頻等展示出來,
在MainActivity中,利用getviewbyid獲取到layout中的ui控制元件,
new一個GridImageAdapter來存放選擇的檔案,然后判斷利用庫中集成的函式判斷存放的檔案的型別,利用switch函式利用集成的不同方法來打開各自對應的檔案,

而想要獲取到手機本地的檔案,還要申請到寫的權限

然后給ui控制元件設計點擊相應監聽器,利用控制元件的getid判斷回應事件,在每個對應的事件中利用庫中的函式將手機本地的相冊顯示并進行相關的操作,

5.運行結果


選擇相冊:



左邊是我的應用的界面,右邊是模擬器中自帶的圖庫的界面,可以看到該應用找到了該模擬器中包括圖片的所有檔案夾,也獲取到了手機本地保存的所有圖片和視頻,



可以點擊圖片進行預覽,也可以左右滑動選擇不同的相冊,



選擇的圖片會回傳首頁進行展示,在首頁也能進入查看頁面



當選擇音頻時,顯示本地的所有音頻,并在點擊后能進行播放


在選擇視頻后也能進行播放和選擇到首頁



還能夠進行錄視頻,拍照,錄音,
6、總結
- 本次實驗我用到了github中的開源庫,其中有許多沒有在課堂中學過的知識,比如檔案操作權限的獲取,開源庫的匯入,對于錄像,拍照,錄視頻等不同拍攝的實作程序,
但也有一些學過的 - 知識獲得了加深,比如layout的頁面設計中如何將圖片排列整齊,如何學習使用RecyclerView;在為控制元件添加監聽事件時利用view的getid和switch來給不同的控制元件添加事件;利用adapter配接器來放入照片和視頻等不同的檔案,并在adapter中為每個圖片,視頻等添加各自的點擊回應事件,來完成在首頁選擇檔案的查看,
- 這個系統也有許多可以改進的地方,比如在匯入庫和進行使用時出現很多問題,其中解決了一些問題,但也有一些沒有解決,如在開源庫中還有可以對圖片進行裁剪旋轉的功能,但在使用時卻會關閉應用,并且在日志中也沒有顯示報錯資訊,最后沒有解決,于是只有放棄這個功能;在進行選擇時無法顯示檔案的名字,圖片可以直接看,但視頻和音頻則必須要打開播放才能確定檔案名字,
7.github地址
https://github.com/1105358600/AndroidPVASelector
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/287757.html
標籤:其他
上一篇:android 仿微信demo————微信通訊錄界面功能實作(移動端,服務端)
下一篇:Andorid-初識
