본문 바로가기
[android] LinearLayoutManager 를 사용할 때 smooth scrolling 을 하게 하려면 [android] LinearLayoutManager 를 사용할 때 smooth scrolling 을 하게 하려면 참조 : https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html#getExtraLayoutSpace(android.support.v7.widget.RecyclerView.State) LinearLayoutManager 의 getExtraLayoutSpace 를 override 하여 값을 주면 된다. 이 함수는 LayoutManager 를 통해 view 를 배치할 때 여유 공간 값을 pixel 로 return 한다.만약 500 값을 주면 ( 500 / a child view height .. 2017. 5. 22.
[android] emergency number 에도 전화를 바로 걸려면? [android] emergency number 에도 전화를 바로 걸려면? ACTION_CALL intent 에 대해 폰에 따라 이 permission 이 없으면 emergency number 에는 일반 번호와는 다르게, 전화가 바로 걸리지 않고 dialer 만 뜨는 경우가 있다. 아래 permission 이 있어야만 emergency call 에도 바로 전화를 걸 수 있다. 단 system 앱만 사용할 수 있다는 것은 함정.. public static final String CALL_PRIVILEGED Added in API level 1 Allows an application to call any phone number, including emergency numbers, without going t.. 2017. 5. 19.
[android] adb dumpsys 를 잘 사용해보자. [android] adb dumpsys 를 잘 사용해보자. // service 들의 이름을 보자.> dumpsys | grep “DUMP OF SERVICE" // battery 정보를 보자.> dumpsys battery // wifi 정보를 보자.> dumpsys wifi // cpu 정보를 보자.> dumpsys cpuinfo // 특정 앱의 memory 정보를 보자> dumpsys meminfo “app package name" // activity 정보를 보자> dumpsys activity // 패키지 정보를 보자> dumpsys package [optional app package name] // window 정보를 보자> dumpsys window activity, adb dumpsys, .. 2017. 5. 18.
[Android] java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. [Android] java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. android 2.3 에서는 setAdapter 가 수행된 이후에 addHeaderView 가 수행되면 아래와 같은 exception 을 내뱉는다. java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called. 해결책은 setAdapter( null ); 을 해주고, addHeaderView 를 호출한 다음 다시 본래의 adpater 를 set 해주던가, 아니면 headerview 를 .. 2017. 5. 17.
[Java] Subclass 는 Serializable 을 구현하고, Superclass 는 그렇지 않은 경우. [Java] Subclass 는 Serializable 을 구현하고, Superclass 는 그렇지 않은 경우. 출처 : http://www.jguru.com/faq/view.jsp?EID=34802 Object 를 serialize 를 하면 상속 hierarchy 를 따라가며 직렬화 메커니즘을 수행한다. 이 과정에서 만약 Serializable 을 구현하지 않은 super class 를 만나면 이 매커니즘은 멈추게 된다. Deserialize 할 때 Serializable 을 구현하지 않은 super class 는 stream 으로부터 복구되는 것이 아니라, empty argument constructor 가 호출되며 복구된다. 따라서 Superclass 의 내용을 복구해줄 필요가 없다면 그냥 igno.. 2017. 5. 16.
[android] Uri.getQueryParameter 에 # 들어가면 제대로 파싱 못합니다. [android] Uri.getQueryParameter 에 # 들어가면 제대로 파싱 못합니다. #안쪽 소스를 들여다보면 어떻게 작동하는지 알 수 있다. #static String parsePath(String uriString, int ssi) { int length = uriString.length(); // Find start of path. int pathStart; if (length > ssi + 2 && uriString.charAt(ssi + 1) == '/' && uriString.charAt(ssi + 2) == '/') { // Skip over authority to path. pathStart = ssi + 3; LOOP: while (pathStart < length) { swi.. 2017. 5. 15.
[Java] Condition 은 어떻게 쓰는걸까? 예를 통해 함 보자. - Condition 에 대해 예로 잘 등장하는 코드는 아래와 같다. ( Oracle Java Doc 에 나와 있는 코드 ) /** * 이 Buffer 는 array index 재배치를 하지 않고, front 와 rear 값을 두고 control 해서 rear < front 일수도 있는 형태이다. */ public class BoundedBuffer { private final String[] buffer; private final int capacity; private int front; private int rear; private int count; private final Lock lock = new ReentrantLock(); private final Condition notFull = loc.. 2017. 5. 12.
[Java Concurrency] 목차 정리 [Java Concurrency] 목차 정리 [Java Concurrency] 스레드 안전성 [Java Concurrency] 객체공유 [Java Concurrency] 객체구성 [Java Concurrency] 구성 단위 #1 [Java Concurrency] 구성 단위 #2 [Java Concurrency] 작업 실행 [Java Concurrency] 중단 및 종료 #1 [Java Concurrency] 중단 및 종료 #2 [Java Concurrency] 스레드 풀 활용 [Java Concurrency] GUI 앱 [Java Concurrency] 활동성 최대로 높이기 #1 [Java Concurrency] 활동성 최대로 높이기 #2 [Java Concurrency] 성능, 확장성 #1 [Java .. 2017. 5. 11.
[Java Concurrency] 자바 메모리 모델 [Java Concurrency] 자바 메모리 모델 - 자바 메모리 모델(JMM, Java Memory Model) 의 내부 구조가 어떻게 동작하는지를 이해하고 있다면 상위 개념을 훨씬 효율적으로 쉽게 사용할 수 있을 것이다. 16.1. 자바 메모리 모델은 무엇이며, 왜 사용해야 하는가? - 특정 스레드에서 aVariable 이라는 변수에 값을 할당한다고 해보자. aVariable = 3; 자바 메모리 모델은 "스레드가 aVariable에 할당된 3이란 값을 사용할 수 있으려면 어떤 조건이 돼야 하는가?" 에 대한 답을 알고 있다. 동기화 기법을 사용하지 않는 상태라면 특정 스레드가 값이 할당되는 즉시, 심지어는 영원히 3이라는 값을 읽어가지 못하게 하는 여러 가지 상황이 발생할 수 있다. - JMM 은.. 2017. 5. 10.
반응형