【发布时间】:2022-01-11 18:52:07
【问题描述】:
我正在尝试在 android studio 中使用 Firestore 制作课程添加系统。
当用户添加课程时,该课程将被添加到 Firestore,并且该课程集合中将有一个学生和教师集合。
但我不知道该怎么做。
如果我为学生和教师集合编写代码,它会添加两个不同的集合,但我希望在一个课程集合中包含两个集合,学生和教师。
我该怎么做?
我分享我写的代码。
添加课程
private ActivityDersEkleBinding binding;
private FirebaseFirestore mFirestore;
private String txt_lesson;
private LinkedHashMap<String,String> linkedHashMap;
private int i=1;
private CollectionReference Courses;
public void init(){
linkedHashMap = new LinkedHashMap<>();
mFirestore = FirebaseFirestore.getInstance();
Courses = mFirestore.collection("Courses");
Ders_EKLE();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityDersEkleBinding.inflate(getLayoutInflater());
View view = binding.getRoot();
setContentView(view);
init();
}
private void Ders_EKLE(){
//Ders ekleme tam olmadı. Tekrar bakılacak.
binding.btnEkleDers.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
txt_lesson = binding.isimDers.getText().toString();
//Show alertdialog if the user has entered an empty lesson
if(txt_ders.equals("")){
AlertDialog.Builder builder = new AlertDialog.Builder(DersEkleActivity.this);
builder.setTitle("WARNING!");
builder.setMessage("you cant empty value !");
builder.setIcon(R.drawable.warningicon);
builder.setPositiveButton("Tamam", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
builder.show();
}
else {
//If a lesson has been entered, add it to the firestore.
linkedHashMap.put("lesson"+i,txt_lesson);
int j=1;
Courses.document("KDXnJKKno1D2xtG9G6UE").collection("Lessons")
.document()
.collection(txt_lesson)
.document()
.collection("Student")
.add(new DersEklePerson())
.addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
@Override
public void onSuccess(@NonNull DocumentReference documentReference) {
Toast.makeText(DersEkleActivity.this,"Ders başarıyla eklendi.",Toast.LENGTH_LONG).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
}
});
}
【问题讨论】:
标签: java android firebase google-cloud-firestore