Android Live 🤖

Description
Самые свежие новости, новинки и тренды Android от практикующего разработчика.


Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog

По рекламе: @ek_gorshkova
Advertising
We recommend to visit

По рекламе - @Hymmka

Last updated 4 days, 12 hours ago

Reklama va hamkorlik bo'yicha: @oshigi_jannatim

Hamkor kanal: @xazilbek

Last updated 8 months, 3 weeks ago

Сотрудничество: [email protected]
Это ютуб крутой бабы: https://youtube.com/c/vika02032000
Твич: https://www.twitch.tv/vikaesaul
Комикс ШАБАШ: https://t.me/shabashesaula
Заявление № 4918660594

Last updated 5 days, 19 hours ago

2 months ago

Kotin: in и out, ковариантность и контрвариантность
#kotlin #новичкам

Про in и out написано много, но новички всё равно часто путаются. К тому же, опрос выше показал, что многие разработчики не до конца понимают эту тему. Между тем, знание этой темы даёт ряд преимуществ, и на собеседованиях её часто спрашивают.

Вот одна из хороших статей на эту тему. В статье на примерах рассматривается использование in и out в generic-типах, рассказывается о том, как это было в Java, и приводятся основные юзкейсы, связанные с генериками.

Если вы новичок, то рекомендую прочитать, а профи — наверняка вы и так всё это знаете. 🫡

2 months ago
3 months, 2 weeks ago

Data Object
#kotlin

С недавних пор IDEA (а именно с Kotlin 1.9) начала подчёркивать традиционный object и рекомендует заменить его на странный data object. Что за зверь такой и что он нам даёт? Давайте разберёмся.

При использованииsealed class или sealed interface мы могли добавлять разные стейты внутри его. Они могли быть как data class, так и object. Например:

```

sealed interface ProfileScreenState {
data class Success(val username: String): ProfileScreenState
object Error: ProfileScreenState
object Loading: ProfileScreenState
}
```

Однако, если мы захотели бы вывести результат в лог, то с data class все получилось бы хорошо, а вот с object — не очень: мы бы увидели только адреса, например:

```

com.dataobjects.example.ProfileScreenState$Loading@6d03e736
Success(username=exampleUser1)
com.dataobjects.example.ProfileScreenState$Error@5fd0d5ae

```

Можно было бы обмазаться старым добрым toString() для каждого объекта, но вместо этого — самое время использовать data object, где эта проблема полностью решена.

Хоть обновление и минорное, но заметно добавляет удобства при работе с подобными классами. 🔥

5 months ago

Перенос приложения в Google Play
#google

Впервые делал перенос приложения с одного Google Dev аккаунта на другой.
Это может понадобиться по нескольким причинам, но, кажется, основная — это изменение всяких юридических данных компании.

И, как бы страшно это ни звучало — сделать перенос приложения довольно просто. Есть даже официальная дока от Google, как это сделать и которой, в принципе, достаточно.

Если кратко, то вам надо создать, оплатить и верифицировать новый аккаунт, а затем сделать request на перенос из вашего первого аккаунта.

Обязательно посмотрите, что можно перенести, а что нельзя. По сути, перенесётся вся информация, включая описание, отзывы, оценки, сервисы (Firebase тот же). В случае нашего приложения — пришлось заново добавить тестовые группы для скачивания приложения и отправить приглашения для доступа в консоль.

Так что — всё не страшно, вдруг этот пост понадобится вам когда-то в карьере. ?

Google

Transfer apps to a different developer account - Play Console Help

If you have apps that you want to transfer to a different Google Play developer account, you can submit a transfer request after reviewing the instructions below. Get your app ready to transfer Step

6 months, 2 weeks ago

Интересное решение, а как делаете вы?

We recommend to visit

По рекламе - @Hymmka

Last updated 4 days, 12 hours ago

Reklama va hamkorlik bo'yicha: @oshigi_jannatim

Hamkor kanal: @xazilbek

Last updated 8 months, 3 weeks ago

Сотрудничество: [email protected]
Это ютуб крутой бабы: https://youtube.com/c/vika02032000
Твич: https://www.twitch.tv/vikaesaul
Комикс ШАБАШ: https://t.me/shabashesaula
Заявление № 4918660594

Last updated 5 days, 19 hours ago