안드로이드
-
효율적인 레이아웃 구성하는 기법안드로이드/문서번역 2011. 2. 21. 20:16
효율적인 레이아웃 구성하는 기법 안드로이드 UI 툴은 사용하기 쉽고 편한 관리툴을 제공합니다. 대부분의 경우에는 관리툴이 제공하는 몇몇 기본적인 것들만 이용하면 UI를 간편하게 구성할 수 있습니다. 하지만 기본적인 것들만 이용해서는 효율적인 사용자 UI를 만들지 못하겠죠. 보기 좋은 예가 LinearLayout의 남용을 들 수 있는데 이렇게 남용하게 되면 View 계층에서 View가 넘쳐나게 되는 결과를 야기합니다. 애플리케이션에서 보여지는 모든 뷰와 레이아웃 관리툴은 초기화라는 비용을 수반합니다. 이런 비용은 레이아웃과 그리기 성능을 저하시키죠. 특히 다중 LinearLayout 에서 weight 속성을 여러번 사용하면 weight 속성의 특성상 자식객체를 두번 측정해야하기 때문에 매우 값비싼 비용을 ..
-
안드로이드에서 크기에 사용가능한 단위안드로이드/개발 팁 2011. 2. 21. 02:14
크기에 사용할 수 있는 단위는 다음과 같다. 표기 단위 의미 px 픽셀 수 사용 중 화면에서의 픽셀 수, 해상도가 높아지면 픽셀의 물리적인 크기가 줄어든다. in 인치 사용 중 화면에서의 인치단위의 길이 mm 미리 미터 사용 중 화면에서의 미리 미터 단위의 길이 pt 포인트 수 사용 중 화면에서의 1/72 인치를 1포인트로 하는 길이 dp 해상도 의존하지 않는 픽셀 수 1는 해상도가 160dpi일 때 1픽셀. 10dp가 160dpi일 때에는 10픽셀, 320dpi일 때에는 20픽셀 sp 폰트 사이즈를 고려한 픽셀 수 사용자가 설정하고 있는 폰트사이즈를 고려한 스케일된 픽셀 수.실제 픽셀 수는 사용 중 화면의 해상도와 폰트 사이즈에 의해 변함 dpi란? dpi는 Dot Per Inch의 약자로 1인치(2...
-
리스트뷰 백그라운드의 최적화안드로이드/문서번역 2011. 2. 19. 23:14
리스트뷰 백그라운드의 최적화 리스트뷰는 안드로이드의 가장 많이 사용되는 위젯중의 하나입니다. 리스트뷰는 사용하기 쉽고 유연하며 매우 강력합니다. 가끔씩은 이해하기 어려울 때도 있죠. 리스트뷰의 가장 흔한 문제중의 하나는 리스트뷰의 백그라운드(배경)을 커스텀으로 제작할 때 발생합니다. 다른 안드로이드 위젯들처럼 리스트뷰의 백그라운드는 투명으로 아래의 그림에서 기본 배경색인 #FF191919, 어두운 회색인 윈도우의 백그라운드를 리스트뷰를 통해 들여다 볼 수 있습니다. 추가적으로 리스트뷰는 기본값으로 아래의 그림에서 볼 수 있듯이 가장자리에 Fading 효과를 주고 있습니다. 아래의 그림에서 리스트뷰의 첫번째 아이템이 검은색으로 Fade 되는 것을 볼 수 있습니다. 이 기법이 사용됨으로서 리스트뷰의 내용물이..
-
메모리 누출 피하기안드로이드/문서번역 2011. 2. 19. 13:39
메모리 누출 피하기 T-Mobile G1과 같은 안드로이드 애플리케이션들은 Heap 메모리 영역이 16MB 로 제한되어 있습니다. 이 메모리는 핸드폰에는 많은 양의 메모리이지만 개발자가 필요로 하는것에는 크게 못 미칩니다. 이 메모리를 모두 다 사용할 계획이 없다고 하더라도 개발시에는 이 영역을 최소한으로 사용해서 다른 애플리케이션들이 Kill 당하지 않고 운용될 수 있도록 해야 합니다. 안드로이드가 더 많은 애플리케이션을 메모리에 상주시킴으로서 사용자는 애플리케이션간에 더 빠른 전환을 할 수 있습니다. 안드로이드를 개발 할 때에 메모리의 누출현상은 대부분의 경우에 같은 실수때문에 일어납니다. 즉, Context에 오랜시간 지속되는 참조를 하기 때문입니다. 안드로이드에서 Context는 아주 다양한 작업..
-
웹에 존재하는 파일 Stream을 이용해서 다운로드 하기안드로이드/개발 팁 2011. 2. 18. 23:06
String src="http://192.168.1.106/football.3gp"; String des="sdcard/temp1357.3gp"; InputStream in = null; OutputStream out = null; try{ in = new BufferedInputStream(new URL(src).openStream()); out = new BufferedOutputStream(new FileOutputStream(des)); int read; while(true){ read = in.read(); if(read == -1) break; out.write(read); } in.close(); out.close(); finish(); } catch (FileNotFoundException..
-
MIME Type안드로이드/개발 팁 2011. 2. 18. 23:03
MIME-Type Description File Extension application/acad AutoCAD drawing files dwg application/clariscad ClarisCAD files ccad application/dxf DXF (AutoCAD) dxf application/msaccess Microsoft Access file mdb application/msword Microsoft Word file doc application/octet-stream Uninterpreted binary bin application/pdf PDF (Adobe Acrobat) pdf application/postscript Postscript, encapsulated Postscript, a..
-
안드로이드 2.3.3 새로운 기능을 살펴봅시다.안드로이드/뉴스 2011. 2. 18. 00:04
좀 늦긴 했지만 블로그를 이제야 오픈한 관계로 새로 업데이트된 안드로이드 플랫폼 2.3.3 버전에 대해 간략하게 살펴보도록 합시다. 다음은 안드로이드에서 공개한 2.3.3 플랫폼 API에 대해 추가된 내용 중에 일부를 발췌한 것입니다. API OverviewThe sections below provide a technical overview of what's new for developers in 2.3.3, including new features and changes in the framework API since the previous version. Near Field Communications (NFC)Android 2.3.3 provides improved and extended support..
-
외국 안드로이드 참고/커뮤니티 사이트안드로이드/개발 팁 2011. 2. 17. 23:36
http://www.stackoverflow.com 스택오버플로우 라는 안드로이드 레퍼런스에서 공식적으로 참고사이트 지정해 놓은 곳입니다. 한국에 여러 좋은 카페나 사이트 들도 있지만 아무래도 본고장에서 쌓아 놓은 자료들을 넘기엔 무리가 있죠. 영어라는 장벽이 있지만 이미 안드로이드 프로그래밍을 하고 계신 분이시라면 거의 아는 말 밖에 나오질 않습니다. 설령 심도 있는 내용을 모르더라도 코드들만 참고한다고 하더라도 많은 도움이 되죠. 이 사이트는 안드로이드 말고도 다른 언어들에 대한 커뮤니티 활동도 상당한 수준입니다. 그래서 안드로이드 관련 질문들을 검색하려면 검색어에 '[android]' 필터를 써넣고 찾아야 할 정도죠. 저도 아직 많은 것을 배우는 중이라 이 사이트를 자주 참고 합니다.