본문 바로가기

분류 전체보기185

[Android/Kotlin] 파이어베이스 CRUD 만들기 (3) - 사용자 리스트 확인 저번시간에 이어서 이번엔 파이어베이스 데이터베이스에 등록된 사용자정보를 리스트에 보여주는 것을 만들어볼것이다 먼저 UserDao에 들어가서 조회 할수있는 함수를 추가해준다 // 조회 함수 fun getUserList() : Query?{ return databaseReference } } UserDao.kt 사용자 등록 레이아웃을 생성해준다 user_layout.xml 그 다음에 데이터(사용자목록)과 user_layout.xml을 연결해줄 어뎁터를 생성해주겠다 package com.example.firebasecrud import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android... 2024. 1. 26.
[Android/Kotlin] 파이어베이스 CRUD 만들기 (2) - 사용자 등록 저번시간에는 프로젝트 만들고 파이어베이스 연동을 해봤고, 이번에는 이름과 나이를 적어서 버튼을 누르면 등록해보는 예제 코드를 짜볼것이다 먼저 viewbinding 설정을 할것이다 viewbinding 설정을 하는 이유는 findviewbyid없이 뷰 객체를 사용하기 위해서다 viewbinding을 사용함으로써 뷰객체에 바로 접근할수있다 build.gradle(app)에서 kotlinOptions 밑에 아래와같이 코드를 작성해준뒤 sync now를 눌러주면 viewbinding을 사용할수있게 된다 buildFeatures{ viewBinding = true } 이제 사용자 정보를 담을 사용자 모델 클래스를 생성해준다 User.kt 파일을 생성해준다 (클래스 타입은 Data class로 생성) constru.. 2024. 1. 26.
[Android/Kotlin] 파이어베이스 CRUD 만들기 (1) - 프로젝트 생성, 파이어베이스 연동 # 새 프로젝트 생성 먼저 Empty Activity를 클릭해서 new project를 만들어준다 프로젝트명은 FirebaseCrud라고 써주었다 # 파이어베이스 연결 이제 파이어베이스를 연결해줄건데 안드로이드 스튜디오에서 Tool -> Firebase -> Analytics -> Get started with Google Analytics -> Connect your app to Firebase에 있는 연결을 누르면 파이어베이스창으로 이동하는데 거기서 새로운 프로젝트 생성하고 연결을 눌러주면 안드로이드 스튜디오와 파이어베이스 연결이 완료된다 잘 연결이 되었는지 확인하고싶다면 안드로이드 스튜디오에서 보는 형식을 Project로 변경한다음 app 내부에 json파일이 있다면 파이어베이스와 잘 연동이 되었다.. 2024. 1. 26.
[kotlin]스코프 함수 # 스코프 함수 - 스코프 함수(Scope Function)는 코드를 축약해서 표현할 수 있도록 도와주는 함수이다 영역 함수라도고 한다. 사용법은 함수처럼 쓰지 않고 run, let처럼 괄호 없이 일종의 키워드 같이 사용할 수 있다. lateinit과 함께 Safe Call 남용을 막아주는 역할도 하기 때문에 많이 사용하는 요소이다. 스코프 함수에는 run, let, apply, also, with이 있다. # run과 let으로 보는 스코프 함수 - run과 let은 자신의 함수 스코프(코드 블록) 안에서 호출한 대상을 this와 it로 대체해서 사용할 수 있다. # run 스코프 함수 안에서 호출한 대상을 this로 사용할 수 있다. 클래스 내부의 함수를 사용하는 것과 동일한 효과이기 때문에 this.. 2024. 1. 16.
[kotlin]지연 초기화 # lateinit - 개발을 하다보면 클래스 안에서 변수만 Nullable로 미리 선언하고, 초기화를 나중에 해야 할 경우가 있다 - 이럴 경우 lateinit 키워드를 사용할 수 있다 # Nullable로 선언하는 일반적인 방법 class Person { var name: String? = null init { name = "Lionel" } fun process() { name?.plus(" Messi") print("이름의 길이 = ${name?.length}") print("이름의 첫 글자 = ${name?.substring(0, 1)}") } } -> 일반적인 선언 방식으로 처음에 null 값을 입력해두고, 클래스의 다른 메서드 영역에서 값을 입력한다 -> 위 방식은 변수에 입력된 값의 메서드.. 2024. 1. 16.
[kotlin]null 값에 대한 안정적인 처리 - Null Safety - null은 항상 이슈의 중심에 있는데, null로 인해 프로그램 전체 혹은 앱 전체가 멈출 수 있다 - 프로그램이 멈출 수 있는 상황을 다음과 같이 코드로 만들어보겠다 class One { fun print() { Log.d("null_safety", "can you call me?") } } -> 1개의 메서드를 갖고있는 클래스를 만든다 var one: One if (1 > 2){ one = One() } one.print() -> 그리고 onCreate() 메서드 안에서 다음과 같이 one 변수 하나를 선언하고, 타입으로 내가 만든 클래스를 지정해둔다 -> 그리고 특정 조건이 만족할 때만 선언한 변수에 생성자를 호출해서 저장해두는 조건문 if를 만든다 -> 그리고 변수를 통해, 해당 클래스의 메서.. 2024. 1. 16.