하루에 0.01%라도 성장하자
반응형

Develop/Android 71

Kotlin ) 코틀린 기초 Part#5 - null? null!

null 코틀린의 가장큰 변화이자 Swift와 많이 유사한 null에 대한 제어이다. ( Swift에서는 옵셔널이라고 불림 ) 기본적으로 코틀린은 null을 허용하지 않는다. 따라서 모든 변수와 상수는 선언과 동시에 초기화를 해주어야 한다. 하지만 null값이 필요할 때도 있기 때문에 이를 이해하여 null을 사용할 수 있도록 했다. val a : String // 에러 발생. 초기화 안함 val a : String = null // 에러 발생. null값을 넣어줄 수 없음. val a : String? = null // 정상. ?를 이용하면 null을 허용한다는 의미가 됨. 기본적으로 int, long, double 같은 자료형은 null이 들어갈 수 없으나 클래스형 변수는 null이 가능하다. lat..

Develop/Android 2019.06.12

Kotlin ) 코틀린 기초 Part#4 - 인터페이스 ( interface )

인터페이스 추상 메서드를 포함할 수 있으며 abstract 키워드를 생략할 수 있다. 선언 interface Runnable{ fun func() } // 이미 구현된 메소드를 포함할 수 있다. interface Runnable{ fun run() fun ruuuuuuuuun() = println("가즈아ㅏㅏㅏ"); } 구현 override 키워드를 메소드 앞에 추가한다. class Person : Runnable { override run(){ println("나는 달리고 있습니드아ㅏㅏㅏㅏ"); } } 상속과 인터페이스 상속과 인터페이스를 함께 구현할 수 있다. 상속은 한번에 하나밖에 안되지만 인터페이스는 콤마(,)를 이용해 동시에 구현이 가능하다. open class Person{ // 상속 가능한 ..

Develop/Android 2019.06.12

Kotlin ) 코틀린 기초 Part#3 - 클래스 ( CLASS )

클래스 ( class ) 선언 // 클래스 선언 class SampleClass{ } // 인스턴스 생성 val sampleClass = SampleClass(); // new 키워드가 없음. 생성자 class Student(var name : String){ // 빈 생성자 } class Student{ constructor(name : String){ // constructor를 이용해서 생성자 코드 작성 println(name) } } class Student(name : String){ init{ // init을 이용해서도 가능함. 클래스를 인스턴스화할 때 가장 먼저 실행되는 코드. println(name) } } 프로퍼티 클래스의 속성을 사용할 때는 멤버에 직접 접근하고 이를 프로퍼티라고 한다...

Develop/Android 2019.06.12

Kotlin ) 코틀린 기초 Part#2 - 배열 ( Array ), 제어문 ( if, for, when )

배열 생성 val arr : Array = arrayOf(1,2,3,4,5); val arr2 = arrayOf(1,2,3,4,5); // Int 생략 arr[0] = 10; // (10,2,3,4,5); if if를 식처럼 쓸 수 있다. val number = if(a > b ) a else b when swtich 문처럼 사용하는 경우 val x = 1 when(x){ 1 -> println("x == 1") // 값 하나 2, 3 -> println("x == 2 or x == 3") // 여러 값이 콤마로 in 4..7 -> println("4~7") // in 연산자로 범위 지정 !in 8..10 -> println("8~10이 아닌경우 ) else ->{ println("x는 1이나 2가 아님..

Develop/Android 2019.06.12

Kotlin ) 코틀린 기초 Part#1 - 변수, 상수, 자료형

코틀린을 배우면서 가장 기초적인 부분을 정리한다. 변수, 상수 변수 var로 선언 var a : Int = 10; var a = 10 둘다 가능 자료형을 선언하지 않아도 형추론을 지원하기 때문에 괜찮음 상수 val로 선언 val b : Int = 20; 상수이기 때문에 초기화 후 변경 못함. java의 final과 같음 함수 선언 func printTest(str : String) : Unit{ print(str); } printTest("TEST"); Unit java 의 void와 같음. 반환값이 없는 경우 생략 가능 func printTest(str : String) { print(str); } printTest("TEST"); 자료형 숫자 var a = 10; // Int var a = 10L; ..

Develop/Android 2019.06.11

안드로이드 공부 및 포스팅 계획

요즘 회사에서 맡은 프로젝트가 끝나 조금 한가하여 공부 및 포스팅 계획을 짜본다. 사실 나는 개발자들에게는 회사차원에서 이런 시간도 지원을 해줘야 한다고 생각한다. 물론 의미없게 시간을 보내는 사람들도 있겠지만, 충분히 그들에게 생각할 수 있는 시간을 준다는 건 회사차원에서 조그마한 투자랄까. ( 이 의견은 내가 회사입장이 아니어서 이렇게 말할 수 있는지도 모른다.. 하하 ㅋㅋㅋ ) 사실... 공부한걸 포스팅 하는거니 .. 걍 공부계획이라 해도 무방하다. 심오한 안드로이드(Android) 안드로이드는 사실 어려운 부분이 많다. 라이프 사이클도 처음에는 굉장히 어렵고 명시적 표현이니 뭐니 하면서 제대로 동작 안하는 것처럼? 보이는 경우도 있고, 이 모든걸 경험을 통해 알게 된다는 점이 가장 힘든것 같기도 ..

Develop/Android 2019.06.10

Android ) Android Studio Logcat Font Change

안드로이드에 Logcat이라고 앱이 실행중인 에뮬레이터 or 폰의 로그를 찍어준다. 뭐 여러 플러그인이나 별도의 exe 파일로 로그를 보는 방법도 있으나, 나는 안드로이드 스튜디오에서 제공해주는 Logcat을 사용중이고 이를 윈도우 형태로 빼서 듀얼 모니터로 보는걸 좋아한다.(?) 안드로이드 기술을 구글링 하는 도중에 로그캣의 색을 변경하는 포스팅을 발견하여 적용해 보았다. 원래는 적용하고 그만이었는데, 내가 본 포스팅보다 현재 안드로이드 스튜디오의 버전이 올라가 메뉴가 변경된게 조금 아쉬웠다. (조금이지만. ) 그래서 최신(?) 버전으로 포스팅 한다. Android Studio 3.3 Version 안드로이드 스튜디오 File -> Setting -> Editor -> Color Scheme -> An..

Develop/Android 2019.05.31

Android 변수의 종류

변수는 코딩을 하면서 가장 많이 사용된다. 하지만 내가 사용하고 있는 변수의 명칭과, 해당 변수의 생성되는 시기와 사라지는 시기를 정확하게 알지 못한다고 생각했다. ( 사실 그동안 그걸 알아야하는 난이도 있는 개발을 못했다는게 맞을지도.. ) 그래서 정리겸 글을 남긴다. 변수 종류 개념 인스턴스 변수 클래스의 인스턴스를 생성할 때 만들어진다. 객체를 여러개 생성하면 각각의 저장공간이 만들어진다. static 변수 변수 앞에 static을 붙여서 사용한다. 객체를 생성하지 않아도 사용할 수 있다. 변수를 공유하고 있기 때문에, 다른객체에서 이 변수값을 변경하면 변경된 값으로 계속 유지 된다. 지역 변수 메소드, 생성자 안에서 사용되며 그 안에서만 사용이 가능하고 메소드의 실행이 끝나면 자동으로 사라진다. ..

Develop/Android 2019.05.02

Drawable과 mipmap의 차이

안드로이드를 개발하면서 drawable 과 mipmap의 차이를 알고 싶어 졌다. 이유는 개발 하는 단말기가 Note8로 4.0xxxhdpi를 갖는다. 그런데 이 해상도에 맞는 이미지를 넣으려고 봤더니 drawable에는 xxhdpi까지 밖에 폴더가 없는상황... 혹시나 해서 xxxhdpi 폴더를 만들어 주고 이미지를 넣어 보았으나 실제로 Note8은 xxhdpi에 있는 이미지를 인식 하였다. mipmap에는 xxxhdpi 폴더가 있었다. 그래서 mipmap에 xxxhdpi 이미지를 넣고 작업을 할까 했는데, 생각해 보니 이미지 자원은 지금까지 drawable에 넣어 사용했고 mipmap에는 넣어 사용하지 않았는데 이렇게 해도 될까? 라는 생각이 들었다. 그래서 찾아보았다.. - http://points..

Develop/Android 2019.04.30

Notification Skill #1

Notification에 대한 내용을 찾다보면 대부분 2016년 이전 내용이 많다. 그 이유는 아마 그때 Notification에 대해서 핫하게 기술 연구(?)가 이루어졌기 때문이 아닐까 하지만 현재는 Firebase라는 좋은 프레임워크가 있기 때문에 잘 사용 안해서 관련하여 더이상 연구문서가 없을 수도 있고, 아니면 이미 알만한 사람은 다 알기 때문에 굳이 다시 작성하지 않는 이유일까... 이전 데이터를 찾아서 그대로 가이드를 따라 진행하면 에러도 발생하지 않고 알람도 발생하지 않는다. ( 즉 정상 동작 하지 않는다. ) 이유는, NotificationCompat.Builder를 만들때 이전 버전에서는 context만 넣어주면 되었다. 하지만 그 이상의 버전은 channelId라는 것을 넣어주어야 동작..

Develop/Android 2019.04.30
반응형