코틀린5 Android - Kotlin Lambda 활용하기 람다 식 - Lambda Expression > 다른 함수에 넘길 수 있는 작은 코드 조각 공통 코드 구조를 함수로 뽑아낼 수 있다. 람다식을 사용하면 코드가 더욱 간결해진다. 맛보기 자바 코드 button.setOnClickListener(new OnClickListener(){ @Override public void onClick(View view){ //수행동작 } }) 자바의 경우 무명 내부 클래스를 선언하고 동작을 적어 줄 수 있다. 이는 코드를 번잡스럽게 만들며, 규모가 커지는 경우 가독성을 현저히 저하시킨다. Kotlin button.setOnClickListener{ /*수행동작*/ } 하지만 람다식을 활용하면 보다 간결한 표현으로 기능을 구현할 수 있다. 람다 식의 문법 위와 같이 람다 .. 2021. 6. 5. android Koin 을 이용한 의존성 주입 알아보기 이번에는 Koin 를 활용한 android 의존성 주입에 대해 알아보도록 하겠습니다.(Dependency Injection) 의존성 주입이란 무엇일까요? 의존성 주입이란 외부에서 의존 객체를 생성하여 넘겨주는 것을 의미합니다. A 클래스가 B Class를 의존할 때 (B 클래스를 이용하여 해당 클래스 내부의 동작을 이용하는 등) A 클래스 내부에서 B클래스에 해당하는 Object를 생성하지 않고, 외부에서 생성하여 넘겨주면 의존성을 주입했다고 표현합니다. 외부에서 생성된 객체를 넘겨 받는다고 하는데, 여기서 외부는 어떤 곳을 말하는 걸까요? 의존성 주입을 위해서는 객체를 생성하고 넘겨줄 외부의 무언가가 필요합니다. 의존성 주입은 왜 필요할까요? 의존성 주입을 사용하면, 의존성 파라미터를 생성자에 작성하지.. 2020. 7. 29. Android Kotlin collection 함수들 모음 이번 포스팅에서는 Kotlin에서 collection 함수들에 대해 알아보고자 합니다. Kotlin에서 지원하는 collection 관련 함수들은 200여가지가 된다고 하는데요, 그 중에 자주 사용된다고 생각되는 것들을 다뤄보고자 합니다. forEach 하나씩 번갈아서 동작시킵니다 val wordList = listOf("가","나","다","라","마") wordList.forEach{ println("${it"}) 출력값 : 가 나 다 라 마 filter 해당하는 항목으로만 이뤄진 배열을 생성하여 반환합니다 val nameList = listOf("김길동","홍길동","김정호","안창호","이순신") println(nameList.filter { it.startsWith("김") }) 출력값 : [".. 2020. 7. 25. Android Socket 실시간 통신 라이브러리 활용 Android Socket 통신? 소켓 통신 방식은 Server와 Client가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식입니다. Http통신 방식과 달리 Server도 Client로 요청을 보낼 수 있어요! 실시간 통신이 필요한 경우에 자주 사용됩니다. 우리사 사용하는 서비스들로는 실시간 스트리밍, 채팅 등이 있겠네요. 카카오톡 채팅을 한 번 예로 들어볼게요. 홍길동이 저에게 메시지를 주고싶을 때를 생각해보겠습니다. 1. 홍길동이 메시지를 전송합니다. 2. 서버에 해당 메시지 데이터가 전달이 됩니다. 3. 서버에서 제 클라이언트 기기로 데이터를 전달해줍니다.(클라이언트는 카카오톡이 깔려 있는 기기를 뜻합니다!) 4. 받은 데이터를 적절히 가공하여 저에게 보여줍니다. 그럼 제가 메시지를 보.. 2020. 6. 14. 코틀린 코루틴이란? (Kotlin coroutine) 코루틴(coroutine)이란? 코루틴은 루틴(routine)의 일종으로서, 협동(co)루틴 이라고도 합니다. 루틴은 규칙적으로 반복되는 일의 순서를 뜻하는데요, 코루틴은 두 루틴 이상이 서로 대등한 관계에서, 서로가 서로를 호출하는 방식으로 작동합니다. 예를 들어, A와 B라는 루틴이 있다고 가정했을 때, A 루틴 입장에서는 B가 서브 루틴입니다. B 루틴 입장에서는 A가 서브 루틴입니다. 어떠한 코루틴이 발동될 때 마다 해당 코루틴은 이전에 자신의 실행이 마지막으로 중단되었던 지점 다음의 장소에서 실행을 재개한다. 안드로이드에서 코루틴은 다음 두 가지 문제를 해결하는 데 도움이 된다. 기본 스레드를 차단하여 앱이 정지될 수 있는 장기 실행 작업 관리 기본 스레드에서(메인 스레드 / UI 스레드) 네트.. 2020. 4. 14. 이전 1 다음 반응형