Skip to main content

Posts

Showing posts from July, 2013

[Gradle] Sublime Text2 Gradle Syntax

Sublime Text2 에서는 기본적으로 Gradle syntax 가 적용되어 있지 않아서 밋밋해 보였는데. 역시 찾아보니 누군가 다 해 놨다.. Link : https://github.com/koizuss/sublime-gradle 1. Sublime package controll 설치 2. package control (Preferences 메뉴) 에서 Add Repository 선택 후, https://github.com/koizuss/sublime-gradle 입력 3. package control 에서 install package 선택 후, subilme-gradle 입력  설치 완료 후, sublime 을 재 실행하면 syntax 가 적용된것 을 확인 할 수 있다. 설치 전 설치 후.

[Android] DialPad 자동완성 기능

Android 4.3 에 추가된 기능 중 "다이얼 패드 자동완성" 기능이 란 것이 있다. 말 그대로 Dialpad 에서 전화번호 입력시, 해당 번호를 먼저 검색해서 화면에 노출 시키는 기능이다. 그런데 4.3 으로 업데이트 했음에도 불구하도 번호 입력시 자동검색이 이루어지지 않는다. 확인결과 기본적으로 해당 기능이 ON 으로 세팅되어 있지 않기 때문.. 해당 기능을 설정하기 위해서는 dialer -> option menu(설정) -> 통화설정 화면에서 "다이얼패드 자동완성" 체크. 그런데 앞자리 수 부터 차례대로 입력해야 검색 해 주는것은 좀... end.

Google Press Event 7/24/13

Sundar Pichai 와 함께한 아침. Google 은 3가지 새로운 제품에 대한 발표를 하였습니다. 1. 2nd Nexus7 첫번째는 이미 소문이 무성했던 Nexus7 입니다. 성능이 대폭 향상되었습니다. Nexus 7 발매와 더불어 google app 들이 업데이트 되었고, Google Play Game 과의 연계성도 더욱 향상되었습니다. 4G LTE 는 미국에만 제한적으로 사용될 것으로 보입니다. 가격은 다음과 같습니다. - 16GB WIFI : $229 - 32GB WIFI : $269 - 32GB LTE : $349 조만간 발매될 국가에 한국도 포함되어 있습니다. (만세!) Google Play 에서 판매 예정이라고 합니다. 개인적으로 고화질 디스플레이 와 OpenGL|ES 3.0 이 지원되면서 게이밍 기능이 향상된 점을 강조하는 것이 눈에 띄였습니다. 아마도 멀티미디어 적인 기능향상으로 인한 자신감이 아닐까요. 2. Android 4.3 두번째로 Android 4.3 에 대한 소식입니다. 새로운 기능들이 많이 추가되었습니다. 4.3 APIs  는 바로 다운 받을 수 있습니다. http://developer.android.com/about/versions/jelly-bean.html 개인적으로 눈에 띄는 APIs 는 ActionBar 가 드디어 하위버전을 지원하기 시작했다는 것 입니다. new v7 appcompat library 에 추가 된 사항으로 Android 2.1(API level 7) 까지 지원합니다. 이를 지원하기위해  ActionBarActivity class 가 새로이 추가 되었습니다. 3. Chromecast 위 두 소식은 이미 들은 이야기가 많았지만 chromecast  는 좀 생소했습니다. 쉽게 생각해서 Apple 의 AirPlay 와 흡사하다고 보시면 될 것 같습니다. ...

[Android Application Testing Guide] Chapter3 jar file

Android Application Testing Guide(에이콘) 3장 Sample 을 실행시키기 위해서는 libdummy-0.0.1.jar 가 필요한데, sample file 에는 프로젝트만 존재한다. 결국 jar 를 만들어야 되는데.. ant 빌드다. 어허허... jar 파일이 없으면 예제 진행이 어려우므로. ant build 한 jar 를 첨부. libdummy-0.0.1.jar download

[Cobertura] cobertura 2.0.2 script fix

cobertura 2.0.2 버전을 다운받고 실행 시키려고 하면 엄청난 에러가 뿜어져 나온다. ㅠ 달리 설정을 틀리게 한 것도 없는데.. 하면서 script 를 열어보니 아래와 같이 작성되어 있다. - cobertura-instrument.sh java -cp `dirname $0`/cobertura.jar:`dirname $0`/lib/asm-3.3.1.jar:`dirname $0`/lib/asm-tree-3.3.1.jar:`dirname $0`/lib/asm-commons-3.3.1.jar:`dirname $0`/lib/log4j-1.2.9.jar:`dirname $0`/lib/jakarta-oro-2.0.8.jar net.sourceforge.cobertura.instrument.Main $* - cobertura-instrument.bat java -cp "%COBERTURA_HOME%cobertura.jar;%COBERTURA_HOME%lib\asm-3.3.1.jar;%COBERTURA_HOME%lib\asm-tree-3.3.1.jar;%COBERTURA_HOME%lib\asm-commons-3.3.1.jar;%COBERTURA_HOME%lib\log4j-1.2.9.jar;%COBERTURA_HOME%lib\jakarta-oro-2.0.8.jar" net.sourceforge.cobertura.instrument.Main %CMD_LINE_ARGS% 그런데 막상 다운받은 folder 구조를 보면.. cobertura-2.0.2.jar /lib     - asm-4.1.jar     - asm-commons-4.1.jar     - sam-tree-4.1.jar     - oro-2.0.8.jar .... script 왜 이렇게 되있지... 결국 cobertura 를 실행 시키기 위해서는 script 에서 버전 및 파일명을 다운받은 폴더...

[Android] Butter Knife Library(1)

Android UI 개발 시, 반드시 선언해 주어야 하는 구문 중 하나가 바로 findViewById 이다. 이는 View 를 선언할 때 반드시 필요한 구문이지만, 반복적으로 사용해야 하고, 메소드가 길어지는점, 특히, Adapter 에서 Holder pattern 과 같이 사용하게 되면 같은말을 두번해야 하는 번거로움 마저 느껴진다. 최근에는 이같은 반복적인 작업과 UI 선언 부의 노력을 줄이고, 코드에 좀 더 집중하기 편한 Library 들이 선보이고 있다. 그중에서도 눈의 띄는 Library 는 단연 AndroidAnnotations 과 지금부터 이야기 할 Butter Knife 이다. AndroidAnnotations logo AndroidAnnotations 은 지난 GDG mini conference 에서도 소개된 적이 있다. (사실 그때 처음 일았지만..) 당시에 Clean Code 라는 주제로 코드 분량을 줄이고, 실제 동작하는 로직에 좀 더 집중할 수 있도록 도와 주었다. 사실 , AndroidAnnotations 이 더 많은 기능을 제공하고 있지만, EActivity 사용시 _ 를 추가해야 한다는 점, 과거 intellij 에 적용시 몇몇 버그들이 발생 으로 인해 (현재는 해결됬을지도.) 프로젝트에 적용하기 쉽지 않았다. 그러던 중, 최근 가장 hot 한 Opensource 를 제공하고 있는 Square 팀의 JakeWharton 이 Butter Knife 를 Release 하였다. Butter Knife logo 현재 가장 최신 버전은 2.0.1 이고 계속해서 기능개선이 이루어 지고 있다. Butter Knife 는 아래와 같은 장점을 지니고 있다. 1. LightWeight Size 모바일 device 에서는 jar 하나 추가하는데도 많은 고민을 해야 한다. 안그래도 많은 기능들을 추가해야 되고, library 를 사용해야 하는데 이렇게 코드를 줄이기 위해서 많은 용량을 할애하기도 애매...

[JUnit] JUnitMatchers 변경사항. - JUnit in Action

JUnit 에서 많이 사용하는 Hamcrest 라이브러리는 현재 1.3 버전이 가장 최신인다. 책에서는 JUnit 4.6 을 사용하기 때문에 Hamcrest 를 포함하고 있지만. 4.11 부터는 별도로 hamcrest-core.jar 를 다운 받아야 한다. 예제 3.18 에서는 hasItem 메소드를 사용하기 위해 다음과 같이 import 를 진행 한다. import static org.junit.JUnitMatchers.hasItem; 그런데 실제 코드에서 해당 메소드를 사용하게 되면 deprecated 표시가 나타나게 된다. JUnit sorce code  에서 JUnitMacthers.java 를 살펴보면 아래와 같은 주석을 보게 된다. Convenience import class: these are useful matchers for use with the assertThat method, but they are not currently included in the basic CoreMatchers class from hamcrest. 또한 대부분의 method 가 Deprecated 되어 있다. 그 대신, CoreMatchers 의 메소드 를 사용하라고 권고 하고 있다. org.hamcrest.CoreMatchers 를 살펴보면 JUnitMatchers 가 가지고 있던 메소드를 동일하게 가지고 있다.

[JUnit] JUnit 최신 사용시 주의점(JUnit in Action)

요즘 JUnit in Action 을 통해 JUnit 공부를 해 가고 있다. 책에서 사용하는 버전은 4.6, 현재 JUnit 의 최신 버전은 4.11 이다. 그런데.. 다운받아서 실행해 보면 여러 에러가 발생하게 된다. 특히 chp3 에서는 Hamcrest 를 사용하게 되는데 최신버전(4.11) 에서는 Hamcrest 가 포함되어 있지 않기 때문에 별도로 받아서 같이 실행 해야 한다. 따라서 편하게 책 내용을 진행하기 위해서는 4.6을, 그나마 좀 더 최신 버전을 쓰기 위해서는 4.10 을 (4.10 까지는 Hamcrest 포함). 아니면 아예 이클립스로 작업해서 JUnit 을 설정해 주면, 4.11 버전에 Hamcrest 를 모두 포함해서 실행시켜 준다.

[Maven] Maven Javadoc Encoding Problem

소스도 utf-8 로 설정하고, maven 코드에 아래와 같이 reporting 에서 encoding 관련 코드를 추가 하더라도, build 시, 주석 부분에서 한글 깨짐현상이 여전히 발생하면서 build 가 이루어 지지 않는다. <reporting>     <plugins>       <plugin>         <groupId>org.apche.maven.plugins</groupId>         <artifactId>maven-javadoc-plugin</artifactId>         <configuration>           <local>ko_KR</local>           <encoding>UTF-8</encoding>           <charset>UTF-8</charset>           <docencoding>UTF-8</docencoding>         </configuration>       </plugin>  ...