View 는 모든 View Class의 부모 클래스이다. 레이아웃들은 ViewGroup 클래스의 하위 클래스이다.ViewGroup은 자체 UI를 보여주는 목적이 아닌, 다른 View 들을 함께 묶어서 제어할 목적으로 사용된다.레이아웃을 제외한 나머지 UI를 나타내는 V
레이아웃에서 생성한 View 는 findViewById() 를 이용해 가져온다. 그런데 하나하나 View 를 가져오는 것은 매우 귀찮은 일이다. 이때 뷰 바인딩을 사용할 수 있다.레이아웃 xml 파일에 선언한 View 객체를 코드에서 쉽게 이용하는 방법이다.우선, 뷰
뷰를 가로나 세로 방향으로 나열하는 레이아웃이다. orientation 속성을 이용해 vertical (세로로 배열), horizontal (가로로 배열) 을 설정할 수 있다.orientation="vertical"orientation="horizontal"layout
특정 뷰의 위치를 기준으로 상대적인 위치를 설정하는 레이아웃이다. LinearLayout 과는 다르게 자동으로 가로 세로 배치가 적용되지 않아서 그냥 뷰를 추가하기만 하면 왼쪽 위에 뷰들이 겹쳐서 표시된다.play 버튼이 더 커서 버튼1이 살짝 더 위에 배치된 것을 확
안드로이드 플랫폼이 아니라 androidx 에서 제공하는 라이브러리이다.우선, ConstraintLayout 을 사용하려면 build.gradle에 아래 코드를 추가해야 한다.ConstraintLayout 내부의 자식 뷰의 상하좌우에 제약을 걸어 위치를 설정할 수 있다
행과 열로 구성된 테이블형태로 화면을 만드는 레이아웃이다. orientation 속성으로 가로, 세로를 설정할 수 있으며, LinearLayout 과는 다르게 자동으로 줄바꿈이 된다.orientation : 가로, 세로 설정rowCount : 행 갯수columnCoun
여러 개의 뷰를 겹쳐놓고 하나의 뷰를 선택해 출력하는 레이아웃이다. 단순히 여러 뷰를 겹쳐 놓는 거라 다른 레이아웃처럼 정렬하는 특별한 속성이 없다.어떤 View 를 보이게 할지는 visibility 속성을 사용한다.처음에 버튼1을 보이지 않게 설정버튼을 클릭하면 이미
터치 이벤트를 처리할때는 액티비티 클래스에 터치 이벤트의 콜백 함수인 onTouchEvent() 함수를 선언하면 된다.사용자가 화면을 터치하는 순간 onTouchEvent() 함수가 자동으로 호출된다. 매기변수인 MotionEvent 객체에는 터치의 종류와 발생 지점이
뷰를 사용자가 터치했을 때 터치 이벤트를 사용하지 않고 뷰 이벤트를 사용한다. 터치 이벤트를 사용할 경우 사용자가 터치한 뷰가 어느 뷰인지 좌푯값으로 판단해야하기 때문에 너무 복잡하기 때문이다.터치 이벤트와 키 이벤트와는 달리, 뷰 이벤트는 콜백 함수만 선언해서는 처리
build.gradle 에서 아래와 같이 설정했을 경우 targetSDK를 31로 설정했으므로 31 버전의 API로 앱을 개발한다는 의미이다. minSDK는 21이므로 21버전 이상의 기기에서만 이 앱을 설치할 수 있다.따라서 이 앱에서 minSDK 보다 상위버전에서
앱의 특정 기능에 부여하는 접근 권한을 말한다. A 앱과 B 앱이 있을 때 A 앱에서 permission을 설정하지 않으면 B 앱에서 A 앱의 컴포넌트에 접근해 사용할 수 있다. 하지만 A 앱에서 permission을 설정했을 경우 B 앱은 manifest 파일에 &l
레이아웃 xml 파일을 코드에서 초기화(=전개)하는 기능을 제공한다. 여기서 초기화란 xml에서 선언한 뷰를 코드에서 이용하고자 생성하는 작업을 말한다. xml 파일은 텍스트 파일일 뿐이다. 따라서 코드에서 이용하려면 xml 에서 선언한 대로 객체를 생성해서 메모리에
화면 상단에 배터리, 네트워크, 시간 등이 표시된 부분을 상태바라고 한다. 이 상태바는 시스템이 제어하는 부분이기 때문에 앱이 제어할 수 없다. 그래서 상태바에 알림을 출력하려면 시스템에 의뢰를 해야하는데, 이때 알림을 제공하는 API 를 사용한다. 알림은 Notifi
Activity Activity 데이터 보내기 데이터 받기 Activity -> Fragment 데이터 보내기 데이터 받기 Fragment -> Activity 데이터 보내기 데이터 받기 Activity 종료 시 result 전달 Activity 호출 r
RecyclerView 만으로는 화면에 출력되지 않는다. RecyclerView의 구성요소 ViewHolder(필수) : 항목에 필요한 뷰 객체를 가진다. Adapter(필수) : 항목을 구성한다. LayoutManager(필수) : 항목을 배치한다. ItemDeco