Android Project (33) 썸네일형 리스트형 [Android/Kotlin] 커뮤니티앱(2) - 회원가입, 로그인, 비회원 가입 기능 구현 먼저 파이어베이스와 안드로이드 스튜디오를 연동해준뒤 build.gradle(Project)에 들어가서 아래코드를 작성해준다 dependencies{ classpath("com.google.gms:google-services:4.4.0") } build.gradle(Project) 그리고 build.gradle(app)에서 아래 코드를 등록해주면 파이어베이스와 연동은 완료된다 plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("com.google.gms.google-services") } dependencies { ... implementation("com.google.firebase:firebase-analytics.. [Android/Kotlin] 커뮤니티앱 (1) - 스플래시, 회원가입, 로그인 디자인 일단 스플래시 화면부터 만들어볼것이다 # 스플래시 화면 먼저 스플래시 화면을 디자인해준다 activity_splash.xml 매니페스트로 들어가서 SplahActivity엑티비티 안에 intent-filter 코드를 추가해줘서 SplahActivity엑티비티가 제일 처음 화면으로 나오도록 설정한다 AndroidManifest.kt 그리고 SplashActivity다음에 나올 IntroActivity를 생성해준뒤에, SplashActivity로 돌아와서 3초동안 SplashActivity가 나온뒤에 종료되고 IntroActivity로 이동하는 코드를 짜준다 package com.example.mysololife import android.content.Intent import androidx.appcomp.. [Android/Kotlin] FLO앱 클론코딩(4) - 생명주기 원래는 SongActivity에서 노래가 재생된다고 가정하고 코딩을 진행했었는데, 이번시간에는 실제로 음악이 재생될수있도록 해볼것이다 그리고 생명주기를 활용해서 Activity가 onPause() 상태가 됐을때 음악을 중지하는것과 음악을 재생하고 있다가 앱을 종료시켜도 이전에 재생되고있었던 음악(Song데이터)을 미니플레이어에 반영해주는 작업도 생명주기를 활용해서 해볼것이다 https://coding-juuwon2.tistory.com/84 [Android/Kotlin] 생명주기(Life Cycle) 생명주기의 사전적 정의를 살펴보면 "어떤것이 태어나고 죽기까지의 기간"을 말한다고 나와있다 사람으로 예를들어보면, 사람은 태어나고 죽기까지의 생명주기를 가지며 이 생명주기동안 사람 coding-juuwon2.. [Android/Kotlin] FLO앱 클론코딩(3) - Splash화면 요즘 블로그에 개발한것을 기록하는게 중요하다는것을 뼈져리게 느끼고있다.. 분명 그때는 이해했다고 생각했는데 갑자기 생각이 안나고 까먹는 순간이 오는데 그때마다 내가 작성한 블로그를 다시보면 기억이 난다 앞으로도 꾸준히 작성해야겠다!! 아무튼 이번시간에는 Splash화면을 만들어볼것이다 Splash은 앱을 실행할때 제일먼저 실행되었다가 사라지는 화면이라고 볼수있다 Splash화면을 만드는 방식에는 Handler를 활용해서 고정된 시간동안 보여주는 방식과 스타일(Theme)을 지정해서 보여주는 2가지 방식이 있다 Handler를 이용하는 방식은 지정된 시간동안 무조건 화면을 보여주기때문에 UX적으로 사용자의 시간을 불필요하게 뺏을수있다는 단점이 있어서, 스타일(Theme) 을 지정하는 방식을 주로 추천한다 .. [Android/Kotlin] FLO앱 클론코딩(2) 이번시간에는 재생버튼을 눌렀을때 1초마다 시간과 progressbar가 갱신되고, 정지버튼을 누르면 멈출수있도록 만들어보겠다 # Seekbar적용 activity_song으로 가서 progressbar를 SeekBar로 적용해준다 SeekBar는 사용자가 값을 선택할수있는 슬라이더 형태의 바를 말한다 progress는 SeekBar 의 현재진행상태를 나타내는데 0으로 초기화해주었다 progressBackgroundTint, progressTint를 사용해서 SeekBar의 기본색상과 진행상태일때의 색상을 설정해준다 thumb는 transparent로 설정해서 표시되지 않도록해준다 max는 100,000으로 설정해서 가독성이 떨어지지 않게해준다 (기본 설정값은 100이다) # Song 데이터 클래스 수정 .. [Android/Kotlin] FLO앱 클론코딩(1) 코드를 보고 따라치기만하는 클론코딩은 안좋다고 생각하지만 스스로 생각해보면서 직접 클론코딩을 하는것은 시중에 사용되고 있는 앱의 구조와 원리를 알수있기 때문에 많은것을 얻을수있다고 생각한다. 그래서 이번에는 FLO앱을 클론코딩하면서 많은것을 얻어갈수있었음좋겠다!! 이번시간에는 중요하게 구현해볼것은 아래 3가지이다 1. Bottom Navigation View 2. Activity & Fragment로 전환 3. ViewPager와 TabLayout # Bottom Navigation View 먼저 하단 네비게이션을 만들어주겠다 bottom_nav_menu.xml # activity_main 레이아웃 디자인 activity_main에 아까 만들었던 bottom_nav_menu를 적용하고 노래 재생 레이아웃.. [Android/Kotlin] 퀴즈앱(2) 이번에는 저번에 만든거에 이어서 퀴즈앱을 마무리 해보려고한다! activity_main.xml package com.example.quizappclass MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.l.. [Android/Kotlin] 드로잉앱(1) 그림을 그릴수있는 간단한 앱을 만들어볼건데 이번에는 화면에 그림이 그려지고 손을 떼면 그림이 사라지는 부분을 만들어볼것이다 먼저 Manifest에 들어가서 activity안에 이 코드를 추가해준다 화면을 세로방향으로 고정시켜주는 코드다 android:screenOrientation="portrait" 그다음에 DrawingView.kt라는 코틀린 class를 만들어서 코드를 작성해준다 package com.example.drawingapp import android.content.Context import android.graphics.Bitmap import android.graphics.Canvas import android.graphics.Color import android.graphics.Pai.. [Android/Kotlin] 퀴즈앱(1) activity_main.xml xml로 메인화면 이미지를 만들고 package com.example.quizapp import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.EditText import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentV.. [Android/Kotlin] 계산기앱 안드로이드 개발을 할때 제일 기본이 된다는 계산기앱을 만들어봤다 안드로이드 스튜디오 내에서는 onClick 사용을 반대한다고 뜨지만, 계산기앱에서는 이걸 쓰는게 더 가독성이 좋다고 판단해서 onClick을 사용했다 먼저 xml파일에 계산기앱 화면을 만든다 activity_main.xml 먼저 계산 입력창이 뜰수있는 TextView를 만어줬다그리고 전체적인 레이아웃은 LinearLayout.. 이전 1 2 3 4 다음