Kamchol's Base Camp

Notification

android2014. 9. 21. 02:17
Notification

Notification?
     
     -백그라운드 알림 으로 사용 된다.
     -BR에서 사용자와 통신 하기 위해 토스트 메시지를 출력할 경우 사용자는 하루 종일             핸드폰 화면을 보고 있는 것이 아니므로 BR의 메시지를 확인 하기 힘들다.
      따라서 토스트 메시지 대신 사용자가 확인 하기 전까지 아이콘이 계속 표시되는                 -예를 들어 부재중 전화, 다운로드 완료등의 메시지가 출력되며 구성요소는 알림메시지와       시간을 표시한다.



Notification 사용
     
     -노티를 사용 하려면 NotifictionManager 와 Notificaiton을 사용한다.
      
     -노티는 Noficaiton.Builder(Context context)로 생성한다.
            Noficaiton.Builder  setTicker      :  아이콘이 처음 나타 날때 잠시 출력되는 문자열
              Noficaiton.Builder  setWhen      :  통지가 발생한 시간을 나타냄 
    (현재 시간이 디폴트)
              Noficaiton.Builder  setSmallIcon   :  상태란 왼쪽에 표시, 상태란을 펼칠 시 
                                                            통지뷰 에도 나타난다.
             Noficaiton.Builder  setLargeIcon   :  통지 뷰에 나타남(SNS 메시지의 사용자 사진,                                                                 멀티미디어 앱의 앨범 자켓)
     -통지 뷰 설정
               Noficaiton.Builder  setContentTitle  : 상단제목
               Noficaiton.Builder  setContnetText  : 중간 내용
               Noficaiton.Builder  setSubText        :  하단 서브 텍스트
                
          총 3개의 문자열이 표시 가능하다.

     -통지 뷰 고급 설정
               Noficaiton.Builder setLights(int argb, int onMs, int offMs) 
     :통지 발생 시 LED깜박 거리며 색상과 주기 결정

               Noficaiton.Builder setNumber(int number)                       
               : 통지 와 함께 숫자를 보여줌(부재중알람 경우 몇통인지 표시)

               Noficaiton.Builder setOngoing(boolean ongoing)              
              : 일회성 알람이 아니라 음악재생, 싱크 작업의 진행중을 표시

               Noficaiton.Builder setSount                                               
    : 소리설정

               Noficaiton.Builder setVibrate                                            
              : 진동설정
               


                 
 Notification 예제
     
     -낮잠시작
      -5초후 노티 울림
      -노티 선택 후 오냐 누를시 끝




























                  


'android' 카테고리의 다른 글

Notification  (0) 2014.09.21
excludeFromRecents & 어플의 중첩 실행 방지  (0) 2014.09.20
Activitiy LunchMode  (0) 2014.09.20
Activity에 Fragment 씌우기  (0) 2014.08.27
XML안에 다른 XML include 하기  (0) 2014.08.26
Fragment 생명주기  (0) 2014.08.26

Comment +0

excludeFromRecents

     -Home 키를 Long Press 하게  되면 해당 app은 Recent List로 이동하게 된다 

      이 아이콘을 다시 누를 시 해당 app으로 이동하게 된다.

      이때 Home 키를 Long Press하게 되도 app이 Recent List로 이동 하지 않게 하려면 

      해당 activity에서 

      android:exdudeFromRecents = “true”를 주게 되면 된다.

      만약 Intent 에 flag 형태로 주고 싶을 경우에는 Intent에 FALG_ACTIVITY_EXCLUDE_FROM_RECENTS 
    
     를 설정해도 똑같은 효과가 가능하다



어플의 중첩 실행 방지 
android:launchMode="singleInstance"
android:excludeFromRecents="true" 
android:taskAffinity=""






'android' 카테고리의 다른 글

Notification  (0) 2014.09.21
excludeFromRecents & 어플의 중첩 실행 방지  (0) 2014.09.20
Activitiy LunchMode  (0) 2014.09.20
Activity에 Fragment 씌우기  (0) 2014.08.27
XML안에 다른 XML include 하기  (0) 2014.08.26
Fragment 생명주기  (0) 2014.08.26

Comment +0

Activitiy LunchMode

android2014. 9. 20. 16:03
LunchMode?
     -Activity 실행 시 엑티비티 스택이 쌓이는 운영방식 결정 모드
     -총 4가지로 분류 된다.
          -android:lunchMode = “standard”
          -android:lunchMode = “singleTop”
          -android:lunchMode = “singleTask”
          -android:lunchMode = “singleInstance”
   
1.Standard
     - standard
          
     


     -singleTop
         

          ->최 상위 스택에 있는 액티비티 호출 시 스택에 쌓이지 않고 이전 액티비티 재활용
       -singleTask
        


     -singleInstance
            

           ->오직 하나의 태스크에 하나이 액티비티만 존재 

'android' 카테고리의 다른 글

Notification  (0) 2014.09.21
excludeFromRecents & 어플의 중첩 실행 방지  (0) 2014.09.20
Activitiy LunchMode  (0) 2014.09.20
Activity에 Fragment 씌우기  (0) 2014.08.27
XML안에 다른 XML include 하기  (0) 2014.08.26
Fragment 생명주기  (0) 2014.08.26

Comment +0

Fragment 만들기 
1.클래스 정의 

     


     Fragment import 시 import android.app.Fragment;

2.xml정의 
  • activity_main.xml
        


         android:name에는 풀패키지를 입력한다.
           MainActivity 내의 inner Class로 FragmentOne이 선언 되어 있기 때문에 $로 표시.   
  •   fragment_one.xml    
        


Main Class에서 main.xml을 호출한다 이 때 xml 내에 있는 fragment를 호출 한다.
Fragment는 name에 있는 새달 클래스를 호출하고 호출된 클래스 에서는 fragment_one.xml을 호출하여 
화면에 뿌려준다.



'android' 카테고리의 다른 글

excludeFromRecents & 어플의 중첩 실행 방지  (0) 2014.09.20
Activitiy LunchMode  (0) 2014.09.20
Activity에 Fragment 씌우기  (0) 2014.08.27
XML안에 다른 XML include 하기  (0) 2014.08.26
Fragment 생명주기  (0) 2014.08.26
appcompat_v7 라이브러리 폴더 제거 하기  (0) 2014.08.26

Comment +0

XML안에 다른 XML include  하기 

기존의 xml(itmeactivity.xml) 에 다른 xml(review_row.xml) include하기 

















'android' 카테고리의 다른 글

excludeFromRecents & 어플의 중첩 실행 방지  (0) 2014.09.20
Activitiy LunchMode  (0) 2014.09.20
Activity에 Fragment 씌우기  (0) 2014.08.27
XML안에 다른 XML include 하기  (0) 2014.08.26
Fragment 생명주기  (0) 2014.08.26
appcompat_v7 라이브러리 폴더 제거 하기  (0) 2014.08.26

Comment +0

Fragment 생명주기

android2014. 8. 26. 23:02
Fragment

Fragment란?
  • 조각 이란 뜻으로 액티비티 보다 더 작은 화면 단위를 정의하는데 쓰이며 프래그먼트의 집합으로 액티비티가 구성된다.
  • 높은 재사용성으로 여러 액티비티 에서 재사용 가능하다.
  • 디자인시 배치가 미리 결정되는 액티 비티에 비해 실행 도중 추가,제거,교체 가능하다.
  • 설정창에 많이 쓰이며 프래그먼트를 클릭하여 액티비티를 실행한다 따라서 하나의 프래그먼트당 하나의 기능만을 구성하는 것이 좋다
  • 프래그먼트 끼리의 직접적인 조작은 피하는 것이 좋다 프래그 먼트끼리 통신이 필요하면 액티비티를 통해 하는 것이 좋은 구조이다. 


Fragment 생명주기
  • 프래그먼트는 액티비티에 종속되어 나타나기 때문에 액티비티 없이 홀로 존재 할 수 없다.
  • 액티비티의 생명주기가 끝날 경우 프래그먼트 역시 종료 된다.
  • 액티비티와 생명주기는 거의 유사하다.
  • onCreate,onCreateView,onPause는 거의 필수적으로 구현해야 하며 나머지는 필요에 의해 구현하면 된다.
  • 다음의 순서대로 콜백이 호출된다.



void onAttach(Activity activity)
  • 액티비티에 프래그먼트가 처음 부착 될때 호출. 인수의 부착된 액티비티는 프래그먼트가 부착된 호스트 액티비티
void onCreate(Bundle savedInstanceState)
  • 프래그먼트가 생성 될 때 호출.
  • 프래그먼트에서 꼭 필요한 요소 초기화한다,초기화 할 것이 없을 경우 생략 가능
  • 이 단계는 아직 액티비티 조차도 초기화 되지 않은 상태 이므로 액티비티의 컨트롤을 안전하게 참조 할 수 없다.
  • 액티비티 초기화 시점 필요 시 onActivityCreated 사용.
  • 프래그먼트에서 메뉴 사용 시 setHasOptionMenu 등록 ->onCreateOptionMenu를 호출 할 수 있다.
void onActivityCreated 
  • 액티비티가 완전히 초기화 된고 프래그먼트의 레이아웃도 완성되었을 때 호출된다.

view onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState)
  • 프래그먼트의 UI를 그릴 때 처음 호출, 자신이 xml에 생성한 view 리턴
  • UI가 없다면 null을 지정하면 된다.
  • container : 프래그먼트가 배치 될 액티비티의 부모 뷰 
  • savedInstanceState:이 콜백에서 리턴한 레이아웃이 액티비티의 container에 나타난다.

위 4가지의 콜백 실행 후 onStart,onResume가 실행 액티비티 생명주기와 같은 시점에 호출 되며 의미도 동일

액티비티 파괴 시 
  • onDestroyView,onDestroy,onDetach 콜백이 순서대로 호출 된다.











'android' 카테고리의 다른 글

excludeFromRecents & 어플의 중첩 실행 방지  (0) 2014.09.20
Activitiy LunchMode  (0) 2014.09.20
Activity에 Fragment 씌우기  (0) 2014.08.27
XML안에 다른 XML include 하기  (0) 2014.08.26
Fragment 생명주기  (0) 2014.08.26
appcompat_v7 라이브러리 폴더 제거 하기  (0) 2014.08.26

Comment +0

appcompat_v7 없는 프로젝트 생성 하기


appcompat_v7 이란?
:안드로이드 하위 버전에서  상위 라이브러리를 사용 할 수 있도록 하는 라이브러리 모음!!



appcompat_v7을 없애자!
Minimum Required SDK,Target SDK,Compile with 를 모두 4.4로 변경!





 Android Menifest.xml 수정
이 부분을
          <uses-sdk
             android:minSdkVersion="19"
             android:targetSdkVersion="19"
           />
이 렇게 변경 하면 끝.
      <uses-sdk android:minSdkVersion="7" />

'android' 카테고리의 다른 글

excludeFromRecents & 어플의 중첩 실행 방지  (0) 2014.09.20
Activitiy LunchMode  (0) 2014.09.20
Activity에 Fragment 씌우기  (0) 2014.08.27
XML안에 다른 XML include 하기  (0) 2014.08.26
Fragment 생명주기  (0) 2014.08.26
appcompat_v7 라이브러리 폴더 제거 하기  (0) 2014.08.26

Comment +0