Android/Kotlin in android

    Button의 backgroundTint, 글자색 바꾸기 (style, selector 사용)

    안드로이드에서, Button의 backgroundTint, 글자색 바꾸기 (style, selector 사용) * 필자가 글쓰기 편하도록 음씀체로 작성되었습니다. 파일 만들때는 color리소스에 color추가 -> selector -> style -> Button에 참조거는 순으로 되겠지만, Button -> style -> selector순으로 블로깅했음, 중간에 빨간불 나는거 보고 파일 생성하면 됨. 필자는 파일명을 좀 길게 지었고, 이 게시물은 친절한 설명은 아니고, 이미 해봤던 사람들 코드 참고하라고 올렸음. 이게 어려운거는 아닌데 귀찮고, 구글링하게 되면 끝도없이 스택오버플로랑, 웹페이지 보게 되니까 그냥 아무 블로그나 잡아서 만드는게 나은 듯 함. chatgpt한테 만들어 달라니까 이거는 잘..

    테마 보면서 머티리얼 디자인에 대해 궁금했던것들을

    chatgpt에게 물어보았다. Q. 안드로이브 뷰 시스템에서, Theme.MaterialComponents.DayNight.DarkActionBar를 테마로 받아쓰는게 실무에서 머티리얼 디자인을하는 것과 관련이 있는건가? 구글이 제시하는 머티리얼 디자인하고도 관련이 있나? =============================== Q. 구글이 제시한 머티리얼 디자인에 버전이 있는거로 아는데, 저 테마가 어느 버전하고 관련이 있을까? =============================== Q. 그러면, 실무에서 머티리얼 디자인을 한다면, 저 테마만 사용하는게 아니라, 구글이 제시해둔 가이드라인으로 직접 더 만들어내겠네?

    안드로이드 버튼 android:src와 app:srcCompat 두 속성의 차이점 (with. chatgpt)

    chatgpt에게 물어보았다. ===================================== Q. 내 질문 -> 안드로이드 개발에서 버튼에 이미지를 추가할때, android:src와 app:srcCompat 두 속성의 차이점이 뭐야? ===================================== A. chatgpt -> android:src와 app:srcCompat는 안드로이드 앱 개발에서 이미지를 버튼 또는 다른 뷰에 추가할 때 사용되는 속성입니다. 이 두 가지의 주요 차이점은 다음과 같습니다: 1. 호환성: android:src: 이 속성은 안드로이드 API 레벨 4부터 도입되었습니다. 이는 안드로이드 기본 이미지 뷰에 사용되는 속성이며, 벡터 이미지를 지원하지 않습니다. app:srcC..

    android android:gravity와 android:layout_gravity의 차이

    뷰xmml에서 저 옵션을 자꾸 까먹어서, 한번 적어두려고 한다. android:layout_gravity="center" -> 뷰그룹 내에, 뷰가 있을때, 뷰에 넣는 옵션 뷰를 뷰그룹의 어디로 위치시킬까? 를 생각하면 되고 android:gravity="center" -> 뷰/뷰그룹 내부의 컨텐츠를 어디에 위치시킬까? 를 생각하면 된다. button에 설정한 layout_gravity에 의해서, cardview의 center에 위치하게 되었다. button에 설정한 gravity에 의해서, botton내부의 글자가 end | bottom으로 이동함. 그냥 글자그대로 직관적으로 생각해서, gravity는 내 컨텐츠만 생각하면 되겠고, layout_gravity는 레이아웃에 대해서 내가 어디로 갈까를 생각하..

    RecyclerView를 연습해보았다 (공부한 자료 & 회고)

    이번에 리싸이클러뷰 공부를 다시 해봤다. 옛날 코드랩자료가 내용이 좋은거 같아서 해봤는데, 소스가 오래된거라 빌드에 문제가 있는부분이 있었다. 가능한 옛날 소스로 공부를 하지 않도록 해야겠다. 기존에 제대로 몰랐던 부분을 제대로 알게 되는 부분도 있었다. 리싸이클러뷰를 단순히 만드는거는 쉽지만, 여러 기능을 추가하게 되면 복잡해진다. 그리고 리싸이클러뷰 구현하는 부분은 좀 쉬웠는데, 데이터바인딩, 네이게이션도 제대로 모르니 전체적으로 마냥 쉽지는 않았다. 아래는 이번에 공부했던 자료들 링크와 그 링크에서 배운점을 붉은색으로 강조해서 표시해두었다. 공부자료들 ======================================== // 안드 공식홈 - docs - UI Guide (Create dynami..

    코루틴coroutine &플로우flow 학습 했던거 회고

    이번에 미루고 미뤄왔던 코루틴을 공부해봤다. 이번에 공부했던 자료는 아래와 같다. - 안드로이드 공식문서 - 코틀린홈에서 공식문서 - 안드로이드 코드랩 2개 코루틴 코드랩은 생각보다 별로였다. 하지만 코드랩에서 코루틴이 main-safe를 쉽게 만들 수 있다는 것을 일깨워준다. 예전에 봤던 컴포즈 basic코드랩에 있는 코루틴 코드랩이, 코루틴 입문하기에 가장 쉽고 적합한거 같다. 코루틴 처음하면, 아래 링크에서 코루틴 관련 내용을 학습하면 좋을 듯 하다. https://developer.android.com/courses/pathways/android-basics-compose-unit-5-pathway-1 인터넷에서 데이터 가져오기 | Android Basics Compose - Get data fr..

    뷰 바인딩 (View Binding)

    findViewById 를 안 쓰고, xml에 써둔 id에 대해서 binding class가 따로 만들어지는 방법이라고 한다. 예제로, new Project - Basic Activity를 만들어보면, 이미 view binding이 세팅되어 있다. build.gradle (app level)에 아래 옵션이 들어가 있으면 된다. android { ... buildFeatures { viewBinding true } ... } // MainActivity.kt를 보면 private lateinit var binding: ActivityMainBinding 이 변수가 선언되어 있는데, ActivityMainBinding이 자동으로 만들어지는 듯하다. 이 클래스의 이름은 xml의 이름을 activity_main..

    힐트 hilt 공부 방법, 용어 메모, ide에서 아이콘설명 (개인공부)

    내가 힐트 공부한 방식과 코드랩 진행하면서 봤던 용어를 정리해두려고 한다. 코드랩까지 해보니, 가장 기본적 내용만 본거지만, 어렵다 할 내용은 아닌듯하다. 하지만 이걸 학습하는데 굉장히 무섭게 다가왔는데 용어가 낯설어서 그런것 같다. 힐트랑, 대거 라이브러리 이름자체는 굉장히 잘 지은것 같은데,, 실제 써보려하니 뭔가 파일이 쪼개져서 그런지 계속 헷갈리고 용어도 모르겠다. 이게 다.. 구글 선생님들도 헷갈리니 제대로 못가르치는거라고 생각하고 위안을 삼아야겠다. 계속해서 써보면 익숙해질듯하다. // 힐트 공부를 어떻게 했나? -> 구글공식문서 읽고, 구글 코드랩 진행 1) 구글문서 링크 (구글 문서는 한국어로 보면 옛날 자료일수도 있으므로, English로 두고 한국어와 비교해봐야한다.) https://d..