✨ 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 다음으로 안드로이드는 기본적으로 앱에서 따로 권한을 받지 않는 이상 통신이 안 된다. 그래서..
Android에서 Database를 왜 배울까? 대부분의 정보는 서버에 저장하지만 클라이언트에서만 저장해야 하는 값도 존재한다. 또한 이러한 지식을 알고 있으면 서버 개발자와의 협업에도 유리하다! 그래서 안드로이드를 공부하더라도 DB를 배우는 것이 좋다. 안드로이드에서도 (Key-Value 및 관계형 데이터베이스) 형태 기반으로 값을 저장 가능할 수 있다. 대표적인 저장 방법으로는 3가지가 있다. - File (text...) - SharedPreferences (Key-Value) - RoomDB (관계형 DB) 📌 SharedPreferences 안드로이드에서 간단하게 값을 저장하고 불러오는 방법이다. 기본적인 자료구조만 가능하기 때문에 하나의 Key에 다중 값을 저장하기는 어렵다! Key-Value..
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..
오류 앱 권한 요청을 하려고 when 조건문을 사용해 1. 앱에 이미 권한이 부여되었는지 확인 2. 교육용 팝업 확인 후 권한 팝업을 띄우는 기능 (shouldShowRequestPermissionRationale) 3. 권한 요청 (requestPermissions) 위와 같은 함수들을 썼는데, 현재 API level이 21이라, 23버전에서만 사용할 수 있다는 오류가 떴다... 앱 권한 요청 | Android 개발자 | Android Developers 앱 권한 요청 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 모든 Android 앱은 액세스가 제한된 샌드박스에서 실행됩니다. 앱이 자체 샌드박스 밖에 있는 리 developer.android.com 해결방법 API l..
오늘은 계산했던 기록을 DB에 저장하는 계산기를 만들어볼 것이다. 단, 정수형으로 한정하고 몇 가지 기능을 배제하고 연산자는 1회만 사용할 수 있도록 할 것이다! Thread 사용하기 - 타 Thread 만들어서 사용하기 - runOnUiThread 사용하기 Room 사용하기 📌 알게 된 점 1. TableLayout 속성에 shrinkColumns="*"을 주면 열 간격이 균일하게 적용된다. 2. drawable 누를 때 색상 변하게 하는 것은 ripple 3. Button에 바로 background를 하면 적용되지 않기 때문에 AppCompatButton으로 변경해주거나, stateListAnimator="null"로 설정해줘야 한다. 4. DB table로 사용해주기 위해 @Entity를 추가해준다..
문제 안드로이드 Activity에서 Toast Message를 띄우고자 했지만 뜨지 않는 문제가 발생했다. 그래서 코드에 문제가 있나 한참 찾아봤지만, 문제가 없었다. Toast.makeText(this, "비밀번호 변경 중입니다.", Toast.LENGTH_SHORT).show() 해결 방법 AVD Manager에 들어가서 사용 중인 에뮬레이터 데이터를 삭제한다. AVD Manager -> Wipe Data 결과 toast 메세지가 정상적으로 뜨는 것을 확인할 수 있다.
오늘은 비밀번호를 저장하는 기능과 변경하는 기능을 구현해볼 것이다. 또한, 다이어리 내용을 앱이 종료되더라도 기기에 저장하는 기능을 구현할 것이다. SharedPreference의 속성들과 사용하는 법 Custom Font 사용하기 Handler 사용하기 Theme 사용하기 AlertDialog 사용하기 📌 알게 된 점 1. ActionBar를 없애려면 theme 파일에 테마 설정을 해주고, manifast 파일에 표시해줘야 한다. 2. Custom Font 사용하는 법 font 이름을 가진 디렉터리를 만들어준다. 원하는 폰트를 다운 받은 다음, font 디렉터리에 넣어주고 fontFamily를 설정해준다. 참고로, 폰트 파일 이름은 첫문자가 소문자로 시작되어야 한다! 3. handler라는 것은 thr..
Shape Drawable을 사용하여 원형과 background를 바꿔 로또 번호를 생성하는 추첨기를 만들어볼 것이다. Layout과 Kotlin 코드를 함께 사용할 예정이다. Layout을 그리는 법 - ConstraintLayout 사용하기 - NumberPicker의 속성들과 사용하는 법 - TextView의 속성들과 사용하는 법 - Button 사용하는 법 📌 알게 된 점 1. 원형을 사용하려면 drawable resource(드로어블 리소스)를 활용하면 된다. 드로어블 리소스 | Android 개발자 | Android Developers 드로어블 리소스 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 드로어블 리소스는 화면에 그릴 수 있으며 getDrawable(i..
BMI을 계산하기 위해서 Kotlin 문법을 사용해 BMI 계산기를 만들어볼 것이다. Layout을 그리는 법 - LinearLayout 사용하기 - TextView의 속성들과 사용하는 법 - EditText의 속성들과 사용하는 법 - Button 사용하는 법 📌 알게 된 점 1. EditText에 inputType을 number로 주면 숫자 키패드 자판이 나온다. 2. 안드로이드 핸드폰에 따라 해상도와 화면 크기가 다르기 때문에 일정하게 하기 위해 dp를 사용한다. 3. 사용자에 따라 글씨를 크게 키우고 싶을 수도 있으므로 글씨 크기는 sp로 설정한다. 4. 코드 정렬을 하기 위해서 Reformat code(Ctrl+Alt+L)라는 단축키를 사용한다. 5. MainActivity에서 ResultActi..
리사이클러뷰(RecyclerView)는 많은 수의 데이터 집합을, 제한된 영역 내에서 유연하게 표시할 수 있도록 만들어주는 위젯을 말한다. 즉, View를 재활용하는 기능을 추가한 효율적인 ListView를 말한다. 아래 사진에서 RecyclerView같은 경우, Swipe를 하면 위의 것이 아래로 내려오게 된다. 📌 ListVIew vs RecyclerView 리스트뷰(ListVIew)의 개선판인 리사이클러뷰(RecyclerView) 리스트뷰의 경우, 기본 가이드에 따라 구현했을 때 만날 수 있는 문제점 중 하나는, 리스트 항목이 갱신될 때마다 매번 아이템 뷰를 새로 구성해야 한다는 것이다. 이는 많은 수의 데이터 집합을 표시하는 데 있어서 성능 저하를 야기할 수 있는 요인이 된다. 그래서 이러한 리스..
박브레드
'✨ Front-End/Android' 카테고리의 글 목록