본문 바로가기
728x90
반응형
SMALL

Android11

안드로이드 인앱 브라우저 적용 방법, Custom Tabs 적용: CustomTabIntent vs CustomTabsService 완벽 비교 및 예제 안드로이드 앱에서 웹 콘텐츠를 자연스럽게 보여주기 위한 강력한 도구인 Custom Tabs. 단순히 WebView를 사용하는 것보다 훨씬 향상된 사용자 경험을 제공하며, Chrome 브라우저의 기능을 앱 내에서 매끄럽게 통합할 수 있도록 해줍니다.Custom Tabs를 적용하는 방법은 크게 두 가지로 나뉩니다. 간단하게 웹 페이지를 여는 데 사용하는 CustomTabIntent와 더 깊은 수준의 제어 및 최적화를 가능하게 하는 CustomTabsService입니다.이번 글에서는 이 두 가지 방식의 차이점을 명확히 비교하고, 각각의 사용 예제를 통해 이해를 돕고자 합니다.1. CustomTabIntent: 간편하고 빠르게 웹 페이지 열기CustomTabIntent는 가장 기본적인 형태로 Custom Tab.. 2025. 4. 9.
LiveData removeObserver()가 동작하지 않는다면? 발생 가능한 원인과 해결 방법 총정리! Android 앱 개발에서 LiveData는 데이터 변경을 감지하고 UI를 업데이트하는 데 필수적인 도구입니다. 하지만 때로는 removeObserver()가 예상대로 동작하지 않아 개발자들을 당황하게 만들 수 있습니다. 이번 글에서는 removeObserver()가 제대로 동작하지 않는 것처럼 보이는 몇 가지 일반적인 시나리오와 해결 방법을 자세히 설명합니다.1. 잘못된 Observer 인스턴스 사용removeObserver()에 전달된 Observer 인스턴스가 observe()에 전달된 인스턴스와 정확히 동일하지 않으면 Observer가 제거되지 않습니다. 특히 익명 내부 클래스 또는 람다를 사용하여 Observer를 생성한 경우, 각 생성 시마다 새로운 인스턴스가 생성되므로 주의해야 합니다.해결 .. 2025. 3. 24.
ViewBinding 환경에서 부모 Fragment의 Arguments를 자식 Fragment에게 안전하게 전달하기 (완벽 가이드) Android 앱 개발에서 부모 Fragment 안에 자식 Fragment를 포함시키는 경우는 흔합니다. 이때 부모 Fragment의 arguments를 자식 Fragment에게 전달해야 하는 상황이 발생할 수 있습니다. 특히 ViewBinding을 사용하는 환경에서는 몇 가지 주의해야 할 점들이 있습니다. 이번 글에서는 ViewBinding 환경에서 부모 Fragment의 arguments를 자식 Fragment에게 안전하게 전달하는 다양한 방법들을 자세히 설명합니다.문제 상황: 자식 Fragment의 onViewCreated() 호출 시점ViewBinding 환경에서 부모 Fragment의 binding이 inflate될 때 자식 Fragment의 onViewCreated()가 호출될 수 있습니다. .. 2025. 3. 21.
Fragment 간 데이터 공유, ViewModel 하나면 충분해요! Android 앱 개발에서 Fragment 간에 데이터를 공유하고 상태를 유지하는 것은 흔한 일입니다.Singleton 형태의 공유 메모리 영역을 두고 관리하거나 Callback 리스너 등을 이용해 이벤트 또는 파라메터를 전달하여 공유할 수도 있지만 ViewModel을 기반으로 하면 이를 잘 활용할 수 있습니다.특히 MVVM 또는 클린 아키텍처 구조를 기반으로 개발할 때는 ViewModel을 활용하는 것이 효율적입니다. 이번 글에서는 자식 Fragment에서 변경된 데이터를 부모 Fragment에서 알 수 있도록 하는 구조와 ViewModelProvider의 Context를 활용한 Fragment 간 ViewModel 공유에 대해 자세히 설명합니다.1. MVVM/클린 아키텍처 기반 데이터 공유 구조핵심 .. 2025. 3. 21.
Android Navigation Component argType, 어떤 타입을 사용할 수 있을까? Android 앱 개발을 하다 보면 Fragment 간에 데이터를 전달해야 하는 경우가 많습니다. 이때 Android Navigation Component의 argType 속성을 사용하면 안전하고 효율적으로 데이터를 전달할 수 있습니다. 하지만 argType으로 어떤 타입을 사용할 수 있는지 궁금하셨던 분들을 위해 자세히 정리해 보았습니다.argType으로 사용할 수 있는 타입argType은 Fragment 간에 데이터를 전달할 때 인수의 타입을 지정하는 데 사용됩니다. 사용할 수 있는 타입은 크게 기본 타입, Parcelable 및 Serializable 타입, 배열 타입으로 나눌 수 있습니다.1. 기본 타입integer: 정수형long: long형float: float형boolean: boolean형.. 2025. 3. 21.
Jsoup Select 구문, try.jsoup.org에서 로또 번호로 테스트해보기 웹 스크래핑을 할 때 Jsoup의 select() 메서드는 CSS 선택자를 통해 원하는 HTML 요소를 쉽게 찾을 수 있도록 도와줍니다. 하지만 실제 웹 페이지에서 선택자를 적용하기 전에 테스트해보고 싶을 때가 있습니다. 이럴 때 유용한 사이트가 바로 try.jsoup.org입니다. 이 글에서는 try.jsoup.org를 활용하여 로또 당첨 번호를 추출하는 예시를 통해 Jsoup select() 구문 테스트 방법을 소개합니다.1. try.jsoup.org 소개try.jsoup.org는 웹 브라우저에서 Jsoup의 select() 메서드를 직접 테스트해볼 수 있는 웹사이트입니다. HTML 코드를 입력하거나 URL을 통해 가져와서, CSS 선택자를 적용하고 결과를 바로 확인할 수 있습니다.  2. 로또 당첨.. 2025. 3. 20.
728x90
반응형
LIST