public class MainActivity extends AppCompatActivity {
private DatabaseReference mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDatabase = FirebaseDatabase.getInstance().getReference();
Button saveButton1 = (Button) MainActivity.this.findViewById(R.id.saveButton1);
saveButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("lightbox","単純データ保存");
// 書き込み結果を考慮しない
mDatabase.child("users/3/code").setValue("0004");
mDatabase.child("users/3/kyuyo").setValue(10000);
// setValue の戻り値(Task<Void>) の addOnCompleteListener で処理を行う
// ( 通常、パーミッションによる書き込みの失敗を対処 )
mDatabase
.child("users")
.child("3")
.child("name")
.setValue("高田 冬美")
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.i("lightbox", "書き込みに成功しました");
Log.i("lightbox", task.toString());
}
else {
Log.i("lightbox", task.getException().toString());
task.getException().printStackTrace();
}
}
});
// setValue の第二引数にイベントを登録する
// ( 通常、パーミッションによる書き込みの失敗を対処 )
mDatabase
.child("users")
.child("3")
.child("fri")
.setValue("タカタ フユミ", new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError,
DatabaseReference databaseReference) {
if (databaseError == null) {
Log.i("lightbox", "書き込みに成功しました");
Log.i("lightbox", databaseReference.toString());
databaseReference
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.i("lightbox",dataSnapshot.getValue().toString());
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
databaseReference.getParent()
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.i("lightbox",dataSnapshot.getValue().toString());
MyUser user = dataSnapshot.getValue(MyUser.class);
Log.i("lightbox",String.format("%s",user.code));
Log.i("lightbox",String.format("%d",user.getTeate()));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
else {
Log.i("lightbox", databaseError.toString());
databaseError.toException().printStackTrace();
}
}
});
}
});
Button deleteButton1 = (Button) MainActivity.this.findViewById(R.id.deleteButton1);
deleteButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("lightbox","インデックスでエントリを削除");
mDatabase.child("users").child("3").setValue(null);
mDatabase.child("post").setValue(null);
mDatabase.child("users").child("4/furi").setValue(null);
}
});
Button saveButton2 = (Button) MainActivity.this.findViewById(R.id.saveButton2);
saveButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("lightbox","MyUserクラスによるデータ保存");
MyUser user = new MyUser("0005","内高 友之","ウチタカ トモユキ",150000);
mDatabase.child("users/4").setValue(user);
}
});
Button saveButton3 = (Button) MainActivity.this.findViewById(R.id.saveButton3);
saveButton3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("lightbox","push and MyUser");
DatabaseReference treeKey = mDatabase.child("post").push();
MyUser user = new MyUser("0005","内高 友之","ウチタカ トモユキ",150000);
treeKey.setValue(user);
}
});
Button saveButton4 = (Button) MainActivity.this.findViewById(R.id.saveButton4);
saveButton4.setAllCaps(false);
saveButton4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("lightbox","Hash Map");
HashMap<String, Object> entry = new HashMap<String, Object> ();
entry.put("code", "A001");
entry.put("name", "山田 太郎");
entry.put("kyuyo", 100000);
DatabaseReference treeKey = mDatabase.child("post/entry").push();
treeKey.updateChildren(entry);
}
});
Button saveButton5 = (Button) MainActivity.this.findViewById(R.id.saveButton5);
saveButton5.setAllCaps(false);
saveButton5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("lightbox","Array List");
ArrayList<MyUser> userList = new ArrayList<MyUser>();
DatabaseReference listTree = mDatabase.child("post/list");
userList.add(new MyUser("0001","内高 001","ウチタカ 001",10000));
userList.add(new MyUser("0002","内高 002","ウチタカ 002",20000));
userList.add(new MyUser("0003","内高 003","ウチタカ 003",30000));
listTree.setValue(userList);
}
});
}
}