본문 바로가기

Android14

[안드로이드] this와 MainActivity.this의 개념, 차이 Android를 개발하다보면 어떤 때는 this를 쓰고, 어떤 때는 MainActivity.this 형태를 사용한다. 심지어 두개를 바꿔서 사용하면 에러가 발생할 때도 있다. 이 둘의 개념과 차이, 그리고 사용법을 정리한다. # Java의 this 1. 메서드 내부에서 사용되면, 클래스가 생성할 본인(인스턴스|객체) 자체를 가르키며, 2. 생성자 함수 내부에서는 this()형태로 사용하여, 오버로딩된 다른 생성자 함수를 호출한다. # 안드로이드의 this와 MainActivity.this 안드로이드에서는 this 외에 MainActivity.this 같이 "클래스명.this" 형태가 종종 사용된다. 예를 들어 버튼을 누르면 액티비티를 띄우는 아래의 코드를 보자. 1. 익명 클래스로 View.Onclick.. 2021. 7. 13.
[안드로이드] LayoutParams(레이아웃 파라미터) 개념과 구조/종류 # 레이아웃 파라미터(LayoutParams)란? 부모 레이아웃 안에서 View(뷰)가 어떻게 배치될지를 정의하는 속성이다. 구글 개발자 사이트의 레퍼런스에는 아래와 같이 기술되어 있다. "LayoutParams are used by views to tell their parents how they want to be laid out." 구체적으로 레이아웃 XML파일에서 앞에 layout_"이 붙는 속성들을 말하며, LayoutParams클래스의 필드값과 매핑된다. 따라서 코드 상에서 LayoutParams객체를 통해 뷰의 레이아웃 파라미터 속성을 다룰 수 있다. 아래의 activity_main.xml 파일에서 andorid:layout_width, andorid:layout_height 가 레이아웃 파.. 2021. 7. 12.
[안드로이드] R.java / R.jar 개념 및 위치: 리소스 식별 변수 관리 원리 안드로이드 앱 개발을 시작하면, 화면 레이아웃을 표시하고, View를 참조하기 위해 아래와 같은 코드를 작성한다. setContetView(R.layout.activity_main); fineViewById(R.id.text_view_01) 그런데 저 R이란 대체 무엇일까? # R.java 란? 안드로이드 리소스(레이아웃, 이미지, 문자열 등)를 식별하기 위한 변수들을 관리하는 R 클래스이다. 예를 들어, 1. res/drawable 경로에 my_image_01.png 파일을 추가하면, 2. R.java 파일에 정수 형태의 "my_image_01" 변수가 자동으로 생성되며, 3. 다른 자바 코드에서 "R.drawable.my_image_01" 으로 해당 이미지 리소스를 참조할 수 있게 된다. /* R.j.. 2021. 7. 11.
[안드로이드] 매니페스트(AndroidMainfest.xml) 개념과 구조 1. 매니페스트란? 앱의 패키지, 컴포넌트, 권한, 기기호환성 설정을 관리하는 app > mainfests > AndroidManifest.xml 파일이다. 2. 매니페스트의 구조와 설정내용 : 패키지 ㄴ : 컴포넌트 ㄴ : 권한 ㄴ : 기기호환성 위의 각 내용을 상세하게 정리해본다. # 매니페스트 앱의 1)패키지, 2)구성요소(컴포넌트), 3)권한, 4)기기호환성을 정의하는 환경설정 파일이다. app > mainfests > AndroidManifest.xml 경로에 위치한다. # 매니페스트 구조 단순한 XML파일로 아래의 중첩 구조를 갖고 있다. ㄴ ㄴ ㄴ application 태그의 경우, 4대 컴포넌트를 등록하는 태그로 아래의 추가 중첩 구조를 갖는다. ㄴ ㄴ ㄴ ㄴ ㄴ # 매니페스트에서 설정하는.. 2021. 7. 11.
[안드로이드] 앱 프로젝트 구조 # 프로젝트란 ? SW개발을 위해 필요한 소스코드, 리소스 및 데이터, 환경설정 파일 등을 통합적으로 관리하는 구조를 말한다. 보통 서버나 앱을 개발 할 때, 폴더를 하나 만들고 모든 코드와 파일을 넣어서 관리하는데 이 폴더를 프로젝트라고 볼 수 있다. # 안드로이드 앱 프로젝트 구조 안드로이드 프로젝트는 소스코드(java/kotlin코드), 리소스(이미지 파일 등), 환경설정(manifest, Gradle Script)으로 구성된다. 앱 자체에 대한 내용은 app영역에 위치하며 1) 환경설정은 manifests 경로에, 2) 소스 코드는 java 경로에, 3) 이미지와 같은 리소스는 res 경로에서 관리된다. 빌드/버전 설정 및 라이브러리는 Gradle Scripts 영역에 위치하며 build.grad.. 2021. 7. 10.