기존에 공개되어있던 android 용 pull to refresh 소스가 맘에안들어서 새로 구현했습니다.

이것은 위로 리프래시 말고도 아래로 리프래시도 가능합니다.









pulltorefresh.zip


by cranix 2012. 3. 28. 14:53
예전에 구글에서 제공한 어떤 소스에 공개되어있는것을 뜯어내어서 나름대로 수정해서 사용하기 편하게 만든 버젼입니다.
ListView 사용할때처럼 adapter 만 붙혀주면 간단하게 구현할수 있습니다.


 
by cranix 2012. 3. 26. 15:10

adt r17 에 x86 에뮬레이터 지원한다 그래서 테스트 해봤습니다.

결과적으로는 이전에 비하면 훨씬 좋네요.

 

체감속도가 눈에띄게 향상되었습니다.

부팅속도, 타이핑속도, 앱 실행속도 등이 이전 arm 기반 에뮬레이터에 비해 월등합니다.

사용하기를 권장 드립니다.

 

사용법은 아래와 같습니다.^^


0.  http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/  설치합니다.

 1. Intel Atom x86 System Image by Intel Corporation 을 설치합니다.

2. (1) 에서 설치한 이미지로 avd 를 만듭니다.

3. 실행해봅니다.




by cranix 2012. 3. 23. 11:51
안드로이드에서 Bitmap.createScaledBitmap 을 사용해서 이미지 크기를 변경하면 exif 정보가 날라간다.
그래서 이것을 유지시켜주는 유틸을 만들었다.

먼저 크기는 변경되기 때문에 크기의 exif 정보만 빼고 나머지를 그대로 복사하는 copyExifWithoutLengthWitdth 함수를 정의한다.


private static void copyExifWithoutLengthWidth(ExifInterface src,ExifInterface dest) {

for (Field f:ExifInterface.class.getFields()) {

String name = f.getName();

if (!name.startsWith("TAG_")) {

continue;

}

String key = null;

try {

key = (String)f.get(null);

} catch (Exception e) {

continue;

}

if (key == null) {

continue;

}

if (key.equals(ExifInterface.TAG_IMAGE_LENGTH) || key.equals(ExifInterface.TAG_IMAGE_WIDTH)) {

continue;

}

String value = src.getAttribute(key);

if (value == null) {

continue;

}

dest.setAttribute(key, value);

}

}





다음으로 위 함수를 이용해서 아래와같이 작성하면 간단하게 복사된다.

ExifInterface originalExif = new ExifInterface(originalFile.getAbsolutePath());

ExifInterface finalExif = new ExifInterface(finalFile.getAbsolutePath());

copyExifWithoutLengthWidth(originalExif,finalExif);

finalExif.saveAttributes();

 
 
by cranix 2012. 3. 20. 19:24
| 1 |