diff --git a/app/src/main/java/com/example/oplogy/FirestoreReception.java b/app/src/main/java/com/example/oplogy/FirestoreReception.java new file mode 100644 index 0000000..fc265d2 --- /dev/null +++ b/app/src/main/java/com/example/oplogy/FirestoreReception.java @@ -0,0 +1,66 @@ +package com.example.oplogy; + +import android.util.Log; + +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.Timestamp; +import com.google.firebase.firestore.CollectionReference; +import com.google.firebase.firestore.FirebaseFirestore; +import com.google.firebase.firestore.QueryDocumentSnapshot; +import com.google.firebase.firestore.QuerySnapshot; + +import java.util.List; +import java.util.Map; + +public class FirestoreReception { + + private FirebaseFirestore db; + + public FirestoreReception() { + db = FirebaseFirestore.getInstance(); + } + + //ClassIdを引数にデータの作成を行う + public void getDocumentsByClassId(int classId) { + CollectionReference collectionRef = db.collection("questionnaireForms"); + + // classIdが引数のものを取得する + collectionRef.whereEqualTo("classId", classId).get() + .addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(Task task) { + if (task.isSuccessful()) { + // データの取得に成功した場合 + for (QueryDocumentSnapshot document : task.getResult()) { + Map data = document.getData(); + + // デバッグ用のログ出力 + Log.d("FirestoreReception", "Document ID: " + document.getId()); + Log.d("FirestoreReception", "Data: " + data); + + // ここでデータを取得し、必要に応じて処理を行います + String parentName = (String) data.get("patronName"); + String childName = (String) data.get("childName"); + String studentId = (String) data.get("studentNumber"); + Timestamp address = (Timestamp) data.get("adress"); + List firstDay = (List) data.get("firstDay"); + List secondDay = (List) data.get("secondDay"); + List thirdDay = (List) data.get("thirdDay"); + + // 取得したデータを使って必要な処理を行う + Log.d("FirestoreReception", "ParentName: " + parentName); + Log.d("FirestoreReception", "ChildName: " + childName); + Log.d("FirestoreReception", "StudentNumber: " + studentId); + Log.d("FirestoreReception", "Address: " + address.toDate()); + Log.d("FirestoreReception", "First Day: " + firstDay); + Log.d("FirestoreReception", "Second Day: " + secondDay); + Log.d("FirestoreReception", "Third Day: " + thirdDay); + } + } else { + Log.w("FirestoreReception", "Error getting documents.", task.getException()); + } + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/oplogy/MainActivity.java b/app/src/main/java/com/example/oplogy/MainActivity.java index d6d8267..aaed3ef 100644 --- a/app/src/main/java/com/example/oplogy/MainActivity.java +++ b/app/src/main/java/com/example/oplogy/MainActivity.java @@ -1,8 +1,6 @@ package com.example.oplogy; -import android.annotation.SuppressLint; import android.os.Bundle; -import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -11,118 +9,37 @@ import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import com.google.firebase.firestore.FirebaseFirestore; -import com.google.firebase.firestore.QueryDocumentSnapshot; - public class MainActivity extends AppCompatActivity implements View.OnClickListener { - private TextView textView; - private Button btnShow; - private Button btnAdd; - private EditText number; - private EditText address; - private EditText date; - private EditText time; - private FirebaseFirestore db = FirebaseFirestore.getInstance(); + private TextView showText; + private EditText selectText; + private Button btnshow; + + private FirebaseFirestore db; + private FirestoreReception firestoreReception; - Button button; -// TextView textView; - EditText editText; - @SuppressLint("MissingInflatedId") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - textView=findViewById(R.id.showText); - btnShow=findViewById(R.id.btnShow); - btnAdd=findViewById(R.id.btnAdd); + db = FirebaseFirestore.getInstance(); + firestoreReception = new FirestoreReception(); + showText = findViewById(R.id.showText); + btnshow = findViewById(R.id.btnShow); + selectText = findViewById(R.id.selectEdit); - number=findViewById(R.id.editNumber); - address=findViewById(R.id.editAddress); - date=findViewById(R.id.editDate); - time=findViewById(R.id.editTime); - - - // ⑤Read Data - // Firestoreのコレクション「users」のドキュメント一覧を取得する - // 非同期で取得処理が動作する。結果を受け取るために処理完了時のリスナーをセットする - db.collection("questionnaireForms").get().addOnCompleteListener(task -> { - String data = ""; - if (task.isSuccessful()) { - for (QueryDocumentSnapshot document : task.getResult()) { - Log.d("@FB1", document.getId() + "=>" + document.getData()); - data += document.getId() + "=>" + document.getData() + "\n"; - } - } else { - data = "Error getting documents." + task.getException().getMessage(); - } - textView.setText(data);//編集したデータを画面下部に表示 + btnshow.setOnClickListener(v -> { + String classId = selectText.getText().toString(); + firestoreReception.getDocumentsByClassId(Integer.parseInt(classId)); }); - - - - btnShow.setOnClickListener(v -> { - - }); - - - - findViewById(R.id.mapmapcreate).setOnClickListener( - view->{ - - - } - ); } @Override - public void onClick(View v) { - + public void onClick(View view) { } -} -class User { - private String number; - private String address; - private String date; - private String time; - - public User() { - } - - public User(String number, String address, String data, String time) { - this.number = number; - this.address = address; - this.date = data; - this.time = time; - } - //getterとsetter - public String getNumber() { - return number; - } - public String getAddress() { - return address; - } - public String getDate() { - return date; - } - public String getTime() { - return time; - } - public void setNumber(String number) { - this.number = number; - } - public void setAddress(String address) { - this.address = address; - } - public void setDate(String date) { - this.date = date; - } - public void setTime(String time) { - this.time = time; - } - } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 1d78a77..6153b98 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -8,46 +8,21 @@ android:orientation="vertical"> + + - - - -