[Kotlin, Android Studio] 삽질 방지 오류 해결 방법 모음
2022. 3. 14. 16:15
Develop/Kotlin
socket.io-client를 이용해서 소켓 클라이언트 기능을 구현할때, 네트워크 설정이 정상임에도 connect()가 동작하지 않는 경우가 있다. 또는 직접 만든 백엔드 서버와 통신시 데이터 전송이나 수신이 안되는 경우. http를 이용하는 경우. manifest의 application태그 안에 android:usesCleartextTraffic="true"를 추가해주면 된다. 안드로이드 에뮬레이터에서 localhost를 접근하고 싶을 때. 127.0.0.1가 아닌 10.0.0.2로 접근해야한다. 커스텀 위젯을 만들 때 radius가 있는 레이아웃을 원하는 경우, radius라는 xml을 만들어서 background로 적용하게되는데 이때 resources.getDrawable이 deprecated가 ..
[Android] Application 개발 및 분석에 유용한 웹사이트 모음
2022. 2. 28. 16:47
Develop/Android
안드로이드 디벨로퍼 안드로이드 개발자를 위해 구글에서 제공하는 공식 문서. 안드로이드 라이브러리에 대한 전반적인 내용, 구현에 대한 기본적인 예제들을 제공. 업데이트된 소식들도 찾아볼 수 있음. 각 문서들은 영어로 먼저 업데이트 되기 때문에 영어로 설정해서 보는 것이 좋다. Android 개발자 | Android Developers Android 앱 개발자를 위한 공식 사이트입니다. Android SDK 도구 및 API 문서를 제공합니다. developer.android.com 코틀린 언어 공식 문서 코틀린에 대한 공식문서. 코루틴 같이 코틀린에서 사용할 수 있는 feature들에 대해 안드로이드 공식문서 보다 자세한 설명이 되어있다. Get started with Kotlin | Kotlin kotli..
[Kotlin Coroutines] 코루틴 완전 정복 #1 개요, 코루틴의 특징
2021. 11. 26. 22:36
Develop/Kotlin
Coroutines(코루틴)은 코틀린의 강력한 기능중의 하나로 많은 앱들에서 사용되고 있는 핵심 기술중 하나다. 얼마나 멋진 기능이길래 많은 사랑을 받고 있는지 한번 깊게 알아보자. 🤷♂️ 왜 이름이 코루틴일까? 나 또한 그랬지만 종종 코틀린의 '코' 자를 따서 코루틴인줄 착각하는 경우가 있다. 스펠링을 보면 알겠지만 'Ko'가 아닌 'Co'다. 흔히 협동 모드를 'Co-op'이라고 하듯 협동, 협업의 의미인 'Co'를 사용한다. 직역하면 협동하는 루틴들인데, 아직은 와닿지 않으니 조금씩 알아가보자. 여담으로 코루틴은 1958년 멜빈 콘웨이가 용어를 만들었고 어셈블리 프로그래밍에 적용했다고 한다. (위키백과) (굉장히 오래된 개념이다..) 공식문서에 소개된 코루틴의 특징들에 대해 알아보자. 🐱🏍 가볍..
[Kotlin] 안드로이드 개발자 기술 면접 정리
2021. 11. 14. 18:44
Develop/Kotlin
Array와 List의 차이 Array의 경우 고전적인 의미의 배열이며, 고정된 사이즈의 연속된 메모리 공간에 할당된다. 따라서 인덱스를 통해 값을 변경하는 것이 가능하며(mutable), 사이즈를 변경하는 것이 불가능 하다. List의 경우 크게 List와 MutableList가 있는데, ArrayList또는 LinkedList의 구현체다. Default로는 ArrayList의 구현체를 따른다. 이름에서도 볼 수 있듯이 List는 Immutable이며 MutableList는 Mutable이다. 성능이 중요시 되는 부분을 제외하고는 List를 쓰는것이 바람직 하다. 참고 : https://stackoverflow.com/a/36263748 Context 란? Context는 Application의 글로벌..
Kotlin 공식문서 둘러보기 #1 코틀린의 장점, 기본 문법
2021. 9. 6. 15:36
Develop/Kotlin
Android 개발에 있어 Kotlin의 장점 코드가 짧으며 가독성이 좋다 다른 사람들이 이해하기 쉽도록 코드를 작성할 때 시간이 단축됩니다. 2011년 Kotlin이 공개된 이후 언어자체와 생태계가 함께 지속적으로 개발되고있다 예를들어 안드로이드 스튜디오가 있습니다. Android Jetpack과 다른 라이브러리들을 지원한다 coroutines, extension functions, lambdas. named parameters 등을 지원합니다 Java와 호환이 된다. 따라서 기존 어플리케이션을 모두 Kotlin으로 바꿀 필요가 없습니다 multiplatform 개발이 가능하다. Kotlin을 이용해서 안드로이드 뿐만아니라 IOS개발, backend, web 어플리케이션을 제작할 수 있습니다 안전한 코..
[번역] LiveData를 이용한 snakbar, 네비게이션 등 이벤트 처리
2021. 8. 2. 14:24
Develop/Kotlin
의역 및 오역이 있을 수 있습니다. 원본 글: https://medium.com/androiddevelopers/livedata-with-snackbar-navigation-and-other-events-the-singleliveevent-case-ac2622673150 서론 View(Activity 또는 Fragment)와 ViewModel이 데이터를 주고받기 위한 방식으로 LiveData를 주로 이용합니다. View에서 LiveData를 subscribe하여 LiveData에 변화가 일어나면 반응합니다. 이런 방식은 화면에 지속적으로 표시되는 데이터들에서는 잘 동작합니다. 하지만 Snackbar 메세지나 네비게이션 이벤트, dialog 표시 등과 같이 한번만 발생되는 이벤트들도 있습니다. 이러한 이벤..