본문 바로가기
728x90
반응형

Android Studio22

Android Activity Lifecycle(생명 주기) Android 생명 주기는 Android 앱에서 활동 규칙입니다. 원활하고 안정적으로 Android 앱을 개발하려면 생명 주기를 이해하는 것이 중요합니다. Activity는 앱의 단일 화면을 나타내며 생명 주기는 Activity와 상호 작용할 때 발생하는 일련의 이벤트입니다. 생명 주기는 Activity가 생성될 때 시작되고 소멸될 때 끝납니다. Activity Lifecycle은 다음 7가지 메서드로 구성됩니다. onCreate() onStart() onResume() onPause() onStop() onRestart() onDestroy() 이러한 각 메서드는 Activity가 한 상태에서 다른 상태로 전환될 때 서로 다른 시간에 호출됩니다. 각각의 메소드에 대한 간단한 설명입니다. onCreate.. 2023. 2. 10.
[Android] Android Studio 테마 변경하는 방법 - 1 안녕하세요 안드로이드 스튜디오를 설치하고 개발하다 보면 테마를 변경하고 싶은 경우가 있습니다. 개발자마다 취향도 다르고 원하는 디자인도 다르기 때문에 안드로이드 스튜디오에서는 테마 기능을 제공합니다. 먼저 테마를 적용하는 방식은 여러 가지가 있습니다. 일단 제일 쉬운 안드로이드 스튜디오에서 직접 지원해주는 테마를 적용해 보겠습니다. 안드로이드 스튜디오의 기본 테마 적용하기 Windows : 파일 -> settings 또는 MAC : 좌측 상단 Android Studio -> Preferences Appearance & Behavior -> Appearance Theme의 값을 변경 (아래의 예제는 Dracula로 변경) 안드로이드 스튜디오 외부 테마 사용하기 Windows : Files > Setting.. 2022. 12. 9.
[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] EditText 자동 포커스 제거 안녕하세요 Activity가 뜨면서 EditText에 자동 포커스가 될 때가 있다. 어떻게 하면 EditText 자동 포커스 제거를 하는 방법에 대해서 찾아봤습니다. 여기서는 2가지 방법에 대해서 알아보겠다. 1. xml 파일에서 EditText 자동 포커스 제거 EditText의 상위 레이아웃이나 뷰에 아래의 옵션을 추가한다. android:focusableInTouchMode="true" android:focusable="true" 2. Class에서 EditText 자동 포커스 제거 소스상에 포커스를 줄 layout을 선언하고 아래와 같이 옵션을 준다. java setFocusable(true); setFocusableInTouchMode(true); kotlin mLayout.isFocusable.. 2022. 11. 25.
[Android] TextView 텍스트 밑줄 긋는 3가지 방법 안녕하세요 TextView 또는 여러 UI에서 텍스트 밑에 줄을 그어야 할 때가 있습니다. 여러 방법이 있겠지만 이번 포스트에서는 TextView 텍스트 밑줄 긋는 3가지 방법 정도 알아보겠습니다. 1. Class에서 setPaintFlags() 사용 적용하고 하는 TextView에 setPaintFlags()에 Paint.UNDERLINE_TEXT_FLAG를 설정하면 된다. binding.textViewName.paintFlags = Paint.UNDERLINE_TEXT_FLAG 2. SpannableString 클래스를 사용 원하는 Strig을 SpannableString로 선언한다. setSpan()에 new UnderlineSpan()을 적용한다. TextView.setText() 적용한다. va.. 2022. 11. 24.
728x90
반응형