Android

📝 Standard Mission 소셜 로그인 한 가지 이상 구현해보기 - ex. 카카오, 네이버, 구글… - 단순 화면 전환 뿐만 아니라 이름, 이메일 값 가져와서 TextView에 띄우기 - SDK 사용 가능 ✅ 프로젝트 초기 설정 우선 프로젝트를 하나 생성하고 build.gradle(project) 파일 대신 settings.gradle 파일에 Android SDK 레파지토리(Repository)를 설정한다. (이유는 아래 블로그를 참고) [안드로이드] Android studio Arctic Fox 버전 이후 gradle allprojects 추가방법 안드로이드 스튜디오 버전을 업데이트하고 신규 프로젝트파일을 생성했습니다. 라이브러리 추가가 필요해서 jcenter와 jitpack.io 레포지토리 등..
📌 학습목표 - 서버에 대해 설명할 수 있다. - Server와 Client의 구조를 설명할 수 있다. - 서버와의 통신에 대해 설명할 수 있다. - XML과 JSON에 대해 설명할 수 있다. 📝 Standard Mission Retrofit2를 이용하여 앱에 OpenAPI 3개 이상 연동하기 - 사용 API는 자유, SDK 사용하지 않기 - JSON 형태의 OpenAPI 사용 권장 - 로그에서 받아온 값 출력하기 - 추천 사이트 : 공공데이터포털 (open.go.kr) 1️⃣ 영화진흥위원회 오픈 API 영화진흥위원회 오픈 API 중에 일일 박스오피스 API를 가져와볼 것이다. 영화진흥위원회 오픈API 제공서비스 영화관입장권통합전산망이 제공하는 오픈API서비스 모음입니다. 사용 가능한 서비스를 확인하고 ..
Retrofit2 설치 retrofit github에 들어가 코드를 복사해 안드로이드 스튜디오에 다운로드를 해준다. dependencies { implementation 'com.squareup.retrofit2:retrofit:2.9.0' } GitHub - square/retrofit: A type-safe HTTP client for Android and the JVM A type-safe HTTP client for Android and the JVM. Contribute to square/retrofit development by creating an account on GitHub. github.com 다음으로 안드로이드는 기본적으로 앱에서 따로 권한을 받지 않는 이상 통신이 안 된다. 그래서..
일주일이 지나서야 해커톤 후유증에서 벗어나 글을 적고 있습니다.. 해커톤은 당일 저녁부터 다음날 아침까지 개발을 해야 돼서 며칠 전부터 밤낮을 바꾸려고 노력했다가 오히려 당일날 수면 부족으로 죽을뻔한 케이스 😅 우선, 아래 사진은 제가 나간 UMC 3기 해커톤 포스터입니다! 동아리 지원하기 전부터 해커톤 정말 나가고 싶어서 지원 모집 올라오자마자 바로 지원했거든요!?! 마감이 10초 만에 됐지만, 한 자리가 비게 되어서 운 좋게 나가게 됐습니다! 사실 저는 해커톤이 처음이라 지원해도 될지 고민 많이 했었는데 지원 자격을 보니까 과제 열심히 한 사람은 주저하지 말고 지원하라고 해서 바로 지원했습니다! 기획, 디자인, 서버와 협업하면서 소통하는 경험이 프론트엔드 개발자에 있어서 매우 중요하다고 생각했고 이런..
📌 학습 목표 - Database(DB)에 대해 설명할 수 있다. - DBMS의 의미와 종류(관계형, 비관계형)를 설명할 수 있다. - Key-Value를 사용하는 자료구조에 대해 설명할 수 있다. - Android에서의 데이터 저장 방법을 설명하고 사용할 수 있다. 📝 Standard Mission 1. RoomDB를 이용하여 5주차 RecyclerView의 Standard Misson에서 만들었던 메모장 앱의 메모들이 앱이 껐다 켜져도 유지 (저장)되도록 하기 먼저, RoomDB를 사용하기 전에 build.gradle 파일을 수정해줘야 한다. 아래 내용을 추가하고 난 뒤, 싱크를 맞춰준다! 다음으로 RoomDB를 살펴보자면 AppDatabase.kt package com.example.homework..
Android에서 Database를 왜 배울까? 대부분의 정보는 서버에 저장하지만 클라이언트에서만 저장해야 하는 값도 존재한다. 또한 이러한 지식을 알고 있으면 서버 개발자와의 협업에도 유리하다! 그래서 안드로이드를 공부하더라도 DB를 배우는 것이 좋다. 안드로이드에서도 (Key-Value 및 관계형 데이터베이스) 형태 기반으로 값을 저장 가능할 수 있다. 대표적인 저장 방법으로는 3가지가 있다. - File (text...) - SharedPreferences (Key-Value) - RoomDB (관계형 DB) 📌 SharedPreferences 안드로이드에서 간단하게 값을 저장하고 불러오는 방법이다. 기본적인 자료구조만 가능하기 때문에 하나의 Key에 다중 값을 저장하기는 어렵다! Key-Value..
📌 학습 목표 - Thread에 대해 설명할 수 있다. - Handler에 대해 설명할 수 있다. - Looper에 대해 설명할 수 있다. 📝 Standard Mission - Thread를 활용하여 타이머 만들어보기 - 시간이 흐를 때마다 TextView 업데이트해서 남은 시간 표시하기 - 설정한 시간 (예: 30초)가 지나면 타이머 종료 알리기 - (Optional) 종료하면 효과음 재생해보기 (SoundPool) Thread를 사용해 total 값이 1씩 줄어들면서 timerTextView에 값이 업데이트 되도록 만들었다. Thread에선 바로 뷰에 접근하진 못하므로 Handler를 활용해 뷰를 다룰 수 있게 구현했다. MainActivity.kt package com.example.homework..
progress로 시간을 설정하는 타이머를 만들어볼 것이다. 1 ~ 60분까지 타이머 설정하기 1초마다 화면 갱신하기 타이머 효과음 넣기 📌 알게 된 점 1. 함수로 빼내 무슨 역할을 하는지 추상화하는 것이 중요하다. 가독성 굿! 2. SoundPool로 효과음을 넣는다. SoundPool | Android Developers developer.android.com 📌 최종 코드 MainActivity.kt package com.example.timer import android.media.SoundPool import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.CountDownTimer impor..
📌 학습 목표 - BottomNavigationView을 구성하고 사용할 수 있다. - TabLayout을 구성하고 사용할 수 있다. - ViewPager를 구성하고 사용할 수 있다. ViewPager2 | Android 개발자 | Android Developers 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 스와이프할 수 있는 형식으로 뷰 또는 프래그먼트를 표시합니다. 최근 업데이트 공개 버전 출시 후보 베타 developer.android.com 📝 Standard Mission 1. BottomNavigationView를 이용해서 3개 이상의 Fragment를 오고가는 Activity 구현하기 - 각각 다른 아이콘 적용 - 각각 다른 Fragment로 이동하도록 적..
오류 앱 권한 요청을 하려고 when 조건문을 사용해 1. 앱에 이미 권한이 부여되었는지 확인 2. 교육용 팝업 확인 후 권한 팝업을 띄우는 기능 (shouldShowRequestPermissionRationale) 3. 권한 요청 (requestPermissions) 위와 같은 함수들을 썼는데, 현재 API level이 21이라, 23버전에서만 사용할 수 있다는 오류가 떴다... 앱 권한 요청 | Android 개발자 | Android Developers 앱 권한 요청 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 모든 Android 앱은 액세스가 제한된 샌드박스에서 실행됩니다. 앱이 자체 샌드박스 밖에 있는 리 developer.android.com 해결방법 API l..
박브레드
'Android' 태그의 글 목록