반응형
|
안드로이드(Android) 저장소(Sdcard) 에서 읽어온 파일이 이미지인지 판단하기 |
|
개발환경 : window 7 64bit, Eclipse Kepler, Android 4.2.2 |
|
안드로이드에서 이미지를 표현하기 위해 SDCARD 에서 파일을 읽어옵니다. 그런데 여기에 이미지만 있는 것이 아닙니다. 이미지가 아닌 파일을 ImageView에 표현을 하게 되면 에러가 나므로 미연에 방지를 해야합니다. |
이전 갤러리 만드는 샘플에서 SDCARD 에
이미지를 불러오는 함수를 수정합니다.
이전 이미지 불러오는 함수는 다음과 같습니다.
// SDCARD 에 이미지를 가져옵니다.
private void ReadSDCard() {
List<String> tFileList = new ArrayList<String>();
File f = new File(
Environment.getExternalStorageDirectory().getPath()
+ "/Pictures/");
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
File file = files[i];
tFileList.add(file.getPath());
}
imgListPath = tFileList;
}
여기에 이미지가 아닌 파일을 제외하기 위해
코드를 추가합니다. 먼저 String curFile = file.getPath();
로 전체 파일이름을 포함한 주소를 읽는다
그리고 파일명의 확장자를 잘라내서 소문자로 바꿉니다.
String curFile = file.getPath();
String ext = curFile.substring(
curFile.lastIndexOf(".") + 1,
curFile.length()).toLowerCase(Locale.KOREA);
이렇게 소문자로 바꾼후 jpg, gif, png 만 이미지리스트에
추가합니다.
// SDCARD 에 이미지를 가져옵니다.
private void ReadSDCard() {
List<String> tFileList = new ArrayList<String>();
File f = new File(Environment.getExternalStorageDirectory()
.getPath() + "/Pictures/");
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
File file = files[i];
String curFile = file.getPath();
String ext = curFile.substring(
curFile.lastIndexOf(".") + 1,
curFile.length()).toLowerCase(Locale.KOREA);
if (ext.equals("jpg")
|| ext.equals("gif")
|| ext.equals("png")){
tFileList.add(file.getPath());
}
}
imgListPath = tFileList;
}
반응형
'안드로이드 개발' 카테고리의 다른 글
| 안드로이드(Android) 스마트 폰에 모든 시스템 정보 알아보기 (1) | 2014.10.25 |
|---|---|
| 안드로이드(Android) CPU 버전 알아오기 (0) | 2014.10.24 |
| 안드로이드(Android) 2014년 9월 까지 플랫폼 버전과 화면해상도 분포 (0) | 2014.10.24 |
| 안드로이드(Android) OS 버전과 시스템정보 알아오기 (0) | 2014.10.23 |
| 안드로이드(Android) google map API v2 에서 지도에 마커설정하기 (1) | 2014.10.22 |
| 안드로이드(Android) HorizontalScrollView 이용해 이미지 갤러리 만들기 – 2부 (0) | 2014.10.22 |
| 안드로이드(Android) HorizontalScrollView 이용해 이미지 갤러리 만들기 – 1부 (0) | 2014.10.22 |
| 안드로이드(Android) XML 을 사용하여 이미지 버튼 배경 로딩하기 (0) | 2014.10.13 |
