상상하라 그리고 현실로 만들어라.

상상하는 모든 것이 미래다.

반응형

Kotlin과 Android 34

코틀린으로 안드로이드 스레드(Thread) 한방에 끝내기

안녕하세요, 반갑습니다! 한 개의 프로그램(프로세스) 에서는 많은 스레드를 동시에 처리할 수 있지요. 그리고 프로세스의 메모리 또한 공유합니다. 프로세스로부터 각 메모리를 할당 받은 스레드는 독립적으로 실행됩니다. 안드로이드 역시 1개의 앱(프로그램)에서 여러개의 스레드를 사용할 수 있는데요. 예를 들어 음악을 들을 때, 다운로드를 받을 때, 푸쉬 알림 등 이 모두 스레드를 이용한 기능입니다. 오늘은 기본적인 스레드의 생성방법과 스레드내에서 위젯 등 UI에 결과를 반영하는 방법에 대해 정리해보겠습니다. 스레드(Thread) & UI 에 접근하기 1. 메인 스레드 액티비티를 포함해 모든 컴포턴트가 실행되는 오직 1개만 존재하는 스레드입니다. 그래서 메인 스레드엔 제약사항이 몇 가지 있습니다. 화면의 UI ..

코틀린으로 안드로이드 프래그먼트 데이터 전달하기

안녕하세요, 반갑습니다! 현존하는 안드로이드 앱 중에서 프래그먼트를 안쓰는 앱이 있을까요? 아마 대부분 프래그먼트를 사용하는 앱일 것입니다. 주로 뷰페이저 또는 탭 레이아웃에 많이 쓰이죠 프래그먼트(Fragment) 는 하나의 액티비티에 각 화면을 분할, 독립적인 코드로 구성하는 것을 말합니다. 그래서 액티비티와 프래그먼트, 프래그먼트와 또 다른 프래그먼트끼리 통신을 할 필요가 있습니다. 어떻게 할 수 있을까요? 바로 시작합니다! 액티비티 프래그먼트 A프래그먼트 액티비티 B프래그먼트 데이터 전달하기 1. 프래그먼트 띄우기 데이터를 전달하기 위해서 간단한 앱을 만들겠습니다. 이미 구성하신 분들은 2번부터 봐주세요~ 아래와 같이 프래그먼트 클래스 및 .xml 를 먼저 만들어주..

안드로이드 프래그먼트 생명주기

안녕하세요, 반갑습니다! 안드로이드는 액티비티(Activity) 로 화면을 구성하지만, 프래그먼트(Fragment)를 이용해서 다양한 화면을 하나의 액티비티로 나타낼 수 있습니다. 그래서 액티비티와 비슷하게 생명주기라는 것을 가지게 됩니다. 다만, 한가지 차이가 있다면 각 시점에 콜백 메서드가 호출되지 않습니다. 프래그먼트가 있는 액티비티가 전면에 있다면, 생성에 관련된 메서드가 한번에 호출되는 것이죠. 전체 흐름입니다. 액티비티와 다르게 엄청 기네요. 크게 두 부분으로 나누겠습니다. 생성 관련 메서드 1. onAttach() 액티비티(Activity)에서 프래그먼트 매니저를 통해 Commit 되는 순간 호출되는 메서드입니다. 단순히 var fragment = Fragment() 와 같이 생성자를 이용해..

안드로이드 액티비티 생명주기

안녕하세요, 반갑습니다! 안드로이드 앱을 구성하는 액티비티는 어떻게 동작하는 걸까요? 화면이 나타나거나, 화면이 전환될때, 혹은 사라지거나 종료될때. 시스템은 각 시점에 특정 함수들을 호출합니다. 그리고 그 흐름에 따라 앱이 작동하는 것인데요. 안드로이드 개발자라면 반드시 알아야 할, 액티비티 생명주기 이 액티비티 생명주기를 정확히 알고 각 함수는 어떤 역할을 하는지, 어떻게 작성해야 앱을 효율적으로 만들 수 있는지! 한번 살펴보겠습니다. 전체적인 흐름입니다. 1. onCreate() 앱이 시작하게 되면 가장 먼저 호출되는 함수입니다. 액티비티가 생성되는 함수로써 이 함수는 최초 1번만 호출됩니다. 그리고 실제로 개발자가 가장 많이 코드를 작성하는 부분이죠. 2. onStart() 화면(View) 가 사..

코틀린으로 안드로이드 뷰 페이저2(View Pager2) 한방에 끝내기

안녕하세요, 반갑습니다! 오늘은 좌우로 손을 쓸어넘겨 화면을 전환하는, 꽤 멋드러진 뷰(View) 에 대해서 설명하려고 합니다. 뷰 페이저2(View Pager2) 1. .xml 파일에서 뷰 페이저2(View Pager2) 배치하기 메인이 되는 액티비티에 단순하게 뷰 페이저2(View Pager2) 하나만 배치했습니다. 그래서.. 걍 하얘요... ㅠ 하지만! 뷰페이저(ViewPage2) 는 각 프래그먼트를 배치해서 화면을 교체하는 것이죠. 따라서 메인 액티비티는 전혀 상관이 없습니다. 2. 뷰페이저2(View Pager2) 에 들어갈 프래그먼트 만들기 각 화면, 즉 프래그먼트를 만들어야 합니다. 보여줘야할 만큼 만들면 되는데요. 저는 예시로 3개를 만들었습니다. 먼저, 프래그먼트 클래스를 만들어 줍니다...

반응형