본문 바로가기
728x90
반응형

developer android18

[Android] java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents android의 공식 UI 라이브러리 사용하다보면 아래와 같은 에러가 발생하는 경우가 있다. 해결하는 방법을 확인해보자. 1. 에러 메시지 java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant). 2. 원인 Marterial Design 을 사용하기 위해서는 액티비티에 Material Components Themes 을 style 로 지정해 주지 않아서 발생 3. 해결책 AndroidManifest.xml 에서 Material Design 을 사용할 액티비티에 Material Components Themes 중 하나를.. 2023. 8. 21.
[Android] http통신 에러 해결 - CLEARTEXT communication to not permitted by network security policy 안드로이드 9 (Pie) 이상에서 HTTP 통신을 사용해야 하는 경우에는 몇 가지 해결 방법이 있습니다. 여기에는 앱 개발자가 일시적으로 또는 특정 도메인에 대해서만 HTTP 통신을 허용할 수 있도록 설정하는 방법이 포함됩니다. 1.usesCleartextTraffic 플래그를 추가 AndroidManifest.xml 파일에 usesCleartextTraffic 플래그를 추가하여 앱의 전체 트래픽에 대해 HTTP 통신을 허용합니다. 위 방법은 모든 도메인에 대해 http 통신을 허용하므로 가능한 한 사용하지 않는 것이 좋습니다. 2. network_security_config.xml 파일을 생성 특정 도메인에 대해서만 HTTP 통신을 허용하려면 res/xml 디렉토리에 network_security_co.. 2023. 8. 4.
[Android] Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present 안드로이드 타켓 버전을 올리면서 발생하는 이슈로 해당 값을 명시해줘야 한다. 아래에서 자세한 해결방법을 확인하자. 1. 오류 내용 필자의 경우 타켓 빌드 버전을 올리면서 activity와 service 에 android:exported 값을 명시해야 한다고 에러가 발생하였다. 2. Android Developers 해석 앱이 Android 12 이상을 타겟팅하고 인텐트 필터를 사용하는 Activity이나 Service, broadcast receiver를 포함하면 이러한 앱 구성요소의 android:exported 속성을 명시적으로 선언해야 합니다. 경고: Activity이나 Service, broadcast receiver에서 인텐트 필터를 사용하지만 명시적으로 선언된 android:exported 값.. 2023. 7. 11.
[Android] Execution failed for task ':app:processReleaseMainManifest'. 오류 해결 Android Studio 에서 빌드를 하다보면 위와 같은 에러가 발생하는 경우가 있다. 오류를 해결하는 방법을 확인해보겠습니다. 오류가 나는 상황을 확인 해보면 여러가지가 있지만 아래와 같은 경우가 많다. 1. 외부 라이브러리가 내가 명시하지 않은 suppoert라이브러리를 사용하는 경우 에러 내용 : Error: Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(27.0.0-alpha1) from [com.android.support:appcompat-v7:27.0.0-alpha1] AndroidManif.. 2023. 7. 7.
[Android] 안드로이드 EditText 글자수 제한 방법 Android 앱에서 EditText는 사용자 입력을 받는 위젯으로 자주 사용된다. 그러나 EditText에 입력할 수 있는 글자수에 제한을 두는 경우가 있다. EditText에 글자수 제한을 설정하는 방법과 고려해야 할 사항을 살펴보자. 1. EditText 글자수 제한 방법 1.1 xml 속성 사용 EditText에 입력할 수 있는 길이를 xml 속성으로 제한할 수 있다. 이 방법은 가장 간단하고 쉽게 적용할 수 있다. 1.2 Java 코드로 제한 설정 EditText에 글자수 제한을 코드로 설정하는 방법이다. 코드를 이용하면 런타임 중에도 EditText의 글자수 제한을 동적으로 변경할 수 있다. EditText editText = (EditText) findViewById(R.id.editText.. 2023. 3. 7.
[Android] Retrofit2를 사용하여 RESTful API 호출하기 Retrofit2는 Square에서 개발한 Android 및 Java용 HTTP 클라이언트 라이브러리입니다. 이 라이브러리를 사용하면 RESTful API를 쉽게 호출할 수 있습니다. Retrofit2를 사용하려면 먼저 Gradle에 의존성을 추가해야 합니다. Gradle은 Android 및 Java 프로젝트의 빌드 시스템으로, 의존성 관리, 빌드, 테스트 등을 자동화할 수 있습니다. dependencies { implementation ‘com.squareup.retrofit2:retrofit:2.9.0’ implementation ‘com.squareup.retrofit2:converter-gson:2.9.0’ } 다음으로, Retrofit 인스턴스를 생성합니다. 이 인스턴스는 API 호출을 위한 기.. 2023. 3. 7.
[Android] Parcelable과 Serializable의 차이점 안드로이드에서 데이터를 전달하는 방법은 크게 Parcelable과 Serializable 두 가지가 있습니다. 이 두 가지 방법은 객체를 직렬화하여 전송하는 방법이지만, 각각의 방법은 내부적으로 다른 방식으로 동작합니다. 이번 블로그에서는 Parcelable과 Serializable의 차이점에 대해 자세히 알아보겠습니다. 목차 Parcelable과 Serializable 개념 이해하기 Parcelable과 Serializable의 차이점 Parcelable 사용 방법 Serializable 사용 방법 Parcelable과 Serializable 사용 시 고려사항 결론 1. Parcelable과 Serializable 개념 이해하기 Parcelable Parcelable은 안드로이드에서 제공하는 인터페이스.. 2023. 3. 7.
[Android] java.net.SocketException: socket failed: EPERM (Operation not permitted) 안드로이드 앱을 빌드하는 도중에 "java.net.SocketException: socket failed: EPERM (Operation not permitted)"와 같은 에러가 발생할 수 있습니다. 이는 소켓 연결이 제대로 이루어지지 않아 발생하는 문제로, 보안 설정이나 방화벽 설정 등이 올바르게 구성되지 않아 발생할 수 있습니다. 이번에는 이러한 에러가 발생했을 때 해결 방법에 대해 알아보겠습니다. 방법 방법 1: 안드로이드 스튜디오를 관리자 권한으로 실행 방법 2: 방화벽 설정 변경하기 방법 3: 안드로이드 adb 서비스 재시작 방법 4: 앱 재설치 방법 1: 안드로이드 스튜디오를 관리자 권한으로 실행 먼저, 안드로이드 스튜디오를 관리자 권한으로 실행하여 문제를 해결할 수 있습니다. 다음은 Win.. 2023. 2. 28.
안드로이드에서 MVVM 패턴이란? 목차 MVVM 패턴의 장점 MVVM 패턴 예제 Model View ViewModel 결론 안드로이드 앱 개발에서 MVVM(Model-View-ViewModel) 패턴은 데이터 바인딩 라이브러리와 함께 사용되며, UI 로직과 비즈니스 로직을 분리하여 앱의 유지 보수성을 높이는 패턴입니다. MVVM 패턴은 Model, View, ViewModel 세 가지 요소로 구성됩니다. Model : 데이터를 나타내는 역할을 합니다. View : UI를 나타내는 역할을 합니다. ViewModel : View와 Model 사이의 매개체 역할을 합니다. UI 로직을 처리하고, View와 Model 간의 통신을 조정합니다. 이 패턴은 데이터를 관리하는 방법과 뷰와 데이터 사이의 통신 방법을 정의하여 코드를 구성하고, 유지 보.. 2023. 2. 24.
728x90
반응형