안드로이드: 196개의 글
이전 글에서 흐름제어에 대해 알아보았습니다. 이번에는 흐름제어에서 반복문을 좀 더 유연하게 사용할 수 있게 하는 break와 continue에 대해 알아보겠습니다. 먼저 간단하게 개념에 대해 이야기하겠습니다.break는 멈춘다는 의미로 가장 가까이에 있는 반복문을 멈추고 밖으로 나가는 명령어입니다.continue는 계속한다는 의미로 반복문의 한 사이클을 중간에 멈추고 다음 사이클을 실행하라는 명령어입니다. 간단한 예로 시작 하겠습니다.for (i in 1..3) { for (j in 1..3) { println("${i} * ${j} = ${i * j}") } } i가 1부터 3까지 반복하면서j가 1부터 3까지 반복하면서${i} * ${j} = ${i * j}를 출력하는 코드입니다. 그러면 중간에 변화를..
이번에는 흐름제어에 대해서 알아보겠습니다. 흐름제어에는 제어문에 해당하는 if, when이 있고 반복문에 해당하는 for, while이 있습니다.자바와 다른점은 switch가 보이지 않고 새로운 when이 생겼다는 것입니다. 제어문이란 조건이 참이면 해당 분기로 들어가서 코드를 수행하는 것이고반복문이란 조건이 참이면 해당 분기로 들어가서 코드를 수행하고 조건이 거짓이 될 때 까지 코드를 반복해서 수행하는 것입니다. if는 총 3개의 형태를 가지고 있습니다.ifif...elseif...else if...elseif는 ()안에 조건이 참일 경우에 {}안에 코드를 실행하는 조건문입니다.if else는 바로 위의 if나 if else가 거짓이고 ()안에 조건이 참일 경우에 {}안에 코드를 실행하는 조건문입니다...
이번 글은 콘솔에서 데이터를 입력 받는 부분에 대해서 알아 보겠습니다. 사용자로부터 데이터를 입력 받기 위해서는 Scanner 객체에 System.in(InputStream)을 넣어서 생성한 인스턴스를 사용해야합니다. System.in은 키보드와 연결 된 자바의 표준 입력 스트림으로 사용자가 키보드를 통해 입력한 데이터를 컴퓨터를 통해 프로그램에 전달해주는 역할을 합니다. Scanner객체는 System.in을 통해 전달 된 데이터를 언어의 기본타입으로 변환해주는 역할을 합니다. 위에 설명했던 내용들을 Kotlin 코드로 아래와 같이 나타낼 수 있습니다.import java.util.Scanner fun main(args: Array){ val sc: Scanner = Scanner(System.`in`..
이번에는 Kotlin에서 속성을 어떻게 선언하고, 어떤 타입들이 있는지 알아보겠습니다.(출처: https://kotlinlang.org/docs/reference/properties.html) Kotlin 공식사이트에 나와있는 문서를 가져왔습니다. 속성은 var과 val 두가지로 선언할 수 있으며 var은 변수, val은 상수입니다.한마디로 var은 read와 write가 가능하지만 val은 read-only입니다. Java에서는 PropertyType propertyName순으로 와야 했지만Kotlin에서는 그 반대로 propertyName이 먼저오고 뒤에 :을 붙인 다음 PropertyType이 나옵니다.또한 속성값을 초기화 하거나 getter를 지정해 준다면 PropertyType은 생략할 수 있습..
우선 Kotlin을 사용하기 위해 JetBrains 홈페이지에 들어가서 IntelliJ IDEA를 설치해보겠습니다.Windows: https://www.jetbrains.com/idea/download/#section=windowsMac: https://www.jetbrains.com/idea/download/#section=mac Linux: https://www.jetbrains.com/idea/download/#section=linux 저는 맥북을 사용해서 macOS로 설치하는데 OS에 맞는 것을 다운받아주면 됩니다. 우리는 Kotlin만 사용하면 되니까 Community로 다운받아 줍니다. 다운받아서 설치하고 실행하면 아래와 같이 로딩화면이 나오고 아래와 같은 화면이 나오면 정상 동작입니다. 자 ..
Kotlin JetBrains사에서 2011년 7월에 처음 공개 되었고 2016년 2월 15일에 1.0버전으로 릴리즈 되었습니다.https://en.wikipedia.org/wiki/Kotlin_(programming_language) Kotlin 정적타입 프로그래밍 언어로 불리며 JVM위에서 동작하는 언어입니다. 그리고 2017년 5월 17일 Google I/O Kenoty에서 Google은 Kotlin을 안드로이드에 정식 지원하겠다고 발표를 했습니다. https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/https://youtu.be/EtQ8Le8-zyo?t=8m44s 물론 그 전에도 Android Studio에서 Kotli..
안드로이드 폰에서 현재 기기의 언어 설정값을 가져오는 방법은 아래와 같습니다. Locale.getDefault().getLanguage()); Locale.getDefault().getISO3Language()); Locale.getDefault().getCountry()); Locale.getDefault().getISO3Country()); Locale.getDefault().getDisplayCountry()); Locale.getDefault().getDisplayName()); Locale.getDefault().toString()); Locale.getDefault().getDisplayLanguage()); 자주 쓰이는 한국어, 영어, 중국어, 일본어 만 정리해보았습니다. 한국어 영어중국어일..
지난 포스팅에서 Firebase(파이어베이스)가 무엇인지 알아봤습니다. 이번 포스팅에서는 파이어베이스의 특 장점인 Realtime Database를 사용해서 간단한 채팅 앱을 구현해보겠습니다. 1. Realtime Database 참고 : 파이어베이스의 리얼타임 데이터베이스는 Android, iOS, Web에서 사용이 가능합니다! '리얼타임 데이터베이스'란 데이터 저장 공간인 데이터베이스에서 데이터를 실시간으로 주고받는 것을 의미합니다. Firebase의 데이터베이스는 개발자가 직접 구축하는게 아니라 Firebase에서 기본적으로 제공하는 폼을 사용합니다. 이 데이터베이스는 Android에서API 사용으로 몇줄의 소스만을 통해 실시간으로 앱 데이터를 저장 및 동기화를 해줍니다. 그렇기 때문에 서버관리에서..
1. OnMarkerClickListener 생성된 마커에 대한 이벤트 처리를 위해 OnMarkerClickListener를 사용합니다. OnMarkerClickListener는 인터페이스로 상속받는 곳에서onMarkerClick 메서드를 구현해야 합니다. onMarkerClick 메서드의 파라미터로는 Marker 객체를 받아오며 클릭된 Marker에 대한 객체정보입니다. 파라미터 Marker의 get-- 메서드를 통해 위치 정보, 타이틀 등 마커 생성 시 마커 옵션을 통해 설정된 정보를 할 수 있습니다. 1) OnMarkerClickListener 인터페이스 상속 2, 3) 리스너 지정 및 onMarkerClick 메서드 구현 출처 : http://mailmail.tistory.com/21
1. 마커 여러개 생성하기 마커를 '안드로이드 구글 맵 - 2' 포스팅에서 마커를 생성하는 방법을 다뤘습니다. 하지만 마커를 한개만 사용하는 일은 지극히 드뭅니다. 마커를 여러개 생성하는 방법은 여러가지가 있습니다. 우선 마커를 생성하는 과정은 다음과 같습니다. 'MarkerOptions 설정(위도 경도 타이틀 등) -> GoogleMap 객체에 addMarker 메서드를 통해 추가하기' 그리고 위와 같은 과정을 반복하면 여러개의 마커가 생성됩니다. 위와 같은 과정을 반복하는 방법은 반복문을 통한 'MarkerOptions 설정과 addMarker 메서드 사용이 있겠습니다. 소스코드는 이전 포스팅을 통해 onMapReady 메서드 사용 법을 알고 있다는 가정하에 필요한 부분만 올리겠습니다. @Overri..