public class ViewSwitcherExample extends ListActivity
 implements OnClickListener {
    
//sample list items
static final String[] ITEMS = new String[]
          { "List Item 1", "List Item 2", 
            "List Item 3", "List Item 4", 
            "List Item 5", "List Item 6", 
            "List Item 7", "List Item 8", 
            "List Item 9", "List Item 10" };
//the ViewSwitcher
private ViewSwitcher switcher;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  
  //no window title
  requestWindowFeature(Window.FEATURE_NO_TITLE);
  
  //create the ViewSwitcher in the current context
  switcher = new ViewSwitcher(this);
  
  //footer Button: see XML1
  Button footer = (Button)View.inflate(this, R.layout.btn_loadmore, null);
  
  //progress View: see XML2
  View progress = View.inflate(this, R.layout.loading_footer, null);
  
  //add the views (first added will show first)
  switcher.addView(footer);
  switcher.addView(progress);
  
  //add the ViewSwitcher to the footer
  getListView().addFooterView(switcher);
  
  //add items to the ListView
  setListAdapter(new ArrayAdapter(this,
          android.R.layout.simple_list_item_1, ITEMS));
}

@Override /* Load More Button Was Clicked */
public void onClick(View arg0) {
//first view is showing, show the second progress view
switcher.showNext();
//and start background work
new getMoreItems().execute();
}
/** Background Task To Get More Items**/
private class getMoreItems extends AsyncTask {
@Override
protected Object doInBackground(Void… params) {
//code to add more items
//...
try {
Thread.sleep(3000); //only to demonstrate
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}

@Override /* Background Task is Done */
protected void onPostExecute(Object result) {
//go back to the first view
switcher.showPrevious();
                        //update the ListView
}
}
}

'안드로이드' 카테고리의 다른 글

AndroidManifest  (0) 2011.01.26
Permission List  (0) 2011.01.26
안드로이드 날짜 포맷  (0) 2011.01.26
List View 구현시 유의할 점.  (0) 2011.01.26
화면 회전  (0) 2011.01.26

SimpleDateFormat 클래스는 일자의 포맷과 해석을 로케일을 고려해 실시하기 위한 구상 클래스이다.

ex> formatter = new SimpleDateFormat("M");

문자 일자 또는 시각의 컴퍼넌트 표시
G 기원 Text AD
y 1996; 96
M July; Jul; 07
w 해에 있어서의 주 수치 27
W 달에 있어서의 주 수치 2
D 해에 있어서의 날 수치 189
d 달에 있어서의 날 수치 10
F 달에 있어서의 요일 수치 2
E 요일 Text Tuesday; Tue
a 오전/오후 Text PM
H 하루에 있어서의 때 (0 ~ 23) 수치 0
k 하루에 있어서의 때 (1 ~ 24) 수치 24
K 오전/오후때 (0 ~ 11) 수치 0
h 오전/오후때 (1 ~ 12) 수치 12
m 수치 30
s 수치 55
S 밀리 세컨드 수치 978
z 타임 존 일반적인 타임 존 Pacific Standard Time; PST; GMT-08:00
Z 타임 존 RFC 822 타임 존 -0800

'안드로이드' 카테고리의 다른 글

Permission List  (0) 2011.01.26
ViewSwitcher 예제 코드  (0) 2011.01.26
List View 구현시 유의할 점.  (0) 2011.01.26
화면 회전  (0) 2011.01.26
Task  (0) 2011.01.26

Adapter에서 getView()함수를 오버라이드 하는데

보통 리스트를 그려줄 경우 화면에 있는 부분을 그린 후 getView함수를 다시 재 호출한다.

그렇게 되면 convertView를 가지고 와야되는데 처음부터 다시 View를  시작하게 되는 경향이 있다.

그러므로 convertView = mInflater.inflate(R.layout.day_item, parent, false); 를 조건문 선언 없이 처리해주면

동적으로 불러와서 기존의 데이터에서 계속적으로 처리가 된다.

'안드로이드' 카테고리의 다른 글

ViewSwitcher 예제 코드  (0) 2011.01.26
안드로이드 날짜 포맷  (0) 2011.01.26
화면 회전  (0) 2011.01.26
Task  (0) 2011.01.26
Affinityes and new Tasks  (0) 2011.01.26

안드로이드는 화면에 따라 2가지 레이아웃을 만들어 주어야 합니다.
가로 일때와 세로일때 인데요.
구현 컨셉상으로 한방향으로만 레이아웃을 구현해야 할 경우, AndroidManifest에서
screenOrientation 속성을 부여함 으로써 화면 고정이 가능합니다.

//세로 화면
<Activity android:name=".classname"
             android:screenOrientation="portrait"/>

//가로 화면
<Activity android:name=".classname"
             android:screenOrientation="landscape"/>

대표적으로는 두개만 사용하지만 총 7가지의 종류가 있습니다.
그 종류는 다음과 같습니다.

"unspecified" The default value. The system chooses the orientation. The policy it uses, and therefore the choices made in specific contexts, may differ from device to device.
"landscape" Landscape orientation (the display is wider than it is tall).
"portrait" Portrait orientation (the display is taller than it is wide).
"user" The user's current preferred orientation.
"behind" The same orientation as the activity that's immediately beneath it in the activity stack.
"sensor" The orientation determined by a physical orientation sensor. The orientation of the display depends on how the user is holding the device; it changes when the user rotates the device.
"nosensor" An orientation determined without reference to a physical orientation sensor. The sensor is ignored, so the display will not rotate based on how the user moves the device. Except for this distinction, the system chooses the orientation using the same policy as for the "unspecified" setting.

'안드로이드' 카테고리의 다른 글

안드로이드 날짜 포맷  (0) 2011.01.26
List View 구현시 유의할 점.  (0) 2011.01.26
Task  (0) 2011.01.26
Affinityes and new Tasks  (0) 2011.01.26
Activity & Task  (0) 2011.01.26

Launch Mode

 <activity> element 에 lauchmode 속성을 조정하여 activity를 컨트롤 할 수 있습니다.
               1. standard
               2. singleTop
               3. singleTask
               4. singleInstance
 위의 4가지 모드는 4가지 관점에서 다르게 동작합니다.

 * 임의 Intent에 대해 어떤 task가 그 activity를 받을 것인가?
    : standard, singleTop모드는 intent가 발생된 task에 push 됩니다.
      flag를 FALG_ACTIVITY_NEW_TASK로 설정해도 호출한 동일한 task내에
      push 됩니다. affinity & new task에 따라 다른 task가 선택될 수 있습니다.
      singleTask 및 singleInstance는 task를 정의하여 root activity로 적재되고 다른 task
      에 적재되지 않습니다.

 * 다중 Instance Activity가 가능한가?
    : standard, singleTop모드는 여러 task에 소속될수도 있고, 한 task에 동일한
      activity가 여러 instance가 적재될 수도 있습니다.
      singleTask, singleInstance는 task내에서 오로지 한개의 instance만 적재됩니다.
      root activity만 가능하기 때문에 device내에서 한번에 하나의 Instance만 존재할 수
      있습니다.

 * Instance가 task내에서 다른 activity를 가질수 있는가?
   : singleInstance는 task내에서 오직 하나의 instance만 가능하며, 만일 다른 activity를
     시작하면, launchMode에 관계없이 새로운 task가 생성되어 적재됩니다.
     standard, singleTask, singleTop은 모두 multi instance가 가능합니다.
     singleTask는 root activity로 생성되며 다른 activity를 task내에 적재가 가능합니다.
     singleTop과 standard 모드는 stack내에서 자유롭게 다른 activity를 생성가능합니다.

 * 특정 class의 새로운 instance가 새로운 intent를 다룰 것인가?
    : standard 모드는 새로운 instance가 새로운 intent의 응답으로 생성됩니다.
      각 Instance는 오직 하나의 intent를 다룹니다.
      singleTop : target-task의 stack에 top activity로 있다면 그 class의 instance가
                       intent를 재사용하여 처리합니다. top activity가 아니면 재사용하지 않고
                       새로운 instance가 생성되어 intent를 처리하고 stack에 push됩니다.

     예) A - B - C - D 에서 D를 시작하려고 할 때 D가 singleTop이면 A - B - C - D로
          됩니다.
          A - B - C - D 에서 D를 시작하려고 할 때 D가 standard이면 A - B - C - D - D로
          됩니다.
          B가 singleTop이나 standard이면 A - B - C - D - B 가 가능합니다.

Clearing the stack

 기본적으로 사용자가 task를 오랫동안 사용하지 않으면 system은 task의 root activity만
 을 제외하고 모든 activity들을 clear한다. <activity> element의 몇가지 속성은 이를 조정
 할 수 있게 해줍니다.

 alwaysRetainState 속성
 : task의 root activity에 이 속성을 set하면 이 task는 오랜시간이 지나도 생존하게 됩니다.
 clearTaskOnLaunch 속성
 : task의 root activity에 이 속성을 set하면 task를 나가고 돌아올때 clear 됩니다.
 finishOnTaskLaunch 속성
 : clearTaskOnLaunch와 유사하나 이 속성은 하나의 activity에만 유효합니다.
   root activity를 포함하여 현재 세션인 경우에만 살아있고 task를 떠나면 clear됩니다.

 stack에서 activity를 제거하는 다른 방법이 있습니다.
 intent object의 flag를 FLAG_ACTIVITY_CLEAR_TOP으로 하고 이 intent를 처리할
 activity가 target task에 이미 instance를 가지고 있다면, 상위 activity들이 모두 clear되고
 그 activity가 top activity가 됩니다.
 launchMode가 standard라면 stack에서 마찬가지로 삭제되고 새로운 activity가 그 intent
 를 처리할 것입니다.

 FLAG_ACTIVITY_NEW_TASK와 FLAG_ACTIVITY_CLEAR_TOP이 함께 사용되면 존재하
 는 activity가 새 task에 생성되어 intent를 처리합니다.

Starting task

 activity는 intent filter중에 action filter로 android.intent.action.MAIN을 
 그리고 category filter로 android.intent.category.LAUNCHER로 entry point가 설정됩니
 다.
 이런 설정은 icon과 label 정보를 가지고 화면에 표시하고 task에 적재하고  적재 후 언제
 든지 다시 돌아올 수 있도록 해줍니다.

 사용자는 언제든 task를 떠날수 있고 다시 돌아올수 있습니다.
 singleTask와 singleInstance로 설정된 activity는 반드시 MAIN과 LAUNCHER를 filter로
 적용해야 합니다. 그렇지 않으면 activity를 수행후 다른 화면으로 갔다가 다시 돌아올 수
 있는 방법이 없게 됩니다.

 FLAG_ACTIVITY_NEW_TASK는 activity하나가 새로운 task에 시작되고 HOME Key를
 눌렀을 경우 다시 복귀하기 위해 다른 방법이 있습니다.
 외부 task에서 notification manager 같은 entity에서 항상 activity들을 시작할 수 있습니
 다. 이런방식으로 외부에서 activity를 invoke할 수 있다면 사용자가 다른 방법으로 그
 task를 시작할 수 있음을 유의해야 합니다.
 이런 경우 그 activity로 복귀하기를 원하지 않는다면 finishOnTaskLaunch를 사용하면 됩
 니다.


위의 내용은 http://blog.naver.com/free2824?Redirect=Log&logNo=60067211415 에서 참조하였습니다.

'안드로이드' 카테고리의 다른 글

List View 구현시 유의할 점.  (0) 2011.01.26
화면 회전  (0) 2011.01.26
Affinityes and new Tasks  (0) 2011.01.26
Activity & Task  (0) 2011.01.26
전화 걸기  (0) 2011.01.17

기본적으로 하나의 application의 activity들은 각기 하나의 affinity 를 갖습니다. 그러나 각각의 affinity들은 <activity> element의 taskAffinity속성으로 affinity set을 이룰수 있습니다.

서로 다른 Application의 Activity들이 동일한 affinity를 공유할 수 있으며 한 application의 Activity들이 서로 다른 affinity를 가질수 있습니다.

affinity는 Intent object에 FLAG_ACTIVITY_NEW_TASK로 Activity를 적재할 때와 Activity가 allowTaskReparenting 속성을 true로 set 하였을 때 시작됩니다.

FLAG_ACTIVITY_NEW_TASK 적용시

 기본적으로 Activity는 startActivyt()로 task안에 적재 됩니다.
 caller[호출한 Task]와 동일한 stack에 push 됩니다. 그러나 startActivyt()가
 FLAG_ACTIVITY_NEW_TASK 로 flag를 set하여 호출하면, 시스템은 새로운 Activity를
 담기위한 task를 찾습니다. 보통 새로운 task가 생성되지만, 동일한 affinity를 갖는 task가
 검색되면 그 task에 가서 달라 붙습니다.

allowTaskReparenting 적용시 
 특정 Activity가 allowTaskReparenting 속성이 "true"이면, 시작된 task에서 동일한
 affinity를 갖는 다른 task가 foreground로 올라올때 그 task로 activity가 이동될 수 있습니
 다.


 예를 들면, 특정도시의 날씨를 보여주는 Activity를 가지고 있는 travel application이 있다
 고 가정을 합니다. travel application에 동일한 affinity를 갖는 다른 activity가 있고
 repaarenting이 가능합니다. 이 상태에서 당신의 application의 activity가 travel
 application의 날씨 activity를 시작하면, 날씨 activity는 당신의 task에 적재되게 됩니다.
 그러나 이 때 travel application이 적재되게 되면 날씨 activity는 새로 시작된 travel
 application의 task에 재위치지정이 되고 화면에 표시되어 집니다.

 travel application : weather activity, ... -> allowTaskReparenting이 true이고 모두 동일 affinity를 갖습니다.
 your application : A, B, C, D Activity

 launch travel application -> (1)start Weather activity -> HOME -> launch your
 application -> start Activity -> (2)start Weather activity -> HOME -> (3)travel
 application -> display Weather activity

 (1) 시점에서 weather activity는 task1(travel app의 task)에 적재됩니다.
 (2) 시점에서 weather activity는 task2(your app의 task)에 적재 됩니다.
 (3) 시점에서 travel app이 다시 시작될때 task2에 있던 weather activity가 task1으로
      재지정 됩니다.

 하나의 패키지(*.apk)에 여러 application이 정의되어 있다면, app단위로 각기 다른
 affinity를 부여하는 것이 좋습니다.

위의 내용은 http://blog.naver.com/free2824?Redirect=Log&logNo=60067211415 에서 참조
하였습니다.

'안드로이드' 카테고리의 다른 글

화면 회전  (0) 2011.01.26
Task  (0) 2011.01.26
Activity & Task  (0) 2011.01.26
전화 걸기  (0) 2011.01.17
Telephony Manager  (0) 2011.01.17

Activity정의 

 안드로이드에서는 사용자가 사용한 Activity들을 Task로 하여 그 정보를 유지합니다.
 관련된 Acvitity는 group으로 Stack에 저장합니다.
 root Activity는 task상의 첫번째 Activity이고 top Activity는 현재 화면에 보여지는 Activity
 입니다. Activity가 다른 Activity를 시작하면 그 새로운 Activity가 stack에 push되고 그
 Activity가 top Activity가 됩니다. 그리고 이전 Activity는 stack에 남아 있게 됩니다.
 이 상태에서 Back Key를 누르게 되면, 이전 Activity가 stack에서 pop되면서 화면에 보여
 지게 되어 resume이 됩니다.

 stack은 Activity의 Object(Instance)를 가지고 있습니다. 따라서 같은 Activity의 여러개 
 시작할 수 있습니다.
 stack내의 Activity는 stack이므로 재정렬되지 않고, 순서가 그대로 유지됩니다.
 단지 push, pop만을 이용하고 있습니다.
 
 Task는 Activity들의 stack입니다. 따라서 task내의 Activity에 어떤 값을 설정하는 방법은
 없습니다. 단지 root Activity만이 affinity(친밀도) set을 이용하여 read, set이 가능합니다.

 Task의 모든 Activity들은 하나의 집합으로 background 또는 foreground로 이동합니다.
 예를 들면, 현재 task가 4개의 Activity를 가진다고 가정을 했을때, HOME Key를 눌렀을때
 application launcher로 이동하게 됩니다. 이어서 새로운 application을 실행합니다.
 그러면 현재 task는 background로 가고 새로운 task의 root Activity가 표시됩니다.
 이어서 사용자가 다시 HOME으로 갔다가 이전 Application을 다시 선택한다면, 그 task
 가 다시 앞으로 나오게 됩니다. 이때 BACK Key를 누르면 root Activity가 표시되지 않고,
 task상의 이전 Activity가 표시되게 됩니다.

 Task와 Activity간의 결합과 동작에 대한 제어는 intent object의 flag 파라미터와 
 AndroidManifest의 <Activity> element의 몇가지 속성으로 제어가 가능합니다.

 Intent Object Flag
 1. FLAG-ACTIVITY_NEW_TASK
 2. FLAG_ACTIVITY_CLEAR_TOP
 3. FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
 4. FLAG_ACTIVITY_SINGLE_TOP

 Activity Element 
 1. taskAffinity
 2. launchMode
 3. allowTaskReparenting
 4. clearTaskOnLaunch
 5. allowRetainTaskState
 6. finishOnTaskLaunch
 
 위의 내용은 http://blog.naver.com/free2824?Redirect=Log&logNo=60067211415 에서
 참조 하였습니다.

'안드로이드' 카테고리의 다른 글

Task  (0) 2011.01.26
Affinityes and new Tasks  (0) 2011.01.26
전화 걸기  (0) 2011.01.17
Telephony Manager  (0) 2011.01.17
Telephony 란?  (0) 2011.01.17
보통 전화를 걸기위해서 Intent를 사용하여 전화를 겁니다.
Intent를 사용하여 전화를 걸거나 아니면 Dial 화면을 뛰울수 있는데, 이에 해당하는 Intent는
다음과 같습니다.
 Intent.DIAL_ACTION : Dial화면 뛰우기
 Intent.CALL_ACTION : 전화걸기

위에서는 두가지의 Intent를 소개하였고, 이를 사용하기 위한 예제는 다음과 같습니다.
 new Intent(Intent.DIAL_ACTION, Uri.parse("tel:"+전화번호));
 new Intent(Intent.CALL_ACTION, Uri.parse("tel:"+전화번호));

이제 소스에 위와 같은 내용을 넣었다면, AndroidManifest에 Permission을 넣어주어야 합니다. 사용하고자 하는 Permission을 넣어주면 해당동작을 할 수 있지만, 만약 넣어주지 않는다면, ANR이 발생하게 됩니다.

Permission의 종류는 다음과 같습니다.
 android.permission.READ_PHONE_STATE : 폰 상태 정보 읽기.
 android.permission.MODIFY_PHONE_STATE : 폰 상태 정보 수정.
 android.permission.CALL_PHONE : 사용자 확인 절차 없이 콜 초기화.
 android.permission.CALL_PRIVILEGED : 긴급 통화를 포함하여 모든 번호에 통화 가능.
 android.permission.PROCESS_OUTGOING_CALLS : 애플리케이션에서 콜 발신과
                                                            수정 관련 브로드 캐스트 수신.



'안드로이드' 카테고리의 다른 글

Affinityes and new Tasks  (0) 2011.01.26
Activity & Task  (0) 2011.01.26
Telephony Manager  (0) 2011.01.17
Telephony 란?  (0) 2011.01.17
서비스(Service)  (0) 2011.01.17
TelephonyManager를 통해서 현재 모뎀의 상태를 얻을 수 있습니다.

사용방법은 다음과 같습니다.
Androidmanifest.xml
<uses-permission 
android:name="android.permission.READ_PHONE_STATE">
</uses-permission> 

java File
단말기의 모뎀상태 조회
TelephonyManager tm = (TelephonyManager) 
                                                         getSystemService(TELEPHONY_SERVICE);

음성통화 상태 조회
CALL_STATE_IDLE, CALL_STATE_OFFHOOK, CALL_STATE_RINGING
        등의 값을 반환
Log.d("PHONE", "getCallState :" + tm.getCallState());

데이터통신 상태 조회
DATA_DISCONNECTEDDATA_CONNECTINGDATA_CONNECTED
        DATA_SUSPENDED 등의 값을 반환
Log.d("PHONE", "getDataState :" + tm.getDataState());

단말기 ID 조회
GSM방식 IMEI 또는 CDMA방식의 MEID 값을 반환
Log.d("PHONE", "getDeviceId :" + tm.getDeviceId());

SW버전 조회
GSM방식의 IMEI/SV와 같은 SW버전을 반환
Log.d("PHONE", "getDeviceSoftwareVersion :" + 
                                                           tm.getDeviceSoftwareVersion());

전화번호 조회
GSM방식의 MSISDN과 같은 전화번호 반환
Log.d("PHONE", "getLine1Number :" + tm.getLine1Number());

국가코드 조회
현재 등록된 망 사업자의 MCC(Mobile Country Code)에 
        대한 ISO 국가코드 반환
   Log.d("PHONE", "getNETWORKCountryIso :" +
                                                             tm.getNetworkCountryIso());
Log.d("PHONE", "getSimCountryIso :" + tm.getSimCountryIso());

망 사업자코드 조회
현재 등록된 망 사업자의 MCC+MNC(Mobile Network Code) 반환
Log.d("PHONE", "getNetworkOperator :" + tm.getNetworkOperator());
Log.d("PHONE", "getSimOperator :" + tm.getSimOperator());

망 사업자명 조회
현재 등록된 망 사업자명 반환
Log.d("PHONE", "getNetworkOperatorName :" + 
                                                           tm.getNetworkOperatorName());
Log.d("PHONE", "getSimOperatorName :" + tm.getSimOperatorName());

망 시스템 방식 조회
현재 단말기에서 사용중인 망 시스템 방식을 반환
NETWORK_TYPE_UNKNOWN
GSM방식 :  NETWORK_TYPE_GPRS, NETWORK_TYPE_EDGE, 
                         NETWORK_TYPE_UMTS, NETWORK_TYPE_HSDPA
                         NETWORK_TYPE_HSUPA, NETWORK_TYPE_HSPA
CDMA방식 : NETWORK_TYPE_CDMA, NETWORK_TYPE_EVDO_0, 
                          NETWORK_TYPE_EVDO_A, NETWORK_TYPE_1xRTT
Log.d("PHONE", "getNetworkType :" + tm.getNetworkType());

단말기 종류 조회
단말기에서 지원하는 망의 종류를 반환
PHONE_TYPE_NONEPHONE_TYPE_GSMPHONE_TYPE_CDMA
        등의 값을 반환
Log.d("PHONE", "getPhoneType :" + tm.getPhoneType());

SIM카드 Serial Number 조회
Log.d("PHONE", "getSimSerialNumber :" + tm.getSimSerialNumber());

SIM카드 상태 조회
SIM_STATE_UNKNOWNSIM_STATE_ABSENT
        SIM_STATE_PIN_REQUIREDSIM_STATE_PUK_REQUIRED
SIM_STATE_NETWORK_LOCKEDSIM_STATE_READY 등의 값을 반환
Log.d("PHONE", "getSimState :" + tm.getSimState());

가입자 ID 조회
GSM방식의 IMSI와 같은 가입자 ID 반환
Log.d("PHONE", "getSubscriberId :" + tm.getSubscriberId()); 




'안드로이드' 카테고리의 다른 글

Activity & Task  (0) 2011.01.26
전화 걸기  (0) 2011.01.17
Telephony 란?  (0) 2011.01.17
서비스(Service)  (0) 2011.01.17
브로드캐스팅 인텐트를 위한 메서드  (0) 2011.01.17
텔레포니(Telephony0는 전화망을 통한 전자적인 음성 통신을 나타내는 말을 뜻합니다.
보통 SDK에서 단말기의 모뎀에서 제공하는 전화기능에 관련된 내용은 android.telephony Package의 TelephonyManager Class에서 담당하고 있습니다.
보통 안드로이드에서는 GSM(Global System For Mobile Communications)네트워크를 사용하고 있으며, GSM 네트워크는 SIM 카드에 저장된 고유한 식별자로 인해서 각각의 통신망에서 해당 통신망 가입자를 구분할 수 있습니다.

SIM 카드에 저장된 고유한 식별자는 다음과 같습니다.
 ICCID(Integrated Circuit Card ID) : SIM 카드를 식별함.(혹은 SSN[Sim Serial Number])
 IMEI(International Mobile Equipment Identity) : 물리적인 장치를 식별함.
                                                                  (보통 배터리 아랫부분에 인쇄되어 있음.)
 IMSI(International Mobile Subscriber Identity) : 가입자들을 식별함.
 LAI(Location Area Identity) : 망 내에서 기기의 위치를 식별함.
 Ki(Authentication Key) : 망 내에서 SIM 카드 인증을 위해 128bit 키를 사용함.

여기에서 IMEI와 IMSI를 알아두실 필요가 있습니다.
보통 마켓에서 받은 App은 IMEI를 각각의 기기들을 구분을 하기 때문에 만약 IMEI가 존재하지 않는다면,[Mp3 같은 전화기능이 없는 기기] App이 실행이 안될수도 있습니다.
그리고 일반적으로 많이들 사용하기 때문에 정확하게는 아니더라도 어떤 역할을 하는지는 알아두실 필요가 있습니다.


'안드로이드' 카테고리의 다른 글

전화 걸기  (0) 2011.01.17
Telephony Manager  (0) 2011.01.17
서비스(Service)  (0) 2011.01.17
브로드캐스팅 인텐트를 위한 메서드  (0) 2011.01.17
Intent Action  (0) 2011.01.17

+ Recent posts