본문 바로가기
728x90
반응형

Android1224

[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.
[Android] Service stopWithTask 옵션 안드로이드 AndroidManifest.xml에서 서비스나 지정하는 stopWithTask 옵션에 대해서 알아봅니다. stopWithTask : true인 경우 휴대폰의 태스크에서 모두닫기 및 스와이프 했을 때 액티비는 종료되고 서비스도 종료되게 된다. stopWithTask : false인 경우 휴대폰의 태스크에서 모두닫기 및 스와이프 했을 때 액티비티는 종료되고 서비스는 onTackRemoved() 호출이 되며 곧바로 서비스가 재시작되어 onCreate()를 타게 된다. 2022. 11. 18.
[Android] 버튼 음영 효과 제거 안드로이드 개발을 하다 보면 버튼의 음영 효과가 적용되어 있는 것을 확인할 수 있다. 음영 효과 제거 방법에는 2가지가 있다. xml상에서 옵션을 추가 하거나 소스상에서 옵션을 추가하는 방식이 있다. 음영 효과 제거 1. xml 2. 소스 binding.mButtonNext.stateListAnimator = null 결과 음영 효과 옵션 추가 전 음영 효과 옵션 추가 후 2022. 11. 17.
[Android] 앱내 언어 설정 개발을 하다 보면 시스템 설정이 아닌 앱 내에서 언어를 변경해야 하는 경우가 있다. 전에는 적용하려면 리소스를 찾아서 적용해줘야 했는데 간단한 방법이 있어서 올립니다. 다른 언어 추가 string.xml 파일 생성 : res - values-ko 또는 res - values-en string.xml에 String 값 만들어 준다. 언어 변경 1. configuration에 원하는 언어의 Locale을 설정해줘서 createConfigurationContext()로 Context를 만든다. public static Context updateResourcesLocale(Context context, Locale locale) { Configuration configuration = context.getRes.. 2022. 9. 1.
728x90
반응형