본문 바로가기

오늘은 뭘 배울까?/Android35

Activity Intent Flag에 대해서 설명해 보세요 1. 요약 2. Task 2-1. 개념 2-2. Task 제어의 필요성 3. AndroidManifest에서의 제어 4. 소스 코드로 제어 5. 추가로 나올 수 있는 질문 5-1. 기존의 activity를 재사용하는 경우, 처음 진입하는 상황인지 다시 진입하는 상황인지 어떻게 구분하죠? 1. 요약 🧑‍💻: Activity Intent Flag에 대해 설명해 보세요. 👨🏻‍🦱: Activity의 중복 문제나 흐름을 제어하고 싶을 때 Intent Flag를 사용합니다. AndroidManifest에서 액티비티 태그 안에 flag를 설정하거나 소스 코드에서 intent에 addflag를 사용하여 제어할 수 있습니다. +) 좀 더 구체적인 상황을 주고 사용해야 할 flag를 물어보기도 하고 flag 몇 개 예시.. 2022. 7. 8.
lateinit과 by lazy의 차이가 무엇인가요? 1. 요약 2. 늦은 초기화란? 3. lateinit 4. by lazy 5. 정리 6. 추가로 나올 수 있는 질문 6-1. lateinit을 초기화하기 전 까지는 변수에 무슨 값이 들어있을까요? 6-2. 초기화를 하지 않고 실행하면 어떻게 될까요? 6-3. 왜 lateinit은 Primitive Type과 사용할 수 없을까요? 1. 요약 lateinit과 by lazy를 아시나요? 둘의 차이는 무엇인가요? lateinit과 by lazy는 늦은 초기화를 할 때 사용합니다. 다만 lateinit은 var로 선언해야 하며 언제든 값을 수정할 수 있지만 by lazy는 val로 선언해야 하므로 한 번 초기화를 하면 값을 변경할 수 없습니다. 또, 초기화 시점에 차이가 있습니다. lateinit은 선언 이후 .. 2022. 6. 22.
addToBackStack에 대한 고찰 1. Fragment 1-1. 개념 1-2. remove 1-3. replace 1-4. 문제 발생 2. addToBackStack 2-1. 개념 2-2. 사용법 3. 고민 3-1. addToBackStack은 꼭 필요한 함수일까? 3-2. fragment를 매번 새로 생성하는 게 옳은가? 4. 결론 이 글을 검색해서 찾아온 사람이 있다면 아마... 뒤로 가기를 눌렀을 때 이전에 실행했던 프래그먼트로 이동하고 싶거나 뒤로 가기를 눌렀을 때 이전에 실행했던 프래그먼트를 거치지 않고 바로 액티비티로 돌아가고 싶어서 일 것이다. 이 글을 정독하고 나면 개념과 해결 방법을 얻어갈 수 있을 것이다. 1. Fragment 1-1. 개념 addToBackStack에 대한 이야기를 하기 전에 먼저 Fragment에 대.. 2021. 10. 6.
startActivityForResult는 왜 deprecated 되었는가? 1. startActivityForResult 2. onActivityResult 3. 왜 deprecated 되었는가? 1. startActivityForResult 예전에는 호출한 액티비티로부터 결과를 받아오기 위해 startActivityForResult를 사용했다. 하지만 2020년 5월을 기준으로 deprecated 되고 registerForActivityResult 메서드가 생겨났다. 왜 deprecated가 되었는지 알아보기 위해 먼저 이전에 사용하던 방법에 대해 알아보자. btn.setOnClickListener { val intent = Intent(this, WriteActivity::class.java) startActivityForResult(intent, 0) } 위 코드는 버튼을.. 2021. 9. 28.
안드로이드 컨텍스트 메뉴(Context Menu)란? [기본] 1. Context Menu 1-1. 개념 1-2. Menu 파일 생성 2. Context Menu 만들기 3. 실행 결과 4. 예제 코드 [심화] 5. Context Menu Item에 접근하기 6. RecyclerView에 Context Menu 적용하기 6-1. Adapter 6-2. Activity 1. Context Menu 1-1. 개념 컴퓨터를 사용할 때 어떤 요소를 마우스 우 클릭하면 이렇게 메뉴 창이 뜬다. 이런 걸 우리는 Context Menu라고 부른다. 안드로이드에서는 이런 메뉴 팝업 창을 띄울 수가 있는데 용도와 사용법에 따라 부르는 이름이 조금씩 다르다. 이번 포스팅에서는 요소를 길게 클릭하면 나타나는 플로팅 메뉴인 Context Menu를 알아보자. Menu의 종류와 .. 2021. 9. 27.