Android25 [Android] TabLayout(탭 레이아웃) 구현 TabLayout 전에 Bottom Navigation에 대해 공부했던 적이 있다. Bottom Navigation은 말 그대로 하단 바였다. 이는 TabLayout의 일종으로 볼 수 있다. Bottom Navigation처럼 여러 개의 버튼이 있고, 각 버튼마다의 Activity 또는 Fragment를 보여준다. 구현 방법에 대해 알아보자. 1. XML 작성 xml의 Design에 가보면 Containers에 TabLayout이 있는 것을 확인할 수 있다. 이 TabLayout을 Activity에 넣으면, 자동적으로 3개의 아이템이 설정된다. 더 추가를 하고 싶다면 추가를 하면 되며, 각 버튼마다의 속성을 설정해준다. 2. 각 버튼에 따른 이벤트 설정 xml의 작성이 끝났다면 MainActivity에서.. Android 2022. 8. 24. [Android] ViewPager2 사용법 ViewPager란? 애플리케이션을 사용하다보면 위와 같이 페이지를 양옆으로 넘길 수 있는 스와이프 기능을 종종 볼 수 있다. 이를 ViewPager(뷰 페이저)라고 한다. 원래 ViewPager가 있었지만 단점이 있어, 이를 보완하기 위해 ViewPager2가 등장하였다. ViewPager2는 RecyclerView 기반으로 만들어진 컴포넌트이고, 사용법도 RecyclerView와 유사하다. RecyclerView와의 차이점은 RecyclerView는 페이지를 어느 정도 넘기면 그 위치에서 정지하지만, ViewPager2는 일정 이상 페이지를 넘기면 자동으로 페이지가 넘어가진다. 위를 보면 RecyclerView는 스크롤을 멈치면 그 자리에서 멈치지만, ViewPager2는 일정 페이지를 넘긴 후 손을.. Android 2022. 8. 23. [Android] Bottom Navigation 사용하기 Bottom Navigation이란? 이름만 봐도 대충 감이 잡힐 것이다. 인스타, 카카오톡, 유튜브, 넷플릭스 등 다양한 곳에서 볼 수 있는 "하단에 있는 바"이다. 탭의 갯수는 3개 이하는 권장하지 않고, 5개를 초과할 수 없다. 또한 각 탭의 텍스트들은 너무 길어선 안되며, 크기를 기본 값보다 작게 하면 안된다. 단계 별로 사용법을 알아보자. 1. 탭 아이콘 추가 각 탭에 사용할 아이콘들을 drawable에 추가한다. 나는 간단한 예시를 들 것이기에 탭 3개를 기준으로 할 것이다. 무료 아이콘 사이트가 많으니 원하는 아이콘을 찾아보도록 하자. 2. 메뉴 resource 파일 생성 res -> New -> Android Resource File에서 menu 파일을 만든다. 이때 Resource typ.. Android 2022. 8. 21. [Android] RecyclerView(리사이클러뷰) RecyclerView란? 스마트폰을 사용하다 보면, 여러 가지 항목들이 나열돼있는 목록 화면들을 볼 수 있다. 이러한 목록 화면을 만들 때 사용하는 것이 RecyclerView이다. RecyclerView를 정의해보자면, 사용자가 관리하는 데이터 집합을 각각의 아이템 단위로 구성하며 대량의 데이터 목록을 동적으로 표현해주는 뷰이다. Recycler를 해석해보면 재사용이듯이, RecyclerView는 재사용성이 좋다. RecyclerView의 구성 요소 RecyclerView를 이용하여 목록을 만들 때, RecyclerView 클래스만으로는 화면에 아무것도 출력되지 않는다. 다음과 같은 구성 요소를 이용해야만 원하는 목록을 만들 수 있다. ViewHolder : 항목에 필요한 뷰 객체를 갖는다. Adap.. Android 2022. 8. 20. [Android] AlertDialog를 이용한 알림 창 띄우기 AlertDialog(알림 창) 스마트폰을 사용하다 보면 여러 상황에서 다음과 같은 알림 창을 마주할 때가 있다. 이러한 알림창을 AlertDialog라고 한다. AlertDialog는 보통 사용자에게 어떠한 내용을 알려주고 어떠한 선택을 할 수 있게 하는 목적을 가지고 사용한다. 위의 사진을 보면 알 수 있듯이, AlertDialog는 크게 3가지 영역인 "제목", "내용", "버튼" 영역으로 나뉜다. 첫 번째 사진을 보면 내용과 버튼 영역만이 있는 것을 볼 수 있다. 제목 영역은 선택사항으로, 알림을 간단한 메시지 또는 질문을 나타내는 경우 생략하여도 된다. AlertDialog 생성 및 사용 AlertDialog를 생성하기 위해서는 AlertDialog.Builder를 사용한다. val alertD.. Android 2022. 8. 17. [Android] 화면 회전할 때 데이터 처리 Activity LifeCycle을 보면 Activity를 가로 세로 회전시킬 때 onDestroy() 호출되고, 다시 onCreate()가 생성된다. 즉, 종료됐다가 새로 생성되는 것이다. 이때 기존 Activity가 가지고 있던 데이터들은 당연히 사라지게 된다. 예를 들어 버튼을 클릭할 때마다 count 변수가 증가한다고 하자. 아무 처리없이 count를 어느 정도 증가를 시킨 후, 화면을 회전시키면 count는 0이 된다. 이를 화면에 뛰운다면 7이었던 count가 회전을 시켰더니 0이 화면에 보이게 된다는 것이다. 이를 해결하기 위한 방법은 2가지가 있다. Manifest 수정 onSaveInstanceState()와 onRestoreInstanceState() 사용 이 두가지 방법에 대해 알아보.. Android 2022. 8. 17. [Android] Fragment와 Fragment 생명 주기 Fragment란? Fragment = Activity + View라고 볼 수 있다. 즉, Activity의 개념과 View의 개념이 합쳐진 것이다. Activity와 View의 개념을 떠올려보자. View: 레이아웃, 위젯과 같이 액티비티 상에서 틀을 잡거나, 우리에게 보이는 버튼, 뷰 등등 Activity: View를 담을 수 있는 화면 그렇다면 Fragment는 무엇일까? Fragment는 Activity가 담을 수 있는 또 다른 화면이라고 생각하면 된다. 이제 다음과 같은 생각이 들 수 있다. "어? Activity와 Fragment가 둘 다 화면이라면 굳이 구분을 해야 할까? 그냥 Activity만 쓰면 안될까?" 이제부터 이 궁금증을 해결해보자. Activity는 Fragment에 비해 상당히.. Android 2022. 8. 15. [Android] Activity LifeCycle(액티비티 생명주기) Activity LifeCycle Activity는 안드로이드 컴포넌트 중의 하나로, 애플리케이션의 가장 기본이 되는 구성 요소이다. 일반적으로 하나의 애플리케이션에는 여러 개의 액티비티가 사용된다. 예를 하나 들어보자. 현재 유튜브에서 영상을 보고 있는데, 전화가 와서 받았다고 하자. 이때 유튜브 영상은 일시 정지된 상태로 기다렸다가 통화가 마친 후 다시 전화 창에서 유튜브로 액티비티 전환이 일어나면 다시 시작할 수 있도록 해준다. 즉, 액티비티의 CallBack은 상태 변화에 적합한 특정 작업을 실행할 수 있게 해줌으로써, 상황에 맞는 적절환 전환을 처리하면 앱을 더 안정적으로 사용할 수 있다. 위의 과정을 차례대로 봐보자. 위에서도 예시로 들었던 유튜브, 전화로 또 한번 상황을 만들어보겠다. 사용자.. Android 2022. 8. 14. [Android] Toast Message(토스트 메세지) Toast란? 스마트폰을 사용하다 보면 종종 하단에 작은 메시지 박스가 뜨는 것을 볼 수 있다. 위처럼 모바일 네트워크에 연결이 될 때, 문자를 보낼 때 혹은 로그인에 실패했을 때 등등 작은 팝업으로 작업에 관한 내용을 제공해준다. 이러한 기능을 Toast(토스트)라고 한다. Toast Message 띄우기 Toast를 사용할 때는 Toast.makeText().show()의 형식으로 사용한다. 이때 makeText() 메서드에는 3개의 파라미터가 담겨있다. context: 사용할 어플리케이션의 활동 개체를 뜻한다. 보통 applicationContext를 사용한다. text: 사용자에게 표시될 텍스트 duration: Toast Message를 길게 또는 짧게 띄우는 것을 결정한다. Toast.LENG.. Android 2022. 8. 14. [Android] Intent란?, Intent를 이용한 화면 전환하기 Intent란? [Android] 안드로이드 컴포넌트(구성 요소) 안드로이드 앱 개발의 핵심은 컴포넌트이다. 종종 "액티비티 컴포넌트", "서비스 컴포넌트" 등 컴포넌트라는 용어가 자주 등장한다. 그렇다면 컴포넌트란 무엇일까? 컴포넌트란? 컴포넌트는 안 jjunsu.tistory.com 위의 글에서 안드로이드는 컴포넌트로 구성되어 있고, 이 컴포넌트에는 4가지 유형이 있다는 것을 공부했다. 이 4가지 유형이 어떤 것들인지 다시 한번 되짚어 보면 다음과 같다. Activity(액티비티) Service(서비스) Broadcast Receiver(브로드캐스트 리시버) Content Provider(콘텐츠 제공자) 이를 왜 다시 되짚어 봤을까? 바로 Intent가 각각의 컴포넌트 간의 통신을 맡고 있기 때문이다.. Android 2022. 8. 13. [Android] Android Naming Convention(안드로이드 네이밍 컨벤션) Naming Convention 코드 컨벤션 중 하나이다. 소스 코드와 문서에 있는 변수명, 타입, 함수명 등의 식별자에 사용되는 문자열을 정할 때 사용되는 규칙이다. 각각의 언어, 프로젝트, 개발 도구에 따라 다르다. 3번째에서 알 수 있듯이, 네이밍 컨벤션은 안드로이드에서 뿐만 아니라 다른 언어에서도 쓰이며, 각각 다른 규칙을 가지고 있다. 네이밍 컨벤션의 주목적은 가독성을 높이는 것이다. 이를 사용함으로써 협업을 할 때, 팀원 또는 자신이 다른 사람이 작성한 코드를 보다 빠르게 이해할 수 있으며, 팀의 생산성과 효율성을 증가시킬 수 있다. 꼭 협업을 하지 않더라도, 자신의 코드를 관리하기에도 필요하다. 그럼 안드로이드의 네이밍 컨벤션에 대해서 알아보도록 하자. 안드로이드에서의 네이밍 컨벤션은 XML.. Android 2022. 8. 9. [Android] View(뷰), Widget(위젯), Layout(레이아웃) 모든 애플리케이션의 기초가 되는 것은 View, Widget, Layout이다. 이들에 대해 알아보자. View(뷰) View란 무엇인가? 단순 해석해보면 "보다"이다. 말그대로 View는 우리가 볼 수 있는 화면을 구성하는 모든 구성 요소이다. 네이버 웹툰을 예시로 들어보겠다. 네이버 웹툰은 각각의 웹툰들과, 광고, 버튼 등으로 이루어져 있다. 이들은 모두 View다. 이처럼 사용자가 눈으로 확인할 수 있는 아이콘, 이미지, 텍스트, 버튼 등등 모두 View라고 할 수 있다. 그렇다면 눈에 보이는 것만 뷰일까? 아니다. 눈에 보이지 않는 뷰도 있다. 보이는 뷰는 Widget이라 하며, 보이지 않는 뷰는 Layout이라 한다. 뷰는 뷰 자체로도 존재할 수 있지만, 뷰 안에 또 다른 n개의 뷰가 들어갈 수.. Android 2022. 8. 7. 이전 1 2 3 다음 728x90