여러 UI 요소(버튼, 텍스트, 이미지 등)를 화면에 배치한 모습UI 요소들을 뷰라고 함LinearLayoutRelativeLayoutFrameLayoutTableLayoutlayout ➡️ 마우스 우클릭 ➡️ New ➡️ Layout Resourcee File👉 l
사용자에게 사용자 인터페이스를 제공하는 앱 구성요소화면 전체를 차지각 영역을 담당하는 개념한 액티비티에서 여러 프래그먼트를 보여줄 수 있음여러 액티비티에서 하나의 프래그먼트 재활용 가능액티비티: 사용자에게 사용자 인터페이스 제공서비스: 백그라운드 조작 수행브로드캐스트
UI 구성요소의 기본 클래스이면서 화면을 구성하는 기본 단위위젯: 화면에 직접적으로 보이고 사용자와 상호작용하는 뷰(버튼, 입력창, 이미지, 리스트 등)뷰 그룹: 한 개 이상의 뷰 혹은 다른 뷰 그룹을 담고 뷰들을 배치하는 역할(레이아웃의 역할)layout_width:
수직 방향 혹은 수평 방향 차례로 주어진 뷰를 정렬뷰들이 다른 뷰들로부터 위치를 지정하거나 자신이 속한 레이아웃을 기준으로 위치를 정함뷰 사이에 수평, 수직 방향의 제약을 주어 뷰들을 위치뷰를 행과 열로 구성하여 표(테이블)의 형태로 표현뷰들을 액자처럼 쌓아놓음가장 나
메인스레드 앱이 처음 시작될 때 시스템이 생성하는 스레드 역할 액티비티의 모든 생명 주기 관련 콜백 실행을 담당 버튼, 에디트텍스트와 같은 UI 위젯을 사용한 사용자 이벤트와 UI 드로잉 이벤트를 담당(UI 스레드) > 작업량이 큰 연산 등 처리에 긴 시간이 걸리는 작
res 폴더에 raw 폴더를 생성해 사용할 mp3 파일을 넣어줌Activity에 다음 코드 작성하면 음악 재생 가능다음 코드 작성하면 음악 재생 가능prepare(): 메인 스레드에서 실행(용량이 너무 크면 ANR 발생)prepareAsync(): 백그라운드 스레드에서
뷰 바인딩 보일러 플레이트 코드(간단하지만 반복적인 코드)를 없애기 위한 플러그인 뷰 컴포넌트를 이용해 편리하게 뷰와 소통하는 기능 제공 뷰 바인딩이 활성화
Room 지속성 라이브러리 SQLite에 추상화 계층을 추가한 라이브러리 스마트폰 내장 데이터베이스에 데이터를 쉽게 저장할 수 있음 서버로부터 받은 데이터를 캐싱해 저장 👉 네트워크 없이도 데이터 열람 가능 엔티티 데이터베이스 테이블 (관련된 속성의 집합) 데이터 접
클라이언트: 서버에 요청해 원하는 데이터 등을 응답받는 시스템 역할서버: 클라이언트에게서 받은 요청을 처리해 응답을 주는 역할클라이언트와 서버의 요청, 응답 형식의 약속인터넷에서의 자원 위치http://www.\[name].com/android/index.ht
구글 맵 라이브러리 모듈 수준 buile.gradle에 다음 의존성 주입 구글 맵 API 키 발급받기 다음 페이지 들어가서 AirQuality 프로젝트 생성 구글 맵 프로젝트 선택 페이지 [API 및 서비스] ➡️ [ENABLE APIS AND SERVICE] 클릭
앱, 웹 개발에 사용하는 서비스를 통합해 제공하는 클라우드 플랫폼파이어스토어 (NoSQL 서비스) 클라우드 메시징 (푸시 메시지 기능)구글 애널리틱스 (사용자 분석, 통계 툴)다음 링크에서 시작하기 클릭파이어베이스 홈페이지프로젝트 만들기 ➡️ 프로젝트명 입력 후 계속
drawable ➡️ New ➡️ Image AssetPath 누르고 원하는 런처 이미지 에셋 찾아서 선택Name 바꾸고 Resize로 원하는 크기로 조절해서 Next ➡️ Finish매니패스트 파일에서 새로 생성한 Image Asset으로 런처 아이콘 바꿔주기app