728x90
반응형

🤖 안드로이드 Android 29

[안드로이드/Android] java.lang.IllegalArgumentException: Couldn’t find meta-data for provider with authority 에러

안녕하세요👊🏻 Android 에서 카메라 실행하여 사진 찍고 저장 시 발생하는 에러가 있는데요. java.lang.IllegalArgumentException 에러가 발생하였습니다. java.lang.IllegalArgumentException: Couldn’t find meta-data for provider with authority 와 같은 에러 메세지가 표시되었답니다. 🚨 Manifest 에 FileProvider 등록하기 FileProvider 사용을 위해 manifest 에 provider 를 등록해 주어야 합니다. FileProvider 의 기본 기능은 file 에 대해 content URI 를 생성하는 것입니다. 1. AndroidManifest.xml ... ... 2. xml/file_..

[안드로이드/Android] Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 에러 (Gradle 빌드 오류)

안녕하세요👊🏻 Android Studio 에서 발생하는 Gradle Build 시 발생하는 오류입니다. org.codehaus.groovy.control.MultipleCompilationErrorsException 에러가 발생하였습니다. Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 🚨 해결 방법 1️⃣ Android Studio > Settings... 클릭 2️⃣ Build, Execution, Deployment > Gradle 클릭 3️⃣ Gradle projects 에서 Gradle JDK 변경하기 Thank U :)

[Android/Google] Google Play Console 개발자 계정 만들기

🚨 Google Play Console 개발자 계정 만들기 안드로이드 앱을 Google Play Store 에 배포하기 위해선 개발자 계정이 필요합니다. 구글 개발자 계정을 생성하는데 $25(달러)가 필요하고, 한번 등록하면 갱신 없이 지속적으로 앱을 등록할 수 있습니다. 반면 Apple 은 매년 $99(달러)로 개발자 계정을 갱신해서 사용해야 합니다. 1️⃣ Google Play Console 개발자 등록 페이지 접속 Google Play Console 개발자 등록 페이지에 접속합니다. https://play.google.com/console/developers Google Play Console | Google Play Console 앱 및 게임이 성장할 수 있도록 사용자에게 도달하고 사용자 참여를 ..

[안드로이드/Android] 빠른 설정창에 개발자 옵션-레이아웃 범위 표시 메뉴 추가하기

안녕하세요 😋 안드로이드 단말기에서 레이아웃 범위 표시는 화면의 레이아웃이 어떻게 구성되어 있는지 쉽게 확인하는 방법입니다. 저는 이 기능을 앱의 구성이 Native 인지, WebView 인지 확인할 때 가장 많이 사용합니다. 웹뷰(WebView) 인 경우 따로 레이아웃 범위를 표시해주지 않거든요~ 레이아웃 범위 표시 메뉴 위치 및 이 기능을 안드로이드 상단 빠른 설정창의 메뉴로 구성하는 방법을 포스팅하려 합니다. 제가 자꾸 까먹어서 내 블로그에 박제시켜놓기!! 🧤 레이아웃 범위 표시 활성화 하기 설정 > 개발자 옵션 > 레이아웃 범위 표시 활성화 하면 아래와 같이 바로 레이아웃 범위가 표시되는 것을 확인할 수 있습니다. 🧤 빠른 설정창에 레이아웃 범위 표시 메뉴 추가하기 안드로이드 상단 빠른 설정창의 ..

[안드로이드/Android] javax.xml.bind.UnmarshalException 에러

안녕하세요 😈 제가 Android Studio 에서 최근에 마주하게 되었던 에러가 있는데요. 새로운 프로젝트를 세팅하는 과정에서 javax.xml.bind.UnmarshalException 에러가 발생했습니다. Exception while handling step android.databinding.annotationprocessor.ProcessExpressions@709068de javax.xml.bind.UnmarshalException 와 같은 에러 메세지가 표시되었답니다. 구글링 결과 Mac 에서 Android Studio 로 빌드를 진행했던 프로젝트 소스를 Window 에서 실행했을 때 발생하는 databinding 의 인코딩 문제 라는 것을 확인하게 되었는데요, 저 또한 Mac 에서 작업된 ..

[안드로이드/Android] Context (Application Context vs. Activity Context)

안녕하세요! Android Context 가 무엇일까요? 😢 https://developer.android.com/reference/android/content/Context Context | Android Developers developer.android.com Context 는 애플리케이션 환경에 대한 글로벌 정보를 갖는 인터페이스입니다. Context 는 Android 시스템에서 구현체를 제공하는 추상 클래스로, 애플리케이션 별 리소스 및 클래스 접근에 사용되며, 액티비티 실행, 브로드캐스트, 인탠트 수신 등과 같은 애플리케이션 수준 작업에 사용됩니다. Application Context 안드로이드 시스템 상, ActivityManagerService 라는 독립된 애플리케이션에서 애플리케이션과 관..

[안드로이드/Android] 레트로핏 Retrofit 을 이용한 날씨 앱 만들기

Retrofit REST API 통신을 위해 구현된 Squareup 사의 OkHttp 라이브러리의 상위 구현체로, OkHttp 를 네트워크 계층으로 활용하고 구축된 라이브러리. AsyncTask 없이 Background Thread 를 실행하고 Callback 을 통해 Main Thread 에서 UI 업데이트가 가능하다. 🚨 장점 빠른 성능 - AsyncTask 를 사용하는 OkHttp 의 3배이상 차이가 난다고 한다. 가독성 - Annotation 사용으로 코드의 가독성이 뛰어남. 직관적인 설계가 가능. 간단한 구현 - HttpUrlConnection 의 Connection / Input&Output Stream / URL Encoding 등의 작업 또는 OkHttp 의 request / respons..

[안드로이드/Android] AsyncTask 로 HttpURLConnection 를 이용한 날씨 앱 만들기

안드로이드에서 서버와 통신하기 위한 AsyncTask 로 HttpURLConnection 을 이용하는 방법입니다. 저는 openweathermap 의 api 를 통해 날씨 정보를 표시해주는 앱을 만들어보았습니당 🌤 https://openweathermap.org/api Weather API - OpenWeatherMap Please, sign up to use our fast and easy-to-work weather APIs for free. In case your requirements go beyond our freemium account conditions, you may check the entire list of our subscription plans. You can read the How..

[안드로이드/Android] AsyncTask 를 이용한 프로그레스바(ProgressBar) 표시하기

AsyncTask 안드로이드에서 UI 블록을 막기 위해 네트워크 통신 등의 기능을 구현할 때는 비동기 처리를 이용해야 한다. 비동기 처리를 하는 백그라운드 작업을 구현하게 될 때 사용하는 AsyncTask 라는 Thread Class 를 사용한다. 🚨 AsyncTask 에서 사용하는 메서드 onPreExecute(), doInBackground(), onProgressUpdate(), onPostExecute(), onCancelled() onPreExecute() : 백그라운드 실행 이전에 동작 함수. 초기화 관련 코드 작성. doInBackground() : 실제 로직이 실행되는 함수. 사용자가 execute() 함수를 실행할 때 넘긴 파라미터를 이용해서 동작을 수행한다. onProgressUpdat..

[안드로이드/Android] 안드로이드 스튜디오(Android Studio) 에서 벡터(Vector) 이미지/아이콘 추가

안녕하세용! 안드로이드 스튜디오(Android Studio) 에서 벡터(Vector) 이미지/아이콘 을 추가하여 사용하는 방법입니다. 벡터(Vector) 이미지/아이콘 은 png 이미지 처럼 각 픽셀별로 컬러값을 갖지 않고 원, 사각형, 직선 등으로 모양을 직접 그리기 때문에 이미지를 아무리 늘리거나 줄여도 이미지의 품질을 잃지 않고 일정하게 유지됩니다. 그래서 개발을 진행할 때 유용하게 사용됩니다~! 먼저 안드로이드 스튜디오 를 실행해주세요~ File > New > Vector Asset 클릭 그러면 Configure Vector Asset 화면이 표시됩니다. Clip Art 옆 아이콘 을 클릭해주세요. 원하는 이미지를 검색으로 찾아보아요~ 저는 휴지통 모양을 찾고있었어요! 그래서 delete 로 검색..

[안드로이드/Android] 안드로이드 스튜디오 (Android Studio) 플러그인 - 테마 변경

안녕하세욤 🤚🏻🤚🏻 안드로이드 스튜디오(Android Studio) 에서 테마 변경하는 법! 을 포스팅해보려구요~ 요즘 사용하고 있는 vsCode 에서 테마를 적용하니 코드가 눈에 잘 들어오고 좋아서 안드로이드 스튜디오도 변경해보았습니다! 안드로이드 스튜디오 (Android Studio) 를 열어주세여~ Configure > Plugins 클릭! Plugins 창이 표시되면 검색창에 Material 또는 theme 로 검색하면 여러가지 UI 테마들이 표시됩니다. 저는 그중에 Monokai Pro Theme 를 선택! 원하시는 테마를 선택하여 Install 버튼을 클릭해 줍니다~ Accept 클릭 Restart IDE 클릭! 안드로이드 스튜디오를 재시작 해야해요~! Restart 클릭 Configure >..

[macOS 맥북/Android] 안드로이드 스튜디오 SVN CheckOut 사용하기

1. macOS 에서 svn 설치 안드로이드 스튜디오에서 SVN Checkout 하기 위해 터미널(terminal)앱 에서 svn --version 명령어를 입력했을 때 svn: error: The subversion command line tools are no longer provided by Xcode 와 같은 에러메세지가 표출 되었는데요! 아래의 stackoverflow 를 참고해서 해결하였습니다! https://stackoverflow.com/questions/60869347/mac-command-line-tools-11-4-no-longer-has-svn Subversion 클릭 + 버튼 클릭 Repository URL 을 입력 후 OK 클릭해주세요~ Repository 선택 후 Checkou..

[안드로이드/Android] TabLayout 과 ViewPager 를 이용한 탭 Tab 메뉴 화면

TabLayout 과 ViewPager 를 이용한 탭 메뉴 화면 을 구현하는 소스코드에 대해 포스팅 해 보겠습니다~ TabLayout : Tab 메뉴들을 담은 큰 틀의 레이아웃 ViewPager : 화면을 양옆으로 넘겨서 Page 를 바꾸는 슬라이드 동작을 할 수 있도록 도와주는 View 위젯 작성한 파일 목록 입니다. 1. build.gradle(:app) 2. OneFragment.java / fragment_one.xml 3. TabActivity.java 4. activity_tab.xml 5. layout_tab_custom.xml 6. PagerAdapter.java 1. build.gradle(:app) TabLayout 은 Design Support Library 에 속해있기 때문에 dep..

[안드로이드/Android] 프래그먼트(Fragment) 생명주기

프래그먼트 (Fragment) - 앱 UI의 재사용 가능한 부분 - 독립적으로 존재할 수 없고 항상 액티비티(Activity) 내에 포함되어 있어야 하고 활동이나 다른 프래그먼트에서 호스팅되어야 한다. - 자체 생명주기를 가진다. - 자체 입력 이벤트를 받는다. - 프래그먼트(Fragment) 를 액티비티(Activity) 레이아웃의 일부로 추가하는 경우, 액티비티(Activity)의 뷰 계층 내부의 ViewGroup 안에 있으며, 해당 프래그먼트가 자신의 뷰 레이아웃을 정의한다. - 프래그먼트(Fragment) 를 액티비티(Activity) 레이아웃에 삽입하려면 해당 프래그먼트를 액티비티의 레이아웃 파일에서 요소로 선언하거나, 애플리케이션 코드에서 이를 기존의 ViewGroup에 추가하면 된다. 그러나..

728x90
반응형