•App/안드로이드 with Kotlin
[안드로이드&코틀린] 안드로이드 스레드#2, 스레드간 통신구현, Handler, Message
[ 지난 게시글 ] [안드로이드&코틀린] 안드로이드 스레드#1, 스레드란? 스레드 구성 및 작동 순서, message queue, looper 쓰레드가 뭔지 얼추 알게 됐는데, 어떤 동작으로 돌아가는지는 몰랐다. 근데 앱개발에 있어서 여러 쓰레드로 비동기적으로 소스를 다루는 것은 필수라는 것을 어렴풋이 알고 있었기 때문에, 조 devforyou.tistory.com 지난 게시글에 이어서, 이번에는 스레드를 만들어보는 예제를 따라해보고 어떻게 쓰레드간 메시지를 주고받는지에 대해서 알아보도록 하겠다. 또한 Runnable는 어떤 특징이 있는지도 짚어보도록 하겠다. # 시계만들기 따라하는 예제코드의 최종 목표는 다음과 같다. TextView에 시간을 1초마다 리셋하여 현재시간을 불러오게하여 시계처럼 보이게 ..
[안드로이드&코틀린] 안드로이드 스레드#1, 스레드란? 스레드 구성 및 작동 순서, message queue, looper, handler
쓰레드가 뭔지 얼추 알게 됐는데, 어떤 동작으로 돌아가는지는 몰랐다. 근데 앱개발에 있어서 여러 쓰레드로 비동기적으로 소스를 다루는 것은 필수라는 것을 어렴풋이 알고 있었기 때문에, 조금 더 자세히 알아 보게 됐다. 사실은 아주 복잡한데, 지금 나의 수준에 있어서 또 내가 이해한 수준으로만 간단하게 정리하는 시간을 가지도록 하겠다. # 왜 사용해야할까? : 스레드의 필요성 ## 사용자가 불만족할 경우 앱을 종료 할 수 있습니다. 놀랍게도 안드로이드 공식문서에 이렇게 적혀있다... 앱을 만들어서 돈을 벌어야하는데, 사용자가 불만족해 앱을 종료시키면.. 힘들게 만든게 의미가 없어질 것 이다. ## 유저는 왜 불만족 할까 ? 그렇다면 사용자는 왜 불만을 가지게 될까? 오래걸리는 작업을 수행해야할 경우를 예를 ..
[안드로이드&코틀린] 잠금 메모장 만들기, font지정하는법, 액션바 없애기, AlertDialog, SharedPreferences에서 commit apply 차이, AppCompatButton
오늘도 어김없이 열심히 코딩했다. 점점 코딩속도도 빨라지는거 같았다. 코드가 별다른게 없어서 그런거 일지도 모른다. 이번에는 처음 다뤄보는 개념이 등장했는데, 본문에서 정리하도록 하겠다. 아마 이것도 간단하게만 정리해놓고 따로 포스팅으로 다뤄야 할거 같다. # 결과물 미리보기 금고를 생각해보면 된다. 3개의 다이얼( 0 ~ 9 ) 까지 돌려서 버튼을 누르면 비밀번호를 비교한다. 검정버튼을 누르면 비밀번호를 바꾸는 모드이다. 그럴경우 저 버튼 색이 노란색으로 바뀌게 되고 다시 버튼을 누르면 다이얼의 번호로 번호가 다시 바뀐다. 그리고 들어가지는 메모장에서는 자유롭게 메모를 작성하고 창을 나갔다가 다시 들어와도 메모가 저장된다. 3번째 GIF는 EditText에 쓰인 글이 바로바로 저장이 되게 한 것이 아님..
[안드로이드&코틀린] 로또번호 추첨기, by lazy, ContextCompat로 background수정, numberPicker, visibility
안드로이드공부하는게 생각보다 재밌다. 코틀린이라는 언어자체도 생각보다 매력적이다. 그래서 하루하루 공부해나가는게 아직은 재밌다. 물론 쉬운 부분만 하고 있어서 그런거 일수도 있다. 제일 좋은점은 정형화된 방식에 대해서 체계적으로 배우고 있다는 생각이 들어서 좋다. 예컨대 코드를 작성하는 스타일이라던가, 함수를 선언하는 방식이라던가 말이다. 이번에는 로또번호 추첨기를 만들었다. 사실 거의 모든 예제에 등장하는 것 같다. 내가 python을 1학년때 처음 배울때와 JS를 공부할때도 물론이다. 내가 교육봉사하면서 멘티들한테 JS알려줄때도 로또번호 만드는거 알려준거 같기는 하다. 자료형 + 알고리즘이 적절히 조화를 이루고 있어서 그런가 괜찮은 예제인거 같았다. # 결과물 미리보기 ## 구현 기능 TimePick..
[안드로이드&코틀린] 코틀린 람다함수 완벽분석, 안드로이드에서 람다함수의 활용 및 고차함수, setOnClickListenr
저번 포스팅에서 코틀린에서의 람다함수에 대해서 따로 뺴서 정리하기로 했었다. 내용이 워낙 많기도 하고 조금 중요한 개념이기때문에 따로 빼서 정리해야지 나중에 글을 볼때도 덜 헷갈리거 같다. 많은 구글링을 하기도 했고 공식문서도 드나들었지만 내가 원하는 방향으로써의 람다함수를 설명해주신 유튜버가 있었고 그분의 영상을 참고하여 정리하도록 하겠다. 참고한 유튜브 영상은 맨마지막 하단에 따로 링크를 달도록 하겠다. 내가 이해한 개념을 정리하기 때문에 오개념일 수 도 있다. 내가 그것을 인지하게 되면 후딱와서 수정하도록 하겠다. # 일반함수와 람다 함수 비교 람다 함수는 익명함수라는 뜻이다. 즉 1회성으로 사용되는 함수이거나, 함수자체에 이름이 없다는 것이다. 모든 언어에는 함수를 선언하는 방식이 정해져있다. 사..
[안드로이드&코틀린] BMI계산기 만들면서 알게된 것에 대하여, empty null blank차이점 등등
안드로이드를 공부하기 위해 관련된 강의를 수강중에 있다. 강의 중 아주 매우 간단한 BMI 계산기를 만들었다. 완성하면서 의문점이나 사용했던 방법에 대해서, 새로 알게된 사실에 대해서 정리하는 게시글이 될 것 같다. # 최종 결과물 결과물은 아주매우 간단하다. 첫번째 액티비티에서 신장과 체중을 입력하면 두번째 액티비티를 인탠트로 연결하고 BMI계산식과 그 결과를 알려준다. # 알게 된 것 & 공부가 필요한 것 코틀린에서 사용되는 람다식(함수) -> 따로 정리 empty와 blank와 null의 차이점 🔥 람다식에서 특정함수를 골라 return 시키는 법 -> 따로 정리 Log의 사용법 🔥 apply{...} 🔥 when{...} 🔥 LinearLayout - gravity 속성 🔥 editText에서 가..