編輯:關於android開發
前段時間在做一個動態發布功能,需要用到圖片上傳。一開始直接調用的系統相冊和相機,由於系統相機不支持多選,就花點時間做了個本地相冊,在此開源下。
先上截圖,依次為選擇相冊界面、相冊詳情界面、查看圖片大圖界面
相冊列表按圖片數量降序排序,相冊詳情列表按圖片時間降序排序,對比了下微信和QQ的相冊,讀取的文件基本一致。
接下來說下相冊文件遍歷的思路。首先肯定不會是通過文件夾逐級遍歷的,這樣效率太低。查了下API發現Android的系統數據庫已經存儲了所有的圖片路徑和縮略圖路徑(如果有),可直接通過ContentProvider來獲取,獲取大圖的URI是
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
獲取縮略圖的URI是
MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI
我的做法是先遍歷所有大圖,獲取ID和路徑,再通過大圖的ID去查找縮略圖路徑,在相冊中顯示的都是縮略圖,這樣可以提高顯示速度,同時減少內存開銷。但是通過大圖ID去查找縮略圖這一步是需要消耗一點時間的,因此將它在App啟動時,開啟線程執行。LocalImageHelper類用以執行該操作。
待完善點:相冊的初始化是放在應用啟動時,初始化一次後就不再重新執行,因此假如在應用開啟後,設備內添加了新的圖片或刪除了圖片,應用內緩存的相冊仍然不會改變,下一步可以在每次打開相冊時和本地圖片做一次對比,對新增的和刪除的圖片做一個更新。
Demo中使用了ImageLoader庫來展示圖片,使用的是Android Studio開發。
【ActionBar的使用】,【ActionBar使用】在AS工程中使用ActionBar 簡單實用: 1、功能清單文件中指定主題標簽屬性Theme.Holo或其子類 &
android的消息機制 很多以前掌握的知識,總是慢慢的再忘記,看來還是自己理解的不夠透徹,希望用博客的形式記錄下來。 說起android的消息機制,那不得不提Handl
Android安全開發之淺談密鑰硬編碼,android淺談密鑰Android安全開發之淺談密鑰硬編碼 作者:伊樵、呆狐@阿裡聚安全 1 簡介 在阿裡聚安全的
Android 在C代碼中調用logcat,androidlogcat本文給《Android java傳遞int類型數組給C》中添加C代碼中調用logcat的功能 And