'Java'에 해당되는 글 9건
- 2011/12/18 안드로이드 Lint 초기 경고 없애기 (1)
- 2011/08/04 ubuntu 11.04 에서 SWT webbrowser 쓰는 java 프로그램 실행하기
- 2011/06/02 제임스 고슬링의 자바를 읽으며...
- 2011/03/23 eclipse 로 JUnit 로 유닛테스트 실행하기
- 2011/01/29 Google's Java GUI Editor in eclipse - WindowsBuilder Pro
- 2011/01/02 jar 파일에 포함된 이미지 경로 설정하기 with eclipse
- 2010/06/28 Eclipse 3.6 Helios 가 릴리즈되었습니다.
- 2009/09/20 개그만화 패러디 : 닷넷 프레임워크 (2)
- 2007/07/27 우분투의 자바 지원에 낚이다 (4)
안드로이드 개발툴의 최신 버젼(ADT 16버젼 - 2011년 12월)에는 Lint 라는 툴이 추가되었다. 설치 후, 화면에 아래와 같은 아이콘을 클릭하면, Lint 를 실행하여 잠재적으로 문제가 있는 부분을 알려주게 된다.
그런데, 웃긴건 안드로이드 기본 프로젝트를 생성해도 위와 같은 경고를 보여준다는 것이다. 위 내용을 읽어보면, drawable-xhdpi 라는 density 가 없다는 것인데, 요즘 고해상도 폰이 많이 나오면서 높은 해상도를 지원하라는 의미로 받아들이고, 일단 res 디렉토리 아래에 drawable-xhdpi 를 만들고, 임시로, drawable-hdpi 의 이미지 파일을 넣어보자. 그러면....
위와 같이 해상도 크기가 다르니 어쩌고 저쩌고 한다.... 에잇 그래서 대충 뒤져보니, http://developer.android.com/guide/topics/resources/providing-resources.html 의 중간쯤을 보면, ldpi, mdpi, hdpi, xhdpi 이런 부분을 보면 3:4:6:8 의 크기로 하라는 얘기가 있다. 즉, ldpi:mdpi:hdpi:xhdpi = 3:4:6:8 로 하라는 이야기이다.
기존의 우리가 새로 만든게 xhdpi 이므로, mdpi 에 있는 아이콘 크기의 2배로 하면 되겠다. 그래서 mdpi 의 크기를 보면 기본적으로 48x48 이므로, 우리는 96x96 크기의 아이콘을 만들어서 넣어주면 되겠다.
이제 Lint 를 다시 실행시켜보면 깔끔하게 하나의 경고도 없는 것을 볼 수 있다.
아마 ADT 최신 버젼이 나오면 알아서 xhdpi 용 아이콘을 넣어주지 않을까 싶지만, 임시로 이렇게 해서 깔끔하게 Lint 사용을 시작해보자~
그런데, 웃긴건 안드로이드 기본 프로젝트를 생성해도 위와 같은 경고를 보여준다는 것이다. 위 내용을 읽어보면, drawable-xhdpi 라는 density 가 없다는 것인데, 요즘 고해상도 폰이 많이 나오면서 높은 해상도를 지원하라는 의미로 받아들이고, 일단 res 디렉토리 아래에 drawable-xhdpi 를 만들고, 임시로, drawable-hdpi 의 이미지 파일을 넣어보자. 그러면....
위와 같이 해상도 크기가 다르니 어쩌고 저쩌고 한다.... 에잇 그래서 대충 뒤져보니, http://developer.android.com/guide/topics/resources/providing-resources.html 의 중간쯤을 보면, ldpi, mdpi, hdpi, xhdpi 이런 부분을 보면 3:4:6:8 의 크기로 하라는 얘기가 있다. 즉, ldpi:mdpi:hdpi:xhdpi = 3:4:6:8 로 하라는 이야기이다.
기존의 우리가 새로 만든게 xhdpi 이므로, mdpi 에 있는 아이콘 크기의 2배로 하면 되겠다. 그래서 mdpi 의 크기를 보면 기본적으로 48x48 이므로, 우리는 96x96 크기의 아이콘을 만들어서 넣어주면 되겠다.
이제 Lint 를 다시 실행시켜보면 깔끔하게 하나의 경고도 없는 것을 볼 수 있다.
아마 ADT 최신 버젼이 나오면 알아서 xhdpi 용 아이콘을 넣어주지 않을까 싶지만, 임시로 이렇게 해서 깔끔하게 Lint 사용을 시작해보자~
-
Coach Outlet Store 2012/02/18 12:40
현재,아이텀 문제로 인한 위험을 방지하기 위하여 계정보호를 받고 계십니다.계정보호 기간에는 모든 거래가 불가하오니 양해 부탁드립니다
SWT 를 이용해서 만든 Java 프로그램을 독립적으로(eclipse 없이) 실행하려면 생각보다 잘 안된다 -_-; 보통은 MOZILLA_FIVE_HOME 을 설정하라고 나오는데... 여튼 다음의 방법을 참고하여 실행하자.
웹 검색을 해보면, MOZILLA_FIVE_HOME 을 /usr/lib/firefox 등으로 설정하라고 나오는데, 위와 같이 xulrunner 를 설치하여(sudo apt-get install xulrunner-1.9.2) 그 경로를 정해주는 것이 해결책이 될 수 있다(ubuntu 11.04기준). 검색해보면 xulrunner 2.0 도 있는데 이 버젼은 library 가 맞지 않는듯...
그리고 MOZILLA_FIVE_HOME, LD_LIBRARY_PATH 를 설정해준다. export 2줄은 ~/.profile 제일 끝에 추가해주면 다시 부팅시에도 잘 동작한다.
sudo apt-get install xulrunner-1.9.2
export MOZILLA_FIVE_HOME=/usr/lib/xulrunner-1.9.2.17/
export LD_LIBRARY_PATH="$MOZILLA_FIVE_HOME":"$LD_LIBRARY_PATH"
java -jar ClipDic.jar
웹 검색을 해보면, MOZILLA_FIVE_HOME 을 /usr/lib/firefox 등으로 설정하라고 나오는데, 위와 같이 xulrunner 를 설치하여(sudo apt-get install xulrunner-1.9.2) 그 경로를 정해주는 것이 해결책이 될 수 있다(ubuntu 11.04기준). 검색해보면 xulrunner 2.0 도 있는데 이 버젼은 library 가 맞지 않는듯...
그리고 MOZILLA_FIVE_HOME, LD_LIBRARY_PATH 를 설정해준다. export 2줄은 ~/.profile 제일 끝에 추가해주면 다시 부팅시에도 잘 동작한다.
Java 는 학교 때 배우고, 틈틈이 혼자 보기도 해서 어느 정도 안다고 생각했는데.. 아래의 내용들을 이 책에서 얻을 수 있었다.
break [label], continue [label] 기능이 있다. 중첩 loop 을 한번에 벗어난다는!!!
UI thread 의 우선순위가 background thread 보다 높아야 좋다. UI thread 는 어차피 wait 상태일 것이기 때문에, 우선순위가 background thread 보다 높아도 큰 상관이 없으며, 빠른 반응 속도를 보장할 수 있다!! 아.. thread 의 우선순위가 이렇게 와닿는 거였구나... 난 여태 thread 를 대부분 server programming 하면서만 써서 이런 의미를 부여할 수 있는 줄 몰랐음;;
break [label], continue [label] 기능이 있다. 중첩 loop 을 한번에 벗어난다는!!!
UI thread 의 우선순위가 background thread 보다 높아야 좋다. UI thread 는 어차피 wait 상태일 것이기 때문에, 우선순위가 background thread 보다 높아도 큰 상관이 없으며, 빠른 반응 속도를 보장할 수 있다!! 아.. thread 의 우선순위가 이렇게 와닿는 거였구나... 난 여태 thread 를 대부분 server programming 하면서만 써서 이런 의미를 부여할 수 있는 줄 몰랐음;;
빠르게 따라하기:
패키지에 대고, New -> JUnit Test Case 한 다음에, 클래스를 하나 적당히 생성.(JUnit4 build path 가 없다는 대화상자가 나오면 'Perform the following action: Add JUnit 4 library to the build path' 를 선택하고 OK
생성된 클래스를 'junit.framework.TestCase' 클래스를 상속 받도록 수정.
생성된 클래스에 public void 이며, 함수 이름이 test 로 시작하는 함수를 만듦.
assertEquals() 함수들을 이용하여 적절한 테스트 케이스를 입력.
해당 프로젝트를 Run as -> JUnit Test 로 실행.
소스는 아래와 같음.
조금 더 자세히 알아보기:
junit.framework.Test 를 상속받고, 이름이 test 로 시작하는 함수들을 JUnit 이 자동으로 호출해주면서 테스트해준다.
setUp() 이라는 함수를 오버라이딩하면 해당 테스트를 시작할 때 한번 자동으로 그 함수를 불러준다(말그대로 셋업)
패키지에 대고, New -> JUnit Test Case 한 다음에, 클래스를 하나 적당히 생성.(JUnit4 build path 가 없다는 대화상자가 나오면 'Perform the following action: Add JUnit 4 library to the build path' 를 선택하고 OK
생성된 클래스를 'junit.framework.TestCase' 클래스를 상속 받도록 수정.
생성된 클래스에 public void 이며, 함수 이름이 test 로 시작하는 함수를 만듦.
assertEquals() 함수들을 이용하여 적절한 테스트 케이스를 입력.
해당 프로젝트를 Run as -> JUnit Test 로 실행.
소스는 아래와 같음.
package com.wimy.java.test;
import junit.framework.TestCase;
public class JTest extends TestCase{public void testAdd(){assertEquals(3, TestMain.add(1,2));}}
조금 더 자세히 알아보기:
junit.framework.Test 를 상속받고, 이름이 test 로 시작하는 함수들을 JUnit 이 자동으로 호출해주면서 테스트해준다.
setUp() 이라는 함수를 오버라이딩하면 해당 테스트를 시작할 때 한번 자동으로 그 함수를 불러준다(말그대로 셋업)
정말 멋지다. 솔직히 C#을 더 자주 쓴 이유가 GUI 구성하기가 쉽고 웹 브라우저 임베딩이 쉬워서였는데, 이제 정말 eclipse + java + WindowsBuilder Pro 조합이면, 충분히 쓸만한 프로그램을 빠르고 쉽게(!!!) 만들어볼 수 있을것 같다. 이 플러그인이 쉽게 GUI 를 구성해주고, 웹 브라우저 임베딩까지도 쉽게 해준다. 게다가, Eclipse 의 강력한 refactoring 기능 때문이겠지만, 변수 관리들을 매우 잘 해준다.
평소 eclipse 의 강력한 기능들을 맛보고 싶어서 java 로 프로그래밍을 좀 해보기 시작하고 있었는데 마침 구글에서 이런 플러그인을 사서 무료로 풀어주니 어찌나 타이밍이 좋은지~~~
eclipse 에서는 java 로 프로그램을 만든 후 export 명령을 통해 쉽게 jar 로 묶을 수 있다. 여러개의 class 파일들을 배포하는 것보다 하나의 파일이 배포하기 쉽고, 압축이기 때문에 용량도 줄고, 단순함은 배포의 오류를 줄일 수도 있다.
여튼 eclipse 에서는 매우 쉽게 jar 파일을 만들 수 있는데, 이미지 파일이나 사운드 파일등의 리소스 파일을 포함할 경우 경로 지정에 문제가 제법있다. 바로 로컬 파일 시스템과 jar 파일 시스템(?)의 경로 차이 때문에 발생하는데, 이상하게 검색해본 방법이 대부분 제대로 동작하지 않아서 이리저리 해본 결과, 다음과 같이 패키지 이름을 지정해주는 것으로 해결할 수 있었다.
URL fileStream = getClass().getClassLoader().getResource("com/wimy/clipdic/clipdic.png");
eclipse 에서 getResource 함수를 파싱해서 export 시에 자동으로 해당 파일을 포함해주며, 주의해야할 점은 src/bin 폴더를 따로 관리하는 경우 bin 폴더의 저 위치에 해당 파일을 넣어둬야한다는 점이다. src/bin 을 따로 쓰지 않는다면 가장 좋은 방법인것 같다.
Eclipse 는 이제 거의 제 메인툴이 되었습니다. 아쉽게도 Visual Studio 를 대체할 수는 없지만, win32 C++ 프로그래밍을 제외하고는 정말 최고의 툴이라고 할 수 있겠습니다.
http://help.eclipse.org/helios/index.jsp
이번에 3.6의 주목할만한 특징(제 생각에 괜찮다!라고 할만한)은 다음과 같습니다.(위의 링크에 있는 내용 중 발췌입니다)
Workbench
- 빌드 후 에러를 더블 클릭하면 해당 위치로 갑니다... 왜 이제 추가되는건지 -_- 여튼 정말 감사~
- eclipse marketplace 이 생겼습니다. eclipse 안에서 플러그인을 검색해서 설치가 가능합니다. - iphone 의 app store 라고 생각하면 됩니다.
Java (Java 를 잘 안 써서 눈에 띄이는 게 하나 밖에 없네요;;)
- Debug 시에 instance count 를 확인할 수 있습니다.
CDT - C/C++
- 정적코드 분석기 Codan 이 추가되었습니다. 프로그래머의 실수(함수에 return 값이 없다든지등)를 체크해줍니다.(기본으로 설치되지는 않는 것 같습니다)
- 컴파일 결과 콘솔창에서, warning 과 error 이 눈에 띄이기 쉽게 배경색을 바꿔줍니다.
- 정규식을 통해서 직접 에러 파싱하거나 할 수 있습니다.
실제로는 더욱 많은 내용들이 추가되었으나, 저한테 와닿는 건 저 정도네요 ^^; 고기는 씹어야 맛이고, 툴은 써봐야 안다고, 직접 경험해보세요~~
http://help.eclipse.org/helios/index.jsp
이번에 3.6의 주목할만한 특징(제 생각에 괜찮다!라고 할만한)은 다음과 같습니다.(위의 링크에 있는 내용 중 발췌입니다)
Workbench
- 빌드 후 에러를 더블 클릭하면 해당 위치로 갑니다... 왜 이제 추가되는건지 -_- 여튼 정말 감사~
- eclipse marketplace 이 생겼습니다. eclipse 안에서 플러그인을 검색해서 설치가 가능합니다. - iphone 의 app store 라고 생각하면 됩니다.
Java (Java 를 잘 안 써서 눈에 띄이는 게 하나 밖에 없네요;;)
- Debug 시에 instance count 를 확인할 수 있습니다.
CDT - C/C++
- 정적코드 분석기 Codan 이 추가되었습니다. 프로그래머의 실수(함수에 return 값이 없다든지등)를 체크해줍니다.(기본으로 설치되지는 않는 것 같습니다)
- 컴파일 결과 콘솔창에서, warning 과 error 이 눈에 띄이기 쉽게 배경색을 바꿔줍니다.
- 정규식을 통해서 직접 에러 파싱하거나 할 수 있습니다.
실제로는 더욱 많은 내용들이 추가되었으나, 저한테 와닿는 건 저 정도네요 ^^; 고기는 씹어야 맛이고, 툴은 써봐야 안다고, 직접 경험해보세요~~
나도 닷넷 1.0, 2.0, 3.5 책 있는데 ㅋㅋ
eclipse 라는 걸출한 IDE 와 Android 의 지원으로 요즘 자바 개발자들은 상당히 즐거운 나날을 보내고 있을 것 같다. 나도 자바 자바 자바... 시간나면 해봐야지 ㅎㅎ
플랫폼과 언어에 상관없는 득도 대박~~
크~~ ㅠ.ㅜ
우분투에 Sun 의 공식 자바를 GUI 상에서 간단하게 '프로그램 추가/제거' 를 통해서 거의 몇번만 클릭하면 깔아줘서 좋았다고 생각했다.
그런데 이게 조금 낚시성이었다. -_-;;; 아마 나만 몰랐던게 아니라고 생각한다. 바로 이렇게 설치한 자바 Runtime 은 설치만 될뿐 설정이 제대로 되지 않은 것이었다.
자바를 설치한 후 console 을 하나 열어서 java 라고 쳐서 실행해보자. Sun 의 java 의 도움말이 나오는게 아니라, gij 의 도움말이 나올 것이다. 그렇다. 설치만 되었을뿐 '설정' 이 안된거다.
우분투에서 이상하게 기본 설정된 eclipse 가 좀 뻗는거 같아서, 직접 다운받아서 설치했는데, 그래도 계속 VM error 를 내서, 에잇 java 도 직접 깔아보자 하면서 생각해보니... gij 는 공식 Sun 의 JRE 가 아닌데??? 하는 생각이 들었다.
그래서 따라가보니, /usr/bin/java 는 /etc/alternatives/java 를 가르키고, 이건 역시나 gij 를 가르키고 있었다. 그래서 /etc/alternatives/java 를 /usr/lib/jvm/java-6-sun/bin/java 를 가르키게 변경하고 나니... 두둥... eclipse 속도가 눈에 띄게 빨라지고 이제 뻗지도 않는다.
난 우분투의 편리함에 낚였던 것인가 ㅠ.ㅜ
추가로 kldp.org 에서 얻은 답변을 적습니다.
우분투에 Sun 의 공식 자바를 GUI 상에서 간단하게 '프로그램 추가/제거' 를 통해서 거의 몇번만 클릭하면 깔아줘서 좋았다고 생각했다.
그런데 이게 조금 낚시성이었다. -_-;;; 아마 나만 몰랐던게 아니라고 생각한다. 바로 이렇게 설치한 자바 Runtime 은 설치만 될뿐 설정이 제대로 되지 않은 것이었다.
자바를 설치한 후 console 을 하나 열어서 java 라고 쳐서 실행해보자. Sun 의 java 의 도움말이 나오는게 아니라, gij 의 도움말이 나올 것이다. 그렇다. 설치만 되었을뿐 '설정' 이 안된거다.
우분투에서 이상하게 기본 설정된 eclipse 가 좀 뻗는거 같아서, 직접 다운받아서 설치했는데, 그래도 계속 VM error 를 내서, 에잇 java 도 직접 깔아보자 하면서 생각해보니... gij 는 공식 Sun 의 JRE 가 아닌데??? 하는 생각이 들었다.
그래서 따라가보니, /usr/bin/java 는 /etc/alternatives/java 를 가르키고, 이건 역시나 gij 를 가르키고 있었다. 그래서 /etc/alternatives/java 를 /usr/lib/jvm/java-6-sun/bin/java 를 가르키게 변경하고 나니... 두둥... eclipse 속도가 눈에 띄게 빨라지고 이제 뻗지도 않는다.
난 우분투의 편리함에 낚였던 것인가 ㅠ.ㅜ
추가로 kldp.org 에서 얻은 답변을 적습니다.
별다른 이유가 없다면 update-java-alternative를 쓰시길 권해드립니다.
예를 들면 위의 작업은 다음 명령 한 줄로 끝납니다.
sudo update-java-alternative --set java-6-sun위에서 하신것처럼 java만 달랑 수동으로 바꾸면 나중에 문제가 될 수 있습니다. javac, javaws, appletviewer, ControlPanel, javaplugin.so 등등 바꿀께 꽤 많거든요...
- iolo 님으로부터
- http://kldp.org/node/84800
Trackback : http://blog.wimy.com/trackback/101
-
Subject 우분투 Eclipse 설치방법
2007/08/11 15:43
영문 메뉴얼 링크 http://docs.schuetzengau-freising.de/modules/xdocman/index.php?doc=xo-002〈=en 링크가 걸려있지 않는 프로그램은 바탕화면 윗쪽의 시스템->관리->시냅틱 패키지 관리자를 통해 설치해주시기 바랍니다.파일의 내용을 수정할 때 필요한 프로그램은 gedit입니다. 0. 독점적 드라이버를 설치합니다.그래픽 드라이버를 만드는 회사에서 제...

Prev
Rss Feed