본문 바로가기

코틀린48

다른 액티비티에서 특정 액티비티 종료하기 어플을 만들다가 메인 페이지→ 마이페이지 → 회원 탈퇴→ 로그인 페이지→ Back키 → 어플 종료를 구현하려고 했다. 하지만 Back를 누르면 다시메인 페이지가 나오는 현상이 있었다. 곰곰이 생각해보니 마이페이지에서 회원 탈퇴를 할 때 finish()를 해줘도 마이페이지만 종료되고 메인 페이지는 남아있게 되는 것이었다. 그래서 특정 액티비티를 종료하는 방법을 찾았다. 정상 비정상 왼쪽이 구현하려던 알고리즘이고 오른쪽이 발생한 현상이었다. # 해결방법 MainActivity.kt Class MainActivity : AppCompatActivity(){ companion object{ // MainActivity 타입의 객체를 동반 객체로 선언한다(자바에서는 static) var mainActivity :.. 2022. 1. 5.
코틀린의 문법 (let, with, run, apply, also) let, with, run, apply, also 코틀린에는 이렇게 생긴 확장 함수들이 있다. 기능은 객체를 사용할 때 명령문들을 블럭{}으로 묶어서 간결하게 사용할 수 있게 해 주고 스코프 함수(Scope Functions)이다 # let 매개 변수화 된 타입 T의 확장 함수로, 자기 자신을 받아서 반환하는 람다 식의 형태이다. let 함수를 호출하는 객체를 블록의 인자로 넘기고, 블록의 결괏값을 반환한다. fun T.let(block: (T) -> R): R - let 함수 사용하기 전 코드 data class Student (var name : String, var age : Int) val student = Student("",0) student.name = "Yeom" student.age = .. 2022. 1. 2.
리사이클러뷰(RecyclerView)만들어보기 # 리사이클러뷰(RecyclerView) 리사이클러뷰는 이름과 같이 재활용 개념이 들어간 뷰이고 가장 위의 아이템을 삭제하지 않고 가장 아래의 아이템 쪽으로 객체를 이동시켜 재사용을 할 수 있도록 고안되었다. 리사이클러뷰는 그리드 뷰, 리스트뷰와 비슷한 구조이지만 그리드, 리스트보다 더 유연하고 성능이 더 개선된 위젯이다. ※ 리스트뷰보다 좋은 점 사진을 보면 100개의 아이템이 있다면 100개의 아이템을 생성해야 하는 리스트뷰와 달리 리사이클러 뷰는 13개의 아이템으로 객체를 재활용하며 계속 사용할 수 있는 장점이 있다. 리스스뷰와 리사이클러뷰의 차이점은 아래와 같다 리사이클러뷰(RecyclerView) 리스트뷰(Listview) 가로,세로,Grid 형식 모두 지원 세로 방향만 지원 ViewHolder.. 2021. 12. 24.
코틀린의 배열/리스트 # 코틀린의 배열 만들기 1. val 변수명 = arrayOf("이름 1","이름 2","이름 3") - 여기서 숫자로 자료형을 하고 싶다면 : val 변수명 = intArrayof(1,2,3) 이런 식으로 쓰면 된다 2. val 변수명 = Array(배열의 개수, 어떤 식으로 초기화할 거냐(람다식)) 3. val 변수명 = arrayOfNull(크기) - 각각의 칸에는 Null 값이 들어감 4. val 변수명 = emptyArray() - 비어있는 배열 만들기 ex) 1. val name = arrayOf("홍길동","가나다","사랑해") 2. val name2 = Array(3, {index -> "홍길동${index+1}"}) 3. val name3 = arrayOfNull(3) 4. val nam.. 2021. 12. 15.
코틀린의 기본 문법 2(함수,람다,When,생성자) # Kotlin의 함수 함수는 상자로 생각하면 이해가 쉽다 Kotlin의 함수는 fun으로 시작하고 함수 이름과 소괄호, 중괄호를 붙인다 함수를 만드는 이유는 코드를 여러 번 반복하게 될 때 만들어 놓고 실행만 시키면 시간 단축이 되어서이다 함수 이름 뒤 소괄호 안에는 여러 개의 파라미터가 들어간다 파라미터의 기본 모양은 파라미터 이름 : 파라미터의 자료형이다 Ex) fun add (a:Int, b:Int) { } 그리고 함수를 축약도 할 수 있다. 파라미터가 정확하게 몇 개가 들어올지 모를 때는 파라미터 앞에다가 vararg를 붙여준다. Ex) fun add(varary a:Int){ } class MainActivity : AppCompatActivity() { override fun onCreate.. 2021. 12. 15.
코틀린의 기본 문법(Toast,변수선언,출력,Null,형 변환) # 버튼을 클릭했을 시 Toast 메시지 띄우기 화면에 잠깐 나타났다가 없어지는 text를 띄우는 코드는 Toast.makeText(applicationContext,"입력할text",Toast.LENGTH_LONG).show() 이렇게 사용한다 만약 메시지를 짧게 띄우고 싶으면 LENGTH_LONG 부문을 LENGTH_SHORT으로 바꿔준다 ※코틀린에서는 ";"를 끝에 안 붙여도 실행이 가능하다 button.setOnClickListener { Toast.makeText(applicationContext,"입력할 text",Toast.LENGTH_LONG).show() //메시지를 길게 Toast.makeText(applicationContext,"입력할 text",Toast.LENGTH_SHORT)... 2021. 12. 15.