이번 시간에는 파이어베이스(Firebase) CRUD 만드는 방법 - 두 번째 시간
실시간 데이터베이스(Realtime Database)에 사용자 등록하는 방법을 알아보겠습니다.
이전 포스팅은 아래 링크를 들어가시면 됩니다.
2022.11.07 - [안드로이드] - [안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part1 - 프로젝트 생성
build.gradle(Module:프로젝트명:app)
android 괄호 안에 아래 코드를 넣어주시면 됩니다.
findViewById 없이 뷰 객체 접근하기 위한 설정
buildFeatures{
viewBinding = true
}
- 설명 -
1. 사용자 정보 담을 클래스
2. userKey: 사용자 구분값
3. userName: 사용자 이름
4. userAge: 사용자 나이
data class User(
var userKey: String, //키
var userName: String, //이름
var userAge: String //나이
){
constructor(): this("", "", "")
}
- 설명 -
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)
}
}
- 설명 -
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>
- 설명 -
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 - 로그인 액티비티
2022.10.04 - [안드로이드] - [안드로이드 코틀린] CountDownTimer 타이머 쉽게 만드는 방법 part1 뷰 바인딩 및 화면 구성
2022.10.03 - [안드로이드] - [안드로이드 코틀린] 스톱워치 StopWatch 쉽게 만드는 방법
[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part4 - 사용자 수정 (0) | 2022.11.10 |
---|---|
[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part3 - 사용자 리스트 (0) | 2022.11.09 |
[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part1 - 프로젝트 생성 (0) | 2022.11.07 |
[안드로이드 코틀린] 채팅앱 만드는 방법 part9 - 메시지 가져오기 (0) | 2022.10.28 |
[안드로이드 코틀린] 채팅앱 만드는 방법 part8 - 메시지 보내기 (0) | 2022.10.27 |
댓글 영역