개발(Development)273 [안드로이드] 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. [안드로이드] XML | 코드로 화면을 그리는 메서드: setContentView() # setContentView()메서드란? 액티비티의 화면을 그려주는는 메서드이다. "Activity.java" 클래스에 정의된 메서드를 상속받아 사용한다. # setContentView() 종류 3가지 setContetView() 메서드는 3가지 타입의 매개변수를 받을 수 있다.(오버로딩) 각 메서드는 Java | Kotlin 순으로 표기했다. 1. setContentView(int layoutResID) | setContentView(layoutResID: Int) : 레이아웃 파일의 ID를 인수로 받아, XML 기반의 화면을 렌더링한다. 2. setContentView(View view) | setContentView(view: View!) : View클래스의 객체를 인수로 받아, 코드 기반의 화면.. 2021. 7. 11. [안드로이드] Entry Point, Launcher, 4대 컴포넌트 개념 # Entry Point 란? 프로그램의 "구동이 시작되는 부분" 을 Entry Point라고 한다. 예를 들어 Java, C계열의 언어는 main()함수가 Entry Point가 되며, Python은 처음 실행시키는 py파일(모듈)이 Entry Point가 된다.(내부변수 __name__에 __main__이 할당된다.) class MyClass{ // ../ public static void main(String[] args){ //.. 앱의 시작점(Entry Point) } // ... } # 안드로이드의 Entry Point 안드로이드 앱은 명시적인 형태의 Entry Point가 존재하지 않는다. 대신 4대 컴포넌트가 모두 앱의 시작점이 될 수 있다. 예를 들어, 홈화면(Launcher)에서 앱 아.. 2021. 7. 11. [안드로이드] 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. [안드로이드] 그레이들 Gradle Scripts에 대한 정리 # Gradle Scripts란? 안드로이드 프로젝트를 생성하면 Gradle Scripts 라는 영역에 build.gradle, settings.gradle 등의 파일이 자동으로 만들어진다. 이 파일들을 통해 안드로이드 프로젝트의 빌드 정보, 라이브러리 등을 관리한다. 보통 빌드 및 라이브러리 관련 설정이 관리되는 정도로만 확인하고 넘어가는데 사실상 개발하면서 건드릴 일은 거의 없지만, 정리 차원에서 조금 더 상세하게 기록한다. 안드로이드 프로젝트 구조에 대해서는 아래 글 참고 [안드로이드] 앱 프로젝트 구조 # Gradle Scripts 의 구조 Gradle Scripts는 아래 그림과 같이 총 7개의 파일로 구성되어 있다.(버전에 따라 다소 상이할 수 있다.) 1. build.gradle (Proje.. 2021. 7. 10. 주석 총정리: HTML/CSS/JavaScript, Python, Java/Kotlin, Swift, C계열 언어 프로그래밍 언어마다 주석 사용법이 달라서, 자주 사용하는 언어별 주석 사용법을 총정리해둔다. 참고로 대부분의 IDE에서 주석 설정/해제 단축키는 다음과 같다. 1. 윈도우: Ctrl + / 2. 맥: Command + / # HTML 주석 사용법 : HTML은 한 가지 방법으로 한줄/여러줄 주석을 표현한다. # XML 주석 사용법 : XML은 HTML과 주석 사용 방법이 동일하다. # CSS 주석 사용법 : CSS는 한 가지 방법으로 한줄/여러줄 주석을 표현한다. (특이하게 // 는 주석으로 작동하지 않는다.) /* CSS 한줄 주석 */ /* CSS 여러줄 주석 CSS 여러줄 주석 */ # JavaScript(자바스크립트) 주석 사용법 1. 한줄 주석: // 2. 여러줄 주석: /* */ * 참고로 한.. 2021. 7. 10. [안드로이드] 앱 프로젝트 구조 # 프로젝트란 ? SW개발을 위해 필요한 소스코드, 리소스 및 데이터, 환경설정 파일 등을 통합적으로 관리하는 구조를 말한다. 보통 서버나 앱을 개발 할 때, 폴더를 하나 만들고 모든 코드와 파일을 넣어서 관리하는데 이 폴더를 프로젝트라고 볼 수 있다. # 안드로이드 앱 프로젝트 구조 안드로이드 프로젝트는 소스코드(java/kotlin코드), 리소스(이미지 파일 등), 환경설정(manifest, Gradle Script)으로 구성된다. 앱 자체에 대한 내용은 app영역에 위치하며 1) 환경설정은 manifests 경로에, 2) 소스 코드는 java 경로에, 3) 이미지와 같은 리소스는 res 경로에서 관리된다. 빌드/버전 설정 및 라이브러리는 Gradle Scripts 영역에 위치하며 build.grad.. 2021. 7. 10. [안드로이드] 앱 프로젝트 템플릿 (액티비티 UI) 종류 # 안드로이드 Phone and Table 템플릿 종류 1. No Activity : 화면이 없는(액티비티X) 프로젝트를 생성한다. : 백그라운드에서만 작동하는 Service 기반의 앱을 만들 때 주로 사용한다. 2. Basic Activity : AppBar, FloatingActionButton이 들어간 화면의 앱 생성한다. 3. Bottom Navigation Activity : 화면 하단에 "표준 하단 탐색 모음" 메뉴가 탑재된 앱을 생성한다. 4. Empty Activity : 비어있는 레이아웃 파일과 액티비티를 하나씩 생성한다. : 레이아웃 파일에는 "Hello world"와 같은 샘플 텍스트가 들어가 있다. 5. Fullscreen Activity : '전체화면뷰'와 '표준 UI컨트롤로 구성.. 2021. 7. 10. 이전 1 ··· 15 16 17 18 19 20 21 ··· 31 다음