Android 6

안드로이드 Asset file 사용하기 (모두 읽어오기)

안드로이드 Asset file 사용하기 (파일 읽어오기, 디렉토리 읽어오기, 재귀함수를 이용하여 모두 읽어오기)안드로이드 개발을 하다 보면 asset에 파일을 넣어서 실행타임에 불러서 사용하는 경우가 종종 있다.  예를 들면 db 파일을 저장했다가 앱의 database 폴더에 카피 해 넣는다던지, 아니면... 뭐 어쨌든 asset에서 파일을 넣고 사용할 필요가 있었으니깐 여기까지 검색해서 들어온거 아닐까... 하는 생각이 들므로 더이상의 자세한 예시는 생략한다김성모화백 빙의. 일단 asset에 파일이 들어 있는 예시 이미지를 한 장 보자.    뭐 이렇게 올라가 있다고 치자근데 화질이 왜 이렇게 구린거야...하지만 귀찮으니깐 그냥 넘어가자. 여기에는 'font'라는 디렉토리도 있고 'icon_paymen..

안드로이드 InputStream을 ByteArray로 바꾸기 (InputStream to ByteArray)

안드로이드 InputStream을 ByteArray로 바꾸기 (InputStream to ByteArray)종종 InputStream으로 참조할 수 있는 데이터를 ByteArray-byte[]-로 바꿔야 할 때가 있다. 파일로 부터 읽어들인다든지 통신으로 읽어들인다든지 했는데, 이 데이터를 파싱하거나 가공해야 할 때 ByteArray로 변경해야 편할 때가 있다. 나의 경우에는 file을 AES로 암호화하기 위해 ByteArray로 변경할 필요가 있었다. 뭐 어쨌든 사연이 어떻게 됐든 용도가 어떻게 됐든지간에 필요할 때가 있다. 하기 함수를 이용하면 InputStream을 ByteArray로 바꿀 수 있다.                public static byte[] inputStreamToByteAr..

안드로이드 스테이터스 바(status bar) 높이 구하기

안드로이드 스테이터스 바(status bar) 높이 구하기안드로이드 개발을 하다 보면 상단(태블릿의 경우 하단) 스테이터스 바(status bar)의 높이를 알아야 하는 경우가 종종 생긴다.  비슷한 해상도의 폰에서는 보통 같은 높이를 사용하나 제조사 별 혹은 기종 별로 약간 다를 경우도 충분히 있을 수 있다. 그래서 꼼꼼하게 UI를 구성하려면 스테이터스 바(status bar)의 높이를 고려해서 구현하는 것이 좋다. 또한, 앱 구현상황에 따라 비슷한 화면 구성을 가지면서도 일반 화면 모드와 풀 스크린 화면 모드를 오가야 하는 경우에도 그렇다. 하기와 같은 코드로 스테이터스 바(status bar)의 높이를 구할 수 있다.        public int getStatusBarHeight(){      ..

안드로이드 작업 기기(폰, 태블릿) DPI 알아내기

안드로이드 작업 기기(폰, 태블릿) DPI 알아내기 안드로이드로 개발을 하다보면 단말기기-여기서는 보통 스마트폰이나 태블릿이 되겠지-의 density DPI(dots per inch)를 알아야 하는 경우가 발생한다. 폰 스펙 설명 페이지에 위의 density DPI가 정확하게 나와 있는 경우도 있으나 우리가 원하는 그 density DPI가 아니라 실제 물리적인 DPI-(실제 pixel / 물리적 inch 길이)- 를 기재해 놓은경우가 대부분이다. 그럼 보통 '246.5 dpi'니 '440.25 dpi'니 하는 뭔가 딱 떨어지지 않는 float스러운더러운 수치로 나오겠지. 졸라 float 같은 새끼. 그러나 우리가 필요로 하는 DPI는 그 물리적 실제 DPI가 아니라 OS에서 해당 device의 DPI를..

안드로이드 전체 charset 목록 정보 확인하기

안드로이드 전체 charset 목록 정보 확인하기안드로이드에서다른 플랫폼에서도 마찬가지겠지만 개발을 하다 보면 문자열을 다룰 때에 해당 문자열이 무엇으로 인코딩(encoding)되어 있는지 몰라서 난간할 때가 있다. 보통은 'UTF-8'로 거의 되어 있지만 'UTF-16LE', 'UTF-16BE', MS949' 등등으로 되어 있는 경우도 가끔 있다. 혹은 이도 저도 아니고 문자열인건 확실한데 대체 뭘로 인코딩 되어 있는지 알 수가 없는 난감한 경우도 있다비알파벳권 국가의 비애. 예를 들면 어떤 파일내에 meta정보 형식으로 들어있는 문자열을 parsing할 때에 종종 발생한다. 대표적인 예로는 MP3 TAG 정보에 저장되어있는 가사(lylics)정보가 있겠다. 이럴 때-문자열인건 확실한데 대체 뭘로 인코..

오픈 소스(공개 SW) 라이센스 요약 - Open Source License Summary

오픈 소스(공개 SW)  라이센스 요약 - Open Source License Summary대표적인 프로그래밍 언어인 C/C++/C#, JAVA 등으로 개발을 하다보면 엄청나게 좋은 기능을 제공하는 오픈소스(open source)들이 많이 공개되어있는 것을 발견 할 수 있다. 이런 소스들을 잘 활용하면 개발시간을 단축 시킬 수 있다진짜?. 근래에는 스마트 폰이 필수품이 되어버리다 보니 iOS(objective C), Android(JAVA)플랫폼에서도 개발이 활발히 이루어지는데, 기업이 아닌 개인들도 많이 활동하고 있기 때문에 이런 경우에는 오픈소스 의존도가 좀더 높은 경향을 보이기도 한다. 그런데 오픈소스라고 하여도 거의 모두 라이센스(license) 정책을 가지고 있기 때문에 사용에 주의가 필요하다...