본문 바로가기

AndroidStudio24

'setter for isWifiEnabled: Boolean' is deprecated Android Component 중 Broadcast Receiver로 Wi-Fi 상태를 변경시키는 데모 어플리케이션을 구현하다가 버튼을 클릭해도 Wi-Fi 상태가 변하지 않았던 이슈가 있었다. Android 9 (API Level 28, P)로 낮춰야 개발 가능하다. 현재 내 프로젝트의 targetSDKVersion은 31이였다;; References https://developer.android.com/reference/android/net/wifi/WifiManager#isWifiEnabled() WifiManager | Android Developers developer.android.com https://jw0652.tistory.com/122 public boolean WifiManager.s.. 2021. 11. 4.
[Room] SQLite에서 Room으로 Jetpack은 2018년 5월 Google에서 발표한 라이브러리 및 도구 모음집이다. Jetpack 이전에 있었던 Support 라이브러리는 여러 가지 한계점을 가지고 있었고, 이를 개선하면서 Jetpack이 출시되었다. Android 9.0 (API Level 28)의 출시와 함께 Jetpack의 일부인 AndroidX 라이브러리가 제공되었고, AndroidX는 기존 Support 라이브러리와 Jetpack 구성요소들을 포함하게 되었다. 현재는 AndroidX 사용을 권장하고 있다. 이번 포스팅은 Jetpack의 Architecture 구성요소 중 하나인 Room에 대한 포스팅이다. 1. What is Room? Room은 디바이스 내의 로컬 데이터베이스에 SQLite보다 더 효과적으로 데이터를 저장.. 2021. 10. 6.
java.net.UnknownServiceException: CLEARTEXT communication to (..) not permitted by network security policy Retrofit2 라이브러리를 사용하여 서버와의 HTTP 통신을 구현하다 보면 아래와 같은 에러가 발생하는 경우가 있다. java.net.UnknownServiceException: CLEARTEXT communication to (..) not permitted by network security policy Network Security Policy 즉, 네트워크 보안 정책과 관련된 이슈이다. 우선, 위의 에러가 발생하는 이유는 통신하려고 하는 대상의 주소가 http로 구성되어있기 때문이다. 또한, 현재 개발하고 있는 개발환경이 Android 9.0 (API Level 28, Pie) 이상인지 확인해보아야 한다. Android 9.0부터는 네트워크를 https로 사용하도록 강제하고 있다. 아래 문서는.. 2021. 9. 29.
(Design Pattern) 소프트웨어 디자인 패턴 지금까지 내가 개발한 방법과 진행해온 프로젝트를 회고해보면서 굉장히 많은 점을 느끼게 되었다. 항상 특정 Activity 안에 모든 코드를 다 집어넣는 식으로 개발을 해왔었고, 프로젝트 규모가 커지고 에러가 생겼을 때는 어느 부분에서 에러인지 찾다가 스트레스를 받는 경우도 빈번했었다. 더욱이 협업을 하게 된다면 다른 사람이 내 코드를 봤을 때 가독성도 좋아야 할 것이고 이해도 빨라야 할 텐데 그럴 자신이 없었다. 이렇게 반복되는 문제들 때문에 더욱이 디자인 패턴에 대한 공부의 필요성을 몸소 느끼게 되었다. 디자인 패턴은 `소프트웨어 공학'의 한 개념이다. 소프트웨어 설계 시 특정 맥락에서 발생하는 고질적인 문제들을 효율적으로 해결하기 위해 설계된 해결책이며 또, 이러한 문제들이 지속적으로 발생할 때 재사.. 2021. 9. 19.