목록AOS - Kotlin 6
BigJeon Android 개발 블로그
코루틴 함수란 비동기 처리를 쉽게 해주기 위한 방법이다. 이름 때문에 코틀린용 방법이라 오해하기 쉽지만 다른 언어에서도 상당히 많이 쓰이는 방법중 한가지이다. Co + routine으로 협력을 의미하는 Co와 반복을 의마하는 routine을 합친 이름을 생각해보면 코틀린의 코랑은 다른 의미임을 알 수 있다. 오늘은 코루틴을 다뤄보기 전에 코틀린으로 작성한 코루틴에서 쓰이는 Scope함수에 대하여 알아 보고자 한다. 우선 Scope함수란 무엇일까? 남자들에게 Scope라 함은 배율 생각이 날것이다.나만그런가...? 코틀린의 표준 라이브러리의 경우 객체의 컨텍스트 내에서 코드를 실행 만을 위해 제공되는 여러 함수들이 있는데, 이러한 함수들을 람다식으로 표현할때 Scope범위를 형성합니다. 이 범위 ..
최근 부족한 실력이지만 개인 개발로 SNS를 만들고 있다. 개발할때 초기에는 이미지를 넣을 생각이 없었지만, 개발하던중 수정 사항이 생기면서 이미지를 추가해줘야 하는 상황이 나온것이다. 따라서 이참에 카메라를 통해 찍은 사진을 저장하고 불로오는 기능, 갤러리에 이미 있는 사진을 받아오는 기능을 공부하며 구현해 보기로 했다. 기능 구현을 우선으로 만들어 Layout의 디자인은 가아아볍게 기본으로 사용한점 양해 바란다. 필요기능 : 카메라 실행, 실행후 찍은 사진 저장/원본 형식으로 가져오기 , 갤러리에서 사진 가져와 셋팅 1) activity_layout.xml 일단 activity_main.xml은 정말 간단하게 해놓았다. 아래의 코드를 참고하자.

이번 포스팅에서는 저번 포스팅인 RecyclerView에 이어 실제로 자주 사용하고 편리한 기능인 옵저버에 대하여 다루어 보겠다. 우선 옵저버란 무엇일까? 옵저버란? 옵저버는 코틀린의 기초문법중 하나에 속한다. 옵저버Observer는 그대로 해석하면 감시자인데, 이름에서도 알수있다시피 특정 키가 입력 됐다든지, 어느 정보가 새로 업데이트 됐다든지등 어느 특정 부분을 감시하고 특정한 조건이되면 미리 정해놓은 동작을 실행시키는 문법이다. 예를들어) 특수문자가 불가한 입력창에서 특수문자가 들어갈시 알림을 띄워주는 동작 같은것들이 옵저버를 이용한다고 할수있다. 옵저버의 편리한점은 생명주기가 destroy되기 전까지 계속해서 특정 부분을 감시하고있기때문에 즉각적인 반응이 가능하고, 개별적인 구현없이 종합적인 ..

오늘은 코틀린으로 RecyclerView를 사용하는 방법을 알아보도록 하겠다. 우선 RecyclerView란 ListView의 단점을 보완한 리스트뷰라 볼수있는데, 큰 차이점은 view들의 재활용이 가능하다는 점이다.이름에서도알수있다. 가장 크게 와닿는점은 ListView에서 스크롤시 화면의 버벅거림이 있었다. 하지만 RecyclerView는 그러한 버벅버거림이 현저하게 줄어들었다. 그럼 설명은 간단하게만하고 사용 방법을 알아보도록 하겠다. ----------------------------------------------------------------------------------------- *recycleview사용을 위해 build.gradle.Module에 implementation "..

이전 포스팅에서는 extension이 사용중지를 대체할 방법으로 FindViewById를 다루어 보았다. 하지만 앞서 말했다 싶이 FindViewById는 코드의 가독성을 떨어트리고, FindViewById의 처리속도는 느리기때문에 큰 프로젝트를 진행시 배우 비추천하는 방법이다. 따라서 가장 추천하는 방법으로 ViewBinding이 있는데 오늘은 이 ViewBinding을 다루어 보도록 하자. *자세한 내용은 공식 개발문서인 View_binding을 참고하길 바란다* 1)ViewBinding을 사용하기 위한 build.gradleapp 설정 ViewBinding을 사용하기 위해서는 Build.gradleapp에 ViewBinding 요소를 추가해줘야 한다. (코드 추가후 sync now는 필수로 ..

2021년 안드로이드 4.1업데이트 이후 코틀린에서 편하게 사용하던 Kotlin extension plugin기능이 폐지되었다. 왜? 그 이유는 아래와 같다. - kotlin 전용이다. -전역 네임 스페이스를 오염시킨다. -특정한 경우 null허용 여부를 노출하지 않는다. -등등 다양한 이유때문에 Android앱의 비정상 종료 횟수가 증가되었다. 이 밖의 여러 이유들 때문에 현재 안드로이드 스튜디오 번전에서는 extension사용이 불가하다. *사용하려면 직접 기능을 추가하여 사용 가능하지만 몇몇 기능에서는 사용 자체가 불가하다* 따라서 이번 포스팅에는 사라진 Extension기능을 대체할수있는 ViewBiding을 다루어 볼려고 한다. Extension의 편리한 점중 하나인 findViewById없이 ..