728x90

코틀린 9

[Kotlin] Material 라이브러리, 플로팅 버튼, Tab 레이아웃, 뷰페이저

[Kotlin] Material 라이브러리, 플로팅 버튼, Tab 레이아웃, 뷰페이저 이전에 사용되었던 viewpager와 별개로 2019년에 viewpager2를 제공하였다.항목이 순서대로 나열되어 있는데 한 화면에 항목 하나가 나오는 것을 viewpager2를 사용해 구현한다. 어댑터 : 여러 프래그먼트가 포함된 뷰를 제어할 수 있는 것으로 각 항목을 만들어 주는 역할을 한다.프래그먼트 어댑터 이용 : 프래그먼트로 작성했으면 FragmentStateAdapter로 뷰 페이저2를 구현 한다.class MyFragmentPagerAdapter(activity: FragmentActivity): FragmentStateAdapter(activity){ val fragments: List init{ ..

Front-End/Kotlin 2024.04.26

[Kotlin] 제트팩 라이브러리, Action Bar 메뉴

[Kotlin] 제트팩 라이브러리, Action Bar 메뉴 사용자가 자주 사용할만한 기능들을 별도로 묶어 제공해 주는 라이브러리이다. 제트팩은 구글에서 안드로이드 앱 개발용으로 제공하는 다양한 라이브러리 모음 androidx로 시작하는 패키지명을 사용 앱을 개발하는데 필요한 권장 아키텍처를 제공한다. API 레벨의 호환성 문제를 해결합니다. 플랫폼 API에서 제공하지 않는 다양한 기능을 제공합니다. 화면 구성과 관련된 라이브러리 androidx.appcompat : 앱의 API 레벨 호환성을 해결합니다. androidx.recyclerview : 목록 화면을 구성합니다. androidx.viewpager2 : 스와이프로 넘기는 화..

Front-End/Kotlin 2024.04.23

[Kotlin] View Binding과 Event

[Kotlin] View Binding과 Event 뷰 바인딩은 레이아웃 XML 파일에 선언한 뷰 객체를 코드에서 쉽게 이용하는 방법이다. 액티비티에서 findViewById() 함수를 이용하지 않고 레이아웃 XML 파일에 등록된 뷰 객체를 쉽게 사용할 수 있는 방법을 제공한다. 레이아웃 XML 파일에 등록된 뷰 객체를 포함하는 클래스가 자동으로 만들어집니다. - build.gradle에 뷰 바인딩 설정 android{ viewBinding{ enable = true }} 자동으로 만들어지는 클래스의 이름은 레이아웃 XML 파일명을 따릅니다. 글자를 대문자로 하고 밑줄(_)은 빼고 뒤에 오는 단어를 대문자로 만든 후 'Binding'을 추가한다. activity_main.xml -> A..

Front-End/Kotlin 2024.04.21

[Kotlin] RelativeLayout, FrameLayout, ConstraintLayout

[Kotlin] RelativeLayout, FrameLayout, ConstraintLayout 순서대로 배치하지 않고 개발자가 원하는 위치대로 배치하는 것 상대 뷰의 위치를 기준으로 정렬하는 레이아웃이다. 상대 뷰의 어느 쪽에 맞춰서 정렬할지를 정하는 속성 - android:layout_above : 기준 뷰의 위쪽에 배치 - android:layout_below : 기준 뷰의 아래쪽에 배치 - android:layout_toLeftOf : 기준 뷰의 왼쪽에 배치 - android:layout_toRightOf : 기준 뷰의 오른쪽에 배치 상위 레이아웃을 기준으로 맞춤 정렬하는 속성 - android:layout_alignParentTop : 부모의 위쪽에 맞춤 - android:layout_alig..

Front-End/Kotlin 2024.04.19

[Kotlin] 안드로이드 XML, 모듈 생성, View 속성

[Kotlin] 안드로이드 XML, 모듈 생성, View 속성 XML : eXtensible (확장가능한) Markup Language html과 같은 마크업 언어로 시작태그와 종료태그로 이루어져 있다. 데이터를 저장하고 전달하기 위해 디자인된 언어로 사전 정의 태그가 존재하지 않는다. 따라서 사용자가 원하는 대로 작성하면 된다. XML의 요소는 계층적 구조를 가져 XML DOM 트리를 생성한다. 홍 현 30 서울 면목동 // 요소 명이 없는 경우 = 최상위 요소(root element)는 하나만 가져야 한다. 요소명이 XML naming convention에 적합해야 한다. 시작 태그 다음에는 반드시 종료 태그가 있어야 한다. 요소 내용이 없으면 빈 요소로 둘 수 있다. html 태그는 대소문자 구별이..

Front-End/Kotlin 2024.04.15

[Kotlin] build.gradle, MainActivity.kt, activitiy_main.xml

[Kotlin] build.gradle, MainActivity.kt, activitiy_main.xml 파일 build.gradle 파일이 두 가지가 있다. 하나는 project, 하나는 module이다. build.gradle (project)는 사용하고 있는 버전 같은 프로젝트 전체 설정이 있다. build.gradle (module)은 각각 모듈에 대한 설정이 있고 dependencies가 있다. 가장 상위 폴더가 모듈이다. kotlin+java 폴더 아래 com.example.application에서 개발을 진행하면 된다. AppCompatActivity를 상속받아 MainActivity를 정의하였다. 안드로이드에서는 폴더명 하나 하나가 변수처럼 쓰이고 있다...

Front-End/Kotlin 2024.04.14

[Kotlin] 코틀린 언어 소개

[Kotlin] 코틀린 언어 소개 코틀린에서는 ; 생략 가능하다. 한 줄에 여러 명령을 작성하는 경우에는 반드시 ;로 구분한다. 프로젝트 시작 시 아무것도 없는 Empty Views Activity로 프로젝트를 생성하고, 프로젝트 Name의 첫 글자는 대문자로 설정한다. name을 설정하면 package name이 자동으로 설정된다. 프로젝트를 저장하는 save location에는 한글이 포함되면 안 된다. 안드로이드 스튜디오는 에디터, 안드로이드 sdk는 컴파일시켜 준다. ex) API 24 ("Nougat"; Android 7.0) ==> API 24, 7.0 이후의 sdk에서는 모두 실행 가능하다. mainActivity에서 id값 설정은 삭제하고 시작하자. gradle sync를 잘 시켜주자. s..

Front-End/Kotlin 2024.04.13

[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수

[ Kotlin ] 기본문법 3 상속, 람다, 익명 함수 1. 상속 // 상속을 가능하게 하려면 open을 써야 한다 // 클래스, 변수, 함수 모두 open을 써야 한다 open class User1(name:String){ // 매개변수에 var를 붙여 멤버변수로 생성이 가능하다 open var name = "lee" // 멤버변수를 클래스 안에 생성 가능하다 //constructor(name:String){ // 생성자를 직접 넣거나 init{ // init 사용 println("specialUser.. ${this.name}.. $name") this.name = name println("specialUser.. ${this.name}.. $name") //this.name = name } ope..

Front-End/Kotlin 2024.04.05

[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향

[ Kotlin ] 기본문법 2 조건문, 반복문, 객체지향 1. 조건문 - 기본 fun main() { var data1 = 10 if(data1 > 0){ println("positive") } else if (data1 == 0){ println("0") } else{ println("negative") } } - 코드의 공통된 특징을 앞으로 빼기, 코틀린 코드 간략하게 만들기 fun main() { var data1 = 10 var data2:Int if(data1 > 0){ println("positive") data2 = 1 } else if (data1 == 0){ println("0") data2 = 0 } else{ println("negative") data2 = -1 } // 위의 식과..

Front-End/Kotlin 2024.04.05
728x90