본문 바로가기

IT

[안드로이드] html fromHtml deprecated 안녕하세요 남갯입니다. "러브 유어셀프 인 서울, 서울 투 부산" 와 같이 네이버 api를 이용하다보니 html 코드가 나오게 됩니다. 사실 저희가 원하는건 러브 유어셀프 인 서울, 서울 투 부산 과 같은 텍스트인데 그걸 바꾸기 위해선 아래와같이 fromHtml을 이용해서 변경해줘야 합니다. 오늘은 html fromHtml이 N버전부터 deprecated 되어서 구글링하다가 나오다가 나온소스를 코틀린소스로 바꿔보았습니다. String을 extension을 통해 변경하였습니다. fun String.htmlToString() : String { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { return Html.fromHtml(this, Html.FROM_H..
[알고리즘] 값을 만족하는 두수 찾기 알고리즘 안녕하세요 남갯입니다 두수 찾는 알고리즘입니다. input에 arrayInt값이 들어오고 num을 수신하면 두개의 수를 더해서 num 값이 되는 index를 모두 출력하는 알고리즘입니다. ex)input [2,7,13,15] num = 9 ==> "0,1" //input = [2,7,13,15] num = 9 => input[0],input[1] //arrayOf(2, 4, 6, 7, 10, 13, 15), 6 = 0,1 //arrayOf(2, 4, 6, 7, 10, 13, 15), 14 = 1,4 //arrayOf(2, 4, 6, 7, 10, 13, 15), 18 = not found return null //arrayOf(2, 3, 4, 6, 7, 10, 13, 15), 13) = 1,5 and 3,..
[알고리즘] FizzBuzz 알고리즘 안녕하세요 남갯입니다. 오늘은 FizzBuzz 알고리즘에 대해 알아보도록 하겠습니다. ex) input = 15 3의 배수는 Fizz, 5의 배수는 Fuzz, 3,5의 배수는 FizzBuzz output = ["1" "2" "Fizz" "4" "5" "Buzz" "Fizz" "7" "8" "Fizz" "Buzz" "11" "Fizz" "13" "14" "FizzBuzz"]... fun FizzBuzz(input: Int): Array { val array: Array = arrayOfNulls(input) for (i in 0 until input) { val index = i + 1 if ((index % 3 == 0) and (index % 5 == 0)) { array[i] = "FizzBuzz" ..
[RxJava] flowable Flowable과 Observable의 차이? 공식문서에서는 해당링크의 상황에서 맞춰 Observable과 Flowable을 구분해서 사용하라고 합니다.여기서 가장 중점적으로 봐야할것은 데이터의 처리 갯수 뿐아니라 데이터의 발행속도가 구독자가 처리하는 속도보다 현저하게 빠른경우즉 공급이 수요보다 현저히 빠른경우 OOME(out of memory Exeception) 과 같은 에러가 발생할 수 있는데 BackPreesure라는 배압에 대한 이슈를 Buffer를 이용하여 대응하는 기능을 제공합니다. 해당 내용은 아래의 링크를 통해 확인가능합니다. * 어떻게 나눠서 사용해야할까? https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#which-ty..
[안드로이드] ripple effect 적용하기 안녕하세요 남갯입니다. 오늘은 Ripple Effect라는 것에대해 포스팅 해보려고합니다. Ripple Effect는 처음 안드로이드 5.0에서 소개되었습니다. 각자 버튼에 적용하는 default의 방법으로는 아래와같이 적용하고 난 후에 android:background="?android:attr/selectableItemBackground" min sdk api가 21이 넘는다면 아래와같이 적용함으로써 가능합니다. 21이상이 되면서 혹은 원하는형태로 custom을 하기위해서는 drawable에 ripple_custom xml을 만듭니다. 위와 같이 커스텀을해서 위쪽에는 클릭을 적용후에 동작할 클릭을 적용하면 됩니다.아래에는 클릭을 안했을대의 기본적인 색상을 적용하면 됩니다. 그후 버튼에 아래와 같이 적..
[RxJava,RxKotlin] RxJava , Observable 알아보기 안녕하세요 남갯입니다 개인적으로 RxJava,RxKotlin 에 대해 정리해보려고합니다. ReactiveX란 ?ReactiveX 는 비동기 프로그래밍 그리고 Observable 시퀀스를 이용해 이벤트를 처리하기위한 라이브러리입니다.즉 위 말을 간단하게 말해보면 비동기적 데이터흐름을 처리하는 프로그래밍입니다. Rxjava는 2013년 2월 넷플리스 기술블로그에서 처음 소개되었고 REST기반의 서비스를 개선하고자 프로젝트를 진행했고 .net환경의 rx를 JVM에 포팅하여 만들어지게 되었습니다. Observable이란? ReactiveX는 옵저버패턴을 사용하기 때문에 rx의 Observer는 Observable을 구독하게 됩니다. Observable이 emit하는 하나 혹은 연속된 item 에 대해 Obser..
[안드로이드] 안드로이드 스튜디오 LiveTemplate 사용하기 안녕하세요 남갯입니다 오늘은 Live Template 을 포스팅 해보려고 합니다. 이런 기능을 드로이드나이츠에 가서 아는사람이 배워서 알려줬는데 저도 사용해보려고 했습니다. File - Setting 을 누릅니다. Setting부분에 Live Template 라고 검색하면 나옵니다. 기본적으로 안드로이드 스튜디오가 만들어놓은 Toast가 있습니다. 실제로 Toast를 적어보면 위처럼 나옵니다. 실제 코드가 나와요 실제로 추가하고 싶은 내용이 있으시면 일단 오른쪽위에 +버튼을 클릭합니다 그후 Live Template을 클릭하면 하나가 생성되게 되는데 Abbrevlation 에는 직접 입력할때 쓸 용어Description에는 옆에 나오는 설명Template text는 실제 생성할 코드 생성을 하고나서 왼쪽아..
[드로이드나이츠] 뱅크샐러드 코틀린던전 2, 3번문제 안녕하세요 남갯입니다 오늘은 드로이드나이츠에서 나온 뱅크샐러드의 코틀린던전 2번 3번문제를 풀어보려합니다. 2번문제는 되게 어려웠습니다.실제로 확인하는데는 엄청 어려웠습니다. listof일단 listof에 대해 확인해보면listof는 emptyList 혹은 elements.asList를 통해 결과값을 반환합니다. List타입을 반환하게 되죠asListemptyList위의 두 반환타입을 보면 List타입을 반환하게 되는데 즉 List라는 immutable한 타입을 반환하게 됩니다. arratListOf반환타입이 ArrayList를 반환하게 됩니다. List, MutableList , ArrayList 살펴보기ListMutableListArratListList는 Collection을 상속받았고 Mutable..