Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit aebdfa9

Browse files
committed
Write snippets
Change-Id: Ibe42d9316a0d05d618a0bf8f421081d7b839b44e
1 parent 27bc210 commit aebdfa9

File tree

5 files changed

+127
-0
lines changed

5 files changed

+127
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.google.firebase.referencecode.database
2+
3+
import com.google.firebase.database.DatabaseReference
4+
import com.google.firebase.referencecode.database.interfaces.ReadAndWriteSnippetsInterface
5+
import com.google.firebase.referencecode.database.models.User
6+
7+
class KotlinReadAndWriteSnippets(private val mDatabase: DatabaseReference) : ReadAndWriteSnippetsInterface {
8+
9+
// [START rtdb_write_new_user]
10+
override fun writeNewUser(userId: String, name: String, email: String) {
11+
val user = User(name, email)
12+
13+
mDatabase.child("users").child(userId).setValue(user)
14+
}
15+
// [END rtdb_write_new_user]
16+
17+
override fun writeNewUserWithTaskListeners(userId: String, name: String, email: String) {
18+
val user = User(name, email)
19+
20+
// [START rtdb_write_new_user_task]
21+
mDatabase.child("users").child(userId).setValue(user)
22+
.addOnSuccessListener {
23+
// Write was successful!
24+
// ...
25+
}
26+
.addOnFailureListener {
27+
// Write failed
28+
// ...
29+
}
30+
// [END rtdb_write_new_user_task]
31+
}
32+
33+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package com.google.firebase.referencecode.database;
2+
3+
import android.support.annotation.NonNull;
4+
5+
import com.google.android.gms.tasks.OnFailureListener;
6+
import com.google.android.gms.tasks.OnSuccessListener;
7+
import com.google.firebase.database.DatabaseReference;
8+
import com.google.firebase.referencecode.database.interfaces.ReadAndWriteSnippetsInterface;
9+
import com.google.firebase.referencecode.database.models.User;
10+
11+
public class ReadAndWriteSnippets implements ReadAndWriteSnippetsInterface {
12+
13+
private DatabaseReference mDatabase;
14+
15+
public ReadAndWriteSnippets(DatabaseReference database) {
16+
mDatabase = database;
17+
}
18+
19+
@Override
20+
// [START rtdb_write_new_user]
21+
public void writeNewUser(String userId, String name, String email) {
22+
User user = new User(name, email);
23+
24+
mDatabase.child("users").child(userId).setValue(user);
25+
}
26+
// [END rtdb_write_new_user]
27+
28+
@Override
29+
public void writeNewUserWithTaskListeners(String userId, String name, String email) {
30+
User user = new User(name, email);
31+
32+
// [START rtdb_write_new_user_task]
33+
mDatabase.child("users").child(userId).setValue(user)
34+
.addOnSuccessListener(new OnSuccessListener<Void>() {
35+
@Override
36+
public void onSuccess(Void aVoid) {
37+
// Write was successful!
38+
// ...
39+
}
40+
})
41+
.addOnFailureListener(new OnFailureListener() {
42+
@Override
43+
public void onFailure(@NonNull Exception e) {
44+
// Write failed
45+
// ...
46+
}
47+
});
48+
// [END rtdb_write_new_user_task]
49+
}
50+
51+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.google.firebase.referencecode.database.interfaces;
2+
3+
public interface ReadAndWriteSnippetsInterface {
4+
5+
void writeNewUser(String userId, String name, String email);
6+
7+
void writeNewUserWithTaskListeners(String userId, String name, String email);
8+
9+
}
10+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.google.firebase.referencecode.database.models;
2+
3+
import com.google.firebase.database.IgnoreExtraProperties;
4+
5+
// [START rtdb_user_class]
6+
@IgnoreExtraProperties
7+
public class User {
8+
9+
public String username;
10+
public String email;
11+
12+
public User() {
13+
// Default constructor required for calls to DataSnapshot.getValue(User.class)
14+
}
15+
16+
public User(String username, String email) {
17+
this.username = username;
18+
this.email = email;
19+
}
20+
21+
}
22+
// [END rtdb_user_class]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.google.firebase.referencecode.database.models.kotlin
2+
3+
import com.google.firebase.database.IgnoreExtraProperties
4+
5+
// [START rtdb_user_class]
6+
@IgnoreExtraProperties
7+
data class User(val username: String? = null, val email: String? = null) {
8+
// Null default values create a no-argument default constructor, which is needed
9+
// for deserialization from a DataSnapshot.
10+
}
11+
// [END rtdb_user_class]

0 commit comments

Comments
 (0)