Android Programming(3)
-
레이아웃 인플레이션 이해하기
지금까지 하나의 화면을 만들기 위해 XML 레이아웃을 정의했습니다. XML레이아웃은 단순히 XML로 정의된 파일이며 화면을 어떻게 배치하는지 정의할 뿐입니다. 따라서 XML 레이아웃만 만들었다고 해서 화면을 띄우고 동작시킬수 있는 것은 아닙니다.안드로이드는 화면 배치를 알려주는 XML 레이아웃 파일과 화면의 기능을 담당하는 소스 코드 파일로 분리되어 있습니다. 이렇게 화면 레이아웃과 화면 기능이 분리되어 있기 때문에 항상 하나의 화면을 만들 때는 XML 레이아웃 파일 하나와 자바소스 파일 하나를 쌍으로 만들어야 한다고 생각하자.그런데 두개의 XML 레이아웃 파일을 만들고 자바 소스 파일은 하나만 만들었다면 그중 어떤 XML 레이아웃 파일이 자바 소스파일과 매칭되는 것인지 알 수 있을까 ? 즉, 새로만든 ..
2018.11.22 -
gradle 설정
다른 사람이 만든 프로젝트를 안드로이드 스튜디오에서 열다 보면 소스파일에 에러가 없는데도 gradle의 설정 때문에 빌드 되지 않는 경우가 있다.이것은 gradle Scripts 폴더 안에 있는 build.gradle 파일의 설정 정보 때문이다.밑줄친 순서대로 설명해 보면compileSdkVersion 28 : 컴파일 할 때에 사용할 SDK 버전을 지정한다. 값이 28으로 되어있다면 API버전이 28인 SDK를 이용해 컴파일 한다는 것을 의미한다. minSdkVersion 15 : 프로젝트가 지원하는 최소 SDK 버전을 지정한다. 값이 15로 되어있다면 API 버전이 15이전의 단말에서는 앱이 동작하지 않는다. targerSdkVersion 28 : 실행을 위해 검증한 SDK가 어떤것인지를 지정한다. 값..
2018.11.21 -
소스파일이 프로젝트로 묶여 빌드되기까지
소스코드, xml로 정의한 리소스 파일은 어떻게 빌드될까 ? 일단 안드로이드 스튜디오는 그레이들(Gradle)이라는 것을 이용하여 빌드 과정을 자동으로 진행.코드나 리소스 정보가 바뀔 때마다 자동으로 빌드 결과를 만들어 낸다. 자바코드, 리소스, 매니페스트가 빌드되어 하나의 앱으로 만들어 진다. 자바 소스파일은 표준 자바와 마찬가지로 클래스 파일로 빌드된후 하나의 앱으로 만들어지는데 이렇게 만들어진 파일들은 안드로이드의 런타임에서 실행될 수 있는 포맷으로 변환된다. manifest 파일. Java 파일: javac 컴파일러 이용해 클래스파일로 컴파일( *.class ) 개발 도구중 하나인 dx 이용해 dex 파일로 만든다. Resource 파일: 필요한 경우 바이너리 파일로 빌드. 이렇게 마들어진 dex..
2018.11.21