Подскажите пожалуйста в чем разница? я сейчас новичок в андройде и увидел два метода для шейра текста к примеру через:
Intent shareIntent = ShareCompat.IntentBuilder.from(this)
.setType("text/plain")
.setText("Hello world")
.getIntent();
и второй метод через:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain");
Подскажите пожалуйста в чем разница?
На самом деле различия только в удобстве. ShareCompat.IntentBuilder предоставляет вам удобный интерфейс создания intent-a.
Если заглянете в исходники IntentBuilder то в конструкторе увидите следующее:
private IntentBuilder(Activity launchingActivity) {
mActivity = launchingActivity;
mIntent = new Intent().setAction(Intent.ACTION_SEND);
mIntent.putExtra(EXTRA_CALLING_PACKAGE, launchingActivity.getPackageName());
mIntent.putExtra(EXTRA_CALLING_ACTIVITY, launchingActivity.getComponentName());
mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
}
В ходе работы с классом вы устанавливаете флаги intent-a. Для примера setType:
public IntentBuilder setType(String mimeType) {
mIntent.setType(mimeType);
return this;
}
И в результате возвращаете уже готовый intent с помощью getIntent().
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости