본문 바로가기

분류 전체보기39

Android - Context 완전 정복 Activity를 사용하거나 로컬DB나 리소스를 사용할때 등 언제 어디서든 등장하는 이 Context. Context를 잘못 사용하게 되면 메모리 누수와 같은 문제를 일으킬 수 있다. 따라서 Context의 정확한 개념을 알고 사용하는 것이 중요하다. 오늘은 Context가 하는 역할이 무엇인지 알아보자.Android의 ContextContext는 앱 또는 액티비티의 현재 상태 정보를 얻기 위해 사용한다.앱은 ApplicationContext, 액티비티는 ActivityContext에 대응된다.ApplicationContextApplicationContext는 싱글톤이다. Application의 생명주기와 연결이 되고 Activity의 범위를 넘어 Context를 전달해야하는 경우 사용된다.Activit.. 2024. 7. 2.
Android - XML파일 없이 화면 그리는 법 처음 Android공부를 시작한 작년 학기초 때가 생각난다. XML코드를 보고 어찌나 흉측스러운지.. ‘android:’라는 중복되는 코드. 속성이 카멜케이스가 아니다. xmlns:OOO 부터 시작하는 이상한 URL. XML이라는 틀딱 포맷. 참을수가 없었다.XML없이 코드로 화면을 짜보자. 선언형이라는 점을 제외하고는 네이밍을 포함하여 거의 유사한 모습이다. 약간 iOS의 UIKit에서 코드로 View를 짜는 느낌이 들었다.View코드를 작성하고 마지막으로 setContentView안에 layout을 넣어주면 끝이다.class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { .. 2024. 7. 1.
Android - Fragment에서 requireContext, requireActivity, requireOOO 이게 뭘까? Fragment에 requi….이라고 치면 require어쩌구~ 관련된 메서드들이 왕창 나오게 된다.사실 requireContext, requireActivity이런 메서드들의 구현부를 보면 별 거 없다.context, activity같은 게 있다면 NotNull타입으로 정상 반환하고 없다면 IllegalStateException을 발생 시킨다. @NonNullpublic final FragmentActivity requireActivity() { FragmentActivity activity = getActivity(); if (activity == null) { throw new IllegalStateException("Fragment " + this + " not attach.. 2024. 6. 30.
Android - Fragment는 도대체 왜 사용하는 걸까? 요즘 깃헙에서 Android 프로젝트를 보다보면 Jetpack Compose를 사용하는 게 아닌 이상 전부 View가 Fragment로 도배되어 있다.문득 든 생각이 도대체 Activity를 나두고 Fragment를 왜 쓰는 걸까?Activity의 문제점Activity안에 코드가 길어져 유지보수하기 어렵다는 의견도 있지만 나는 아래 사진의 문제점에 중점을 두고 싶다.Android디바이스는 휴대폰, 태블릿 등으로 다양하다. 이건 경우 Activity로 View를 그리기에는 한계가 있다.첫 번째 그림의 경우 Activity하나면 있어도 View를 다 그릴 수 있다. 하지만 두 번째 그림의 경우 화면이 작기 때문에 View가 두 개로 쪼개져야 한다.Activity와 Fragment 차이점Activity는 컴포.. 2024. 6. 29.