본문 바로가기
728x90
반응형

안드로이드 스튜디오13

[Android] kotlin-android-extensions deprecated 안녕하세요! kotlin-android-extensions가 deprecate됨에 따라 이를 해결하는 방법에 대해 알려드리겠습니다. 1. kotlin-android-extensions이란? kotlin-android-extensions는 안드로이드 스튜디오에서 Kotlin을 사용할 때, XML 파일에서 정의된 View들을 코틀린 코드에서 직접 참조할 수 있게 해주는 라이브러리입니다. 예를 들어, XML 레이아웃 파일에서 버튼을 정의하고, id를 부여하면, findViewById() 메소드를 사용하지 않고, 코틀린에서 해당 버튼을 직접 참조할 수 있습니다. 하지만, 2020년 11월에 공개된 안드로이드 스튜디오 4.1부터, kotlin-android-extensions가 deprecate되었습니다. 2. .. 2023. 2. 20.
[Android] google location - 현재 위치 가져오기 안녕하세요 앱에 구글 맵을 적용하고 나면 제일 먼저 하게 되는 게 현재 위치 정보를 가져오는 것입니다. 또는 다른 경우에도 현재 위치 정보가 필요한 경우가 있다. 현재 위치를 가져오는 방법에 대해서 알아보겠습니다. google location - Permission 설정 1. google location - 폰에 저장되어 있는 마지막 정보를 가져오기 LocationManager의 getLastKnownLocation(String provider) 이용 위치정보를 획득하면 Location객체에 담아 반환하고 위치 정보를 얻지 못하면 null을 반환 주의할 점은 오랫동안 위치정보가 갱신된 적이 없다면 예전 정보가 보일 수 있다. 그렇지만 빠른 속도로 현재 위치 정보를 얻을 수 있다. fun getCurren.. 2022. 12. 8.
[Android] java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes 시스템 애플리케이션에서 WebView를 생성할 때 UnsupportedOperationException이 보고 되고 "보안상의 이유로 WebView는 권한 있는 프로세스에서 허용되지 않습니다"라는 질문이 표시됩니다. https://cs.android.com/ 에 따라 소스코드 사이트에서 WebView 관련 클래스를 던진 질문 찾아 다음과 같이 클래스에서 구체적으로 오류를 발생시키는 코드를 찾습니다. 1. 문제의 원인을 찾기 위해 WebViewFactoryProvider의 getProvider()을 확인 @UnsupportedAppUsage static WebViewFactoryProvider getProvider() { synchronized (sProviderLock) { // For now the m.. 2022. 12. 2.
[Android] Glide 캐시 기능 사용 안하기 기본적으로 Glide 캐시 중 메모리 캐시는 프레임 워크가 제공하는 수준에 따라 BitmapPool은 ComponentCallbacks2에 응답하고 자동으로 제거합니다. 따라서 동적으로 모니터링하거나 지울 필요가 없습니다. 이로 인해서 서버에 있는 이미지를 받아서 표시할 때 파일이 바뀌지 않으면 상관없지만 바뀌는 경우 바뀐 이미지가 보이지 않는 현상이 발생합니다. 이런 현상을 수정하기 위해서는 메모리 캐시와 디스크 캐시를 꺼줘야 합니다. Glide 캐시 끄는 방법 Glide 캐시 - 메모리 끄기 .skipMemoryCache(true) Glide 캐시 - 디스키 끄기 .diskCacheStrategy(DiskCacheStrategy.NONE) Glide.with(mContext).load(path) .c.. 2022. 12. 1.
[Android] view layout width, height 변경 방법 안녕하세요 개발을 하다 보면 동적으로 layout을 변경할 때가 있습니다. 간단하게 구현할 수 있는 방법을 확인해보겠습니다. 1. 소스상에서 적용 우리가 선언해 놓은 layout 또는 View에서 layoutParams를 가져옵니다. layoutParams에 넓이와 높이값을 변경합니다. 다시 layout.layouParms에 넣어주시면 됩니다. val layoutParams = binding.mLayout.layoutParams layoutParams.width = width.toInt() layoutParams.height = height.toInt() binding.mLayout.layoutParams = layoutParams 2022. 11. 29.
[Android] android studio 설치 방법 안녕하세요 오늘 안드로이드 개발을 하기 위한 개발 툴 설치 방법에 대해서 알아보겠습니다. 일단 안드로이드 개발을 하기 위해서는 Android Studio를 설치하셔야 합니다. 다른 툴로도 개발이 가능하지만 구글에서 제공해주는 Android Studio를 이용하면 쉽게 개발 환경을 구축할 수 있습니다. 1. Android Studio 설치 파일 다운로드 안드로이드 디벨로퍼 사이트에 들어가면 파일을 다운로드하실 수 있습니다. 위에 'Download Android Studio'를 누르셔도 되고 아래로 내려가시면 자신과 맞는 플랫폼의 파일을 직접 선택해서 다운로드도 가능합니다. 다운로드를 누르시면 약관 동의가 나오는데 동의하셔야지만 다운로드가 가능합니다. https://developer.android.com/s.. 2022. 11. 26.
[Android] Google Maps API - 사용하기 2 [Android] Google Maps API - 사용하기 1 안드로이드에서 구글맵을 사용하기 위해서는 Google Maps API에 등록을 해야 합니다. 우선 구글맵 사용하기 전에 Google Maps API를 등록하는 방법부터 확인해보겠습니다. 목차 프로젝트 만들기 API 라이 blacktrees.tistory.com 안드로이드에서 구글맵을 사용하기 위해서는 Google Maps API에 등록한 API 키를 프로젝트에 적용해보겠습니다. 목차 프로젝트에 키 등록 레이아웃에 View 적용 View 선언하여 사용 1) 프로젝트에 키 등록 app의 build.gradle에 Google Play Services 라이브러리를 추가해준다. 추가해 준 후 , Sync Now를 선택한다. AndroidManifest.. 2022. 10. 1.
[Android] Google Maps API - 사용하기 1 안드로이드에서 구글맵을 사용하기 위해서는 Google Maps API에 등록을 해야 합니다. 우선 구글맵 사용하기 전에 Google Maps API를 등록하는 방법부터 확인해보겠습니다. 목차 프로젝트 만들기 API 라이브러리 활성화 API 키 생성 설명 1) 프로젝트 만들기 Google Maps API를 사용하기 위해서는 구글 글라우드 콘솔 내에 프로젝트를 만들어야 한다. Google Developers Console 사이트에 접속하여 프로젝트를 만들어야 한다. https://console.developers.google.com/apis/dashboard 프로젝트 선택 - 새 프로젝트를 선택한다. 프로젝트 이름을 만들고 '만들기'를 선택한다. 새로운 프로젝트가 생길 때가 기다리면 된다. 2) API 라이.. 2022. 9. 30.
[Android] 면접 질문 - 1 안드로이드 개발자 면접 때 나올만한 질문들을 정리해봤다. 면접 질문 Android 4대 컴포넌트 Activity 안드로이드에서 화면을 관리하고 사용자가 발생시키는 다양한 이벤트를 처리하는 컴포넌트 Service 화면에 존재하지 않고 백그라운드에서 실행되는 컴포넌트 Broadcast Receiver 특정 어플에서 발생하는 특정 브로드캐스트 메시지를 처리하는 컴포넌트 Content Provider 앱 간 데이터 공유를 위한 클래스를 제공하는 컴포넌트 Android Manifest 모든 앱 프로젝트에 반드시 있는 파일이며 애플리케이션의 정보들을 가지고 있다. 앱에 대한 필수적인 정보를 안드로이드 빌드 툴과 Android OS, 그리고 구글 플레이에 제공한다 Activity, Fragment의 차이점 Activ.. 2022. 8. 17.
728x90
반응형