Итак, у меня есть действие, которое сохраняет рецепт и отправляет данные в Firebase. Как сделать проверку, чтобы рецепт не сохранялся только один раз независимо от того, сколько раз пользователь нажал на кнопку?
Ниже приведен код активности.
Итак, у меня есть действие, которое сохраняет рецепт и отправляет данные в Firebase. Как сделать проверку, чтобы рецепт не сохранялся только один раз независимо от того, сколько раз пользователь нажал на кнопку? Ниже приведен код активности. [code]public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; private EditText edName,edCal; private DatabaseReference mDataBase; private ImageView imgRec; private StorageReference mStorageRef; private Uri uploadUri; FirebaseAuth auth;
public void init(){ addRec = binding.buttonAddRec; edName = binding.editTextName; edCal = binding.editTextCal; mDataBase = FirebaseDatabase.getInstance().getReference(Const.KEY_RECIPE); imgRec = binding.imageRec; mStorageRef = FirebaseStorage.getInstance().getReference("ImageDB"); } //Called only when the uploadImage function is executed //So yeah activity is closed only when imageUpload is done, I couldn't think of anything better public void saveRecipe(){ String id = mDataBase.push().getKey(); String name = edName.getText().toString(); String cal = edCal.getText().toString(); RecipeBd newRecipe = new RecipeBd(id,name,cal,uploadUri.toString()); if(id != null) { mDataBase.child(id).setValue(newRecipe); Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show(); Intent savedRecipe = new Intent(MainActivity.this, PickRecipeActivity.class); startActivity(savedRecipe); } else { Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show(); }
} //func of the buttonAddRecipe public void onClickSave(View view){
String name = edName.getText().toString(); String cal = edCal.getText().toString(); if (!TextUtils.isEmpty(name)&& !TextUtils.isEmpty(cal)){ uploadImage(); } else { Toast.makeText(this, "Empty Field", Toast.LENGTH_SHORT).show(); }