본문 바로가기
[android] Service 함수 onStartCommand return 값의 의미. 안드로이드, Service 함수 onStartCommand return 값의 의미. onStartCommand 의 return 값에 따라, 메모리 부족 현상이 발생했을 때 service 가 죽고, 메모리 여유가 생겨 다시 start 되었을 때 동작을 정의할 수 있다. ( 메모리 부족현상이 생기면 안드로이드 프레임워크가 Background로 돌고 있는 Service 를 죽일 수 있다는 것은 다들 알고 있다고 가정하겠다. ) START_STICKY Service 가 재시작될 때 null intent 가 전달된다.따라서 START_STICKY 는 전달받은 intent 값으로 어떤 일을 처리하지 않을 때 사용해야 한다. START_NOT_STICKY Service 가 재시작되지 않는다.이는 Service 가 지.. 2013. 7. 25.
[android] framework FAQ 안드로이드, framework FAQs 하나의 어플에 포함되어 있는 모든 Activity 와 Service 들이 하나의 프로세스에서 동작해? 메니페스트에 android:process 를 따로 기술하지 않는 한 네개의 기본 Component 들 ( Activity, Service, BroadcastReceiver, ContentProvider ) 는 모두 한 프로세스에서 동작한다. Component 간 Data 공유는 어떻게 해? Primitive type 들은 Intent.putExtra() 를 통해서 내용전달을 할 수 있다. Preference 에 저장하여 공유할수도 있다.Application 클래스에 저장하여 공유한다.public static 변수로 공유한다. 이 방법은 추천되지 않는다.Object .. 2013. 7. 24.
[android] Webview font에 대한 실험결과 안드로이드, WebView font 에 대한 실험결과 LGU+ 로 출시된 Vega X 의 경우 Webview 에서 한글 font 의 bold 혹은 strong 을 제대로 지원하지 않는다.영문의 경우는 제대로 지원했다. 이는 펙텍사에서 modify 한 framework 에서 webview 에 적용되는 font 의 bold 체 연결을 제대로 해놓지 않아서로 추측되는데.. 그래서 Webview 에 custom font 를 적용해보기로 했다. WebView 에 custom font 적용하기에 대해 궁금하다면, 여기를 클릭! 이상하게도 Custom font 적용이 실패했다. ( 다른 단말에서는 잘 적용되었다. )구글링해본 결과 2.1 버전에서는 버그가 있어서 이를 적용할 수 없다고 하는데, 필자가 테스트한 해당 .. 2013. 7. 20.
[android] TextureView 에 대한 이야기 Android 그래픽 시스템의 발전 과정. 허니컴 이전에는 Surface Flinger 에서만 GPU 사용 허니컴이 Tablet 용 Framework 이다보니 늘어난 pixel 에 대응하기 위해서 GPU 사용이 필요하게 됨.onDraw() 이후에 실제 그리는 부분을 CPU 에서 하는 것이 아니라 이제는 GPU 에서 하게 됨. 기존 View 는 한 View 가 invalidate 가 되면, dirty check를 한 후, parent 로 올라가면서 invalidate 를 쭉 호출하게 되고, 다시 dirty check 된 녀석까지 draw 를 수행하여 그리게 된다. * 기존 View 의 문제1. UI 스레드에서만 그릴 수 있다.2. View 의 계층 구조를 타야 한다.3. 실시간으로 그리기 어렵다. * 기존.. 2013. 7. 18.
[android] Ice Cream Sandwich 이후의 Dialog 버튼 스타일 만들기. 안드로이드 아이스크림 샌드위치 이후의 dialog 버튼 스타일 만들기 안드로이드 v14 ( 4.0, Ice Cream Sandwich ) 이후부터는 dialog 의 버튼 스타일이 달라졌다. 우선 비쥬얼적으로도 Holo Theme 이라고 하여 뭔가 좀 더 모던한 느낌으로 바뀌었고,두번째로는 OK, Cancel 버튼의 위치가 바뀌었다. OK, Cancel 버튼의 위치가 바뀐 이유가 궁금해요? 여기를 클릭. 여기서는 비쥬얼적으로 모던하게 만드는 방법에 대해 알아보겠다. 간단히 "방법"만을 설명하자면, framework 에서 제공하는 style 을 입혀주면 된다. 위와 같이 버튼들을 담는 layout 에는 ?android:attr/buttonBarStyle 을 style 로 세팅해주고,버튼들의 style 에는 .. 2013. 7. 10.
[Spring] Spring Framework 의 개요 #2 Spring Framework의 개요 #2 변화를 예상 -> design pattern 적용 가능. 관심사의 분리( Separation of Concerns ) 관심이 같은 것끼리는 하나의 객체 안으로, 관심이 다른 것은 가능한 따로 떨어져 영향을 주지 않도록 분리. 템플릿 메소드 패턴( Template Method Pattern ) 슈퍼클래스에 기본적인 조작의 흐름을 만들고, 그 기능의 일부를 추상 메소드나 오버라이딩 가능한 protected 메소드 등으로 만든 뒤, 서브클라스에서 이런 메소드를 필요에 맞게 구현해서 사용하도록 하는 방법. 이 때 선택적 override 가능한 method 를 hook method 라고 한다. 팩토리 메소드 패턴( Factory Method Pattern ) 서브클래스에.. 2013. 6. 25.
[android] framework source code link What is it? 안드로이드 framework source 들을 eclipse에서 연결하는 방법. How to do? 1. Android SDK Manager 를 사용하여, 연결하고 싶은 API level 에 해당하는 source code 를 다운로드한다. 2. Framework source code 를 연결하고 싶은 project 의 properties 로 들어가서, [Java Build path] 로 들어간다. [android.jar] 의 Source attachment 를 선택하고, [Edit] 를 선택한다. 3. Android SDK Manager 를 통해 다운받은 source code 폴더를 연결해준다. 다운받은 source code 의 위치는 [External Folder...] 를 통해 .. 2012. 12. 17.
[android] Toast.LENGTH_LONG, Toast.LENGTH_SHORT 몇 초? Toast.LENGTH_LONG, Toast.LENGTH_SHORT 몇 초? - framework source code 에 의하면.. private static final int LONG_DELAY = 3500; // 3.5 seconds private static final int SHORT_DELAY = 2000; // 2 seconds 참고하세요~ 도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x ) 2012. 12. 10.
반응형