본문 바로가기
728x90

전체 글86

[잡담] 안드로이드 멘토링 - 과제(1) 안드로이드 개발 관련 멘토링을 받을 수 있는 좋은 기회가 생겨 멘토님이 내주신 1주차 과제에 대해 고민해보려 한다. [과제] 지금 진행하고 있는 프로젝트가 있다면 다시 점검해보자. Q. 채용공고를 봤을 때, 나한테 현재 어떤 점이 부족한가? A. 대부분의 기업의 채용공고를 살펴보면 "Kotlin 개발에 능숙하신 분", "MVVM 패턴 설계가 가능한 분", "Android Jetpack 및 Architecture Component 사용에 능숙하신 분"과 같은 내용이 자격요건에 포함된다. 자격요건에서 요구하는 사항들을 봤을 때 본인의 경우를 대입하자면 다룰 줄 아냐고 물어본다면 다룰 줄 안다고 말할 수 있지만 '잘' 다룰 줄 아냐 혹은 능숙하냐고 물어보면 선뜻 그렇다고 대답할 수 없다. 모든 부분을 숙달할 .. 2023. 2. 13.
[안드로이드] 액티비티 + 다수의 프래그먼트 상황에서 뒤로가기, 뒤로가기 두 번 클릭 처리하기 문제상황 액티비티는 MainActivity 하나와 액티비티 위에 다수의 프래그먼트를 add 하는 방식으로 앱을 개발하고 있었습니다. 프래그먼트에서는 OnBackPressedCallback을 통해 뒤로가기를 처리하고 이제 MainActivity에서는 뒤로가기를 두 번 클릭 시 앱을 종료되게끔 구현하기 위해 MainActivity에서 onBackPressed()를 override했습니다. 그런데 onBackPressed를 재정의하니 앞서 잘 작동하던 프래그먼트에서 뒤로가기가 MainActivity의 onBackPressed()에서 모두 실행되기 시작했습니다. 즉, 프래그먼트 화면이 여러 번 쌓이더라도 뒤로가기 클릭 시 바로 MainActivity의 onBackPressed()가 실행되기 때문에 앱이 종료되는.. 2023. 2. 12.
[자료구조] Kotlin으로 자료구조 이해하기 - PriorityQueue(우선순위 큐) PriorityQueue PriorityQueue(우선순위 큐)는 Queue처럼 선입선출(FIFO)의 구조를 갖출 것 같지만 그렇지 않고 내부적으로 이진트리의 형식을 갖추고 있기 때문에 오름차순 혹은 내림차순으로 데이터를 저장합니다. 따라서 일반적인 Queue(큐)는 가장 먼저 들어간 데이터가 가장 먼저 나오는 방식이지만 PriorityQueue(우선순위 큐)는 들어간 순서에 관계없이 오름차순의 경우 가장 작은 값이, 내림차순의 경우 가장 작은 큰 값이 반환되는 방식입니다. 우선순위 큐의 데이터에 접근하는 방법은 큐와 유사하며 이전 포스팅에서 확인할 수 있습니다. 사용예시와 함께 자세히 알아보겠습니다. [자료구조] Kotlin으로 자료구조 이해하기 - Queue(큐) Queue Queue의 사전적 정의는.. 2023. 2. 9.
[안드로이드] ScrollView 안에 RecyclerView 구현 시 RecyclerView의 스크롤 막는 방법 커뮤니티 구조의 앱에서 게시글의 댓글을 구현하던 도중 댓글 목록 부분을 스크롤하면 스크롤이 버벅이는? 부드럽지 않게 동작하는 것을 확인했습니다. 아마 화면 전체를 감싸고 있는 ScrollView와 해당 댓글 화면을 담당하는 RecyclerView 각각의 스크롤이 중복되어 충돌할 것 같다는 생각에 해결방법을 찾아 보았습니다. 해결방법은 간단합니다. RecyclerView의 스크롤을 사용하지 않되 RecyclerView 아이템만큼 레이아웃 길이를 확장하게끔 수정합니다. 간단하지만 유용하게 사용할 것 같습니다 :) 2023. 2. 6.
[안드로이드] 프로젝트를 Git에 Push할 때 원하는 정보 숨기는 방법(.gitIgnore) 안드로이드 프로젝트를 Git에 Push할 때 Git에 올라가지 말아야 할 민감한 내용이 포함되어 있을 수 있습니다. 고유 API KEY나 서버에 접근하기 위한 도메인 주소는 Git에 공개적으로 올라가지 말아야 합니다. 저는 처음에 Git에 푸시할 때마다 번거롭지만 서버 도메인 주소를 지우고 푸시했는데 종종 까먹고 도메인 주소를 Git에 노출시킨 적이 있습니다..ㅎ 이번 기회에 안드로이드 프로젝트를 개발하며 개발자가 Git에 올리고 싶지 않은 정보를 Push 과정에서 제외하는 방법에 대해 알아보겠습니다. 1. gitIgnore 파일에 local.properties 추가하기 .gitIgnore 파일은 Project 레벨에서 확인할 수 있습니다. .gitIgnore 파일에 local.properties를 추가.. 2023. 2. 3.
[안드로이드] 회원가입 과정에서 EditText 텍스트 변경상태 감지해서 버튼 활성화하기 앱을 사용하다 보면 어떤 특정 상태에서만 버튼이 활성화되어 다음으로 이동할 수 있는 화면을 흔히 볼 수 있습니다. 이번 포스팅에서는 회원가입 과정에서 이메일과 비밀번호 입력 조건을 설정하고 조건에 부합하는 경우에만 버튼을 활성화시키는 방법에 대해 공부해 보겠습니다. 실행결과 회원가입 진행 과정에서 이메일 형식을 입력하고, 8자리 이상의 비밀번호와 비밀번호 확인이 일치하고, 이름과 생년월일이 입력되었을 경우에만 '회원가입 완료' 버튼의 색상을 변경하면서 활성화시키겠습니다. SignupFragment class SignupFragment : Fragment() { private var _binding : FragmentSignupBinding? = null private val binding get() = .. 2023. 2. 2.
728x90
반응형