1. 안드로이드 간단 전자 액자 앱 만들기 With 코틀린 이번에 만들어본 안드로이드 어플리케이션은 유저가 선택한 사진을 페이드-인,아웃 효과를 적용시켜 보여주는 기능을 가진 앱입니다. 특징은 아래와 같습니다. 해당 앱을 만들어 보면서 익혔던 내용을 기록하고자 포스팅하였습니다. 특징 및 기능 안드로이드 Permission(권한) 사용 하여 엑티비티에서 외부 저장소에 접근 유저가 스마트폰에 저장된 저장소의 사진을 선택 (SAF, Storage Access Framework) 뷰 에니메이터를 사용해서 페이드-인,아웃 처럼 보이도록 설계 1.1. 개발 시 사용한 기술 및 학습내용 Layout 이 가로로 표시 되도록 설정 (사진 액자) Android Permission 사용 View Animation 사용 Ac..
1. 안드로이드 계산기 어플 앱 만들기 with 코틀린 이번에 진행한 프로젝트는 안드로이드 계산기 어플리케이션 만들기입니다. 간단하게 사용자가 입력한 식을 연산할 수 있고 계산 기록을 확인할 수 있는 기능을 가진 앱을 만들어보았습니다. 특징 사용자가 입력한 식 더하기, 빼기, 곱하기, 나누기, 나머지 연산 식 Clear 기능 계산 히스토리 확인 가능 및 기록 초기화 기능 room을 사용한 로컬 DB: 종료 후 재실행 하여도 계산 기록 저장 사용된 프로젝트 전체 코드는 저의 깃허브 저장소에서 확인이 가능합니다. 마찬가지로 이번 글에서도 프로젝트를 진행하며 작성된 모든 코드를 기록하는 방식이 아닌 제가 느끼기에 생소한 기술들이나 참신했던 코드 위주로 요약해서 다음에 참고해서 개발이 가능하도록 작성하도록 하겠..
1. 안드로이드 Room 으로 로컬 데이터베이스에 데이터 저장하기 Android 개발자 라이브러리 Room은 SQLite를 추상화 하여 제공하기 때문에 보다 쉬운 데이터 베이스 사용이 가능합니다. 또 물론 SQLite에서 지원하는 것을 완벽하게 활용할 수 있다고하네요. 그래서 이번에 계산기 예제를 만들면서 계산 히스토리를 저장할때 Room을 사용해서 로컬 데이터베이스에 기록을 해주는 방식으로 구현을 해보았답니다. 1.1. Room 사용에 좋은 예시 공식 문서에 있는 바를 간단하게 요약하자면, 유저가 앱을 실행하는 환경이 오프라인이었을 경우에는 이전에 온라인 상태에 있을 때 컨텐츠를 Room을 통해 저장해둔 컨텐츠를 불러와서 보여주며 유저와 상호작용을 하다가 이후에 다시 온라인 상태가되면 유저가 동작한 내..
1. 안드로이드 어플 만들기 : 비밀 다이어리 이번에 해본 것은 안드로이드 어플만들기 3번째 예제로 비밀 다이어리 어플을 만들어보는 것 이었습니다. 기능에 대한 특징은 아래와 같습니다. 특징 사용자가 설정한 비밀번호를 입력해야만 다이어리 페이지로 전환된다. (초기 비밀번호는 000) 사용자가 비밀번호를 원하는 대로 다시 바꿀 수 있다. 다이어리 페이지는 자동으로 저장된다. (종료 후 재실행 시 유지) 위에 있는 간단한 기능을 가진 어플리케이션 만들기 실습을 진행해보았고, 사용했던 기술을 이 글에 적어보려합니다. 단, 사소한 것 까지 모두 기록하는 것 보다는 코틀린으로 개발하며 신기하고 처음보는 기능 위주로 기록하도록 하겠습니다. 이 글에서 문단 제목에 붙은 숫자의 경우 SEO를 준수하기 위해 넣어논 것이..
1. 코틀린 Null이 허용된 변수 선언하기 보통 null이 허용된 변수라면 해당 변수에 아무것도 할당하지 않거나 null을 할당하고 사용할 경우 NullPointerException 일명, NPE가 발생하게 됩니다. 코틀린은 기본적으로 null을 허용하지 않고 null 허용 변수를 따로 만드는 방법으로 이 문제를 방지하고자 합니다. 😃 1.1. null 을 허용하지 않는 코틀린 아래 코드는 변수에 null을 할당하는 코드입니다. 코틀린에서는 이러한 방식은 에러입니다. 실제로 IDE 상에서 아래 코드를 입력해보면 빨간줄이 뜨는 것을 볼 수 있습니다. fun main() { var str1 : String = "Hello Kotlin" str1 = null // Error! println("str1: $s..
1. 코틀린 프로젝트 IntelliJ 에서 GitHub 연동하기 인텔리제이에서는 새로운 프로젝트를 만들고 이를 GitHub에 공유하여 레포지토리를 생성할 수 있습니다. 그 방법을 소개하도록 하겠습니다. 깃허브와 연동하여 커밋 푸시하는 경우 온라인 저장소에 이력을 남김으로써 인터넷 연결만 있다면 진행중인 프로젝트를 바로 가져올 수 있다는 장점이 있습니다. 먼저 IntelliJ의 메뉴 중에서 VCS 메뉴를 클릭해줍니다. VCS는 버전 관리 시스템(Version control system)의 약자로 말 그대로 프로젝트 소스 버전관리에 사용되는 메뉴들을 가지고 있습니다. VCS 메뉴들을 보면 여러가지 메뉴가 있는데 그 중에서 우리는 Share Project on GitHub 라고 되어있는 녀석을 사용하도록 하겠..
1. 코틀린 New Package, class 사라짐 안보임 해결 인텔리제이(IntelliJ)를 받고 나서 처음 프로젝트를 생성하고 패키지를 생성하는 예시 학습을 하려고 하는데 [New Package]는 보이지 않고, New - Directory 만 있더라고요. 당황스러워서 구글에 검색해보니 해결책을 찾을 수 있었습니다. 1.1. 문제 현상 아래와 같이 src 우클릭 하여 New 메뉴에 Package가 없고 Directory만 있는 경우 입니다. 또는 Class 등 추가가 없는 경우에도 해당될 수 있습니다. IntelliJ does not show 'Class' when we right click and select 'New' 1.2. 해결 방법 해결 방법은 간단합니다. 해당 폴더가 Sources Roo..
1. 코틀린 프로그래밍 환경 구축 코틀린 프로그래밍을 위해 실행 환경과 IDE를 설치하는 내역을 정리해드리려고합니다. 그 전에 앞서 간단하게 코틀린에 대해서 소개하고 넘어가도록 하겠습니다. 본 내용은 Doit 코틀린 도서를 기반으로 학습하며 작성했음을 밝힙니다. 1.1. 코틀린에 대해서 코틀린은 인텔리제이로 유명한 젯브레인사가 개발한 언어로 구글의 안드로이드 개발언어로 공식 발탁되었습니다. 코틀린을 사용하면 아래의 플랫폼에서 개발이 가능합니다. 코틀린/JVM : 자바 가상 머신에서 동작하는 앱을 개발할 수 있음 코틀린/JS : 자바스크립트로 웹 앱을 개발할 수 있음 코틀린/Native : LLVM 컴파일러를 이용한 다수 플랫폼을 상대로 앱을 개발할 수 있음 위에 나열한 것 처럼 JVM, JS, Nativ..
코틀린 주석 방식 코틀린 주석다는 방법은 2가지 오늘은 코틀린에서 주석을 다는 방법을 알아보도록 하겠습니다. 주석은 소스코드에 자신이 원하는 설명을 넣고 싶을 때 사용하는 메모와 같다고 생각하시면됩니다. 코드에는 따로 자연어를 삽입할 수 없습니다. 자세히 알아보시죠. 소스코드에는 자연어가 포함될 수 없습니다. 하나라도 잘못 들어가면 오류가 발생하죠. 그렇기 때문에 코틀린에서도 주석을 다는 방법을 지원하고 있습니다. 2가지 방법이 있으며 하나씩 살펴보도록 하겠습니다. 일명 주석이라고도 하며 영어로는 코멘트라고 부릅니다. 사실 코틀린의 주석다는 방법은 자바와 동일합니다. 슬래시 두개로 다는 방법과 슬래시와 별표시로 여러줄 주석을 다는 것을 지원합니다. 아래 코드에서 확인하세요. fun main(args: A..
이번 글에서는 타입에 대해 또다른 별칭을 붙일 수 있는 코틀린의 기능을 알아보도록 하겠습니다. 🎨 타입에 별명을 짓는 키워드 typealias는 말 그대로 타입(type) 별명(alias)를 붙여서 만들어진 키워드입니다. 원래 정해져있는 타입을 다른 이름으로 사용하고 싶은 경우에 사용하면 편리한 기능입니다. 그러면 아주 간단한 예제 코드를 보면서 설명드리도록 하겠습니다. 💎 예제 코드 (examples) 아래는 typealias를 사용하는 예제코드입니다. typealias Number = Int fun main(args: Array): Unit{ val a: Number = 10 println(a) } 실행 결과 아래는 코드의 실행 결과입니다. 10 Process finished with exit cod..