본문 바로가기

study/android

[android] Toast 메시지 -Context

728x90

일단 토스트 메시지는 종종 화면 하단에 떴다가 사라지는 메시지이다.

 

이런식의 메시지

 

토스트 메시지은 커스텀이 가능하다고 한다.

 

 

사용법

Toast.makeText(Context context, CharSequence text, int duration).show();

 

첫 번째 인자의 conetxt에는 this, getActivityContext(), [Activitiy Class Name].this 등 많이 사용할 수 있다.

Android의 Context에 대해서는 여기서 확인해보면 된다. 그리고 맨 아래쪽에 생각을 정리해뒀다.

 

두 번째 인자 text는 토스트 메시지에 띄울 내용이다.

 

마지막 인자 duration은 토스트 메시지가 띄워져있을 시간이다. Toast.LENGTH_LONG과 Toast.LENGTH_SHORT는 Toast안에 정의된 멤버 변수인데, 보통 4초 2초 정도 띄워진다고 보면 된다. 임의로 값을 넣어줄 수도 있는데 그때는 밀리세컨드가 단위라고 한다. (1000 넣으면 1초)

 

위의 예시는 makgeText() 함수의 리턴값인 Toast 객체를 따로 커스텀하지 않고 show()를 통해 바로 사용이 가능한 것이다.

 

커스텀하는 것의 예시는 링크를 통해서 확인

 

 

Context

Context는 찾아보니 대부분이 Application의 상태를 포함하고있는 정보 정도로 설명을 하고 있다. 이 부분에서 Context는 OS에서 공부하는 Context인 것 같다. 멀티 태스킹을 할 때 Context Switching 할 때의 Context말이다.

 

안드로이드에서 Context는 Activity Context와 Application Context로 나뉘어져있다. 이 구분은 lifecycle과 관련이 있고, Toast에서도 어느 것을 사용해도 똑같이 돌아가지만 내부적으로는 여러 개가 다르게 존재하는 이유다.

 

간단하게 Application Context는 Application이 살아있는 동안에 유지되는 Context이고, Activity Context는 Activity를 수행하는 동안에 유지되는 Context이다. Application은 여러 개의 Activity로 구성되니 무엇이 더 큰지는 알 것이다.

 

자세한 설명들은 링크로 들어가서 보는 것이 좋을 것 같다.

 

https://onlyformylittlefox.tistory.com/1

https://www.charlezz.com/?p=1080

728x90

'study > android' 카테고리의 다른 글

[android] LayoutInflater & Factory Method  (0) 2019.09.17
[android] ViewPager & PagerAdapter + LayoutInflater  (0) 2019.09.17
[android] drawable  (0) 2019.09.17
[android] Activity & Intent  (0) 2019.09.10
[android] ListView  (0) 2019.09.08