SetUpActivityで情報の保存および更新する処理の実装完了 #6
|
@ -27,7 +27,7 @@ public class FirestoreReception {
|
|||
public List<MyDataClass>myDataList = new ArrayList<>();
|
||||
|
||||
//ClassIdを引数にデータの作成を行う
|
||||
public void getDocumentsByClassId(int classId, MainActivity context) {
|
||||
public void getDocumentsByClassId(int classId) {
|
||||
CollectionReference collectionRef = db.collection("QuestionnaireForms");
|
||||
|
||||
// classIdが引数のものを取得する
|
||||
|
|
|
@ -65,7 +65,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
|
|||
db = FirebaseFirestore.getInstance();
|
||||
firestoreReception = new FirestoreReception();
|
||||
|
||||
firestoreReception.getDocumentsByClassId(100,MainActivity.this);
|
||||
firestoreReception.getDocumentsByClassId(100);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -12,12 +12,16 @@ import android.widget.Button;
|
|||
import android.widget.RadioButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.room.Room;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
|
||||
public class SetUpActivity extends FragmentActivity
|
||||
|
@ -47,6 +51,9 @@ public class SetUpActivity extends FragmentActivity
|
|||
|
||||
Button startTimeSetButton;
|
||||
Button endTimeSetButton;
|
||||
|
||||
|
||||
|
||||
@SuppressLint("MissingInflatedId")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
@ -108,6 +115,47 @@ public class SetUpActivity extends FragmentActivity
|
|||
Log.d(TAG, "Total Student" + totalStudent);
|
||||
Log.d(TAG, "onClick: できてるよ");
|
||||
|
||||
|
||||
// データベースへの登録処理
|
||||
ExecutorService executor = Executors.newSingleThreadExecutor();
|
||||
|
||||
executor.execute(() -> {
|
||||
//roomのインスタンスを作成
|
||||
AppDatabase db = Room.databaseBuilder(
|
||||
getApplicationContext(),
|
||||
AppDatabase.class,
|
||||
"SetUpTable"
|
||||
).build();
|
||||
SetUpTableDao setUpTableDao = db.setUpTableDao();
|
||||
// Roomの操作を行う
|
||||
SetUpTable setUpTable = new SetUpTable(
|
||||
teacherName,
|
||||
startPoint,
|
||||
startTime,
|
||||
endTime,
|
||||
intervalTime,
|
||||
startBreakTime,
|
||||
endBreakTime,
|
||||
totalStudent
|
||||
);
|
||||
|
||||
// 同じ名前のエントリが存在するかどうかを確認
|
||||
SetUpTable existingSetUpTable = setUpTableDao.findByName(teacherName);
|
||||
if (existingSetUpTable != null) {
|
||||
// エントリが存在する場合は、そのエントリを更新
|
||||
setUpTable.setId(existingSetUpTable.getId()); // 既存のIDを設定
|
||||
setUpTableDao.update(setUpTable);
|
||||
|
||||
runOnUiThread(() -> Toast.makeText(SetUpActivity.this, "更新しました", Toast.LENGTH_SHORT).show());
|
||||
} else {
|
||||
// エントリが存在しない場合は、新しいエントリを挿入
|
||||
setUpTableDao.insertAll(setUpTable);
|
||||
runOnUiThread(() -> Toast.makeText(SetUpActivity.this, "登録しました", Toast.LENGTH_SHORT).show());
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
startTimeSetButton.setOnClickListener(v -> {
|
||||
isStartTimeSelected = 1; //ボタンの判別
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.example.oplogy;
|
|||
import androidx.room.Dao;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.Query;
|
||||
import androidx.room.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -9,4 +10,10 @@ import java.util.List;
|
|||
public interface SetUpTableDao {
|
||||
@Insert
|
||||
void insertAll(SetUpTable... setUpTables);
|
||||
//更新処理
|
||||
@Update
|
||||
void update(SetUpTable setUpTable);
|
||||
//名前が一致しているかの確認
|
||||
@Query("SELECT * FROM SetUpTable WHERE teacherName = :name LIMIT 1")
|
||||
SetUpTable findByName(String name);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user