본문 바로가기

인프런) 앱 8개를 만들면서 배우는 안드로이드 코틀린14

섹션 6. 다이어트 메모 앱 만들기(5) - 파이어베이스 리얼타임 데이터베이스(Realtime Database) 저장하기 지난 글까지는 스플래시화면을 만들고, 메모와 리스트뷰로 이루어진 레이아웃을 작성한 다음, 글쓰기 버튼을 누르면 날짜를 선택하는 다이얼로그를 띄우는 것을 학습했다. 이번 글에서는 입력한 메모를 데이터 베이스에 저장하고, 불러오는 것을 해볼 것이다. 그 전에, 날짜를 선택했으니 '저장하기' 버튼을 만들어줄 것이다. 다이얼로그의 레이아웃 파일로 가서 다음과 같이 버튼을 만들어준다. 이제 데이터 저장 기능을 만들어주자. 메인액티비티로 가서, 이전에 만들었던 DateSelectBtn의 setOnClickListener 함수 영역이 끝나는 부분부터 빠져나와서 작성해주자. 이렇게 findViewById로 뷰 객체 만들어주고 setOnClickListener 함수를 만들어주자. 이제 파이어베이스로 가서 Realtime.. 2023. 9. 10.
섹션 6. 다이어트 메모 앱 만들기(4) - 다이얼로그 띄우기 지난 글에서는 스플래시 화면을 만들었다. 이번시간에서는 먼저 글을 메모할 글쓰기 버튼을 만들어주자. activity_main.xml로 가자. 아이콘 사진 아무거나 다운받아서 drawable 폴더에 넣어주고, 이미지뷰 생성 constraintLayout으로 바꿔주고 글쓰기버튼 오른쪽 아래에 붙여주기 리스트뷰도 만들어주기 이제 버튼을 클릭하면 실행될 이벤트를 작성하자 메인액티비티로~ 글쓰기 버튼 뷰 바인딩 해서 뷰 객체 만들고 setOnClickListener 함수 써주기 setOnClickListener 함수를 이용해 버튼을 클릭하면 다이얼로그를 띄울 것이다. 다이얼로그란? 팝업 형태의 창 다이얼로그 레이아웃을 먼저 만들어주자. 레이아웃파일 만드는법: layout 폴더 우클릭-New-LayoutResour.. 2023. 9. 10.
섹션 6. 다이어트 메모 앱 만들기(3)-스플래시 화면 만들기 어떤 운동을 했는지 메모 목록이 있고, 글쓰기 아이콘을 클릭하면 날짜 선택, 그리고 메모를 남길 수 있는 앱을 만들어볼것이다. 사용할 기술은 1. Firebase Auth - uid (인증 기능) 2. Firebase Realtime Database (데이터베이스) 이렇게 두 가지 이다. 프로젝트 이름을 diet_memo 라고 만들어주자 제일 먼저, 스플래시 화면을 만들어주자. 스플래시 화면을 만드는 이유는 화면이 나오는 동안 지금 앱을 켠 사람의 회원/비회원 여부를 확인하기 위함이다. 로그인안했으면-자동로그인시켜주고 로그인했으면-바로 메모 남길 수 있도록. 먼저, 스플래시 액티비티를 만들자. 메인액티비티파일이 속해있는 파일 우클릭-NewActivity-Empty Activity 이름은 SplashAct.. 2023. 9. 9.
섹션 6. 다이어트 메모 앱 만들기(2)-파이어베이스로 이메일 로그인 기능 구현하기 지난 글에서 파이어베이스를 이용해 익명 로그인 하는 것을 구현해봤다. 이번에는 이메일 로그인을 구현해보자. 구글에 android firebase email auth 라고 검색하면 가이드라인이 상세하게 나온다. 하란대로 해주면 된다. 새로운 프로젝트를 만들어주자. 이름은 fb_firebase_email_password_auth 파이어베이스 들어가서 새로운 프로젝트 만들어서 이전 글과 똑같이 파이어베이스 프로젝트도 새로 만들어주고... 이름도 짓고... 해주자. 안드로이드 아이콘 눌러서 'Android 앱에 Firebase 추가'를 차례로 해주자. 그래들 파일에 넣으란 거 다 넣어주기.(지난 글 참고) 절차 끝난 후 '콘솔로 이동' 클릭. 콘솔에서 좌측 더보기 열고 빌드-Authentication 클릭(인증.. 2023. 9. 9.
섹션 6. 다이어트 메모 앱 만들기(1)-파이어베이스로 익명 로그인 기능 구현하기 서버란? 사용자가 데이터 요청하면 데이터 돌려주는 역할을 함. 웹/앱 마찬가지 서버가 하는 역할을 '파이어베이스'가 대신할 수 있다. 예를 들면 앱에서 비회원으로 이용하는 데이터도 앱 켜는 즉시 각각의 사용자들에게 유저 ID를 부여해서 회원별로 기록된다. 이런 기능도 파이어베이스에서 이용할 수 있다. 파이어베이스 사용하기 전, '동기'와 '비동기' 동기는 일을 차례대로 하나씩, 비동기는 여러 일을 한꺼번에 할 수 있다. 사용자에게 로딩이 지연되는 느낌을 덜하게 할 수 있다. 파이어베이스 실습을 해보자 프로젝트를 만들고 액티비티 파일 최상단에 뜨는 패키지명을 알고 있어야 파이어베이스 등록이 가능하다. 파이어베이스 홈페이지에 들어가서 시작하기를 클릭한다. 프로젝트 만들기를 클릭하고 프로젝트 이름을 임의로 만.. 2023. 9. 4.
섹션 5. 트로트 가수 음악 목록 앱 만들기(4)-리사이클러 뷰 활용 이전 글에서 내비게이션 버튼을 클릭하는 클릭이벤트를 통해 프래그먼트의 화면을 전환하는 법을 구현해봤다. 이번에는 그 화면에 그 가수의 트로트 목록을 출력하도록 리사이클러 뷰를 이용해보자. 우선 액션바를 없애주려면(내꺼엔 이미 없음) res-values-themes-themes.xml을 열자 태그 안에 true 태그를 추가해주자 그다음 리사이클러 뷰를 레이아웃에 만들어주자. 상단에 텍스트뷰도 만들어주고 그만큼 간격 띄운 리사이클러 뷰도 만들어주자 (태그 />로 닫아야 함) TextView에 빨간줄 뜬건 ConstraintView때문이니 점을 끌어서 parent에 맞춰주도록 하자. 이제 어댑터를 만들어보자. 소스파일 새로 만들기~ 소스파일 있는 디렉터리-New-Kotlin Class/File 클릭! 이름은 .. 2023. 9. 4.
섹션 5. 트로트가수 음악 목록 만들기(3)-프래그먼트 활용 안드로이드 내비게이션 컨트롤러를 사용하기에 앞서, 프래그먼트에 대해 알아보자 화면마다 액티비티를 만드는게 아니라 한 액티비티에서 여러 화면이 전환될 수 있도록 하고 싶을 때, 프래그먼트를 이용한다. 프래그먼트란? 액티비티에 있는 화면! 먼저, 프래그먼트를 나오게 하는 전체 화면의 내비게이션이 있어야 한다. 프로젝트를 만들고 내비게이션 버튼을 먼저 만들어주도록 하자. 1. navigation 만들기 2. Fragment 만들고 내비게이션에 연결하기 3. 리사이클러 뷰 만들기 이 순서대로 해보겠다. app 디렉터리 우클릭-New-Android Resource File Resource type은 Navigation으로 설정해 주고 이름은 trot_nav로 하자. 내비게이션 기능을 그래들 파일에 넣을 건지 묻는.. 2023. 8. 31.
섹션 5. 트로트가수 음악 목록 만들기(2)-리사이클러 뷰 ListView vs RecyclerView 지난 글에서 리스트뷰를 알아봤고 이번에는 리사이클러 뷰를 알아보자 둘은 이런 차이점이 있다. 출처: https://www.crocus.co.kr/1704 리스트뷰와 리사이클러 뷰의 구조는 거의 똑같다. -리사이클러 뷰 만들기 프로젝트 생성하고 activity_main.xml에 리사이클러 뷰를 만들어준다. 그다음 어댑터 만들어주자 코틀린파일 새로 만들기~ 이름은 RVAdapter.kt 멤버들 임포트 해주고 inner class ViewHolder 만들어줘서 ViewHolder 빨간줄 없애주기 이때 onCreateViewHolder에서 뷰의 아이템을 가져와야 하는데~~ 아직 아이템(recyclerview_item.xml) 안만들었으니까 이제 만들어주기 레이아웃 파.. 2023. 8. 30.
섹션 5. 트로트 가수 음악 목록 앱 만들기(1)-리스트뷰 복습 -ListView vs RecyclerView 비슷해보이지만 역할이 다르다 후자가 구현하기 좀 더 어렵지만 성능이 더 좋다. 리스트뷰 복습겸 하나 더 만들어보자 -리스트뷰 만들기 액티비티에서 어댑터로 리스트 데이터를 넘기고 어댑터에서 값을 하나하나 아이템에 넣어준 다음 그 아이템들을 액티비티의 리스트뷰에 넣어준다. 1️⃣ 메인액티비티-어댑터 2️⃣ 어댑터-아이템레이아웃 3️⃣ 아이템레이아웃-메인레이아웃의 리스트뷰 이번에는 아이템들을 하나하나 클릭하면 어떻게 되는지도 알아보자 먼저, 메인 액티비티 레이아웃에 리스트뷰를 넣어주자. (메인 액티비티 레이아웃 파일 없을 때 레이아웃 만드는 법) 리스트뷰 만들기 그 다음, 리스트뷰의 아이템 레이아웃 만들기 Layout우클릭-New-Layout Resource Fi.. 2023. 8. 30.
섹션 4. 명언 앱 만들기(2) 들어가기에 앞서, -코틀린에서의 물음표(?)와 느낌표(!)의 의미 ? ➡️ null 일 수 있다. ! ➡️ null 이 아님. -안드로이드 앱 뒤로가기 버튼 이벤트 "종료하시려면 한 번 더 눌러주세요" 검색을 잘 이용해서... 구글링을 해보자 // MainActivity 파일에서 class MainActivity : AppCompatActivity() { private var isDouble = false // 변수값 기본세팅 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } override fun onBackPressed().. 2023. 8. 30.