상세 컨텐츠

본문 제목

[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part2 - 사용자 등록

안드로이드

by aries574 2022. 11. 8. 10:42

본문


이번 시간에는 파이어베이스(Firebase) CRUD 만드는 방법 - 두 번째 시간

실시간 데이터베이스(Realtime Database)에 사용자 등록하는 방법을 알아보겠습니다.

이전 포스팅은 아래 링크를 들어가시면 됩니다.

2022.11.07 - [안드로이드] - [안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part1 - 프로젝트 생성

 

[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part1 - 프로젝트 생성

이번 시간에는 파이어베이스(Firebase) CRUD 만드는 방법 첫 번째 시간 안드로이드 스튜디오 프로젝트 생성, 파이어베이스 프로젝트 생성, 실시간 데이터베이스 생성 하는 방법에 대하여 알아보겠

aries574.tistory.com


목차

1. 실행 화면
2. 뷰 바인딩
3. 사용자 모델 클래스 User.kt
4. 데이터베이스 클래스 UserDao.kt
5. 메인 화면 구성 activity_main.xml
6. 메인 코드 구현 MainActivity.kt


1. 실행 화면


2. 뷰 바인딩

build.gradle(Module:프로젝트명:app)

android 괄호 안에 아래 코드를 넣어주시면 됩니다.

findViewById 없이 뷰 객체 접근하기 위한 설정

  buildFeatures{
        viewBinding = true
    }

 

 

3. 사용자 모델 클래스 User.kt

 - 설명 -

 1. 사용자 정보 담을 클래스

 2. userKey: 사용자 구분값

 3. userName: 사용자 이름

 4. userAge: 사용자 나이

data class User(
    var userKey: String, //키
    var userName: String, //이름
    var userAge: String //나이
){
    constructor(): this("", "", "")
}

 

 

반응형

 

4. 데이터베이스 클래스 UserDao.kt

 - 설명 -

 1. 실시간 데이터베이스와 연결할 클래스

 2. init

   - UserDao 객체 생성 시 호출되는 함수

 3. add(user: User?): Task<Void>

   - 사용자 정보 전달 받아 데이터베이스에 저장

class UserDao {
    private var databaseReference: DatabaseReference? = null

    init{
        val db = FirebaseDatabase.getInstance()
        databaseReference = db.getReference("user")
    }

    //등록
    fun add(user: User?): Task<Void>{
        return databaseReference!!.push().setValue(user)
    }

}


5. 메인 화면 구성 activity_main.xml

 - 설명 -

 1. 사용자 이름 입력받을 EditText

 2. 사용자 나이 입력받을 EditTexxt

 3. 사용자 정보 등록하는 기능 Button

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/name_edit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="이름"
        android:inputType="text" />

    <EditText
        android:id="@+id/age_edit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="나이"
        android:inputType="number" />

    <Button
        android:id="@+id/add_btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="등록"
        android:textSize="25sp" />
</LinearLayout>


6. 메인 코드 구현 MainActivity.kt

 - 설명 - 

 1. val dao = UserDao()

   데이터베이스 클래스 객체 생성

 2. val name = binding.nameEdit.text.toString()//이름

   입력 받은 값 변수에 담기

 3. addOnSuccessListener

   등록 성공시에 실행

 4. addOnFailureListener

   등록 실패시에 실행

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        //데이터베이스 클래스 객체 생성
        val dao = UserDao()

        binding.addBtn.setOnClickListener {

            val name = binding.nameEdit.text.toString() //이름
            val age = binding.ageEdit.text.toString() //나이

            //데이터 셋팅
            val user = User("", name, age)

            dao.add(user)?.addOnSuccessListener {
                Toast.makeText(this, "등록 성공", Toast.LENGTH_SHORT).show()

            }?.addOnFailureListener {
                Toast.makeText(this, "등록 실패: ${it.message}", Toast.LENGTH_SHORT).show()
            }
        }
    }
}

2022.10.18 - [안드로이드] - [안드로이드 코틀린] 채팅앱 만드는 방법 part1 - 로그인 액티비티

 

[안드로이드 코틀린] 채팅앱 만드는 방법 part1 - 로그인 액티비티

이번 시간에는 채팅앱 만들기 첫 번째 시간 로그인 액티비티 만드는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 뷰 바인딩 3. 백그라운드 drawable 4. 로그인 화면 LogInActivity 5. 홈 화면 변경 1. 실

aries574.tistory.com

2022.10.04 - [안드로이드] - [안드로이드 코틀린] CountDownTimer 타이머 쉽게 만드는 방법 part1 뷰 바인딩 및 화면 구성

 

[안드로이드 코틀린] CountDownTimer 타이머 쉽게 만드는 방법 part1 뷰 바인딩 및 화면 구성

이번 시간에는 뷰 바인딩 설정과 타이머 화면 구성을 만들어 보겠습니다. 목차 1. 실행 화면 2. 뷰 바인딩 3. 메인 화면 activity_main.xml 1. 실행 화면 1-1 설정 화면 1-2 타이머 화면 2. 뷰바인딩 build.grad

aries574.tistory.com

2022.10.03 - [안드로이드] - [안드로이드 코틀린] 스톱워치 StopWatch 쉽게 만드는 방법

 

[안드로이드 코틀린] 스톱워치 StopWatch 쉽게 만드는 방법

이번 시간에는 스톱워치(StopWatch) 만드는 방법에 대하여 알아보겠습니다. 안드로이드에서는 Chronometer을 통해 스톱워치를 쉽게 만들 수 있습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3.

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역