Я разрабатываю приложение для Android, и у меня есть сомнения относительно того, что делать.Свойства Pass или экземпляр объекта для другого действия
У меня есть экземпляр класса Dog. Этот класс имеет два свойства isMale
и Id
(и другие).
Если я прохожу эти два свойства другого Activity
:
public void onAddClick(View view)
{
if (mSelectedDog == null)
// TODO: Show a message to indicate that or maybe, the button add could be disabled.
;
else
{
Intent intent = new Intent(this, AddDogActivity.class);
// Pass to AddDogActivity if we are going to add a male or female dog.
Bundle b = new Bundle();
// Pass dog's sex.
b.putBoolean(Constants.ACT_ADD_DOG_IS_A_MALE, mSelectedDog.isMale());
// Pass dog's id
b.putInt(Constants.ACT_ADD_DOG_ID, mSelectedDog.getId());
intent.putExtras(b);
// TODO: Maybe it is better pass Dog instance instead of isMale and ID.
startActivity(intent);
}
}
мне нужно будет, например другой объект Dog
класса на AddDogActivity
.
Что лучше, передать эти два свойства или пройти mSelectedDog
по номеру AddDogActivity
?
Я рекомендую вам изготовить завод в вашей новой деятельности, которая знает, как создать собственное намерение. Это облегчает принятие будущих изменений. Например, добавьте к нему метод, такой как static Intent createIntent (контекст контекста, int dogId); Связь здесь будет нарушаться способами, которые будут компилироваться, когда требуемые классом входные данные неизбежно меняются. –
@metalideath Спасибо за рекомендацию. У вас есть какой-нибудь пример? – VansFannel