분류 전체보기
-
[Kotlin] 코틀린 생성자(Constructor)코틀린 공부/코틀린 기초 2024. 5. 17. 11:31
코틀린의 생성자를 알기는 했지만 너무 간략하게만 알고 있어서 좀더 명확하게 공부할 필요성을 느껴 공부할 필요성이 있었다. 코틀린의 생성자(Constructor) 코틀린에서는 하나의 주생성자와 여러개의 부 생성자를 나눠서 사용할 수 있다. 1. 주생성자a) constructor 키워드 사용class Test1(private val name: String, val age: Int, val money: Int) b) constructor 키워드 사용class Test1 constructor(private val name: String, val age: Int, val money: Int) c) init()주생성자 같은 경우 생성자를 만들면서 수행하고 싶은 기능을 수행할 수 없다. 그래서 있는게 초기화 ..
-
안드로이드 Rxjava 사용하기 (1)안드로이드 학습/Android 기술면접 대비 코드 2024. 3. 6. 14:34
설명 : 1. [안드로이드 RxJava] 1. Rxjava, RxAndroid란?2. [안드로이드 RxJava] 2. Observable 클래스 Rxjava가 뭔지는 학습하기는 했지만 개념 이해로는 어떻게 사용하는지 잘 모르겠어서 직접 만들어 보면서 공부해보기로 했다. 기본적으로는 (1) Observer로 Observable에서 발행할 데이터를 어떻게 처리 해줄지 지정.(2) Observable로 무슨 데이터를 발행하고 발행 이후 어떤 것을 할지 지정(3) Observable로 Observer 구독 이정도의 과정이 있지 않을까 싶다. build.gradle (app)implementation("io.reactivex.rxjava3:rxandroid:3.0.2")implementation("io.re..
-
안드로이드 LiveData안드로이드 학습/Android 기술면접 대비 2024. 2. 6. 11:56
안드로이드 공부를 하면서 LiveData를 봤던 것이 JetPack과 아키텍처 패턴이다. LiveData는 JetPack의 AAC에 포함되어 있어서 봤었고, 아키텍처 패턴에서는 MVVM에서 LiveData와 DataBinding과 함께 유용하게 사용된다고 해서 봤었다. 그래서 한번 LiveData에 대해 공부해보았다. LiveData란 ? LiveData는 Android JetPack 중 observable data holder class. 일반적인 observable 과는 다르게, LiveData는 안드로이드의 4대 컴포넌트들에 포함되어 있는 Activity, Fragment, Service의 생명주기를 인지한다. LiveData는 활성상태(active)일때만 데이터를 업데이트(update)한다. 활성..
-
CameraX 사진 깨지는 현상회사 생활/기타 지식들 2024. 1. 25. 11:52
안드로이드 CameraX에서 ImageProxy를 bitmap으로 바꾸는 과정에서 오류가 발생했다. CameraX의 버전이 1.3.0 이상이라면 ImageProxy.toBitmap()을 사용하면 될것이지만 그 이하 버전은 해당 메소드를 지원되지 않는다. 하지만 CameraX는 1.3.0 compileSdkVersion이 34 이상이여야 한다고 한다. Dependency 'androidx.camera:camera-extensions:1.3.0' requires 'compileSdkVersion' to be set to 34 or higher. Compilation target for module ':app' is 'android-33' 물론 추후 compileSdkVersion나 targetSdk를 34로..
-
Anr 예제안드로이드 학습/Android 기술면접 대비 코드 2024. 1. 23. 10:48
Anr 설명 : https://from-android-to-server.tistory.com/41 github : https://github.com/tvroom88/AIO_Android_Kotlin_Support_Material/tree/main/AnrTest/AnrTest 안드로이드 개발자 페이지에서 보면 다음 조건 중 하나가 발생하면 앱과 관련한 ANR이 트리거됩니다. 입력 전달 타임아웃: 앱이 입력 이벤트(예: 키 누름 또는 화면 터치)에 5초 이내에 응답하지 않은 경우 서비스 실행: 앱에서 선언한 서비스가 몇 초 이내에 Service.onCreate() 및 Service.onStartCommand()/Service.onBind() 실행을 완료할 수 없는 경우 Service.startForegrou..
-
안드로이드 프로세스 및 어플리케이션 생명주기안드로이드 학습/Android 기술면접 대비 2024. 1. 18. 16:30
안드로이드에서 앱을 다운받고 실행되는 과정에서 여러 앱이 동시에 사용되거나 캐시 및 데이터가 추척되는 이유 등으로 메모리가 부족할 수 있다. 안드로이드에서는 메모리가 부족할 경우 기존에 실행되고 있던 앱을 종료시키는 과정을 거쳐 메모리를 확보한다. 앱을 종료시키는 기준은 각 앱별로 프로세스의 중요도를 기준으로 중요도가 낮은순부터 앱을 종료시킨다. 그래서 안드로이드 프로세스에 대해 공부할 필요성이 있다. 프로세스의 4가지 유형1. Foreground process (포그라운드 프로세스)사용자가 현재 하고 있는 작업에 필요한 프로세스입니다. 다음 조건 중 하나라도 해당하면 프로세스가 포그라운드에 있는 것으로 간주됩니다. 현재 유저가 사용하고 있는 process이며, 가장 높은 우선순위를 가진다. 화면 상단..
-
Activity and Activity LifeCycle (생명주기)안드로이드 학습/Android 기술면접 대비 2024. 1. 8. 11:38
참고 : https://developer.android.com/guide/components/activities/activity-lifecycle?hl=ko 사용자가 앱을 켜고, 앱을 벗어난 이후 다시 돌아오거나 떠는 앱을 종료하는 다양한 활동의 과정에서 Activity 인스턴스는 라이플 사이클에서 다양한 상태를 거친다. Activity 클래스는 활동이 상태 변화를 알아차릴 수 있는 여러 콜백을 제공합니다. 예를 들어 스트리밍 동영상 플레이어를 빌드하는 경우, 사용자가 다른 앱으로 전환할 때 동영상을 일시중지하고 네트워크 연결을 종료할 수 있습니다.사용자가 돌아오면 네트워크를 다시 연결하고, 사용자가 일시중지한 지점에서 동영상을 다시 시작하도록 허용합니다.즉, 각 콜백은 상태 변화에 적합한 특정 작업을..
-
Activity와 Fragment의 차이점 및 사용 이유안드로이드 학습/Android 기술면접 대비 2024. 1. 8. 09:03
1. Activity : Activity는 Android의 4대 Component중 하나로 사용자에게 실제로 보이며, 사용자와 상호 작용하는 화면을 말한다. Activity는 하나 이상의 View또는 ViewGroup을 반드시 가지고 있어야 하며, 한 번에 하나의 Activity만 Disaplay할 수 있다.더보기ViewGroup 과 View 란???? ViewGroup :ViewGroup은 n개의 View를 포함할 수 있는 Container이다.우리가 자주 쓰는 레이아웃이 ViewGroup에 해당한다. ex) LinearLayout, ConstraintLayout ...View :안드로이드에서 사용자가 눈으로 보는 모든 것은 View이다. 화면의 기본적인 컴포넌트라고 얘기 할 수 있다. TextView..
-
Rxjava안드로이드 학습/Android 기술면접 대비 2024. 1. 5. 17:13
RxJava란? RxJava란 ReactiveX(Reactive Extension)를 자바로 구현한 라이브러리다. RxJava는이벤트 처리 및 비동기 처리의 구성에 최적화된 라이브러리이다. RxJava는 반응형 프로그래밍(Reative Programming)을 하기 위해 만들어졌습니다. 그럼 반응형 프로그래밍은 무엇일까부터 시작해야겠습니다. ReactiveX: ReactiveX는 관찰 가능한(Observable) 스트림을 사용하는 비동기 프로그래밍을 위한 API이다. 반응형 프로그래밍이란? 반응형 프로그래밍(Reactive Programming)이란 주변 환경과 끊임없이 상호 작용을 하는 프로그래밍을 의미한다. 환경이 변하면 이벤트를 받아 동작하도록 만드는 프로그래밍 기법을 말한다. 반응형 프로그램은 외..
-
오버라이딩과 오버로딩안드로이드 학습/자바 2024. 1. 4. 11:19
오버라이딩(Overriding) 부모 클래스의 메서드를 하위 클래스가 재정의 하는 것이다. 메서드의 이름은 물론 파라메터의 갯수나 타입도 동일해야 하며, 주로 부모 클래스의 동작을 상속받은 자식 클래스에서 변경하기 위해 사용된다. class Animal { public void makeSound() { System.out.println("동물이 소리를 낸다"); } } class Dog extends Animal { // 부모 클래스의 makeSound 메서드를 오버라이딩 @Override public void makeSound() { System.out.println("멍멍"); } } class Cat extends Animal { // 부모 클래스의 makeSound 메서드를 오버라이딩 @Overr..