안드로이드/CS5 [CS] Jetpack compose에서 XML 사용하기 🧩 상황 이해Jetpack Compose는 현대적인 선언적 UI 방식이고, XML은 기존의 전통적인 방식입니다. 때로는 다음과 같은 이유로 XML에서 정의된 UI를 그대로 사용할 필요가 있습니다.기존 XML 기반 뷰를 완전히 교체하지 않고 일부만 Compose로 전환할 때.XML에서 정의된 커스텀 뷰(예: Canvas를 사용하는 복잡한 UI)를 재사용해야 할 때.특정 뷰를 제공하는 외부 라이브러리를 사용하는 경우 (예: MapView, WebView).🛠️ AndroidView란?AndroidView는 Compose에서 XML 기반의 View를 통합할 수 있게 해주는 API 이며, 사용하면 기존의 View를 Compose 코드 안에서 마치 Compose 컴포넌트처럼 사용할 수 있습니다.📚 사용법여.. 2024. 11. 24. 상속과 구성의 차이 1. 상속 (Inheritance)상속은 하나의 클래스가 다른 클래스를 확장(extend)하여 그 클래스의 속성과 메서드를 물려받는 것을 의미합니다. 상속을 통해 코드 재사용성을 높일 수 있으며, 부모 클래스의 기능을 자식 클래스에서 재정의(Override)할 수 있습니다.코드 예시:// 부모 클래스open class Animal(val name: String) { open fun sound() { println("Animal sound") }}// 자식 클래스class Dog(name: String) : Animal(name) { override fun sound() { println("Woof Woof") }}fun main() { val dog =.. 2024. 9. 1. SOLID 원칙 SOLID 원칙이란? : 객체지향 프로그래밍에서 좋은 S/W 설계를 위한 5가지 기본 원칙목적 : S/W 모듈이 더 유지보수 가능하고 확장 가능하도록 돕는 데 목적 Single Responsibility Principle (SRP, 단일 책임 원칙) 클래스는 하나의 책임만 가져야 하며, 클래스를 변경하는 이유는 오직 하나여야 한다는 원칙 Open/Closed Principle (OCP, 개방-폐쇄 원칙) 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다는 원칙입니다. 즉, 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있어야 합니다.Liskov Substitution Principle (LSP, 리스코프 치환 원칙)프로그램에서 어떤 타입의 객체를 그 타입의 하위 타입 객체로 교체해도 프로그램.. 2024. 8. 1. 직렬화/역직렬화 + Parcel 이란? 1. 직렬화/역직렬화 란?ㅂ 직렬화란?정의 : 메모리 내에 존재하는 정보(객체)를 보다 쉽게 전송 및 전달하기 위해 byte 코드 형태로 나열하는것사용이유객체들을 통으로 파일로 저장하거나, 전송하고 싶을 때 사용액티비티간의 데이터를 전달할때 인텐트를 사용하고 이 인텐트에 전달할 데이터를 추가 시 사용역직렬화란?정의 : byte로 변환된 Data를 Object형태로 변환하는 것 Parcel이란?정의 : Parcel 클래스는 직렬화시 Container역할을 하는 클래스로 말 그대로 꾸러미 사용 이유 : 안드로이드에서는 프로세스 간 통신(IPC) 시 Bundle 클래스를 사용하는데, Bundle의 형태는 Map으로 value에 간단한 정보인 프라이머리 타입(Int, String)은 가능하지만, obejct.. 2024. 5. 15. 이전 1 2 다음