본문 바로가기
[Java] JNI Design Overview. ( JNI 의 전체 구조 ) 안녕하세요 돼지왕 왕돼지입니다. 이 글은 Oracle 에서 제공하는 Tutorial 문서를 번역한 것입니다. 출처 : http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/design.html#wp9502 오늘은 먼저 JNI 의 전체적 구조에 대해 한번 알아볼까요? Design Overview 이 장에서는 JNI 의 주된 design을 집중적으로 알아보려 합니다. 대부분의 design issue 는 Native methods 와 관련이 있습니다. Invocation API 들은 5장에서 다뤄질 예정입니다. JNI Interface Functions and Pointers Native code 는 JNI function call 을 통해 Java .. 2012. 3. 21.
[Java] JNI 가 뭔가요? ( JNI Introduction ) 안녕하세요 돼지왕 왕돼지입니다. 오늘부터 몇일간 JNI 에 대해 시리즈처럼 한번 같이 공부해보아요. 이 글들은 Oracle 에서 제공하는 Tutorial 문서를 번역한 것입니다. 출처 : http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/intro.html#wp9502 오늘은 먼저 JNI 가 뭔지 한번 간단히 알아볼까요? JNI 소개 이번 장에서는 Java Native Interface (JNI) 에 대해 알아보겠습니다. JNI 는 native 프로그래밍 interface 입니다. Java Virtual Machine (VM) 안에서 도는 Java code 를 C, C++, assembly 와 같은 다른 언어로 짜여진 어플리케이션이나 libr.. 2012. 3. 21.
[Java] WeakReference 와 SoftReference 의 차이점. 안녕하세요 돼지왕 왕돼지입니다 오늘은 Weak Reference 와 Soft Reference 에 대해 알아보았습니다. WeakReference. Object 를 참조하는 형태 세 가지 중의 하나입니다. GC 가 발생할 때 어떤 object 가 weakly-reachable 이라면 다음과 같은 일이 발생합니다. 1. Weakly-reachable object "를" 참조하는 모든 reference 를 모은다. 2. Weakly-reachable object "가" 참조하는 모든 reference 를 모은다. ( 참조형태는 strong 이든 weak 이든 상관없다. ) 3. 1, 2 를 통해 모은 모든 reference 를 한번에 다 해제한다. 4. reference 가 해제된 object 들은 final.. 2012. 3. 16.
[Android/안드로이드] Bluetooth 를 사용한 Chatting 프로그램 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Bluetooth( 블루투스 ) 에 대해 공부해 보았습니다. 공부를 한 코드는 Android Sample 에서 제공해주는 BlueToothChat 이란 프로젝트로 BlueTooth 에 대한 감을 잡기에 매우 좋은 자료입니다. 소스코드를 다 분석하진 않고, 필요한 내용만을 추려보았습니다. 핵심 인물(?) Bluetooth의 핵심인물은 BluetoothAdapter 란 녀석입니다. 모든 Bluetooth 관련 Action들은 이 녀석을 통해서 이루어집니다. 어떤 녀석들이 있는지 살짝 볼까요? // bluetooth adapter 의 factory method public static BluetoothAdapter getDefaultAdapter(); // bluetoo.. 2012. 3. 15.
[Android/안드로이드] SMS, MMS Database Table 안녕하세요 돼지왕 왕돼지입니다. 오늘은 SMS, MMS 관련, 즉 Message 관련 Database 의 Table 에 대해 간략히 살펴보겠습니다. 먼저 메세지 관련 DB 는 아래 위치에 있습니다. /data/data/com.android.providers.telephony/databases/mmssms.db 요 녀석 안에는 여러가지 Table 이 있는데요, 핵심이 되는 Table 은. sms 와 pdu 입니다. 각각 sms 와 mms 를 담당하고 있습니다. sms 와 pdu table 의 create 문을 봄으로서 우리는 어떤 column 들이 들어있고, 어떤 역할을 하는지 개략적으로 감을 잡을 수 있겠습니다. CREATE TABLE sms (_id INTEGER PRIMARY KEY,thread_id.. 2012. 3. 14.
[Android/안드로이드] IME 보다 먼저 BackKey 를 감지하는 방법. 안녕하세요 돼지왕 왕돼지입니다. Back 키를 통해 IME 를 사라지게 할 때, 이 순간을 감지하는 방법에 대해 알아봅니다. ( Sample Code 도 마지막에 포함되어 있습니다. ) 처음에는 당연히 onDispatchKeyEvent 나 onKeyDown 등의 Callback 으로 Back Key 에 대한 Key Event 가 들어올 줄 알았습니다. 하지만!! IME 녀석이 Event 를 Consume 하고 다음 타자에게 전달하지 않는 바람에, 저런 것들로는 들을 수 없었습니다. 그럼 어떻게 듣느냐? ViewGroup.dispatchKeyEventPreIme( KeyEvent event ) 바로 요 녀석입죠. 말 그대로 IME 전에 미리 Key Event 를 듣는 것입니다. 요 녀석만 활용하면, 이제 .. 2012. 3. 13.
[Android/안드로이드] ICS ( 아이스크림 샌드위치 ) 에서 Menu Button 이 안 나와요. 안녕하세요 돼지왕 왕돼지입니다. Android ICS ( 아이스크림 샌드위치 ) 버전부터는 Menu Button 이 나오지 않습니다. ( 사실은.. HoneyComb ) Galaxy Nexus ( 겔럭시 넥서스 ) Soft Key 의 경우가 대표적이라고 할 수 있는데 왜 그럴까요? Menu Key 가 사라진 이유. Android SDK 10 초과. 즉 3.0 HoneyComb 부터 Menu 키가 사라지는 효과가 나옵니다. 이는 Action Bar 의 등장 때문인데요.. Action Bar 가 Menu 의 역할을 해오기 때문에 minSDK 가 11 이상일 경우는 Menu 키가 필요없다고 여겨져 나오지 않게 됩니다. ( 사실 HoneyComb 부터 이 규칙이 적용되는데, HoneyComb 은 Phone 에 .. 2012. 3. 12.
[Android/안드로이드] 프로를 위한 팁 ( ProTip ) - 부제 : Featured App 만들기 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Android 프로를 위한 팁 ( ProTip ) 에 대한 Video Clip 을 보았습니다. 이 Video Clip의 내용은 결국 Featured 된 App 을 만들자는 것인데, 간단히 이야기하면 "좋은 앱"을 만드자는 내용이지요. 영어가 매우 빠르고, 강연자의 사투리때문에 알아든느데 쪼끔 어려운 점은 있지만, 내용은 매우 좋습니다. 어려워도, 머리 아파도 끝까지 한번쯤은 보신다면 다음번에 앱을 설계하실 때는 professional 하게 만들 수 있지 않을 까 생각합니다. 다양한 SDK 지원하기. 다양한 SDK 지원하기 Backward Compatibility ( 하위 호환성 ) 에 기인하며, 보통 new API 때문에 발생하곤 합니다. 예를 들어 HoneyCom.. 2012. 3. 7.
[Android/안드로이드] Memory Management For Android. 안녕하세요 돼지왕 왕돼지입니다. 오늘은 Memory Management For Android 라는, 구글에서 제공하는 Video Clip 을 시청하고, 살짜쿵 감동을 받아 이렇게 글을 써봅니다. 매우 유용한 정보가 많으니, 꼭 video clip 을 처음부터 끝까지 한번 보시길 바랍니다. Heap Size Limit 안드로이드 앱에는 Heap Size 의 Limit 가 존재합니다. Heap Size 의 Limit 은 Device dependent합니다. 단말마다 다른 heap size limit 을 가지고 있다는 것이죠. 최초의 안드로이드 단말 G1 의 경우는 어플리케이션 하나가 가질 수 있는 heap memory 는 16MB 였습니다. 다시 말해, 어플리케이션 하나가 16MB 이상의 Heap 을 사용하.. 2012. 3. 7.
반응형