본문 바로가기

안드로이드앱 코딩_AndroidApp

파편17_Object and companion object class(클래스)는 객체 지향 프로그래밍(Object Oriented Programming)의 개념에서 나온 것이다. class(클래스)는 독립적으로 실행하는 틀을 제공한다. 참고: class(클래스)와 object(오브젝트) : https://fiftiesstudy.tistory.com/62 class(클래스)는 변수와 함수를 가지고 있다. 그 변수와 함수로 object(객체)를 만들 수 있다. 이렇게 만든 객체를 instance(인스턴스)라고 한다. Object (오브젝트) 클래스에 객체를 여러 개 만들 수 있도록 허용하지만 만약 singleton(싱글톤)이 필요하다면 class 대신 키워드 object를 사용하여 선언할 수 있다. singleton은 instance를 한 개만 가지는 클래스이다. .. 더보기
파편16_들여쓰기 탭 수정하는 법 안드로이드 스튜디오는 처음 설치할 때 테마(Theme)를 Dracula(드라큘라)로 설정했었다. 나이가 들어 눈도 침침하고 해서 짙은색 배경에 흰 글자가 더 잘 보이는 것 같다. 그리고 나머지 환경설정은 Default(디폴트; 기본)값으로 사용했다. 하다가 불편하거나 수정하고 싶은 부분이 생기면 메뉴의 Settings(셋팅) 부분에서 수정하곤 한다. 이번에는 들여쓰기를 수정해 보기로 한다. 최근에 들어 작성하는 코드 길이가 길어지고 복잡해지기 시작하니까 정신없는 경우도 가끔 생겨서 탭 간격을 줄이기로 했다. 안스의 환경설정을 위해 File > Settings로 이동한다. Editor(에디터; 편집기) > Code Style(코드 스타일) > Kotlin을 클릭하면 기본 설정을 볼 수 있다. 설정을 바꿔보.. 더보기
파편15_component_컴퍼넌트 안드로이드 앱 개뱔은 component(컴퍼넌트 ; 요소, 부품)를 기반으로 한다. component는 앱을 구성하는 단위를 나타내는 개념이다. 그러므로 앱은 개별 component의 조합이라고 할 수 있다. 코딩을 작성하는 체계 중 하나인 '객체 지향 프로그래밍'과 비슷하다. component 개념이 코드로 구현된 것이 Class(클래스)다. 하지만 모든 클래스가 컴퍼넌트는 아니다. 왜냐하면 클래스는 컴퍼넌트클래스와 일반 클래스로 나누어지기 때문이다. 컴퍼넌트는 안드로이드 시스템이 주도하여 생명주기(lifecycle)를 관리하고 소멸시킨다. 컴퍼넌트도 클래스 이므로 다른 클래스와 조합할 수 있다. 특별히 컴퍼넌트 클래스는 독립적인 수행 단위로 동작한다. 컴퍼넌트클래스를 실행하려면 직접 결합(호출)하지 .. 더보기
파편14_ConstraintLayout_Chaining Chaining(체인 연결)은 View(뷰)들을 체인으로 연결하는 방법이다. 이렇게 하면 View(뷰)들의 크기와 위치를 상대적으로 결정되어 비율을 유지해 주는 장점이 있다. 실습해보자. 새 프로젝트를 만든다. Empty Activity를 선택하고 프로젝트명을 ExerciseChaning으로 만든다. Activity_main.xml파일을 열고 ConstraintLayout에 기본으로 만들어져 있는 TextView를 삭제한다. 팔레트에서 버튼 4개를 아래와 같이 추가한다. 위쪽의 버튼 2개를 선택한다. 마우스로 끌거나 Ctrl키를 누른 상태로 버튼을 선택하면 된다. 마우스를 버튼 위에 두고 마우스 오른쪽을 클릭한 후 Chains > Create Horizontal Chain(수평 체인 만들기)를 클릭한다... 더보기
파편013_레이아웃(Layout)이란? Layout(레이아웃) 또는 ViewGroup(뷰그룹) Layout(레이아웃)은 '배치, 배열' 이라는 뜻이다. Lay 와 Out이 합쳐진 말인데 Lay는 '눕히다, 놓다(put)' 등의 뜻이고 Out은 '바깥에'라는 뜻이다. 어원으로는 본래 '때려 눕히다, 죽이다'의 뜻이었다. 세월이 흐르면서 아래와 같이 그 뜻이 점점 변하게 되어 현재의 뜻이 되었다. 때려눕히다, 죽이다 > 시신의 매장을 준비하다 > 드러내다, 보여주다, 장식하다 > 대략적인 디자인 폰의 화면에는 여러 가지 구성 요소(element) 가 있다. 이런 요소들을 뷰(View)라고 한다. 가장 흔한 요소는 버튼(button), 텍스트 문자(text), 이미지(image) 등이다. 이런 뷰(View) 요소들은 Layout(레이아웃) 또는 V.. 더보기
파편012_마지막 프로젝트 자동 열기 해제 안드로이드 스튜디오는 실행하면 마지막에 작업한 프로젝트를 자동으로 여는 기능이 기본으로 설정되어 있다. 이것을 해제하려면 File > Settings에서 설정하면 된다. 검색창에 reopen(다시열기)를 입력해보자. System Settings를 선택하면 오른쪽에 설정할 수 있는 옵션이 나타난다. Reopen last project on startup을 체크 해제하면 안드로이드 스튜디오를 처음부터 실행할 수 있다. 아래와 같은 시작화면을 볼 수 있다. 왼쪽에는 최근에 사용했던 프로젝트가 나타난다. 오른쪽에 새 프로젝트 만들기와 함께 여러 옵션들이 있다. 옵션 메뉴에 대해 간단하게 살펴본다. Start a new Android Studio project (새 안드로이드 스튜디오 프로젝트 시작하기) Open.. 더보기
파편011_안드로이드 세팅_자동저장_자동완성 프로그램에는 일반적으로 메뉴에 setting(셋팅, 환경설정) 또는 Preferences가 있다. 여기에서 프로그램에 대한 정보를 확인하거나 다양한 설정 자신에 맞게 조정할 수 있다. 안드로이드 스튜디오의 Settings를 한번 열어보자. Android SDK에서는 SDK가 설치되어 있는 위치(Location)와 설치된(installed) SDK플랫폼의 버전을 확인할 수 있다. 자동 저장(Auto Save) 자동 저장(Auto Save) 기능은 System Settings(시스템 세팅)에 Synchronization(동기화) 부분에서 조정할 수 있다. 실시간 자동 저장은 작업 내용을 따로 저장할 필요가 없으므로 편리한 기능이다. 아래와 같이 기본으로 설정으로 사용하면 된다. 체크 안되어 있는 부분은 '설.. 더보기
파편010_안드로이드와 플랫폼 구조 2019년 통계에 따르면 전 세계 폰 사용자 중 76%가 안드로이드가 장착된 휴대폰을 사용하고 있다고 한다. 안드로이드(android)는 폰에서 사용하는 OS(운영체제)이다. OS(운영체제)는 Operating System(작동 시스템)의 약자이다. 즉, 폰이나 컴을 작동시키는 시스템 프로그램이다. OS는 윈도우10, MacOS(맥오에스), Linux(리눅스), iOS 등이 있다. 위 그림의 폰 안에 있는 쟤가 안드로이드의 캐릭터다. android 라는 말은 그리스의 andro 와 oid가 합쳐진 말이다. andro는 '남자,사람'이라는 뜻이고 oid는 '모양form'이라는 뜻이다. 그러므로 android는 '남자 모양의 로봇'을 나타낸다. 갑자기 '안드로메다(andromeda)'가 생각난다. 안드로메다.. 더보기