본문 바로가기

Android26

[Kotlin] 제네릭 코틀린에서 제네릭(Generic)은 여러 타입에 대해 유연하게 코드를 작성할 수 있도록 도와주는 기능입니다.제네릭은 클래스, 함수, 인터페이스에서 특정 타입에 종속되지 않고 다양한 타입을 처리할 수 있게 합니다.제네릭을 사용하면 코드 중복을 줄이고 타입 안전성을 높일 수 있습니다.제네릭의 기본 개념제네릭은 타입 매개변수(type parameter)를 사용하여 클래스나 함수를 정의할 때 특정 타입에 의존하지 않게 합니다.이 타입 매개변수는 코드가 실행되기 전에 실제 타입으로 대체됩니다.제네릭 클래스class Box(val item: T)fun main() {    val intBox = Box(1)      // T는 Int로 대체    val stringBox = Box("Hello") // T는 Str.. 2024. 11. 12.
[Android] jcenter 빌드 오류 기존에 잘 쓰던 코드가 있는데,이 코드를 다른 분이 새로 받아서 빌드하려니까 jcenter 이슈로 안되었다는 것이다. jcenter가 섭종하는 바람에,jcenter가 가지고 있던 옛날 라이브러리들을 다운받을 수 없는 것... 기존에 쓰던 캐시들을 어떻게 불러와서 써야하는 것인가... https://medium.com/@apfhdznzl/maven-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4-61aa03bbc514 Maven 시스템에 대한 이해라이브러리를 어디에서 가져오고 어떻게 공유할까?medium.com * 다른 팀원분이 해결- 우선 급한 대로 깃헙에 있는 라이브러리 코드를 다운받아서 모듈로 넣어버려서 해결하셨다... 2024. 11. 9.
[Android] 토스트 메세지 디스플레이 설정 대응 토스트 메세지를 보여주는데, 분명 글자를 dp로 설정했음에도 불구하고글자 크기를 키우거나, 화면 크기를 키우면 너비가 고정되지 않고 화면을 벗어나면서 이상하게 나타나는 것이다!기본 글씨 크기일 때는 멀쩡하게 보였었으니 말이다.ㅎ 그래서 너비를 wrap_content하고 margin을 주는 것이 아닌토스트의 너비를 전체 디스플레이 너비의 90%로 설정해서 지정해줬더니 해결할 수 있었다. 아래는 소스 코드이다. xml코드   커스텀 ErrorDialog 클래스package com.aos.floney.view.commonimport android.app.Dialogimport android.content.Con.. 2024. 11. 8.
[Android] 키보드 높이 알아내기 WindowInsets란?시스템 UI(상태바, 네비게이션바), IME(키보드), 커튼(스크린 상단 당겨서 나오는 알림창) 등이 차지하는 화면 공간에 대한 정보를 제공하는 객체입니다.화면에서 실제 앱이 사용할 수 있는 영역이 변경될 때마다 시스템이 새로운 WindowInsets 객체를 생성해서 전달합니다. 새로운 방식ViewCompat.setOnApplyWindowInsetsListener(view) { view, windowInsets -> // windowInsets.getInsets(Type.ime()) // → 키보드가 차지하는 공간의 크기를 반환 // (left, top, right, bottom 값을 가진 Insets 객체) val imeInsets = windowInset.. 2024. 11. 4.
[Android] 약간의 팁들 정리 A라는 함수가 여러 곳에서 불러진다. 특정 클릭 이벤트 하는 경우에 어떤 곳에서 A 함수 불려지는 지 알려면?- breakingPoint 걸어두고 디버깅 모드로 실행한다. 그러면 어디선가 걸리거나 안걸리거나.- 안 걸리는 경우는 그 함수에 실행되지 않는 경우이다.- 걸리면? 어디서 걸리는 지 알 수 있다! 로그 찾기가 어렵다. 분명 무선 디버깅 실행중인데, 로그가 안나온다.... ? - 지금 로드 중일 경우가 높다.  아마 옆 시간이 현재 시간이 아닌 예전 시간으로 나오는 중일 거다. - restart Logcat 을 눌러서 새로고침을 하도록 하자. - 그리고 저 위의 검색창을 통해 특정 경우만 로그를 확인할 수 있다. - 로그가 너무 많이 쌓였을 때는 clear Logcat을 사용하도록 하자. 2024. 10. 15.
[네이버 부스트캠프] 베이직 과정 START 2차 대상자로 선정되긴 했으나, 나는 코테 준비를 파이썬으로만 했기 때문에... Kotlin 코테 준비를 빡세게 해야한다.. 그러므로 Kotlin으로 베이직 과정을 꼭 들어야겠다고 생각했다. 아직 시작은 안했지만, 생각했던 것보다 정말 준비 많이해서 커리큘럼을 짜주신 듯 하다... 꼬옥 붙고 싶다 ... 베이직... 멤버십... 챌린지... 까지 갈래요... 그리고 번외로 아이비님의 강의도 이제는 들어야한다.. 알고보니까 인프런에서 코테 강의 들을 때 5000만번째 시청자라면서 50% 쿠폰을 주길래 상술인가 싶었다 ㅋㅋ 그래서 100만원 강의를 50만원에 샀는데 ㅋㅋㅋ 사놓고서 한 달 동안 안들음 진짜 들을게요.... 진짜 나 완전 럭키비키한 사람이었음... 50퍼 쿠폰 아무나 주는 게 아녔네.. 진짜 .. 2024. 6. 21.