본문 바로가기

안드로이드앱 코딩_AndroidApp/안스_코틀린_쪼개기

파편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)'가 생각난다. 안드로메다.. 더보기
파편009_Animation 애니메이션 View에 애니메이션을 적용하려면 xml 파일을 만들어 res폴더의 anim폴더에 저장해야 한다. 애니메이션 효과는 다음과 같은 것이 있다. Translate : 위치 이동 Scale : 크기 조정 Rotate : 회전 Alpha : 투명도 조정 애니메이션 효과는 태그에 여러 속성을 동시에 포함할 수 있다. 기본적으로 여러 속성을 넣으면 동시에 실행한다. 연속적으로 표현하려면 startOffset 속성 등을 사용한다. 각 효과에 사용할 수 있는 속성은 다음과 같다. #scale 효과 fromXScale : X크기로 부터 시작(1.0= 본래 상태) toXScale : X크기 까지 fromYScale toYScale pivotX : X축 중심점 pivotY #translate 효과 fromXDelta : 픽.. 더보기
파편008_Debug_디버그_breakpoints Debugging(디버깅) 컴퓨터 프로그램에서 bug(버그)라는 말은 프로그램이 어떤 원인에 의해 일어나는 오동작, 오류, 결함 등을 말한다. 간단하게 말하면 '코드 오류' 프로그램 또는 앱을 만들다 보면 의도하지 않는 문제가 흔히 일어난다. 대부분의 원인은 코드를 프로그래밍 언어의 규칙에 맞지 않게 작성했거나 논리적 모순에 의한 경우가 많다. 이것을 해결하는 것도 어떤 경우는 상당히 해결하기 어려운 골치 아픈 문제이거나 해결하는데 상당한 시간이 필요한 경우도 있다. 프로그램의 코드가 길어지고 복잡해 질 수록 에러가 날 확률은 점점 더 증가한다. 어쨌든 버그의 대부분은 개발하는 사람에 의해 일어나므로 버그를 줄이기 위해서는 프로그래밍 실력을 높이는 노력을 게을리 하지 않아야 할 것이다. 규모가 큰 프로그.. 더보기
파편007_Activity & Life Cycle_액티비티 생명주기 안드로이드 시스템은 Activity(액티비티) 클래스를 기본 단위로 작동한다. 안드로이드 스튜디오에서 프로젝트를 만들면 디폴트(기본)로 MainActivity(메인 액티비티)가 만들어 진다. Activity는 '활동'이라는 뜻 그대로 안드로이드 시스템에서는 앱에서 일어나는 움직임(활동)에 반응하는 기본적인 시스템을 갖추고 있다. 시작하여 끝날 때 까지를 '생명 주기 또는 수명 주기'라고 한다면 앱도 Life Cycle (생명주기, 수명주기)를 가지고 있다. 클래스에 의해 만들어지는 객체를 Instance(인스턴스)라고 한다. 앱을 시작하면 MainActivity에서 상속 받은 onCreate함수를 실행하고 인스턴스(객체)를 만든다. 만든 인스턴스(객체)를 메모리에 올린다. 폰 아래에는 버튼이 있다. '앱.. 더보기
파편006_안스4.0 업그레이드 에러 해결 안드로이드 스튜디오 3.6버전 사용 중에 4.0 버전업 메시지가 떠서 업그레이드를 했다. 업그레이드를 마친 후 새 프로젝트를 만들었는데 생성 도중에 아래와 같이 에러가 났다. 경고문은 JVM(자바 가상 머신)에 관련한 속성 설정에 문제가 생긴것 같다. 읽어보면 가상 머신을 작동할 때 사용하는 메모리 크기 설정에 관한 문제인 것 같다. 검색해 보니 512로 바꾸면 된다는 내용이 있었다. 2017년도에 작성한 오래된 글 인데다가 2048 숫자가 메모리 크기 같은데 512로 줄이는게 의심스러웠지만 일단 해보기로 했다. gradle.properties를 클릭하면 위와 같이 org.gradle.jvmargs부분이 나타난다. 2048을 512로 바꾸고 오른쪽 위 Sync Now (지금 동기화)를 클릭한다. 아래쪽에.. 더보기