JAVA2013. 11. 6. 10:42

예를 들어 이런 상황을 가정하자

layout

layout-800x480


이러한 상황일때 1280x720의 디바이스인 갤럭시s3로 앱을 켜면 과연 어디서 레이아웃을 가져오게 될까?


정답은 layout

안드로이드 디벨로퍼의 BestMatch에 의하면 

사실상 자기에 딱맞는 리소스(여기서는 해상도)가 없다면 가장 가까운걸 찾는다. 하지만 그때 default레이아웃이 절대 우선시 되지않는다.

결론은 다 찾아도 없을 때 layout이나 drawable같은데서 찾게 된다는 소리


Posted by IanMK2
JAVA2013. 5. 10. 15:19

http://sshtools.sourceforge.net


Posted by 알 수 없는 사용자
JAVA2013. 4. 26. 14:08

일반 자바 어플리케이션 프로젝트에서는 디버깅 VM옵션에 다음을 추가한다.

-XX:+HeapDumpOnOutOfMemoryError 


그러면 OutOfMemory로 인해 종료될때 힙이 덤프된다. 


이걸 분석하는것은 MAT라는게 존재하며


이클립스에서 바로 보고싶다면, help->new software install->mat - http://download.eclipse.org/mat/1.2/update-site/를 추가하고 플러그인을 설치한뒤 열어보면된다.


안드로이드의 힙은 힙을 덤프뜨고 hprof-conv를 통해 변형시킨뒤 열수있다.

위 프로그램은 SDK에 있다.

Posted by IanMK2
JAVA2013. 1. 21. 10:19

안드로이드는 apache의 httpclient4.0 라이브러리가 포함되어있다.

그러나 이건 한참 된 구버전.


최신버전의 httpclient(현재 4.2.3)을 사용하기 위해서는 단순히 라이브러리만 받아서 넣는다고 되지않는다.

그 이유는 android.jar안에있는 httpclient와 충돌하기 때문.

그대로했다간 class를 찾을수 없다는 에러만 실컷본다.


고로 패키지이름을 변경하여 충돌을 피해야한다.


http://hc.apache.org/downloads.cgi  에서 일단 최신버전의 httpclient binary를 받는다.

http://code.google.com/p/jarjar/ 에서 jarjar최신버전을 받는다.



jarjar의 압축을 풀고 src폴더를 만들고 httpclient의 lib안에있는 jar파일들을 모아놓는다.

build.xml를 편집


<?xml version="1.0"?>

<project default="jar" name="NameSpaceRepackage" basedir=".">

    <target name="jar">

        <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask" classpath="jarjar-1.4.jar"/>

        <jarjar jarfile="dist/apache-httpclient.jar">

            <zipgroupfileset dir="src" includes="*.jar" />

            <rule pattern="org.apache.http.**" result="org.apache2.http.@1"/>

        </jarjar>

    </target>

</project>

와 같이 편집한다.

위의 예제에서는 org.apache.http를 org.apache2.http로 변경하여 충돌을 피한다.


쉘에서 ant명령어를 이용하여 build하면 dist안에 apache-httpcilent.jar파일로 7개의 jar파일들이 패키지변경과 더불어 하나로 합쳐진다.


물론 library를 import한 후 import package를 할때 org.apache가 아니라 org.apache2등으로 변경된 패키지를 선택해야 한다.


이게 귀찮은 사람들을 위해 첨부파일을 포함한다.


apache-httpclient.jar


Posted by IanMK2
JAVA2012. 8. 30. 14:52

이거 꼭 잊어먹는다. 겨우 찾아서 잊어먹기전에 정리


window - preferences - Java - Code Style - Formatter


new로 새로 생성- Line Wrapping 탭 Maximum Line Width수정


Posted by IanMK2
JAVA2012. 6. 4. 10:35
SharedPreferences pref = getSharedPreferences(PREF_KEY,MODE_PRIVATE);
SharedPreferences.Editor edit = pref.edit();
edit.putLong("Key", value);
edit.commit();

어떻게 이 간단한걸 맨날 잊어먹나 모르겠다


Posted by IanMK2