[UMC] Android 9주차 워크북 (Network) - 소셜 로그인
·
🍞 대외활동/Univ Makeus Challenge
📝 Standard Mission 소셜 로그인 한 가지 이상 구현해보기 - ex. 카카오, 네이버, 구글… - 단순 화면 전환 뿐만 아니라 이름, 이메일 값 가져와서 TextView에 띄우기 - SDK 사용 가능 ✅ 프로젝트 초기 설정 우선 프로젝트를 하나 생성하고 build.gradle(project) 파일 대신 settings.gradle 파일에 Android SDK 레파지토리(Repository)를 설정한다. (이유는 아래 블로그를 참고) [안드로이드] Android studio Arctic Fox 버전 이후 gradle allprojects 추가방법 안드로이드 스튜디오 버전을 업데이트하고 신규 프로젝트파일을 생성했습니다. 라이브러리 추가가 필요해서 jcenter와 jitpack.io 레포지토리 등..
[UMC] Android 9주차 워크북 (Network) - Retrofit2 OpenAPI
·
🍞 대외활동/Univ Makeus Challenge
📌 학습목표 - 서버에 대해 설명할 수 있다. - Server와 Client의 구조를 설명할 수 있다. - 서버와의 통신에 대해 설명할 수 있다. - XML과 JSON에 대해 설명할 수 있다. 📝 Standard Mission Retrofit2를 이용하여 앱에 OpenAPI 3개 이상 연동하기 - 사용 API는 자유, SDK 사용하지 않기 - JSON 형태의 OpenAPI 사용 권장 - 로그에서 받아온 값 출력하기 - 추천 사이트 : 공공데이터포털 (open.go.kr) 1️⃣ 영화진흥위원회 오픈 API 영화진흥위원회 오픈 API 중에 일일 박스오피스 API를 가져와볼 것이다. 영화진흥위원회 오픈API 제공서비스 영화관입장권통합전산망이 제공하는 오픈API서비스 모음입니다. 사용 가능한 서비스를 확인하고 ..
[Android] Retrofit2 사용법
·
🍞 Front-End/Android
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] 3rd UMC 해커톤 회고
·
🍞 대외활동/Univ Makeus Challenge
일주일이 지나서야 해커톤 후유증에서 벗어나 글을 적고 있습니다.. 해커톤은 당일 저녁부터 다음날 아침까지 개발을 해야 돼서 며칠 전부터 밤낮을 바꾸려고 노력했다가 오히려 당일날 수면 부족으로 죽을뻔한 케이스 😅 우선, 아래 사진은 제가 나간 UMC 3기 해커톤 포스터입니다! 동아리 지원하기 전부터 해커톤 정말 나가고 싶어서 지원 모집 올라오자마자 바로 지원했거든요!?! 마감이 10초 만에 됐지만, 한 자리가 비게 되어서 운 좋게 나가게 됐습니다! 사실 저는 해커톤이 처음이라 지원해도 될지 고민 많이 했었는데 지원 자격을 보니까 과제 열심히 한 사람은 주저하지 말고 지원하라고 해서 바로 지원했습니다! 기획, 디자인, 서버와 협업하면서 소통하는 경험이 프론트엔드 개발자에 있어서 매우 중요하다고 생각했고 이런..
[UMC] Android 8주차 워크북 (Database)
·
🍞 대외활동/Univ Makeus Challenge
📌 학습 목표 - 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] 데이터 저장 방법 (SharedPreferences, RoomDB)
·
🍞 Front-End/Android
Android에서 Database를 왜 배울까? 대부분의 정보는 서버에 저장하지만 클라이언트에서만 저장해야 하는 값도 존재한다. 또한 이러한 지식을 알고 있으면 서버 개발자와의 협업에도 유리하다! 그래서 안드로이드를 공부하더라도 DB를 배우는 것이 좋다. 안드로이드에서도 (Key-Value 및 관계형 데이터베이스) 형태 기반으로 값을 저장 가능할 수 있다. 대표적인 저장 방법으로는 3가지가 있다. - File (text...) - SharedPreferences (Key-Value) - RoomDB (관계형 DB) 📌 SharedPreferences 안드로이드에서 간단하게 값을 저장하고 불러오는 방법이다. 기본적인 자료구조만 가능하기 때문에 하나의 Key에 다중 값을 저장하기는 어렵다! Key-Value..
[UMC] Android 7주차 워크북 (Thread)
·
🍞 대외활동/Univ Makeus Challenge
📌 학습 목표 - Thread에 대해 설명할 수 있다. - Handler에 대해 설명할 수 있다. - Looper에 대해 설명할 수 있다. 📝 Standard Mission - Thread를 활용하여 타이머 만들어보기 - 시간이 흐를 때마다 TextView 업데이트해서 남은 시간 표시하기 - 설정한 시간 (예: 30초)가 지나면 타이머 종료 알리기 - (Optional) 종료하면 효과음 재생해보기 (SoundPool) Thread를 사용해 total 값이 1씩 줄어들면서 timerTextView에 값이 업데이트 되도록 만들었다. Thread에선 바로 뷰에 접근하진 못하므로 Handler를 활용해 뷰를 다룰 수 있게 구현했다. MainActivity.kt package com.example.homework..
[Android] Progress 타이머
·
🍞 Front-End/Android
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..
[UMC] Android 6주차 워크북 (고급 Layout과 View)
·
🍞 대외활동/Univ Makeus Challenge
📌 학습 목표 - BottomNavigationView을 구성하고 사용할 수 있다. - TabLayout을 구성하고 사용할 수 있다. - ViewPager를 구성하고 사용할 수 있다. ViewPager2 | Android 개발자 | Android Developers 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 스와이프할 수 있는 형식으로 뷰 또는 프래그먼트를 표시합니다. 최근 업데이트 공개 버전 출시 후보 베타 developer.android.com 📝 Standard Mission 1. BottomNavigationView를 이용해서 3개 이상의 Fragment를 오고가는 Activity 구현하기 - 각각 다른 아이콘 적용 - 각각 다른 Fragment로 이동하도록 적..
[Android] 앱 권한 요청 API level 오류
·
🍞 Front-End/Android
오류 앱 권한 요청을 하려고 when 조건문을 사용해 1. 앱에 이미 권한이 부여되었는지 확인 2. 교육용 팝업 확인 후 권한 팝업을 띄우는 기능 (shouldShowRequestPermissionRationale) 3. 권한 요청 (requestPermissions) 위와 같은 함수들을 썼는데, 현재 API level이 21이라, 23버전에서만 사용할 수 있다는 오류가 떴다... 앱 권한 요청 | Android 개발자 | Android Developers 앱 권한 요청 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 모든 Android 앱은 액세스가 제한된 샌드박스에서 실행됩니다. 앱이 자체 샌드박스 밖에 있는 리 developer.android.com 해결방법 API l..