본문 바로가기

kotlin20

안드로이드 컨텍스트 메뉴(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.
안드로이드 옵션 메뉴(Option Menu)란? 1. Menu 1-1. Menu란? 1-2. Option Menu란? 1-3. Menu 파일 생성 2. Option Menu 만들기 3. 실행결과 4. 예제 코드 1. Menu 1-1. Menu란? Option Menu 검색, 이메일 작성, 설정과 같이 앱 전체에 영향을 미치는 작업을 배치해야 함 앱 우측 상단에 '⋮' 모양의 아이콘을 누르면 생기는 메뉴 ex) 유튜브 화질이나 속도 등 설정할 때 누르는 버튼 Context Menu 요소를 길게 클릭하면 나타나는 플로팅 메뉴 ex) 사진을 꾹 누르면 나타나는 다운로드, 공유 등을 선택할 수 있는 메뉴 Popup Menu 요소를 클릭하면 나타나는 팝업 메뉴 팝업 메뉴의 작업은 해당 콘텐츠에 직접적으로 영향을 미쳐서는 안 됨 안드로이드에는 Menu라고 불리는.. 2021. 9. 26.
recyclerView를 업데이트 하는 5가지 방법 (notifyDataSetChanged를 사용하지 말자) 1. 사건 배경 2. 증상 3. 리스트를 업데이트하는 5가지 방법 3-1. 전체 업데이트 3-1-1. notifyDataSetChanged 3-2. 변경 3-2-1. notifyItemChanged 3-2-2. notifyItemRangeChanged 3-3. 추가 3-3-1. notifyItemInserted 3-3-2. notifyItemRangeInserted 3-4. 삭제 3-4-1. notifyItemRemoved 3-4-2. notifyItemRangeRemoved 3-5. 이동 3-5-1. notifyItemMoved 4. 해결 방법 5. 또 다른 문제 및 해결 방법 1. 사건 배경 블로그에 포스팅하기 위해서 양방향 바인딩 + recyclerView를 공부하고 있었다. 배달의민족 공지사항을 .. 2021. 6. 18.
View Binding과 Data Binding 예제 1. 들어가기에 앞서 2. 예제 2-1. 가장 기본적인 코드 2-2. View Binding 2-3. View Binding + ViewModel 2-4. View Binding + ViewModel + LiveData 2-5. Data Binding 2-6. Data Binding + ViewModel 2-7. Data Binding + ViewModel + LiveData 2-8. 깃허브 링크 1. 들어가기에 앞서 뷰 바인딩(View Binding) 데이터 바인딩(Data Binding) 뷰 모델(View Model) 라이브 데이터(LiveData) 이 게시글은 위 4개의 개념이 모두 잡혀있다는 가정하에 따로 자세한 설명을 하지 않을 예정이다. 조합별로 어떻게 사용하는지 어떤 게 좋은지 비교 및 연습.. 2021. 5. 18.
코틀린 데이터 바인딩(Data binding) 1. 데이터 바인딩 1-1. 데이터 바인딩이란? 1-2. 데이터 바인딩 vs 뷰 바인딩 2. 사용법 2-1. gradle 추가 2-2. 액티비티 2-3. 레이아웃 파일 1. 데이터 바인딩 1-1. 데이터 바인딩이란? // findViewById 쓸때는 이렇게 했었고 textView.text = "안녕" // 뷰 바인딩 쓸때는 이렇게 했다. binding.textView.text = "안녕" 여태까지 우리는 텍스트 뷰에 문장을 넣기 위해 코드상에서 값을 집어넣는 작업을 해주었다. 근데 이걸 xml에 코드를 집어넣어서 해결하는 방법이 있다. 이렇게 하면 자연스레 액티비티에는 로직만을 위한 코드만 남게 되고 뷰와 관련된 작업은 레이아웃 파일에 정의된다. 데이터와 뷰를 연결하는 작업을 레이아웃에서 처리하는 기술.. 2021. 3. 6.