본문 바로가기

KOSTA교육/안드로이드 프로그래밍

안드로이드 개발 3일차 구조


1. Activity 라이프싸이클
 ㅁ 상태
    - onCreate() : 자원에 대한 로딩
    - onStart():화면을 보여주는 역할
    - onResume() : 사용자와의 상호작용...
    - onPause() : 화면에 보이긴하지만 상호작용을 막거나 다시 풀수 있다.
    - onStop() : 화면에서 보이지 않는 상태
       ├ Restart() :
       └ Process is Killed :  안드로이 시스템에서 자동적으로 죽인다.
    - onDestroy() : 메모리에서 내린다.

※ Activity는 stack에 쌓인다.
    -  Back 버튼을 사용하면 Stack에 쌓인 Activtiy를 볼 수 있으면 최종으로는 
        바탕화면으로 가면서 Activity를 Destory 시킨다.
        Stack에 쌓일때는 왼쪽에서 오른쪽으로 쌓인다.
        finishi() : 호출했을때  Stack에 쌓이지 않아 호출했을때는 오른쪽을 나간다.
    -  Stack에 쌓이지 않게 하고 싶다.
    -  Activity간의 데이터 공유(Resource 사용방법)
        [값을 넣을때 ]
//Intent가 있어야 서로간의 호출이 가능하다.
   Intent i = new Intent(this, SubActivity.class);
           i.putExtra("key", "value");
   startActivity(i); 
        [값을 꺼낼때 ]
            //Activity로 부터 가져온 값을 꺼낸다.
               Intent i = this.getIntent();
               String key = i.getStringExtra("key");
               Toast.makeText(this, key , Toast.LENGTH_SHORT).show();
        
Intent
   - ExIntent(명시적:Intent Data Give&Take)
   - ImIntent(암시적내부 : 다이얼패드,오디오,...각족 category 접근)
       (호출 조건 - action - data - type - category )

   

2. 안드로이드 크기(길이) 단위
    - px : 사용중인 화면의 픽셀수 → 실제폰이랑 똑같은 크기를 보여준다.
    - in : 인치 → 실제폰이랑 큰차이가 있다.(에뮬레이터다 크다)
    - mm : 미리미터 → 실제폰이랑 큰차이가 있다(에뮬레이터다 크다)
    - pt : 포인트수(사용화면에서 1/72 인치) → 실제폰에서의 크기가 차이가 난다. (에뮬레이터다 2배정도 크다)
    - dp : 해상도 비의 존 픽셀 수 → 실제폰이랑 똑같은 크기를 보여준다.
            (가상의 160dpi해상도 화면에서의 픽셀수, 실제 화면의 해상도에 따라 변화)
    - sp : 디바이스 User의 폰트사이즈를 고려한 픽셀수 → 실제폰이랑 똑같은 크기를 보여준다.
            (실제 화며의 해상도와 폰트사이즈에 의해 변함)

3. 스타일
   ㅁ values
     - style.xml : 스타일을 (dimens,colors 활용)구성한다.
     - dimens.xml : 글씨의 크기를 구성한다.
     - colors.xml : 칼라의 종류를 구성한다.
       색정의표 사이트 : http://www.colorpicker.com 

4. File I/O
 1. 스트림 :  데이터의 흐름

 2. 구성요소
     - (DATA) source → (DATA) Destination(console)

 3. 특징
     - FIFO ( First In First Out)
     - 지연성
     - 유연성(filtering이 가능)
     - 단방향성(source에서 Destination이 정의되면 변경불가)

 4. 구분
    ㅁ 기준 1 : 용도
       -  node stream( source -> destination ) 
             ex)FileInputStream,FileOutputStream.,...
       -  bridge stream ( 1byte ->2byte)  
             ex)InputStreamReader, OutputStream,reader,wirter ,...연속적으로 읽고,쓸때 좋다.
       -  filter stream (응용스트림 : 속성과 메소드 강력) 
             ex) BufferedReader, DataInputStream, (PrintWriter : brigeStream이 없어도되고, 자동 reflesh, 응용력이좋다), ....
    ㅁ 기준2 : 바이트수
       - XXXInputStream, XXXOutputStream (1byte )
       - XXXReader, XXXWrite (2byte )

     ㅁ 기준3 : 입력 / 출력
        - 입력 : XXInputStream, XXReader
        - 출력 : XXOutputStream, XXWriter

==================================================================================