Size: a a a

Android Architecture

2020 April 12

AI

Arkadii Ivanov in Android Architecture
Алексей Ершов
Я читал все ваши статьи и смотрел доклады) примерно представляю, о чем речь, и сам чуток использовал. Всё прекрасно, я просто не понимаю, почему вы не считаете это чистой архитектурой. Поэтому и хочу плотно подумать, и или понять самостоятельно, или задать внятный вопрос
Хорошо)
источник

AS

Alex Savelev in Android Architecture
добрый ночер, подскажите пожалуйста мне необходимо переустановить тип системы на ноуте с x64 на x86 для работы на Android Studio или же что то другое?
источник
2020 April 13

V

Victor in Android Architecture
Подскажите, как в приложении вынести работу с HTTP JSON API в отдельный модуль?

Как это работает сейчас: в каждое активити, где есть работа с API, импортируется Apache HTTP Client и API-токен из хранилища настроек, инициализируется новый объект, через который происходит вызов API.

Как желательно: в каждое активити, где есть работа с API импортируется модуль для работы с API, инициализируется, и всё делается вызовом некоторого метода вроде makeRequest(method: String, parameters: HashMap<String, String>)
источник

АЕ

Алексей Ершов in Android Architecture
Victor
Подскажите, как в приложении вынести работу с HTTP JSON API в отдельный модуль?

Как это работает сейчас: в каждое активити, где есть работа с API, импортируется Apache HTTP Client и API-токен из хранилища настроек, инициализируется новый объект, через который происходит вызов API.

Как желательно: в каждое активити, где есть работа с API импортируется модуль для работы с API, инициализируется, и всё делается вызовом некоторого метода вроде makeRequest(method: String, parameters: HashMap<String, String>)
Вы же только сами расписали, как надо сделать. Делаете свой класс с описанным вами методом, и везде его используете. А ещй лучше не изобретаете велосипед и не используете устаревшие и неподдерживаемые технологии, и берете стандартный OkHttp, опционально с Retrofit.
источник

АК

Александр Колмачихин in Android Architecture
Пацаны у меня вопрос такой по mvvm и по маперам

Вот есть у меня две таблицы в Room:
- GroupEntity(id, title)
- NoteEntity(id, groupId, content)

И есть для view две модели:
- GroupModel(id, title)
- NoteModel(id, group: GroupModel, content)

Так вот вопрос, как оно должно получать GroupModel?

Сделать вот так:

fun toModel(entity, group)
   = NoteModel(
       entity.id,
       group,
       entity.content
   )

Или как то подругому?

или может вообще в NoteModel вместо GroupModel хранить LiveData<GroupModel?>
источник

V

Victor in Android Architecture
Алексей Ершов
Вы же только сами расписали, как надо сделать. Делаете свой класс с описанным вами методом, и везде его используете. А ещй лучше не изобретаете велосипед и не используете устаревшие и неподдерживаемые технологии, и берете стандартный OkHttp, опционально с Retrofit.
Спасибо.
источник
2020 April 14

ГБ

Гжегош Бженчышчыкевич in Android Architecture
Hello there
Есть разводной экран с 2-мя табами
На каждый из табов есть своя ViewModel
И есть общая ViewModel для всего экрана
Как перекидывать данные между табами? Создать в общей ViewModel liveData, в которую одна VM будет постить значение, а вторая подписываться, или как?
источник

AL

Aleksandr Litvinchuck in Android Architecture
Гжегош Бженчышчыкевич
Hello there
Есть разводной экран с 2-мя табами
На каждый из табов есть своя ViewModel
И есть общая ViewModel для всего экрана
Как перекидывать данные между табами? Создать в общей ViewModel liveData, в которую одна VM будет постить значение, а вторая подписываться, или как?
Можно так, можно через слой данных
источник

Н

Никита ✓ in Android Architecture
А подскажите, используя Cicerone для навигации и ViewModel, кто должен обращаться к Router'y, View или ViewModel? Вроде ViewModel, но в семлпах чичерона там View навигировал.
источник

D

Danil Yudov in Android Architecture
там наверняка это сделано с целью упрощения, сэмпл же
источник

YW

Yakov Weber in Android Architecture
Никита ✓
А подскажите, используя Cicerone для навигации и ViewModel, кто должен обращаться к Router'y, View или ViewModel? Вроде ViewModel, но в семлпах чичерона там View навигировал.
ViewModel
источник

YW

Yakov Weber in Android Architecture
источник

YW

Yakov Weber in Android Architecture
Смотри сампл, там есть вложеная навигация по фрагментам
источник
2020 April 15

T

Timur in Android Architecture
Никита ✓
А подскажите, используя Cicerone для навигации и ViewModel, кто должен обращаться к Router'y, View или ViewModel? Вроде ViewModel, но в семлпах чичерона там View навигировал.
Мне всегда нравилось роутинг оставлять во вьюмодели так удобнее, и навигейшен компаненты так же делаю
источник

v

vitaly in Android Architecture
Всем привет, знающие леди и джентльмены. Подскажите по некоторым общим вопросам. Есть задача наш сервис (аутентификация пользователя / подтверждение его действия) поставлять для сторонних разработчиков (нацелено на организации типа банков).

Первый основной флоу - регистрация пользователя в системе. Регистрация включает в себя генерацию пары ключей, шифрование данных, несколько хттпс реквестов, парсинг пушей с фаербейса, сохранение данных пользовательской учётки (типа юзернейм и юзерсид для секьюрческих целей) в бд.

Следующий флоу - авторизация. Включает в себя парсинг пуша, получение сохранённых на этапе регистрации данных из бд, цепочку хттпс реквестов, всякое там шифрование-расшифрование с RSA, итог - предоставление разрабу колбеков с TOTP (одноразовый пароль для сверки с таковым на сайте, который истекает в реальном времени и меняется на другой) и возможности послать ответ на запрос авторизации (accept, decline).

Здесь основной архитектурный вопрос - как это всё лучше скомпоновать?

На данный момент в общих чертах идея такая: поставляется либа с
1. Регистратором, в который подкидывается начальная инфа для реги и инициируется собственно рега.
2. Авторизатором, который, собственно, нужно инициализировать где-то и который по пушу будет запускать флоу авторизации.
   Сделать их хочу синглтонами, чтобы меньше париться потому что не знаю, как иначе.
источник

I

Iwa in Android Architecture
Добрый вечер
Вопрос

Как можно потестить подписки в Google Billing

Я посмотрел док, написано что чтобы  тестировать приложение, нужно  опубликовать закрытого/открытого тестирования
Я опубликовал приложение но сейчас это займет достаточно

Каково решение в такой ситуации?
источник

U

Unat in Android Architecture
vitaly
Всем привет, знающие леди и джентльмены. Подскажите по некоторым общим вопросам. Есть задача наш сервис (аутентификация пользователя / подтверждение его действия) поставлять для сторонних разработчиков (нацелено на организации типа банков).

Первый основной флоу - регистрация пользователя в системе. Регистрация включает в себя генерацию пары ключей, шифрование данных, несколько хттпс реквестов, парсинг пушей с фаербейса, сохранение данных пользовательской учётки (типа юзернейм и юзерсид для секьюрческих целей) в бд.

Следующий флоу - авторизация. Включает в себя парсинг пуша, получение сохранённых на этапе регистрации данных из бд, цепочку хттпс реквестов, всякое там шифрование-расшифрование с RSA, итог - предоставление разрабу колбеков с TOTP (одноразовый пароль для сверки с таковым на сайте, который истекает в реальном времени и меняется на другой) и возможности послать ответ на запрос авторизации (accept, decline).

Здесь основной архитектурный вопрос - как это всё лучше скомпоновать?

На данный момент в общих чертах идея такая: поставляется либа с
1. Регистратором, в который подкидывается начальная инфа для реги и инициируется собственно рега.
2. Авторизатором, который, собственно, нужно инициализировать где-то и который по пушу будет запускать флоу авторизации.
   Сделать их хочу синглтонами, чтобы меньше париться потому что не знаю, как иначе.
Если сделать синглтонами (просто object RegistratorSingletone), то можно здорово выстрелить в ногу в некоторых сценариях - ОС может выгрузить твою Activity и весь процесс вместе с ней из памяти, пока ты будешь бегать искать код в СМС. А по возвращению восстановит UI и создаст синглтон с нуля. Разумеется, потеряв все промежуточные данные в нём.

А вообще, вопрос задан очень непонятно - куча деталей реализации и очень мало описания "а что нужно-то?".
источник

U

Unat in Android Architecture
Iwa
Добрый вечер
Вопрос

Как можно потестить подписки в Google Billing

Я посмотрел док, написано что чтобы  тестировать приложение, нужно  опубликовать закрытого/открытого тестирования
Я опубликовал приложение но сейчас это займет достаточно

Каково решение в такой ситуации?
Публикация для внутреннего тестирования занимает 2-3 минуты
источник

I

Iwa in Android Architecture
Unat
Публикация для внутреннего тестирования занимает 2-3 минуты
С внутренным тестированием можно потестить  гугл биллнг подписки?
источник

U

Unat in Android Architecture
Я давно с ними работал, но насколько помню, именно так и тестировал
источник