본문 바로가기

Android21

[Android] Notification 안드로이드 개발자라면 한번씩은 해봤을 Notification에 대해 정리해보겠습니다. 간략히 말하자면 Notification은 사용자에게 앱의 이벤트에 대한 정보를 제공하고, Builder를 통해서 생성해야합니다. NotificationChannel은 각 Notification들을 관리하는 것이라 생각하면 되는데, API 26 이상부턴 반드시 추가를 해줘야 Notification을 발생시킬 수 있습니다. 예제를 통해 더 자세히 알아보겠습니다 1. NotificationChannel 생성 val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager if (Build.VERSION.SDK_INT >.. 2021. 1. 4.
[Android] Timber 사용해보기 로그를 찍을 때마다 Log를 사용했었는데 Using 'Log' instead of 'Timber' Log를 사용하는 부분에서 위와 같은 메시지가 떴습니다 줄곧 Log만 사용하다가 Timber에 대해 궁금증이 생겨서 이에 대해 정리해보려고 합니다. 1. Timber ? 마찬가지로 로깅 클래스인데 , 기존에 사용하던 Log보다 더 간편하고 릴리즈할 때 로그가 노출될 걱정을 하지 않아도 됩니다. 다른 로깅 클래스와 마찬가지로 사용법은 어렵지 않습니다. 2. Timber 사용법 우선, 다른 라이브러리를 implementation 해줍니다. (build.gradle(:app)) implementation 'com.jakewharton.timber:timber:4.7.1' 그리고 Log.d를 사용할 때와는 달리 초.. 2020. 12. 29.
WindowManager$BadTokenException Fatal Exception : android.view.WindowManager$BadTokenException Unable to add window — token android.view.VoewRootImpl@ is not valid; is your activity running? 이 에러가 지속해서 발생했는데 Firebase Crashlytics 에서 🔔 창 추가 불가 - 토큰이 올바르지 않음, 활동 실행 여부 확인 필요 이 비정상 종료는 대개 앱에서 이전에 완료된 활동을 컨텍스트로 사용하여 대화상자를 표시하려고 시도하여 발생합니다. 예를 들어 활동이 종료되면 대화상자를 표시하려고 시도하는 AsyncTask를 트리거하지만 사용자가 작업이 완료되기 전에 활동에서 뒤로 이동하면 발생할 수 있습니다. 비정.. 2020. 12. 15.
[Android] getColor, getDrawable Deprecated 대응 Android 버전이 업데이트되면, 기존의 함수가 Deprecated가 되기도 합니다. Deprecated 된 함수들은 버전별로 처리를 해주어야 합니다. 이번에 살펴볼 함수는 getColor와 getDrawable 함수입니다. getColor public int getColor (int id) getColor는 마시멜로우버전(API 23)에서 부터 Deprecated(getColor)되었다고 나와있습니다. 공식 문서에 보면, getColor(int, android.content.res.Resources.Theme)를 대신해서 쓰라고 나와있습니다만, ContextCompat에 있는 아래의 함수를 사용해서 변경해보도록 하겠습니다. 설명처럼 Build.VERSION_CODES.M (API 23) 에서부터 사용.. 2020. 11. 18.