본문 바로가기
[android] ContactsContract ( 주소록 ) 사용하기 어렵당. ㅠ [android] ContactsContract ( 주소록 ) 사용하기 어렵당. ㅠ 안드로이드에서 제공하는 주소록 ( ContactsContract ) DB 를 사용하기가 예전처럼 녹녹치가 않다.더 체계와되어 가공이 더 쉽도록 변형된 주소록의 형태로 ContactsContract 가 등장했지만,그만큼 복잡도도 올라가서 이해하는 데 높은 난이도가 요구된다. 하지만 한번 trial and error 등을 통해서 익숙해지면,사용하는데 큰 무리는 또 없을 것으로 예상된다. 안드로이드의 주소록은 ContactsContract 클래스가 base 가 된다.Contacts, RawContacts, Data 이렇게 3개의 주요 Table 을 통해 contact 정보가 관리되는데,각각의 table 은 조금씩 다른 정보를 .. 2013. 8. 6.
[android] BItmapLruCache 구현하기. ( for Volley ) 안드로이드, BitmapLruCache 구현하기. for Volley Volley Tutorial 을 보면 NetworkImageView 를 사용할 떄 ImageCache를 대입하는 부분이 있는데, 아이러니하게도 Volley library 에서는 기본적인 ImageCache 를 제공하지 않는다. 그렇다면 우리가 구현해주어야 한다는 것인데, "그나마 친절하게도" Volley Library 에서 ImageCache 라는 interface 는 제공해준다. 이 녀석을 구현하기만 하면 된다. import android.graphics.Bitmap;import android.support.v4.util.LruCache; import com.android.volley.toolbox.ImageLoader; public.. 2013. 8. 6.
[Java] SparseArray 뭐하는 녀석이야? SparseArray 뭐하는 녀석이야? 쉽게 이야기하면 Integer, Object pair 를 hash 하는 HashMap 요 녀석과 같다고 볼 수 있다.일반적인 List 는 index 가 순차적으로 가지만, SparseArray는 HashMap 의 개념이라 순차적이 아니어도 된다. 그리고, Integer, Object HashMap 에 비해 높은 성능을 보여주는 녀석이다. 참고사이트 : http://developer.android.com/reference/android/util/SparseArray.html Android, HashMap, integer, Key, object, Performance, sparsearray, Value, 성능, 성능 비교, 안드로이드 2013. 8. 6.
[Java] 형 변환에 대한 깊숙한 이야기. 자바, 형 변환에 대한 깊숙한 이야기. 요즘은 Eclipse 를 비롯한 IDE 들이 워낙 잘 되어 있어서, 알아서 에러를 표시해주고 어떻게 고쳐져야 하는지 Suggestion 까지 나와서 잊기 쉬운 간단하면서 당연한 형변환에 대한 이야기를 해본다. 작은 타입의 데이터를 큰 타입의 변수에 할당할 때는 자동 변환된다. 작은 타입과 큰 타입의 예는 int 와 long 의 관계처럼 볼 수 있다.만약 long 타입의 변수가 있는데, 이 변수에 int 값을 넣어주면 자동 형변환이 된다는 이야기이다. int a = 10;long b = a; // OK!! no casting necessary 큰 타입의 데이터를 작은 타입 변수에 할당할 때는 명시적으로 형 변환을 해 주어야 한다. 큰 타입의 데이터릊 작은 타입의 변수.. 2013. 8. 5.
[android] extrernal image file path <-> MediaStore Uri ( conversion ) 안드로이드, external image file path MediaStore Uri ( conversion ) 경우에 따라서 Uri 와 File 을 전환해야 할 경우가 생긴다. external file path >Cursor cursor = getContentResolver().query( Uri.parse"content://media/external/images/media/1" ), null, null, null, null );cursor.moveToNext(); // 예외처리는 생략했습니다. 실제 코드에서는 예외처리를 잘 해주세요.String path = cursor.getString( cursor.getColumnIndex( "_data" ) );Uri uri = Uri.fromFi.. 2013. 8. 5.
[android] camera take and crop ( 사진 찍으면서 crop 까지 하기 ) 안드로이드, 사진 찍으면서 crop 까지 하기 갤러리로부터 이미지 선택하며 크롭하는 방법. Camera 로 사진을 찍으면서 Crop 까지 하는 sample code. private static final int REQUEST_CODE_PROFILE_IMAGE_CAPTURE = 545;private static final int REQUEST_CODE_PROFILE_IMAGE_CROP = 2103; private static final String TYPE_IMAGE = "image/*";private static final int PROFILE_IMAGE_ASPECT_X = 3;private static final int PROFILE_IMAGE_ASPECT_Y = 1;private static fina.. 2013. 8. 5.
[android] Gallery 로부터 사진 Crop 하며 Pick 하기 sample code. 안드로이드, Gallery 로부터 사진 Crop 하며 Pick 하기 sample code. 사진 찍으면서 크롭까지 하는 샘플 코드. Gallery 혹은 iPhone 용어로 Album 에서부터 Image ( 사진 ) 을 Crop 하며 Pick 하는 방법에 대한 Sample Code 를 제공한다. private static final int REQUEST_CODE_PROFILE_IMAGE_PICK = 545; private static final String TYPE_IMAGE = "image/*";private static final int PROFILE_IMAGE_ASPECT_X = 3;private static final int PROFILE_IMAGE_ASPECT_Y = 1;private static.. 2013. 8. 3.
[android] adb 명령어로 clear data ( 데이타 지우기 ) 안드로이드, adb 명령어로 clear data ( 데이타 지우기 ) 개발을 하다보면 데이터를 날려버리고 테스트 하는 경우가 자주 발생한다.그런데 그 때마다 설정 -> 앱 -> 어플리케이션 선택 -> 데이터 지우기 를 수행하기는 너무 귀찮다. 그래서 찾아보았다. 역시나 adb 로 해결하는 방법이 있었다. adb shell pm clear [packageName] 자 이제 조금 더 즐겁게 개발하자~ adb, adb shell, adb shell pm clear, Android, BAT, bat 파일, batch, batch 파일, clear data, packageName, 데이터 지우기, 설정, 안드로이드, 앱, 어플리케이션 2013. 8. 3.
[android] viewstub 이건 뭐하는 녀석이야?? 안드로이드, ViewStub 이건 뭐하는 녀석이야? ViewStub 은 매우 가벼운 더미 View 이다. 자주 사용하지 않는 layout 을 링크로 갖고 있는 녀석이다. 이 녀석은 GONE 과 같이 아무것도 그리지 않는다. lazy initialize 와 비슷하다고 볼 수 있는데, 개발자가 명시적으로 지시할 때 initialize 가 된다. 개발자가 ViewStub 을 inflate 하고 싶을 때는 ViewStub에 대해 inflate() 를 호출하거나 Visibility 속성을 VISIBLE 이나 INVISIBLE 로 변경해주면 된다. ViewStub 은 한번 inflate 가 되면 그 존재는 사라지고, inflated 된 layout 이 그 자리를 차지한다. 그래서 variable 로 유지할 필요가 .. 2013. 8. 2.
반응형