본문 바로가기

2024 활동/Kotlin·Android7

[Android] HeaderBar 가려짐 해결 실습을 진행할 때마다 미묘하게 거슬리는 부분이 있었다. 바로 헤더바...문제실제로 xml로 디자인한 것과 다르게 헤더바가 애매하게 가린다.더 자세히 관찰해보자.  구글링을 해봐도 나오지를 않고,GPT에게 물어봐도 썩 만족스러운 답변을 내놓지 않았다.   xml의 수많은 옵션을 넣고 빼고 해도 도저히 해결이 안된다. 문제는 해더바에 있는 듯했다. 시스템 설정까지 찾아보다가.. 발견한 ViewCompat...class WebView : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() s.. 2024. 5. 29.
[Android] Intent로 ImageView 전달하기 안드로이드에서 개발을 하다 보면, Activity간에 데이터를 주고받아야 할 때가 많다. 그 중에서도 이미지를 하나의 액티비티에서 다른 액티비티로 전달하는 것을 배웠다. Intent를 사용하여 이미지 데이터를 ImageView로 전달하는 방법을 단계별로 정리해보겠다.  (1) Intent Activity 한눈에 보기구현할 동작은 다음과 같다. - Activity Intent1 -> Activity Intent2로 이미지를 보낸다. - Intent1에서 TextView를 클릭하면 Intent2의 ImageView로 uri가 전달된다.  URI(Uniform Resource Indentifier)요?: 자원을 나타내는 고유한 주소를 뜻한다. Intent 데이터 전달시 uri 형태여야 함.Indentifier.. 2024. 5. 28.
[Android Studio] 빌드 오류 해결 intent-filter 처음 프로젝트를 만들고, AVD를 만들어 실행하려고 하니까 에러가 발생했다.Error running 'MainActivity'The activity must be exported or contain an intent-filter 해결방법app > manifests > AndroidManifest.xml 다음의 부분을 수정하면 된다.  부분을 다음의 코드로 바꿔준다.      + 라이브러리와 SDK Android API의 버전 오류도 날 수 있다. 그러면 오류를 잘 읽어봐서 버전을 맞춰주면 된다. 2024. 5. 8.
[Kotlin] 인터페이스 이해하기 언어가 지향하고 있는 패러다임을 배우는 것도 중요하다. 객체지향 프로그래밍에서 중요한 세 가지클래스, 상속, 인터페이스 개인적으로 인터페이스는 정말 활용하기 좋은 것 같다. 잘 쓰면 정말 유용하기에 자알 써보고 싶다..ㅎㅎ 인터페이스 Interface인터페이스는 추상 메소드를 포함할 수 있는 참조 타입으로, 인터페이스 자체로는 객체를 생성할 수 없지만, 다른 클래스가 인터페이스를 구현(Implement)함으로써 메소드의 실제 구현을 제공할 수 있다. 규약(프로토콜)인터페이스에 비어 있는 것을 채워주면 해당 인터페이스로 봐주겠다.== abstract를 구현하면 해당 Type으로 봐주겠다.인터페이스를 보고 구현된 클래스의 객체와 의사소통할 수 있다. - 의사소통 -> 사용할 수 있다. - 이것을 가능하게 만.. 2024. 4. 28.
[Kotlin] 클래스 심화 : 상속, 오버라이딩, 형변환, 스마트 캐스트 클래스를 응용하여 할 수 있는 다양한 기술들을 정리했다. 1. 상속 클래스의 꽃은 상속이지.. 이번 시간에는 코틀린 클래스의 상속에 대해 정리해보겠다. 튜터님이 말씀하셨다. ⚠️ 상속은 공통점 찾기가 아니다! 상속은 원래 기능을 받고, 스페셜 기능을 추가하고 싶을 때 쓰는 것... 슈퍼클래스/ 서브클래스, 부모클래스/자식클래스 서브클래스는 슈퍼클래스의 생성을 책임져야 한다. 슈퍼클래스 사용하고 있는 동일한 이름의 멤버를 만들 수 없다. 상속은 여러 번 할 수 있다. 다중상속은 불가능하다. ❓ 왜 코틀린에서 다중상속을 할 수 없나요? : 다이아몬드 문제 상속이 복잡성과 모호성을 야기함. -> 코드의 유지보수를 어렵게 만듦 - 코틀린은 대신 인터페이스를 통해 다중 상속과 유사한 기능을 제공함. ❓ 다중상속과.. 2024. 4. 18.
[Kotlin] Null Safety 예제로 쉽게 이해하자! 코틀린은 언어 차원에서 null 안전성(null safety)을 지원한다. 자바 등 다른 언어에서 흔히 발생하는 Null Pointer Exception을 방지하도록 설계되어, 개발자는 더욱 안전하고 신뢰성 있는 코드를 작성할 수 있다. 🤔 궁금해요!배우다 보니 해당 기능이 궁금해져서 GPT에 물어봤다. 책이나 강의에서의 답변도 찾아보면서 정리해 보겠다. 왜 코틀린에는 null safety가 있나요? : 주로 자바와 같은 언어에서 흔히 발생하는 Null Pointer Exception(NPE) 문제를 해결하기 위함. 이런 예외는 종종 애플리케이션의 충돌을 초래하며, 디버깅이 까다롭다. (런타임시에 null의 가능성이 있으므로) 코틀린 외에도 null safety를 지원하는 언어가 있나요? : 네! 1. .. 2024. 4. 18.
[Kotlin] Backing Field가 뭔가요? 코틀린 기초 공부를 시작했다. 코틀린은 자바 플랫폼 위에서 돌아가는 언어이기 때문에 객체 지향 패러다임을 가지고 있다. 객체 지향에서 가장 중요한 건 '클래스'이다. 코틀린 클래스를 공부하며 'Backing Field'라는 것을 알게되었다. Kotlin의 Backing Field 이해하기 Kotlin에서는 'Backing Field'를 제공하여 개발자들에게 훨씬 유연한 속성 관리 방법을 제공해준다고 한다. 이 글에서는 Backing Field가 무엇인지, 그리고 왜 필요한지를 알아보고, 실제 사용 예제도 알아보자. Backing Field란 무엇인가? Backing Field는 프로퍼티에 대한 접근을 감시하고, 제어하는 숨겨진 필드를 말한다. 속성은 기본적으로 getter, setter를 갖는다. 하지만.. 2024. 4. 12.