전체 글

전체 글

    manifestPlaceholders가 값을 찾지 못할 때 해결방법

    개발 도중 manifestPlaceholders를 통해 카카오 앱 키를 local.properties 파일에서 읽어오는 기능이 필요했는데 매니페스트에서 읽을 때에만 정상적으로 읽지 못해서 카카오맵이 정상적으로 보이지 않는 이슈가 있었다. 원인은 매우 간단했는데, local.properties에서 선언한 앱키를 따옴표 없이 감싸준 이후 정상동작 했다. 아래는 참고 할만한 코드를 공유 해본다 // build.gradle Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) def KAKAO_API_KEY = properties.getPrope..

    Error inflating class com.google.android.material.bottomnavigation.BottomNavigationView

    E/AndroidRuntime: FATAL EXCEPTION: main Process: com.hyeonwoo.art_android, PID: 26068 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hyeonwoo.art_android/com.hyeonwoo.art_android.ui.main.MainActivity}: android.view.InflateException: Binary XML file line #35 in com.hyeonwoo.art_android:layout/activity_main: Binary XML file line #35 in com.hyeonwoo.art_android:layout/activi..

    android studio에서 실행한 앱이 설치되지 않을 때

    최근 개발중인 사이드 프로젝트 앱에서 안드로이드 스튜디오를 통해 앱을 실행할 경우, 실행은 되지만 앱이 설치가 되지않는 현상이 있었다. 해당 이슈의 원인은 바로! AndroidManifest 파일에 있었는데 위의 인텐트 필터를 보면 MAIN, LAUNCHER와 함께 여러 값들이 있는데, MAIN, LAUNCHER에는 데이터 태그를 처리할 수 없다고 한다... 그래서 아래처럼 인텐트 필터를 분리시켜주면 된다고 한다. 이제 다시 설치해보자!! 정상적으로 앱이 설치된걸 확인했다. Reference : https://stackoverflow.com/questions/20285496/android-application-installed-but-wont-open-on-device Android Application..

    error: [Dagger/MissingBinding] @dagger.hilt.android.qualifiers.ActivityContext android.content.Context cannot be provided without an @Provides-annotated method. public abstract static class SingletonC implements ArtOnApplication_GeneratedInjector,

    Hilt를 사용하면서 만난 오류이다. error: [Dagger/MissingBinding] @dagger.hilt.android.qualifiers.ActivityContext android.content.Context cannot be provided without an @Provides-annotated method. public abstract static class SingletonC implements ArtOnApplication_GeneratedInjector, 에러가 난 코드는 아래와 같다. class KakaoAuthService @Inject constructor( @ActivityContext private val context: Context ) { fun startKakaoLog..

    Android WebView 테스트 샘플 앱 개발 - 2

    이전시간에는 Android WebView를 통해 당근마켓 홈페이지를 표시하는 기능을 개발했습니다. 그러나 WebView 또다른 url로 이동하게 될 경우 WebView 내부가 아닌, 외부 브라우저를 통해 앱이 페이지가 표시되는 이슈가 있었습니다. 이를 해결해봅니다. Android Developer 페이지의 WebView 문서에서 이 문제를 간단하게 해결할 수 있는 방법을 제시합니다. 사용자가 WebView에서 웹페이지의 링크를 클릭하면 URL을 처리하는 앱이 Android에서 실행되는 것이 기본 동작입니다. 대개 기본 웹브라우저에 도착 URL이 열리고 로드됩니다. 하지만 링크가 WebView내에서 열리도록 WebView의 이 동작을 재정의할 수 있습니다. 그러면 WebView에 의해 유지 관리되는 웹페이..

    Android WebView 샘플 앱 개발 - 1

    WebView 샘플 앱 개발 개요 현재 project내 front-end개발 인원에 비해 Android 앱 개발 인원이 부족하여 안드로이드 앱 네이티브 기능이 필요하지 않은 부분은 협의하에 WebView로 구현하여 프로젝트 일정에 부담을 덜어내기로 합니다. Android WebView란 ? 웹 애플리케이션 또는 웹페이지만 클라이언트 애플리케이션의 일부로 제공하려는 경우 [WebView]()를 사용하면 됩니다. [WebView]() 클래스는 Android의 [View]()클래스의 확장으로, 웹페이지를 활동 레이아웃의 일부로 표시할 수 있게 해 줍니다. 탐색 컨트롤이나 주소 표시줄 등 완전히 개발된 웹브라우저의 기능은 전혀 포함되어 있지 않습니다. [WebView]()의 모든 작업은 기본적으로 웹페이지를 표..

    Android에서 Firebase Cloud Messaging 테스트 앱 개발 - 2

    지난시간에서 우리는 firebase 콘솔에서 FCM을 사용하기 위한 세팅을 완료했습니다. 이번시간에는 Android 앱에서 어떻게 푸쉬 알림을 수신하고 메세지를 표시하는지 알아봅시다. 먼저 firebase 메세지를 수신하기 위해 MyFirebaseMessagingService 클래스를 생성하고 아래와 같이 코드를 붙여넣습니다. 소스코드는 firebase 공식 github의 소스코드를 이용했습니다. class MyFirebaseMessagingService : FirebaseMessagingService() { /** * Called when message is received. * * @param remoteMessage Object representing the message received from ..

    Android에서 Firebase Cloud Messaging 테스트 앱 개발 - 1

    최근 기획하고 있는 앱에서 푸쉬알림 기능이 필요하여 구현한 내용을 공유합니다. Firebase Cloud Messaging 라이브러리를 이용하여 개발했으며, 샘플 앱의 전체 소스코드는 아래의 링크를 통해 확인해주세요. https://github.com/gogoadl/android-fcm-demo GitHub - gogoadl/android-fcm-demo: android firebase cloud message sample android firebase cloud message sample. Contribute to gogoadl/android-fcm-demo development by creating an account on GitHub. github.com 푸쉬알림이란? 푸시 알림은 사용자가 스마트폰..

    BroadcastReceiver

    BroadcastReceiver ? Android 시스템 및 기타 Android 앱에서 브로드캐스트 메시지를 보내거나 받을 수 있습니다 . 이러한 브로드캐스트는 관심 있는 이벤트가 발생할 때 전송됩니다. 예를 들어 Android 시스템은 시스템이 부팅되거나 기기가 충전을 시작하는 등 다양한 시스템 이벤트가 발생할 때 브로드캐스트를 보냅니다. 예를 들어 앱은 사용자 지정 브로드캐스트를 전송하여 다른 앱에 관심이 있을 수 있는 항목(예: 일부 새 데이터가 다운로드됨)을 알릴 수도 있습니다. BroadcastReceiver 등록 방법 // BroadcastReceiver class public class MyBroadcastReceiver extends BroadcastReceiver { private sta..

    Android 앱에서 블루투스 마우스 커서 숨기기

    Android 장치에 블루투스 마우스 장치를 연결하면 화면에 마우스 커서가 표시됩니다. 이 커서를 Android 7.0 이상부터 커서를 숨기거나, 모양을 바꿀 수 있게 되었습니다. 필자의 경우 마우스 커서를 숨기는 기능에 사용했었는데, 이때 사용한 코드를 공유합니다. 블루투스 마우스 커서의 경우 setPointerIcon 메서드를 호출한 뷰 계층에서는 마우스 커서 모양이 변경되는것으로 보이며, 시스템 UI위에서는 기본 마우스 커서가 보이게 됩니다. 아래는 제가 사용했던 코드 일부를 공유합니다. @Override public boolean dispatchGenericMotionEvent(MotionEvent motionEvent) { int index = motionEvent.getActionIndex()..