이번 시간에는 Firebase Realtime Database에
사용자 정보를 등록하는 방법을 알아보겠습니다.
Firebase Realtime Database 설정부분은 아래 링크를
따라하시면 됩니다.
2022.03.09 - [안드로이드] - [안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part1
2021.12.31 - [안드로이드] - [안드로이드 스튜디오] 자바 클래스 생성하는 방법
클래스명: User
- 설명 -
사용자 정보가 들어갈 클래스입니다.
public class User {
private String user_key; //키
private String user_name; //이름
private String user_age; //나이
User(){
}
public User(String user_key, String user_name, String user_age) {
this.user_key = user_key;
this.user_name = user_name;
this.user_age = user_age;
}
public String getUser_key() {
return user_key;
}
public void setUser_key(String user_key) {
this.user_key = user_key;
}
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public String getUser_age() {
return user_age;
}
public void setUser_age(String user_age) {
this.user_age = user_age;
}
}
클래스명: DAOUser
- 설명 -
데이터베이스 연결 기능을 구현한 클래스입니다.
public class DAOUser {
private DatabaseReference databaseReference;
DAOUser(){
FirebaseDatabase db = FirebaseDatabase.getInstance();
databaseReference = db.getReference(User.class.getSimpleName());
}
//등록
public Task<Void> add(User user){
return databaseReference.push().setValue(user);
}
}
- 설명 -
이름과 나이를 입력할 에디트 텍스트와 사용자 정보
등록 기능의 버튼으로 구성되어 있습니다.
<?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:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/name_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:hint="이름" />
<EditText
android:id="@+id/age_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="나이" />
<Button
android:id="@+id/add_btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="등록" />
</LinearLayout>
- 설명 -
1. 이름과 나이가 입력된 에디트 텍스트에서 값을 꺼내
변수에 담는다.
2. 변수에 담은 정보를 사용자 정보 객체에 담아
데이터베이스 호출 메서드에 넘겨 저장한다.
3. 성공 시에는 성공했다면 성공, 실패했다면
실패했다는 알림을 띄어준다.
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText name_edit = findViewById(R.id.name_edit);
EditText age_edit = findViewById(R.id.age_edit);
Button addBtn = findViewById(R.id.add_btn);
DAOUser dao = new DAOUser();
addBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//입력값 변수에 담기
String name = name_edit.getText().toString(); //이름
String age = age_edit.getText().toString(); // 나이
User user = new User("", name, age);
//데이터베이스 사용자 등록
dao.add(user).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void unused) {
Toast.makeText(getApplicationContext(), "성공", Toast.LENGTH_SHORT).show();
//입력창 초기화
name_edit.setText("");
age_edit.setText("");
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getApplicationContext(), "실패:" + e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}//onClick
});
}//onCreate
}
2022.03.10 - [안드로이드] - [안드로이드] Firebase Realtime Database ListView JSON 읽기, 쓰기 part2
2022.03.11 - [안드로이드] - [안드로이드] Firebase Realtime Database ListView JSON 수정, 삭제 part3
2022.03.08 - [안드로이드] - [안드로이드] 달력 (DatePicker) 버튼(Button)으로 호출하는 방법
[안드로이드] Firebase Realtime Database RecyclerView 사용자 수정하는 방법 (0) | 2022.03.14 |
---|---|
[안드로이드] Firebase Realtime Database RecyclerView 사용자 리스트 보는 방법 (2) | 2022.03.13 |
[안드로이드] Firebase Realtime Database ListView JSON 수정, 삭제 part3 (0) | 2022.03.11 |
[안드로이드] Firebase Realtime Database ListView JSON 읽기, 쓰기 part2 (0) | 2022.03.10 |
[안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part1 (0) | 2022.03.09 |
댓글 영역