전체 글
-
[안드로이드] 화면 켜짐 상태 유지 및 해제안드로이드 2023. 3. 8. 10:54
개요 안드로이드에서 앱 개발 시 화면을 켜짐 상태로 유지해야하는 경우가 있다. 그럴 경우 아래와 같이 flag를 추가 및 제거해준다. 켜짐 상태 유지 아래와 같이 window.addFlags에 WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 을 추가해준다. class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) } } 또 다른 ..
-
[안드로이드] Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8안드로이드 2023. 2. 13. 16:18
개요 안드로이드에서 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8 에러가 발생하였다. 원인 원인은 gradle의 버전을 올리면서 Java 11을 써야한다는 것이다. 해결방법 Gradle의 Java 버전을 11로 변경해줘야한다. 변경하는 방법은 아래와 같다. 1. Preferences를 눌러 Preferences 창을 띄운다. 2. Build, Execution, Deplyment > Build Tools > Gradle을 누른다 3. Gradle JDK에서 Java 11로 변경을 해준다. 4. Apply 또는 OK를 눌러 적용을 한다. 마치며 위와 같은 방법으로 JDK의 버전을 변경할 수 있다. 앞으로 Gra..
-
[Swift] Status Bar Background Color 변경iOS 2022. 9. 22. 22:30
개요 status bar의 배경 색상을 변경해보자 Status Bar 배경색 변경 iOS 13부터는 windowScene의 statusBarManager을 이용해서 status bar의 배경색을 변경할 수 있다. 색상을 변경하는 코드는 아래와 같다. func changeStatusBarBgColor(bgColor: UIColor?) { if #available(iOS 13.0, *) { let window = UIApplication.shared.windows.first let statusBarManager = window?.windowScene?.statusBarManager let statusBarView = UIView(frame: statusBarManager?.statusBarFrame ?? ...
-
[안드로이드] Compose architectural layering안드로이드 2021. 9. 16. 02:57
개요 이번에는 Compose의 아키텍처 레이어링에 대해 알아보자. 내용은 안드로이드 개발자 사이트를 기반으로 작성하였다. Jetpack Compose 아키텍처 레이어링 Jetpack Compose는 모놀리식 프로젝트가 아닌 완전한 스택을 만들기 위한 여러가지 모듈의 조합으로 만들어졌다. Jetpack Compose를 구성하는 모듈을 이해한다면 아래와 같은 기능을 개발하는데 용이하다. 적절한 수준의 추상화를 사용하여 앱 및 라이브러리를 빌드 할 수 있다. 보다 세부적인 제어나 맞춤 설정을 위한 낮은 수준으로 드롭다운 할 수 있는 경우를 파악할 수 있다. 종속 항목을 최소화 할 수 있다. 레이어 각 레이어는 하위 수준 기반으로 상위수준의 구성요소를 만들기 위해 기능을 결합한다. 각 레이어는 하위 레이어의 공..
-
[Android] Compose Side Effect안드로이드 2021. 8. 20. 17:09
개요 Compose에서 Side Effect를 어떻게 사용하는지 알아보자 Side Effect란 Composable 외부에서 발생하는 앱의 상태 변경사항을 말한다. Effect란 UI에 방출하지 않으며 Composition이 완료될 때 Side Effect를 실행하는 Composable 함수이다. State 및 Effect 사용 사례 Composable은 Side Effect에 Free 해야한다. 앱의 상태 변경이 필요할 때 Composable의 생명주기를 알고 있는 제어되는 환경으로 부터 호출해야 한다. Compose에서 가능성 있는 Effect들을 열어두기 때문에 쉽게 과하게 사용할 수있다. 그래서 UI와 관련되고 단방향 데이터 플로우를 중단시켜서는 안된다. LaunchedEffect Launched..
-
[Swift] 문자의 ASCII 코드 구하는 방법iOS 2021. 8. 11. 18:08
개요 개발을 하다보면 ASCII 코드를 구하는 기능을 개발해야할 경우가 있다. 오늘은 문자의 ASCII 코드를 구하는 방법을 알아보자. ASCII 코드 구하는 방법 문자의 ASCII 코드를 구하는 코드는 아래와 같다. func getASCII(char: String) -> UInt8? { return Character(char).asciiValue } 위와 같이 간단하게 ASCII코드를 구할 수 있다. 위 함수에서 파라메터로 문자가 여러개 들어간 문자열을 넘기면 안되고 문자 한개만 있는 문자열을 넘겨야한다. 위 함수를 호출한 예를 보면 아래와 같다. let result1 = StringUtil.getASCII(char: "A") let result2 = StringUtil.getASCII(char: "B..
-
[Android] 앱 실행 시 빈 화면 보이는 현상 방지안드로이드 2021. 8. 10. 15:50
개요 앱을 개발하면서 앱을 실행하면 빈 화면(하얀화면 또는 까만화면)이 보였다 ApplicationManifest에서 설정된 첫 Activity가 보이는 현상이 있다. 이 현상을 없애고 첫 화면이 바로 보이도록 하는 방법을 알아보자. 원인 안드로이드는 Activity의 theme에 따라 view가 완전이 불려지기 전에 preview window를 보여준다. 그렇기 때문에 Light 또는 Dark 테마에 따라 흰 화면 또는 까만 화면이 잠시 보여지게 되는 것이다. 해결 방법 AppTheme의 Style에 아무 설정도 안해준다면 앱을 처음 실행했을 경우 빈 화면이 처음에 보였다가 첫 Activity의 화면이 보이게 된다. 핸드폰의 성능이 짧은 순간 스쳐가 인식을 못할 경우도 있지만 모든 사용자가 좋은 성능의..
-
[Android] ViewHolder getAdapterPosition Deprecated안드로이드 2021. 8. 4. 16:30
개요 RecyclerView의 ViewHolder의 getAdapterPosition() 함수가 Deprecated 됐다. 어떻게 변경하면 되는지 알아보자. 안드로이드 개발자 사이트 설명 getAdapterPosition() 메소드는 Adapter가 다른 Adapter를 중첩하는 경우 어느 adapter의 위치인지 혼란스러워 아래의 두가지 방법으로 호출하도록 하고 있습니다. getBindingAdapterPosition() - Adapter내의 위치를 반환 getAbsoluteAdapterPosition() - RecyclerView에서의 위치를 반환 한 Adapter를 사용하여 RecyclerView를 이용한다면 위 두 메소드는 같은 값을 반환한다. 하지만 ConcatAdapter로 여러 Adapter..