최신화를 위해 origin/dev 브랜치 를 따왔는데 run이 에러가 났다. > SDK location not found. Define location with an ANDROIDSDKROOT environment variable or by setting the sd
Touch target size too small Click the badge for detail. 대충 구글이 권장하는 사용자 영역 크기가 부적합하다는 말 권장 크기인 48dp 를 적용해주자.
액티비티 간에 데이터를 주고 받을 수 있다. 공식문서와 포스팅된 글들을 통해 이해하려고 했지만, 현재의 지식으론 택도 없는 듯하다... 따라서 키워드와 사용법 정도를 정리하려 한다. > ### 📄 공식문서 Activity 또는 Fragment에 있을 때, Act
1. drawable과 mipmap의 차이 > - drawable : 모든 이미지 저장 mipmap : 런처 이미지 저장 그 외에 drawable의 기준은 디바이스 픽셀밀도 , mipamp의 기준은 이미지 크기 등의 차이가 있다. > 🔔 런처 아이콘이란? 앱 아이콘을 말한다. > ### 🔎 [참고 사이트] points.tistory
Week4 Assignment 도전 과제를 하면서 경험한 이슈들을 정리한 글입니다. 처음으로 selector를 만지면서 정말 많은 배움을 얻을 수 있었다. 역시! 언제나! 그럼 어떤 문제들이 있었는지 살펴보자. 💣 이슈 1. 종료 버튼에 selector가 적
ScrollView 사용법 주의점 스크롤 뷰는 단 1개의 자식만을 가진다. 스크롤 뷰는 자식의 크기 만큼 늘어난다. > 자식 View의 height에 fill_parent 속성을 주어도 적용되지 않는 이유 스크롤 뷰는 자식 View의 크기만큼 늘어난다 -> 자식
> ### 🔎 [참고 사이트] uiop5809.tistory
2가지 방법이 있다. (더 있는지는 몰?루) 1. 첫 번째 방법 > menifest에서 인텐트 필터 이동 2. 두 번째 방법 > Edit Configurations 변경 좌측 상단의 Edit Configurations 클릭 Launch Options의 Launch의 옵션을 Specified Activity로 변경 Launch 밑에 새롭게 생긴 A...
1. 우측 상단의 Open editor 클릭 만약 모든 목록이 표시되지 않는다면 새로고침을 클릭 2. 위쪽 지구 모양의 Add Locale을 클릭해 번역할 언어를 선택 국가를 선택하면 String.xml 파일이 생성된다. ![](https://velog.velc
레이아웃을 편리하게 사용 가능하게 해주는 xml tag 즉, 하나의 item 레이아웃을 여러 액티비티 레이아웃에 간편하게 넣을 수 있다. 예제로 살펴보자. itemLayout이 MainActivity, SubActivity, DetailActivity 총 3개의 액
결론 > 위젯은 "wrapcontent", "matchparent" 또는 dp, 텍스트는 sp를 사용한다. > ### 🔎 [참고 사이트] offbyone.tistory
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📚 컴포넌트 > - Activity Service ContentProvider BroadcastReceiver 안드로이드에서는 위의 4개를 컴포넌트
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. TextView 속성 TextView에 출력되는 문자열을 분석해 자동 링크 추가 web, email, phone 등을 값으로 지정 문자열이 특정 라인
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. GridLayout > Row, Column 구조의 테이블 화면을 만들기 위한 레이아웃 orientation 속성을 이용해 뷰의 배치 방향 지정 row
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 유저 이벤트를 처리하기 위한 프로그램 코드가 크게 2가지로 구분된다. | Event Model | 내용 | | --- | --- | | Hierarchy
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📚 Key Event > 폰의 키를 누르는 순간의 이벤트 onKeyDown : 키가 눌린 순간의 이벤트 onKeyUp : 키를 떼는 순간의 이벤트
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 거의 대부분은 XML 파일 형식으로 리소스를 담고, 이미지 같은 파일은 바이트 데이터 그대로 리소스 파일로 추가된다. > #### 🧩 R 클래스의 리소
❓ viewBinding 이란? findViewById 를 대체한다. 📚 viewBinding 사용 방법 1. build.gradle 파일의 android { } 부분에 요소 선언 2. 뷰, 레이아웃에 아이디 부여 3. kt 파일에 코드 작성 📚 이미지
❓ Fragment 란? > 액티비티 위에서 동작하는 모듈화된 사용자 인터페이스 앱을 개발하면서 액티비티가 점점 늘어날 경우에 그것들을 모두 Intent로 연결하는 것은 너무 복잡하다. 그래서 Fragment 를 사용하게 된다. 즉, 하나의 액티비티 안에서 특정
📝 스파르타코딩클럽의 '내일배움캠프' 지급 강좌를 정리한 글 입니다. AlerDialog 클래스를 사용하면 대부분의 다이얼로그 만들 수 있다. 📌 다이얼로그의 영역 1. 제목 생략 가능 2. 콘텐츠 영역 메시지, 목록 또는 커스텀 레이아웃도 표시가능 3. 작업 버튼 대화 상자 하나에 작업 버튼이 3개를 초과하면 안됨 📚 다이얼로그 종류 기...
📝 스파르타코딩클럽의 '내일배움캠프' 지급 강좌를 정리한 글 입니다. ❗ Android 8.0 이상부터는 '알림 채널' 을 이용해서 알림을 만들어야 한다. 📚 알림 채널 이란? 알람을 그룹하여 알람 활성화나 방식을 변경할 수 있다. Android 8.0(API 수준 26) 이상 적용이기 때문에 안드로이드 버전을 확인하여 8.0 이상일 경우만 채널 ...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. ❓ AdapterView 란? > 항목을 나열하고 그 중 하나를 유저에게 선택 받고자 하는 뷰 대표적으로 ListView, AutoCompleteTextView, Spinner 등 Adapter에 의해 항목이 만들어지는 뷰 ❗ 즉, Ada...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📚 Spinner > 여러 항목을 나열시키고 그 중 하나를 선택 받는 뷰 Spinner 라는 클래스이다. 흔히 콤보박스 라고 부른다. 클래스 명을
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. > 화면에 떠 있는 듯한 버튼을 제공하는 뷰 흔히 약어로 FAB 라고 부른다. 대부분 우측 하단에 위치하지만 출력 위치는 임의로 정할 수 있다. 예전에는 FloatingActionButton 을 사용했고, 현재는 ExtendedFloati...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 ActionBar 개요 📚 액티비티의 구조 액티비티가 출력하는 전체 화면을 Window 라고 하고, ActionBar 와 Content 로 구성
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 Intent 개요 📚 Component 안드로이드에는 컴포넌트 라고 불리는 클래스가 있다. ❓ 컴포넌트가 뭘까? > 어플리케이션의 구성요소
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📚 Activity Lifecycle 시스템에서 액티비티의 라이프사이클을 크게 3가지로 구분한다. > - 활성 상태 : 액티비티의 화면이 출력되고 있
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📚 View 활용 기법 > - findViewById() ButterKnife Kotlin Android Extension DataBinding ViewBinding 📚 ViewBinding 📌 build.gradle 에 요소 선언 ...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 💬 JetPack 개요 ❓ JetPack 이란? > 구글에서 안드로이드 개발을 위해 지원하는 다양한 라이브러리의 집합 대부분 androidx 로 시작하는 패키지명을 사용하는 라이브러리 과거에 구글에서 support 라이브러리 를 제공 했...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 ANR 개요 Activity Not Response 의 약어. 액티비티에서 일어나는 에러 상황을 말한다. ❓ 언제 발생할까? 유저 이벤트에 액티비티가 5초 이내에 반응하지 못하는 경우 발생하는 에러 유저가 이벤트를 가하면 -> 이벤...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 Permission 개념 B의 앱에서 A 앱의 컴포넌트를 실행시킬 수 있게끔 하고는 싶은데 보안을 걸고 싶을 때, 이런 경우에 퍼미션을 설정하면 된다. 매니페스트 파일에 태그 를 등록해주면 된다. 이러면 아무리 암시적 인텐트 코드가 잘...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📚 Vibration 📌 Manifest 에 퍼미션 설정 퍼미션 필요 📌 Vibrator 시스템 서비스 Vibrator 라는 시스템 서비스 이용 API Level 31 이전 버전에서는 Vibrator 라는 시스템 서비스 이용 ...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 Persistence 개요 로컬에 데이터를 저장하는 방법은 여러가지가 있다. File Read/Write SharedPreference Dat
후... 한참을 찾았다❗ colors 리소스에 # 빼먹음ㅋㅋ
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 Database 개요 데이터 영속화에 있어서 "그냥 Read/Write 와 SharedPreference 로 충분한 것 아니냐?" 라고 생각 할 수
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 Database 개요 데이터 영속화에 있어서 "그냥 Read/Write 와 SharedPreference 로 충분한 것 아니냐?" 라고 생각 할 수
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📇 ContentProvider 개요 구글의 기본 앱 연동을 위해서는 ContentProvider 라는 컴포넌트가 필요하다. 컨텐트 프로바이더는 앱과 앱 간의 데이터 연동을 목적으로 하는 컴포넌트이다. 내가 만든 앱에서 연락처, 갤러리 ...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 📡 서비스 개요 안드로이드 4개 컴포넌트 중 하나로 백그라운드 업무 를 담당하기 위한 컴포넌트. 백그라운드에서 오랜 시간 동안 수행되는 업무를 처리하기 위한 컴포넌트 화면 출력 능력은 가지지 않는 컴포넌트 Thread 혹은 Corout...
java.net.UnknownServiceException: CLEARTEXT communication to apis.data.go.kr not permitted by network security policy 안드로이드 9.0 파이(Pie)부터 https 를 사용하도록 강제한다고 한다. API의 서비스 URL 주소를 http -> https 로 수정했...
아 BuildConfig 가 자동 임포트가 안 되길래 직접 임포트 했더니 경로가 없다...? > import 패키지명.BuildConfig 위 경로로 임포트하면 된다는데 안 됨ㅋ 역시 외쿡햄들이다! > ### 💬 [참고] stackoverflow
📝 스파르타코딩클럽의 '내일배움캠프' 지급 강좌를 정리한 글 입니다. 📡 SharedPreference K-V 로 데이터를 저장한다. 응용 프로그램 내의 액티비티 간에 공유하며, 한쪽 액티비티에서 수정 시 다른 액티비티도 수정된 값을 읽을 수 있다. 응용 프
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 💬 네트워크 프로그래밍 개요 ❕ 퍼미션 해당 퍼미션이 있어야 서버와 네트워킹이 가능. 📌 통신 방법 서버와 http 통신을 하기 위한 방법에는
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 💬 AAC 개요 ❓ AAC 란? 2017 Google I/O 에서 발표 2018 Google I/O 에서 발표된 JetPack 으로 통합 Arch
Room 을 사용하기만 하면 이 zㅣR 을 한다...! > error [ com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction ] 요 error 는 친절하게 compileSdk 를 최소 34 로 맞춰
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. ❓ Notification 이란 상태방에 앱의 정보를 출력하는 것을 알림(Notifiaction) 이라고 한다. 상태바는 시스템에 의해 관리되는 곳 앱이 직접 제어 불가 앱의 상태를 상태바에 출력해 유저에게 무언가의 상황을 알려주는 기능...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 💬 백그라운드 제약 개요 안드로이드 버전이 올라가면서 원래 동작했던 것들이 백그라운드 제약 이라는 이유로 불가능해진 부분이 있다. 백그라운드 제약이 어디에 가해진 것이고, 이를 해결할 방법이 있는지 알아보자. 안드로이드 앱은 액티비티, 서...
📝 SeSAC의 'JetPack과 Kotlin을 활용한 Android App 개발' 강좌를 정리한 글 입니다. 💬 GeoLocation 개요 ❕ 퍼미션 유저의 위치를 이용한 서비스 📚 Location Provider 위치 제공자 (Location Prov