From 4bf097c04dbc86958f945262972ba408819bdc2c Mon Sep 17 00:00:00 2001 From: nemukemo Date: Fri, 5 Jul 2024 11:30:52 +0900 Subject: [PATCH] =?UTF-8?q?ID=E4=BD=9C=E6=88=90=E3=81=AE=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E4=BD=9C=E6=88=90=E3=80=81=E6=9B=B4=E6=96=B0=E3=81=AB?= =?UTF-8?q?=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=81=A6=E3=80=81=E3=81=9D?= =?UTF-8?q?=E3=82=8C=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=81=A6=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/oplogy/MainActivity.java | 45 ++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/example/oplogy/MainActivity.java b/app/src/main/java/com/example/oplogy/MainActivity.java index 91988a5..51615f4 100644 --- a/app/src/main/java/com/example/oplogy/MainActivity.java +++ b/app/src/main/java/com/example/oplogy/MainActivity.java @@ -157,7 +157,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe } } - //UUIDを表示するかのダイアログ + //IDに関する処理 private void showUUIDYesNoDialog() { firestoreReception_classIdDatabase = new FirestoreReception_classIdDatabase(); List classIdList = firestoreReception_classIdDatabase.getAllDocumentsFromClassIdDatabase(); @@ -165,19 +165,30 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("クラスID"); - builder.setMessage("あなたのクラスIDを表示しますか?"); + builder.setMessage("あなたのクラスIDを表示/もしくは新規で作成しますか?"); - builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { + builder.setPositiveButton("作成", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { classId = CreateUUID.generateUUID(classIdList); - Toast.makeText(MainActivity.this, "クラスID: " + classId, Toast.LENGTH_SHORT).show(); + // 生成されたクラスIDを表示するメソッド + showClassIdDialog("生成されたクラスID",classId); } }); - builder.setNegativeButton("No", new DialogInterface.OnClickListener() { + builder.setNegativeButton("表示", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - Log.d("DialogNO", "DialogでNoが選ばれました"); + //roomを扱うため非同期処理 + ExecutorService executor = Executors.newSingleThreadExecutor(); + executor.execute(() -> { + // 現在のクラスIDを取得 + int currentClassId = getCurrentClassIdFromRoom(); + runOnUiThread(() -> { + // 現在のクラスIDを表示するダイアログ + showClassIdDialog("現在のクラスID",currentClassId); + }); + }); + executor.shutdown(); } }); @@ -185,6 +196,28 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe alertDialog.show(); } + private int getCurrentClassIdFromRoom() { + AppDatabase db = getDatabaseInstance(); + SetUpTableDao setUpTableDao = db.setUpTableDao(); + + // 現在のクラスIDを取得 + return setUpTableDao.getClassId(); + } + //クラスIDを表示するダイアログ + private void showClassIdDialog(String title, int classId) { + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(title); + builder.setMessage("クラスID: " + classId); + builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.dismiss(); + } + }); + AlertDialog dialog = builder.create(); + dialog.show(); + } + //ルート作成の非同期処理 private void fetchDataAndCreateRoute() { -- 2.45.1