본문 바로가기
[Java] Reflection Tutorial - Annotations. [Java] Reflection Tutorial - Annotations. What are Java Annotations Java5 에 소개된 기능으로, meta data 를 코드형태로 담을 수 있고, runtime 에 이 meta data 에 접근할 수 있다. pre-compiler 가 코드를 conversion 할 때 사용되기도 한다. Annotation 은 interface 형태이다. @Retention( RetentionPolicy.RUNTIME );@Target( ElementType.TYPE )public @interface TestAnnotation{public String name();public String value();} @TestAnnotation(name="variable", va.. 2013. 12. 23.
[android] Up Navigation 설정하기. android, Up Navigation 설정하기. Up Navigation 설정하기 1. manifest 에서 parent 로 지정한다. 4.1 이상에서는 activity tag 에 android:parentActivityName 를 적용하면 된다. 4.0 이하에서는 meta-data 를 통해 설정해준다. 2. actionbar 설정을 바꿔준다.( up 을 지원하도록 ) getActionBar().setDisplayHomeAsUpEnabled(true); 3. Navigate up 하기. NavUtils.navigateUpFromSameTask() 를 통해서 할 수 있다. 이것이 불리면 현재 Activity 는 종료되면서 stack 의 상단에 있는 녀석이 호출된다. 이 때 FLAG_ACTIVITY_CL.. 2013. 12. 19.
[android] software button height android, software button height What is software button? Opposite concept of hardware button.Software buttons are located at the bottom of screen which is generated programatically. Portrait mode 96px ( 48dp for xhdpi ) Landscape mode 84px ( 42dp for xhdpi ) hardware btn, hardware button, hardware key, height, landscape, portrait, Soft Button, soft key, software key, software keyboard, xhdpi, [a.. 2013. 12. 17.
[Java] Reflection Tutorial - Accessing Private Field, Private Method Java, Reflection Tutorial - Accessing Private Field, Private Method Reflection 으로 private field, method 들에도 접근할 수 있다.private 에 대한 접근은 unit test 에서 유용하게 쓰인다. VM 에 따라서 권한이 주어져야 접근 가능한 경우도 있다. Accessing Private Fields TestClass testClass = new TestClass();Field privateField = testClass.getDeclaredField( String name );privateField.setAccessible( true );privateField.get( testClass ); setAccessible 을 .. 2013. 12. 17.
[android] 런타임에 다른 apk 소스 ( dex 파일 ) 읽어오기. 안드로이드, 런타임에 다른 apk 소스 ( dex 파일 ) 읽어오기. Dalvik VM 은 런타임에 다른 dex 파일을 로딩할 수 있다.dex 파일 로딩은 일반적으로 사용되는 방법은 아니다. 하지만, 다음과 같은 경우에 필요하다. 1. 64,000개 이상의 메서드를 포함한 앱의 경우 빌드에 문제가 발생할 수 있다. 이 경우 여러 개의 dex 파일로 나누어서 dex 를 동적으로 로딩해야 한다. 2. 런타임 중 동적으로 기능이 확장되는 프레임워크 형태의 앱은 커스텀 클래스 로딩 기능을 활용할 수 있다. 여러개의 dex 로 나누어 빌드 하는 경우는 이클립스 ADT 상에서 빌드될 수 없고, Ant 빌드 스크립트를 활용하여 빌드해야 한다. DexClassLoader dcl = new DexClassLoader( .. 2013. 12. 16.
[android] OutOfMemoryError : bitmap size exceeds VM budget 을 해결해보자!!! 안드로이드, OutOfMemoryError : bitmap size exceeds VM budget해결해보자!! OutOfMemoryError: bitmap size exceeds VM budget 해결방법 #1 메니페스트의 applicaation tag 에 android:largeHeap="true" 를 준다.이 경우 원래보다 더 큰 용량의 힙 사이즈를 사용할 수는 있지만,GC 시간이 더 오래 걸리는 등의 문제가 생기기 쉽다.게다가 정확한 heap increase 가 보장되지 않는다. 결국 완벽한 solution 은 되지 못하고, 아주 특수한 상황에 한번씩 엄청난 양의 heap size 가필요할 때만 쓸 수 있는 미봉책정도가 되겠다. OutOfMemoryError: bitmap size exceeds .. 2013. 12. 13.
[android] ListView HeaderView ListItem 으로서 click 안 되도록 하기. 안드로이드, ListVIew HeaderVIew ListItem 으로서 Click 안 되도록 하기 간단하다. public void addHeaderView (View v, Object data, boolean isSelectable) ListVIew.addHerderView( VIew v ) 대신 위의 함수를 사용하면 되며,이 때 isSelectable 을 false 로 주면 된다. 고민 해결!! addheaderview, Android, android listview, android listview headerview, android listview headerview click, data, headerview click, isselectable, isselectable false, listview h.. 2013. 12. 11.
[android] volley library 에 대해 알아보자! 안드로이드, Volley Library 에 대해 알아보자! Android Volley Libary 의 장점 1. 모든 network request 를 자동으로 스케쥴링한다.2. 보이지 않게 disk, memory caching 을 한다.3. 강력한 request 취소 API 도 제공한다.4. customization 도 쉽게 할 수 있다.5. debugging 과 tracing tool 을 제공한다. 써보고 싶어! library 를 구할 수 있는 주소를 알려줘. git clone https://android.googlesource.com/platform/frameworks/volley 2개의 main class. 1. Request queuerequest 를 dispatch 할 때 사용되는 녀석.보통 s.. 2013. 12. 10.
[java]DatagramSocket bind() connect() difference java, DatagramSocket bind() connect() difference DatagramSocket 의 bind() 와 connect() 의 차이 DatagramSocket ( UDP ) 에는 bind() 와 connect() 라는 두개의 함수가 있는데 두개 함수의 구분이 확실하지 않아 알아보았다. bind() 는 socket 에 port 를 연결하는 것. bind 를 한 process 에서 release 를 하기 전까지 이 port 는 다른 process 에서 쓸 수 없다. connect() 는 socket 에게 connect 를 하도록 하는 것이다. TCP/IP 가 아닌 UDP( datagram ) 의 경우는 사실 connect 가 꼭 필요한 것은 아니다. DatagramSocket 을.. 2013. 12. 10.
반응형