본문 바로가기

전체 글431

[Android/admob] 안드로이드 애드몹 app-dts.txt 이슈 해결하기 안녕하세요. 오늘은 구글 애드몹에서 app-ads.txt 추가 메시지와 관련하여 해결하는 방법에 대해서 알아보겠습니다. app-ads.txt를 추가하거나 업데이트 하지 않으면 나중에 불이익이 발생할 수 도 있기 때문에 구글이 시키는대로 추가하는 것이 좋습니다. 먼저 애드몹 페이지에 들어가 우측에 APP-ADS.TXT 탭으로 이동합니다. 그러면 아래와 같은 페이지를 볼 수 있습니다. app-ads.txt 파일을 찾을 수 없다고 하네요. 파란 버튼의 APP-ADS.TXT 설정 방법을 클릭해 보겠습니다. 아래 스니펫을 복사하여 개발자 웹사이트 루트에 넣어서 게시하라고 하네요... 근데 웹사이트가 없는데.. 티스토리에 하면 될라나? 검색을 해봤더니 티스토리는 안된다고 합니다. 구글 Blogger에서는 된다고 하.. 2021. 2. 5.
[Android/Kotlin] 안드로이드 Notification(1) 안녕하세요. 오늘은 알림 이벤트인 Notification을 구현해 보도록 하겠습니다. 안드로이드 Notification은 아래 그림과 같이 제목, 메시지 그리고 아이콘 등이 표시됩니다. 구현하는 방법은 NotificationComapt.Builder 객체를 사용하여 알림 콘텐츠와 채널을 설정해야 합니다. setContentTitle() -> 제목 setContentText() -> 본문 setSmallIcon() -> 작은 아이콘 setPriority() -> 우선순위 설정 그리고 안드로이드 8.0 이상부터는 NotificationChannel 인스턴스를 createNotificationChannel()에 전달하여 등록해야합니다. 그리고 알림 메시지 클릭 이벤트 등을 처리하기 위해 PendingInten.. 2021. 2. 5.
[Android/Kotlin] 안드로이드 Room Database 사용하기(3) Migration 안녕하세요. 오늘은 Room Database를 사용하다가 Migration이 필요할 때 Migration 하는 방법에 대해서 알아보겠습니다. 테이블을 추가하거나 컬럼을 변경하는 경우에 유용하게 사용할 수 있습니다. 오늘 설명드릴 케이스는 expense_table에 새로운 컬럼을 추가하는 방법입니다. (지출 목록을 분류할 수 있는 category 컬럼 추가 예정) 지난 예제에 이어서 설명드리겠습니다. 2021/02/01 - [Android/AAC] - [Android/Kotlin] 안드로이드 Room Database 사용하기(2) Select... 2021/01/30 - [Android/AAC] - [Android/Kotlin] 안드로이드 Room Database 사용하기(1) 먼저 그냥 컬럼을 추가한다고.. 2021. 2. 5.
[Android/Error] 안드로이드 java.lang.IllegalStateException: An instance of OnFlingListener already set. 안녕하세요. 오늘은 RecyclerView에서 SnapHelper를 적용하는 도중에 아래와 같은 에러가 생겼습니다. java.lang.IllegalStateException: An instance of OnFlingListener already set. OnFlingListener 인스턴스가 이미 존재하는 에러라는데... OnFlingListener 리스너를 한번 찾아 봤는데 아래와 같은 설명이 있었습니다. This class defines the behavior of fling if the developer wishes to handle it. Subclasses of RecyclerView.OnFlingListener can be used to implement custom fling behavior.. 2021. 2. 4.
[Android/Kotlin] 안드로이드 FLAG_FULLSCREEN Deprecated... 안녕하세요. 오늘은 WindowManager.LayoutParams.FLAG_FULLSCREEN 코드가 Deprecated 되어서, 새로운 방법으로 구현하는 방법에 대해서 소개해 드립니다. API >= 30 이상 부터는 WindowInsetsController.hide()를 통해 구현하시면 됩니다. 아래는 예제 코드입니다. class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.splash_activity) if (Build.VERSION.SDK_INT >= Build.VERSION.. 2021. 2. 4.
[Android/Error] 안드로이드 NullPointerException: WindowInsetsController... FullScreen 화면을 구현 하던 중 WindowManager.LayoutParams.FLAG_FULLSCREEN가 Deprecated 되어서, 아래와 같이 새로운 코드를 추가하던 중 에러가 발생했습니다. class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { window.insetsController?.hide(WindowInsets.Type.statusBars()) } else { window.setFlags( Window.. 2021. 2. 4.