본문 바로가기

Android14

[안드로이드] Button의 background 설정 및 커스텀 drawable(selector 등) 적용 불가 해결 방법 안드로이드 개발시, 버전에 따라 Button의 backgorund 설정이 안되는 경우가 있다. 일반적인 배경 색상 설정은 background대신 backgroundTint 속성을 사용하면 된다. 하지만!!! drawable에 selector 등을 적용하는 커스텀 버튼은 background는 물론 backgroundTint로도 작동하지 않는 경우가 있다. # Button에 background 설정이 불가능한 이유 구글링을 해보니 문제의 원인은 다음과 같다고 한다. 특정 버전의 안드로이드 스튜디오는 프로젝트 생성시, 1. Theme.MaterialComponents.DayNight.DarkActionBar를 디폴트 테마로 설정한다. 2. 해당 테마에서 Button을 만들면 MaterialButton으로 생성.. 2021. 8. 4.
[안드로이드 kotlin] Admob 앱 배너 광고 넣는 방법( + 테스트광고) 이 글에서는 안드로이드 앱에 아래와 같은 배너 광고 삽입하는 방법을 정리한다. # 안드로이드 Adbmob 광고 삽입 방법(요약 버전) 1. build.gradle에 모바일광고SDK추가 2. Manifest.XML에 광고설정 추가 3. 레이아웃.XML에 AdView 추가 4. Kotlin 코드에서 AdView에 광고 띄우기 위와 같은 간단한 작업만으로 광고 노출이 가능하다. 테스트 광고를 노출할 경우에는 Admon에 가입하지 않아도, 구글에서 제공해주는 테스트용 ID를 사용하면 된다. 실제 구글플레이에 앱을 올릴 때는 Admon 가입후, 앱 ID 및 광고단위 ID를 생성하여 교체해주면 된다. Admob에 앱을 생성하는 방법은 아래글 참고 [안드로이드] Admob 앱 추가 등록 및 설정 방법 Admob에서 .. 2021. 7. 23.
[안드로이드 Kotlin] JSON 파일 저장 및 파싱 방법: JSONArray, JSONObject 안드로이드 개발시, DB를 쓰자니 좀 작고, Preference 를 쓰자니 좀 큰 데이터들이 있다. 이럴 때 JSON이나 XML파일 등으로 안드로이드 앱 내부에 저장해두고 사용할 때가 있다. 이번 글에서는 JSON 파일을 안드로이드 앱 내부에 저장해두고, 불러와서 파싱하는 방법을 정리한다. # JSON 파일 저장 방법 1. assets 디렉토리 생성 - app > src > main 경로에 assets 폴더(디렉터리)를 만든다. - 안드로이드 스튜디오 환경에서는 project 보기 모드로 전환해서 디렉토리를 생성하면 더 쉽다. 2. json 파일 저장 - assets 경로에 .json 파일을 저장한다. (복사 붙여넣기를 해도 되고, 직접 생성해도 된다) # JSON 파일 로드 및 파싱 방법 1. asse.. 2021. 7. 21.
[안드로이드 kotlin] Fragment에서 Context 사용 방법: findViewById, runOnUiThread, Toast 등 보통 액티비티에서 Fragment 를 띄우는 경우, 액티비티 내부에서 사용할 수 있었던 메서드들이 Fragment에선 사용할 수 없는 경우가 많다. 또한 파라미터로 Context를 받는 메서드들도 어떻게 사용해야할지 난감할 수 있다. Fragment클래스는 Context를 상속 받지 않기 때문에 발생하는 일이다. 즉, 일반적인 방법으로는 Fragment 내부에서 아래의 메서드들을 사용하기가 어렵다. 1. Context 에 정의된 메서드 - findViewById, runOnUIThread, getApplicationContext , getSystemService, startActivity 등 2. Context를 파라미터(매개변수)로 받는 메서드 - Toast 등 # Framgment에서 Context .. 2021. 7. 21.
[안드로이드] RadioGroup의 RadioButton 가운데/비율 정렬 배치 방법 RadioGroup 내에서 Radio버튼을 정렬하는 다양한 방법을 정리한다. 기본적으로 RadioGroup은 LinearLayout 이라고 보고 배치하면 된다. 아래 코드는 모두 레아아웃XML 파일에 정의하는 내용이다. RadioGroup의 layout_width 속성값을 match_parent나 고정값을 주고 시작해야 한다. (wrap_content인 경우 원하는대로 배치가 잘 되지 않을 가능성이 있다) 1. RadioButton 수직 배치 방법(디폴트) RadioGroup의 orientation속성을 vertical로 주면 RadioGroup 내에서 수직으로 배치된다. 디폴트이기 때문에 따로 설정하지 않아도 수직으로 정렬된다. android:orientation="vertical" 2. RadioBu.. 2021. 7. 20.
[안드로이드 Kotlin] 뷰바인딩(View Binding) 설정 및 사용 방법 # 뷰바인딩이란? 원래 레이아웃 XML파일에 정의된 View에 접근하는 방법은 findViewById()메서드를 활용하는 것이었다. 이후 코틀린이 도입되면서 '코틀린 익스텐션'을 통해 쉽게 뷰를 다룰 수 있었다. 그러나 이제는 "뷰 바인딩"이 코틀린 익스텐션을 대체한다. 뷰 바인딩은 코틀린 환경의 안드로이드에서 뷰에 접근하는 새로운 방식이다. (물론 findViewById는 여전히 쓸 수 있다) # 뷰바인딩 설정 방법 1. build.gradle(Module:...) 파일 선택 2. android > buildTypes 항목에 buildFeatures { viewBinding true } 설정 추가 3. Sync Now 클릭 # 뷰바인딩 사용 방법 1. 레이아웃XML파일 생성 2. 바인딩 초기화 3. r.. 2021. 7. 19.
[안드로이드 Java/Kotlin]시스템 기본 제공 진동패턴 사용 방법: createPredefined 이 글에서는 안드로이드가 제공하는 기본 진공 패턴 사용 방법을 정리한다. 안드로이드 기본 진동 사용방법과 개발자의 커스텀 진동 패턴 생성방법은 각각 아래 글을 참고 [안드로이드: Java/Kotlin] 진동 실행 구현 방법: Vibrator, VibrationEffect [안드로이드: Java/Kotlin] 커스텀 진동 패턴 및 반복 설정 방법: createWaveform # 안드로이드 기본제공 진동패턴 사용 방법 안드로이드는 자주쓰이는 진동 패턴을 기본으로 제공한다. 아래의 createPredefined()메서드에 effectId 상수값을 설정하여 VibrationEffect 객체를 생성하면 된다. - Java: public static VibrationEffect createPredefined (in.. 2021. 7. 15.
[안드로이드 Java/Kotlin] 진동 실행 구현 방법: Vibrator, VibrationEffect 진동의 시간과 강도를 설정하여 1회의 진동을 실행 중단 시키는 방법을 정리한다. 진동의 패턴과 반복을 설정하는 방법은 이 글을 참고 # 안드로이드 앱 개발: 진동(Vibrate) 매니페스트에 VIBRATE 퍼미션을 추가해주고, Java/Kotlin 파일에서 진동을 울려주는 코드를 작성하면 된다. 1. 퍼미션 설정 - 대상 파일: AndroidManifest.xml - 추가 권한: * uses-permission 은 manifest 태그의 바로 하위 항목(application과 동일 계위)로 추가하면 된다. 2. 진동 설정 - 대상 파일: MainActivity.java | MainActivity.kt - 작성 코드: 1) SystemService에서 Vibrator 객체를 얻어온다. - Java: (Vi.. 2021. 7. 15.
[안드로이드] 스마트폰 기기 연결/빌드/실행하는 방법 안드로이드 스튜디오에서 앱 개발 시, 가상 AVD가 아닌 실제 스마트폰에 설치하고 실행하는 방법을 정리한다. 1. 스마트폰 드라이버 설치 사용중인 PC환경에 따라 스마트폰 드라이버를 설치해야할 수 있다. (일반적으로 Window컴퓨터는 설치가 필요하며, 맥OS는 설치가 필요 없다.) "제조사명 android usb driver" 등으로 검색해서 설치하면 된다. 이 글 작성 시점 기준으로 삼성 안드로이드 폰은 아래 링크에 있었다. https://developer.samsung.com/mobile/android-usb-driver.html 2. 개발자 옵션 활성화 스마트폰의 설정으로 진입한 후, 아래와 같이 설정한다. 1) 설정 > 휴대전화정보 메뉴진입 2) 빌드번호 6번이상 연속 터치 -> 개발자 옵션 메.. 2021. 7. 15.