From 5b8dd488818ddee93698e141e6a6185c9bf0aeef Mon Sep 17 00:00:00 2001 From: nemukemo Date: Tue, 11 Jun 2024 15:27:50 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E3=82=AF=E3=83=A9=E3=82=B9ID=E3=82=92?= =?UTF-8?q?=E5=85=83=E3=81=AB=E3=83=87=E3=83=BC=E3=82=BF=E3=81=AE=E5=8F=97?= =?UTF-8?q?=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/oplogy/FirestoreReception.java | 66 +++++++++++++++++++ .../java/com/example/oplogy/MainActivity.java | 16 +++++ 2 files changed, 82 insertions(+) create mode 100644 app/src/main/java/com/example/oplogy/FirestoreReception.java 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..9f50d67 --- /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("address"); +// 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 e5bc0e8..b4d0ab7 100644 --- a/app/src/main/java/com/example/oplogy/MainActivity.java +++ b/app/src/main/java/com/example/oplogy/MainActivity.java @@ -9,6 +9,8 @@ import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; +import com.google.firebase.firestore.FirebaseFirestore; + public class MainActivity extends AppCompatActivity implements View.OnClickListener{ // ID作成のTextViewとImageView @@ -28,6 +30,12 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe private int previousRoot = 0; //元の画像のインデックス // 提出状況のTextViewとImageView private TextView submission; + + //firestoreの受信関連 + private FirebaseFirestore db; + private FirestoreReception firestoreReception; + + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -51,6 +59,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe submission = findViewById(R.id.submission); submission.setOnClickListener(this); +// firestoreの受信関連 + db = FirebaseFirestore.getInstance(); + firestoreReception = new FirestoreReception(); + + firestoreReception.getDocumentsByClassId(100); + + + } From 7d2ee567f358374434bb518511d5dcd275a2e5d2 Mon Sep 17 00:00:00 2001 From: it232115 Date: Tue, 11 Jun 2024 15:47:22 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E3=83=80=E3=82=A4=E3=82=A2=E3=83=AD?= =?UTF-8?q?=E3=82=B0=E3=81=AE=E4=BD=9C=E6=88=90=20uuid=E3=81=AE=E4=BD=9C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/google-services.json | 29 +++++++++++++++++ .../java/com/example/oplogy/CreateUUID.java | 14 ++++---- .../java/com/example/oplogy/MainActivity.java | 32 ++++++++++++++++--- 3 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 app/google-services.json diff --git a/app/google-services.json b/app/google-services.json new file mode 100644 index 0000000..cc555ea --- /dev/null +++ b/app/google-services.json @@ -0,0 +1,29 @@ +{ + "project_info": { + "project_number": "317219128586", + "project_id": "oplogy-b6971", + "storage_bucket": "oplogy-b6971.appspot.com" + }, + "client": [ + { + "client_info": { + "mobilesdk_app_id": "1:317219128586:android:c29583456e8fbd5f12a6f3", + "android_client_info": { + "package_name": "com.example.oplogy" + } + }, + "oauth_client": [], + "api_key": [ + { + "current_key": "AIzaSyDaULi2TFHLiscR7DSZBCKS08d76Rtb49c" + } + ], + "services": { + "appinvite_service": { + "other_platform_oauth_client": [] + } + } + } + ], + "configuration_version": "1" +} \ No newline at end of file diff --git a/app/src/main/java/com/example/oplogy/CreateUUID.java b/app/src/main/java/com/example/oplogy/CreateUUID.java index 5d3aaf9..82924f1 100644 --- a/app/src/main/java/com/example/oplogy/CreateUUID.java +++ b/app/src/main/java/com/example/oplogy/CreateUUID.java @@ -1,14 +1,12 @@ package com.example.oplogy; -import androidx.appcompat.app.AppCompatActivity; +import java.util.UUID; -import android.os.Bundle; +public class CreateUUID { -public class CreateUUID extends AppCompatActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.create_uuid); + public static String generateUUID() { + // UUIDを生成する処理 + UUID uuid = UUID.randomUUID(); + return uuid.toString(); } } \ 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 e5bc0e8..5ec7e3a 100644 --- a/app/src/main/java/com/example/oplogy/MainActivity.java +++ b/app/src/main/java/com/example/oplogy/MainActivity.java @@ -1,13 +1,17 @@ package com.example.oplogy; +import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; +import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; +import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ @@ -61,8 +65,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe // ID作成のクリック処理 if(view == creatUUID){ imageUuid.setImageResource(R.drawable.ischecked_uuid); - Intent toCreateUUID = new Intent(MainActivity.this, CreateUUID.class); - startActivity(toCreateUUID); + showUUIDYesNoDialog();//UUIDを表示するかのダイアログ } // セットアップのクリック処理 @@ -83,9 +86,28 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe Intent toSubmission = new Intent(MainActivity.this,SubmissionActivity.class); startActivity(toSubmission); } - - } + private void showUUIDYesNoDialog() { + //ダイアログの表示 + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle("クラスID"); + builder.setMessage("あなたのクラスIDを表示しますか?"); - + //YESのときは初回はUUIDを生成、表示 + //二回目以降は保存されたUUIDを表示 + builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + String classId = CreateUUID.generateUUID();//classIDにuuidが入ってる + Toast.makeText(MainActivity.this, "クラスID: " + classId, Toast.LENGTH_SHORT).show();//テスト用 + } + }); + builder.setNegativeButton("No", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + Log.d("DialogNO","DialogでNoが選ばれました"); + } + }); + builder.show(); + } } \ No newline at end of file