본문 바로가기

전체 글242

MediaRecorder 미디어 녹음 레퍼런스 : http://developer.android.com/reference/android/media/MediaRecorder.html 오디오나 비디오를 녹음/녹화하는 객체. 기본적인 흐름은 위 링크를 열면 나오는 이미지를 통해 볼 수 있다. 기본적으로, 객체를 초기화하고 환경설정을 해준 뒤 시작하는 과정. MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_.. 2015. 8. 4.
GoogleMap 임의적으로 현재 위치 찾기 구글맵의 위치정보는 LocationManager를 이용해 관리한다. LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE)); 위 구문으로 매니저 객체를 할당 받은 뒤, LocationListener 객체를 만들거나 implements해서 구현한다. @Override public void onLocationChanged(Location location) { Log.d(TAG, "onLocationChanged"); if(location.getProvider().equals(LocationManager.GPS_PROVIDER)){ Log.d(TAG, "privider is GPS" + location.getAccuracy()); .. 2015. 7. 31.
ayncTask callback 구조로 변경한 소스 2015. 7. 21.
android universal image loader https://github.com/nostra13/Android-Universal-Image-Loader 이미지 uri를 이용해 로딩하는 방식인데 매우 간편하면서 매우매우매우 성능이 좋다. 진짜 최고다... 아무리 기를 쓰고 스크롤 이미지 로딩을 했는데도 끊김이 발생하는걸 아주 스무스하게 해준다ㅏ. 사용방법도 간단하다. ImageLoader의 instance를 얻고, init한다. 이 시점에서 DisplayImage()를 이용해 보여줄 수 있고, option을 선택적으로 줄 수도 있다. 라운딩도 자체 지원하기 때문에 편하게 쓸 수 있다. 2015. 7. 10.
DateFormat 각종 DateFormat적용 예제)new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault); yyyy-MM-dd 1969-12-31 yyyy-MM-dd 1970-01-01 yyyy-MM-dd HH:mm 1969-12-31 16:00 yyyy-MM-dd HH:mm 1970-01-01 00:00 yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800 yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000 yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800 yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000 yyyy-MM-dd'T'HH:mm:ss.SS.. 2015. 7. 6.
문자열 검색 기능 특정 데이터의 문자를 검색해서 띄워주는 기능. 카톡의 채팅창이나 사람 찾는 거 생각하면 된다. private void setTextChangedListener(EditText view) { // 검색어를 수정할 때 받을 이벤트 리스너 view.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.d(TAG, "beforeTextChanged"); } @Override public void afterTextChanged(Editable s) { Log.d(TAG, "afterTextChanged"); String k.. 2015. 6. 25.
현재 내 app의 버전 정보 가져오기 현재 내 앱의 버전 정보를 가져오는 방법 PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 0); info.versionName; gradle을 쓰고 있다면, int versionCode = BuildConfig.VERSION_CODE; String versionName = BuildConfig.VERSION_NAME; 2015. 6. 19.
image caching LruCache 보통 bitmap을 캐시 하는데 사용한다는데, 나는 drawable을 캐싱했다. 되던데... bitmap을 캐싱하는 이유가 있을 것 같은데 모르겠다. 사이즈 문제...려나? 베남식에서도 문제는 없던데. 아무튼. LruCache는 해쉬맵을 사용해서 key와 value로 구분해서 캐쉬한다. size는 기본적으로 캐싱할 아이템 '개수'를 의미한다. 따로 오버라이드 하지 않는다면 사이즈는 이미지 크기에 관계없이 개수만 체크할 것이다.(캐쉬 사이즈가 거어어업나 커지면 어떨런지...) 방법은 기본적으로 간단. 아래 예제 코드를 올리지만 굳이 저렇게 할 필요는 없다. 그냥 put, get 하는 부분만 잘 설정하면 된다.무엇보다 이미지 캐싱에 쓰이기 때문에 비동기 작업에 사용하는 것 때문에 다중 쓰레드에 대해 처리를 .. 2015. 6. 17.
문자열의 빈 공백(white space) 체크하는 방법 String s = " "; 위와 같은 문자열을 단순히 string.match()등으로는 체크할 수가 없다. 하지만 텍스트를 입력하는데 빈 공백을 놔둘 수는 없는 법.. 그럴 땐 trim()을 이용하자. s.trim() 은 빈 공백을 없애준다. 내부 코드는 아래와 같다. public String trim() { int start = offset, last = offset + count - 1; int end = last; while ((start 2015. 6. 8.