분류 전체보기
-
안드로이드 ViewModel (Android Developer 설명 참고)안드로이드 2021. 7. 27. 15:01
개요 ViewModel은 UI컨트롤러와 데이터를 분리하여 화면 회전과 같이 구성이 변경할때도 데이터가 유지되도록 설계되었다. UI컨트롤러에서 데이터를 관리하게 되어있었는데 그렇게 되면 UI구성이 변경되면(화면 회면과 같은 동작) UI컨트롤러가 제거됐다가 다시 생성된다. 그렇게 되면 UI컨트롤러에 저장된 일시적인 UI 관련 데이터가 삭제된다. 이럴 경우 onSavedInstanceState() Method를 사용해서 onCreate()에서 데이터를 복원할 수 있다. 그런데 비트맵이나 리스트 데이터와 같은 대용량의 데이터에는 부적합하다. 그리고 비동기 호출 처리를 해야한다면, 비동기 호출이 자주 발생하게 되어 이미 수행된 호출을 다시 호출해야하므로 리소스가 낭비된다. 그래서 ViewModel을 통해 UI컨트..
-
[xcode] Info.plist에서 Light Mode, Dark Mode 설정iOS 2021. 7. 26. 15:12
개요 Info.plist에서 light, dark 모드를 강제로 설정할 수 있다. 모드 설정 Info.plist 파일 열기 Info.plist파일을 우클릭 -> Open As -> Source Code 로 파일을 연다. 아래의 항목을 추가한다. UIUserInterfaceStyle Light Dark 모드로 변경하고 싶으면 값을 Light에서 Dark로 변경하면 된다. UIUserInterfaceStyle Dark 마치며 앱 개발 시 다크모드를 고려하지 않은 앱을 개발할 수 있다. 하지만 기본 설정으로는 시스템에서 설정한 모드를 따라가기 때문에 BackgroundColor를 System Background Color로 설정한 경우 모드에 따라 색상이 바뀌게 되어 디자인이 이상하게 보일 수 있다. 이렇게 ..
-
안드로이드 WebView API Level 30에서 Deprecated 된 내용안드로이드 2021. 7. 26. 13:39
개요 안드로이드에서 API Level 30부터 Deprecated된 함수들이 있다. 어떤 Method들이 Deprecated 됐는지 알아보자. Deprecated 된 Method setAllowFileAccessFromFileURLs Deprecated setAllowUniversalAccessFromFileURLs Deprecated setAppCacheEnabled Deprecated setAppCachePath Deprecated Deprecated 된 Method 설명 및 처리 방법 setAllowFileAccessFromFileURLs 설명 : 다른 file:// URL로 접근을 허용할지 여부를 설정한다. Depreacted 처리 방법 : androidx.webkit.WebViewAssetLoa..
-
[WebView] setAppCacheEnabled Deprecated안드로이드 2021. 7. 26. 11:35
AppCache 지원 종료 AppCache가 Chrome 85버전부터 지원되지 않아 새 버전의 Chromium 기반의 브라우저에서 AppCache를 사용할 수 없게되었다. 안드로이드 WebView도 Chromium기반이기 때문에 AppCache관련 API가 API Level 30부터 Deprecated됐다. 기존에 설정된 AppCache 설정은 신규 버전의 Chromium에서는 동작하지 않는다. AppCache를 사용하고 있다면 ServiceWorker를 사용하도록 마이그레이션 할 수 있다. 마이그래이션 ServiceWorker로 Migration하는 것은 아래의 페이지를 참조하면된다. https://web.dev/appcache-removal/#migration-strategies Preparing f..
-
[SwiftUI] TextView의 텍스트 속성 변경iOS 2021. 7. 23. 13:52
개요 TextView의 텍스트 속성을 변경한다. Inspector로 변경하는 방법과 코딩으로 변경하는 방법을 볼 수 있다. Inspector로 변경하기 1. Preview 화면에서 바로 변경 Command를 누른 상태로 변경하고자 하는 TextView를 클릭하면 메뉴가 나타난다. Show SwiftUI Inspector를 클릭하면 속성을 변경하는 창이 나타난다. Font를 Title로 변경하고, Color를 Green으로 변경하여 크기와 색상을 변경한다. Weight를 변경하면 두께를 설정할 수 있다. 2. Inspector 화면에서 변경 Preview 화면의 TextView를 클릭하거나, 코드상의 TextView에 Cursor를 위치시키면 우측에 Inspector 창이 나타난다. Font를 Title로..
-
[SwiftUI] SwiftUI 프로젝트 생성iOS 2021. 7. 23. 11:06
개요 SwiftUI를 사용하는 프로젝트를 생성하고 첫 화면을 띄워본다. 프로젝트 생성 1. xcode를 실행하여 Create a new Xcode project를 클릭한다. 2. iOS의 App을 선택한 후 Next를 클릭한다. 3. Product Name, Organization Identifier를 적어주고 Interface를 SwiftUI, Life Cycle을 SwiftUI App으로 선택해준후 Next를 클릭하여 프로젝트가 생성될 디렉토리를 선택한 후 Create 버튼을 클릭하여 프로젝트를 생성해준다. 생성된 파일 확인 1. [Product Name]App.swift SwiftUI App lifecycle을 따르는 App protocol을 준수한다. body에 정의되는 부분은 앱 실행 시 첫화면..
-
Hilt를 이용한 Dependency Injection(DI) - 2안드로이드 2021. 7. 8. 16:59
Android 클래스용으로 생성된 구성요소 @InstallIn에 사용하는 Component로 [안드로이드] - Hilt를 이용한 Dependency Injection(DI) - 1 포스팅에서 ActivityComponent를 사용하는 예제코드를 작성했다. Component에 대한 설명은 아래와 같다. Component 대상 및 기간 Hilt Component 인젝터 대상 생성 위치 제거 위치 ApplicationComponent Application Application#onCreate() Application#onDestroy() ActivityRetainedComponent ViewModel Activity#onCreate() Activity#onDestroy() ActivityComponent Ac..
-
Hilt를 이용한 Dependency Injection(DI) - 1안드로이드 2021. 7. 8. 15:41
Hilt 란 Hilt는 Android Dependency Injection 라이브러리이다. Android 클래스마다 Container를 제공하고 생명주기를 자동으로 관리함으로써 애플리케이션에서 DI를 사용하는 표준 방법을 제공한다. Dagger를 기반으로 제작되었다. Gradle 추가 루트의 build.gradle에 플러그인을 추가한다. buildscript { ... dependencies { ... classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha' } } app/build.gradle에 아래 종속 항목을 추가한다. ... apply plugin: 'kotlin-kapt' apply plugin: 'dagger.hilt.androi..