Sharing a Remote ServiceRemote Service를 구현하고 공유하는것은 어렵지 않다. different apps들이 나의 service를 사용하게 할수 있다. 즉 Remote Service를 깨울수 있는 action명을 정의하고 타 앱들이 action명을 가지고 서비스를 호출하면 된다.그럼 Secure한 Remote Service공유는 어떻게 해야할까? Secure한 Remote Service공유의 정의는 다음과 같다. 특정 app만 나의 Remote Service를 띄우게 허락한다.Singing StratigiesAndroid Developer사이트에 보면 다음과 같은 내용이 있다.signature-based permissions enforcement를 사용하면 다른 applica..
Remote Service 만들기 Remote Service 만들기.. 아! 머리 아프다. 일반적인 Local Service는 많이 짜봤는데, Remote Service는 안짜봤다. 여기서 말하는 Remote Service는 다른 APK에 있는 Service를 호출하여 쓰는 것이다. 이런게 가능한지도 몰랐다 ㅠㅜ; 우선 구현을 위해서 Remote Service를 만든다. 여기서 중요한것이 Service의 Intent-filter이다. 앞에서 말했다시피 다른 APK의 Service는 간단히 쓸수가 없다. 호출을 어떻게 할까? 그래서 나온방법이 action을 사용하는 것이다. 자세한 내용은 Remote Service를 호출하는 Caller소스에서 더 자세히 설명하겠다. package com.example.t..
안드로이드 응용프로그램은 Activity, Content Provider, Broadcast Receiver, Service 이렇게 4개로 구성되어있습니다.이번 포스트는 이중 마지막 Service 에 대해서 알아보겠습니다.안드로이드 Activity Life Cycle이 끝나면 해당 Activity는 안드로이드 Activity Stack으로 부터 삭제되고 다시 해당 Activity를 시작하면 onCreate부터 다시 시작된다. 그렇다면 내가 만든 Activity가 종료되어도 백그라운드에서 동작하게 하고 싶다면 어떻게 할까? 방법이 여러가지 있지만 일반적으로 생각해 낼수 있는 방법은 역기 Service를 실행시키는 방법이다. Service는 Activity와 다른 프로세스이다. 또는 여러 프로그램에서 동일한..
JNI 고급과정 JNI초급 과정에서 JNI header파일을 이용한 JNI를 배웠다. 그러나 JNI methods가 여러개 이면 어떻게 할까? 생각만 복잡해 보인다. 그래서 복잡한 JNI에서는 JNI_OnLoad같은 API를 사용하여 수동으로 native method를 등록한다. 먼저 java파일을 보자. 초급과정에서는 간단한 sum메소드를 구현해 봤는데 이번엔 추가로 String을 리턴해 주는 기능도 구현해 보자. ackage com.example.testjni; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; public class MainActivity ext..
NDK를 이용한 JNI 짜보기 아~~ framework 소스에서 jni를 하다가 NDK로 jni를 하려니 죽겠군... NDK를 이용한 JNI는 좀 틀리다. 아니.. 많이 틀리다. 오늘은 첫시간으로 NDK를 이용한 JNI 테스트 프로그램을 간단하게 짜보자. package com.example.hellojni; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; public class HelloJni extends Activity { private static final String TAG = "HelloJni"; @Override protected void onCreat..