옛글/코드창고

    [Android Code] Bitmap 파일로 저장하기

    File file = new File(getFilesDir() + "/test"); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); FileOutputStream out = null; try { out = new FileOutputStream(file); bm.compress(CompressFormat.PNG, 100, out); ..

    Android 4.3 Notification Listener Service 예제

    Android 4.3 Notification Listener Service 예제 4.3부터 생겨난 Notification Listener Service예제입니다. 간단하게 세팅화면 접근 및 LOG로 찍도록 만들어서 올립니다. 이전 버전까지는 Accessibility로 접근이 가능했으나, 4.3부터는 Notification Listener Service로 접근이 가능합니다.(다만. 접근성에서도 캐치가 안되는 부분(라인 이라던가)은 NLS에서도 캐치가 되지 않더군요.) 필요하신 분들은 사용하시기 바랍니다.

    [Android] WebView로 이미지 로딩 후 확대/축소 가로크기에 맞추기

    위의 getScale은 StackOverFlow에서 구한 코드인데 PIC_WIDTH 부분은 답변에 나와있지 않더군요;; 가로크기 받아와서 스택오버에는 pic_width 와 width 가 자리가 바껴있더군요위는 수정 후 적용 소스입니다.

    [Android] 캠코더 예제소스 및 관련 Refrence

    캠코더 예제가 외국에는 Github에 몇개가 올라와있는 상태인데, 너무 난잡해서 정리 후 예제 소스 공유합니다. MediaRecorder는 몇가지 포맷으로 저장이 가능하며 아래소스는 mp4로 저장하게끔 되어있는데 Default값으로 FrameRate나 Size를 정해주지 않으면 굉장히 저화질로 찍히네요. 고화질을 원하신다면 mMediaRecorder.setVideoFrameRate(24); mMediaRecorder.setVideoSize(720, 480);을 추가하셔서 Size나 이런 부분을 Customize하면 될 듯 합니다. * Camcroder Activity * Camcorder Preview * Camcorder XML

    [Android] Webview Image 처리시 깜박임 처리

    리스트뷰에 ImageView를 사용해서 이미지를 넣거나 혹은 서버나 웹에서 다운받는 경우 Out Of Memory(Heap Memory상 안드로이드는 메모리가 벗어나버리면 앱을 비정상 종료) 가 일어나버립니다. 이를 해결하기 위해서 Recycle Code를 넣고 Listview를 holder로 만들어 재사용하기도 하고, 혹은 Manifest 에서 Large Heap 을 true로 바꾸더라도 태블릿이 아닌 이상 스마트폰에서는 버벅거림 혹은 메모리상 문제를 깔끔하게 해결할 수가 없습니다. 이럴 때 ImageView대신 Webview로 남은 이미지들은 캐쉬처리로 하면 굉장히 좋은데요. 구글 플레이 앱소개에 있는 그림들도 로딩을 한장씩하는 걸로봐서(확대된 상태에서) 아마 웹뷰로 구현된 듯 합니다. 웹뷰로 이미지..

    [Android] 앱 에서 전화 받기 API

    일반적인 방법으로는 앱에서 전화를 받는 방법은 없습니다. 다른 기기에서 블루투스로 연결을 하거나, 혹은 기기를 연결해서 테스트해보았는데, Call 을 받는 인텐트가 없기 때문에 (ACTION_CALL_BUTTON이라는 것을 사용해봤는데도 잘 되지않습니다. 강제로 전화가 올 때 KEYCODE_CALL_BUTTON을 누르도록 해도 전화오는 화면(혹은 어플리케이션)에 대해 동일한 SIgn 이 되지 않았기 때문에 INJECTS_EVENT Permission 오류를 뱉어냅니다.) 그렇다면 앱에서 전화를 받기 위해서는 어떻게 해야 할까요? Android 에는 TelephonyManager라는 것이 있습니다. 만약에 전화벨이 울린다면, 바로 이 곳에서 캐치가 가능한데요. TelephonyManager.CALL_STA..

    [Android] Bluetooth UUID & Connect

    Bluetooth 관련 프로젝트를 진행중인데, 하드웨어와 관련된 부분이 많아 어느정도 지식이 있지 않고서는 응용하기가 까다롭습니다. 블루투스를 connect하기 위해서는 UUID가 필요합니다. 정확하게는 서비스 번호인데, 블루투스 규격 상 서비스가 가능한 특정 값을 지정해놓고 상대방 기기에서 지원을 하는지 확인 후 지원이 된다면 서로 그 값의 서비스 번호를 통해 연결이 되게 됩니다. 많은 중소기업 및 대기업들이 Bluetooth 및 Wifi를 통해 연결하는 앱이나 기기를 만들고 있습니다. 그만큼 상대적으로 칩이 싼 편이고 기술적으로도 고도의 기술을 필요로 하지 않기 때문이라 생각이 됩니다. 좀 더 자세하고 UUID를 공부하고 싶다면, http://en.wikipedia.org/wiki/UUID 를 참조하..