看板 AndroidDev 關於我們 聯絡資訊
※ 引述《d5528300 (承)》之銘言: : 各位大大好 我是android的新手 : 最近想要試試看把手機裡的照片讀取到image view上面 : 我知道相片是存在sd卡裡面 但是還是不知道要怎樣取得 : 也爬文過了 網路上也有找到了一些code 但都失敗= = : 請問各位android高手可以教教我嗎~ : 不然可以提供 有教學或有sample code的網站 讓我自己慢慢找 : 精華區那些也都有看了 : 但對新手感覺都有點困難.... : 非常感謝各位!! 關於圖片讀取,個人讀過一些資料之後,覺得現在的情況很有趣, Android提供圖片處理的功能,但顯然不能一下子讀太多MB等級的圖片, 否則out of memory的問題等著你. 也就是如果要讀圖片, 最好同時要懂得適合的處理圖片的方法. 介紹你看個網頁: http://stackoverflow.com/questions/477572/android-strange-out-of-memory- issue-while-loading-an-image-to-a-bitmap-object 縮址 http://0rz.tw/dwxoi 從Sash的答案中,可以學到從BitmapFactory中取檔案的方法: Bitmap bmpImage = BitmapFactory.decodeFile(path, options); 並且有提到怎麼做BitmapFactory.Options設定讓使用空間小一點. 從Fedor的答案中可以見到一個大型的解決方式,是除了以BitmapFactory的共用 來節省記憶體的使用之外,還針對圖片尺寸做各別縮放尺度的調整. 當然,首先要知道怎麼去取得path. API level 8開始,有Environment.DIRECTORY_DCIM 可以直接取相機的儲存路徑,但在前幾個API level,可能要自己定義相機的儲存路徑為 "/DCIM" 然後從Environment.getExternalStorageDirectory()可以取得儲存裝置的根目錄, 可能是"/sdcard". 知道了完整路徑之後就用檔案方式開啟目錄: File dir = new File(dirPath); //dirPath = "/sdcard/DCIM" 然後用.listFiles()讀全部檔案,或者用.list(filter)讀限定條件的檔案. 大概是知道了這些,就可以做得不錯了. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.67.34
d5528300:感謝大大 我來慢慢研究 謝謝!! 04/15 00:10