728x90
반응형
- [ pinslog/Log.daily() ][Kotlin] 마지막 요소를 제거한 리스트를 얻고 싶을 때2023-10-10 22:06:16코틀린의 컬렉션 중 리스트에서 요소를 삭제하는 방법은 다양하다. 이 중에서 나는 마지막 요소를 제거한 리스트를 얻고 싶었다. 이 때 dropLast(n)를 사용하면 된다. 인자로 넘겨주는 n개 만큼 요소가 삭제된 리스트가 다시 반환됨을 확인할 수 있다. val list = mutableListOf(1, 2, 3, 4, 5) val newList = list.dropLast(2) println(newList) // [1, 2, 3]
- [ Do what you want/WW ]WearWeather : 기온별 옷차림을 확인해보세요!2023-10-09 13:26:26올해 목표 중 하나였던 ’두번째 앱 출시하기‘를 목전에 두고 있다. 첫번째 앱을 출시하고 약 1년 만이다. Pair Play : 이름과 맥주소로 손쉽게 페어링하세요!올해 목표 중 하나였던 ‘앱 개발 후 출시하기’를 이루었다. 원래 출시하려던 앱은 아니었지만 (그건 아직도 개발중…눈물) 만든 이유도 좋고, 나름 쓰임새도 좋아 뿌듯하다. 지금부터 홍보를(?www.pinslog.com Pair Play - Google Play 앱손쉬운 블루투스 페어링play.google.com첫번째 앱 Pair Play 와 마찬가지로 대단한 기능을 가진 앱은 아니지만 이번 WW의 경우는 개발을 배우기 전부터? 안드로이드 개발을 배울때부터? 만들어보고 싶었던 거라 감회가 새롭다. 그도 그럴 것이, 실제로 이 프로젝트는 안드로이..
- [ pinslog/Log.daily() ][Android] Dialog 외부 영역 터치 가능하도록 설정하기2023-10-08 12:26:51안드로이드 다이얼로그를 생성하면 기본적으로 다이얼로그 바깥 영역은 터치할 수 없다. 이를 가능하게 하려면 다음과 같이 플래그를 설정/제거해주면 된다. window?.addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL) // 바깥 배경이 불투명해지는 것을 막음 window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND) 결과 바깥 영역 터치를 가능하게 하고, 배경이 투명해지도록 설정했다. 터치가 가능한지 확인해보기 위해 버튼에 리스너를 달아 클릭 시 토스트가 뜨도록 해봤다. 버튼이 클릭 되는 것을 확인할 수 있다. 공부하며 작성된 글이라 잘못된 정보가 있을 수 있습니다. 말씀해주시면 수정하겠습니다. 감사합..
- [ pinslog ]요즘에는2023-10-07 11:54:24두번째 회사에 다닌지도 벌써 7개월이 다되어 간다. 요즘에는 사정상 개발보다는 외적인 일을 활발하게 하고 있는데...(각종 인증) 그래서일까 코드 볼 기회가 생기면 그렇게 소중할 수가 없다. ㅋㅋ 벌써 개발 일을 한지도 1년을 훌쩍 넘기고...2년을 바라보고 있는데 한번씩 뒤를 돌아보자면 똑바른 길을 걸어왔는가에 대한 의문이 들곤한다. 어떤 개발자가 그렇지 않겠냐만은 많은 고민이 드는 것도 사실이고... 이 고민은 나에 대한 의심에서부터 비롯된 것인가..하는 근본적인 고뇌도 빼놓을 수 없다. 암튼 이래저래 고민과 걱정이 많은 시기다. 그럴수록 내가 할 수 있는 것들에 집중해야한다고 생각하기 때문에! 나는 또 내가 할 수 있는 것들을 행하려고 한다. 그렇게 사이드 프로젝트 하나를 마무리 지어서, 플레이스토..
- [ Android/Android ][Android] Jetpack Compose 프로젝트 생성 + MainActivity 살펴보기2023-10-06 23:14:55기존 프로젝트와의 차이 build.gradle (:app) android { ... buildFeatures { compose true } } 폴더 구조 앱을 만들기 위한 리소스 (컬러, 테마 등) 가 res/values 가 아니라 패키지/ui 에 존재한다. 리소스에 접근하기 위해 xml에 접근하는 것이 아니라 kotlin 코드로 리소스를 생성하고, 접근할 수 있음을 의미한다. MainActivity xml 방식 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_m..
- [ Android/Android ][Android] Thread와 Coroutine2023-10-05 22:40:08val list = mutableListOf("포도", "메론", "딸기", "사과", "바나나") CoroutineScope(Dispatchers.Main).launch { list.forEach { item -> if (item == "딸기") { list.remove(item) Log.d(TAG, "1. ${list}") } } } CoroutineScope(Dispatchers.IO).launch { list.forEach { item -> if (item == "바나나") { list.remove(item) list.add("자두") Log.d(TAG, "2. ${list}") } } } /* 2023-04-03 21:19:20.540 2. [포도, 메론, 딸기, 사과, 자두] 2023-04-0..
728x90
반응형