Почему бы и нет, когда они выйдут из экспериментального статуса. Сейчас тащить в прод как минимум опрометчиво.
Пока что rx в среднем сильно понятнее как концепция и проще в миграции, если только мы не говорим о каких-то совсем простых вещах без переключения потоков.
public class MyAsyncTask extends AsyncTask<String, String, String> {
private final WeakReference<Context> contextRef;
public MyAsyncTask(@NonNull Context context) {
// Разве здесь должно быть не так?
// this.contextRef = new WeakReference<>(context);
this.contextRef = new WeakReference(context);
// И в чём разница?
}
...
@Override
protected void onPostExecute(@Nullable String result) {
final Context context = contextRef.get();
if (context != null && result != null) {
Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
}
}
}
Спасибо.
Всё верно, должно быть с <>. Это т.н. diamond operator, позволяет опускать полный тип. В процессе редактирования потерял скобки, уже поправил, спасибо.
Позволю себе процитировать окончание статьи
Завершив онлайн-курс от Computer Science Center по алгоритмам, вы познакомитесь с основными алгоритмическими методами и набьёте руку, реализовывая классические алгоритмы. Также в курсе можно найти хороший список литературы. Если практики окажется недостаточно, всегда можно потренироваться на www.hackerrank.com. Только не стоит тратить время на задачи с уровнем сложности Easy — они слишком простые.
Что касается языков, ограничение было введено намеренно, для прохождения курса желательно знание Java.
Лично я считаю, что при разработке на Kotlin/JVM под Android нужно знать Java. Несмотря на то, что Kotlin стал официальным языком разработки, это произошло относительно недавно. Старые, как вы говорите, проекты, не такие уж старые.
Кроме того, существуют документация, примеры, и исходники, которые всё ещё не переведены.
Ну м понимание, что там, под капотом тоже лишним не будет. Смотреть декомпилированный в джаву байт-код приходится иногда.
Советы по созданию приложений к окончанию набора в Школу мобильной разработки Яндекса