@android_ru

Страница 1938 из 3205
Anton
29.08.2017
21:22:27
в ентити лежат сконвертированные из ДТО сущности

без аннотаций от гсона всяких и тп

Konstantine
29.08.2017
21:22:50
в ентити лежат сконвертированные из ДТО сущности
И это каким-то образом называется не Data?

Anton
29.08.2017
21:23:02
это дата но не entity

Google
Anton
29.08.2017
21:23:14
dto это

Konstantine
29.08.2017
21:23:48
Вот дичь)

Anton
29.08.2017
21:23:51
там необязателньо будут поджо классы могут быт ькакие то структуры данных и тп

Aleksey
29.08.2017
21:24:35
Вот дичь)
доклад "Пишем тестируемый код" Евгения Мацюка видел?

Konstantine
29.08.2017
21:25:50
там необязателньо будут поджо классы могут быт ькакие то структуры данных и тп
Ну да. Но в моем понимание в любом случае Data = данные. То есть это слой который должен тупо предоставлять данные, возможность с ними работать (всякие репозитории, дао, модели и пр.). Тобишь это никак не должно пересекаться с андроид фреймворком, разве что дата тупо сохраняется в каких нить шаред преференсах.

Anton
29.08.2017
21:26:17
да ты почти ничего не получишь без контекста)

префы ресурсы геолокация сенсоры

все зависит от андроида

и это норм как и УИ

ты же его будешь тоже переделывать например при переходе под десктоп

как и источники данных

Anton
29.08.2017
21:27:33
а домейн останется

Google
Konstantine
29.08.2017
21:27:44
Вот поэтому и диссонанс. Вроде с одной стороны - слой который теоретически должен быть далек от фреймворка вплоть до того, что его можно было бы использовать в обычной java программе.

Но из-за такой кривости андроида половина клин архитектуры в трубу летит)

Anton
29.08.2017
21:28:08
вот на этом кружочке как раз и показано что должно быть далеко от фреймворка а что нет

то что в центре самое чистое

и ближе к краям обрастает

Konstantine
29.08.2017
21:29:14
вот на этом кружочке как раз и показано что должно быть далеко от фреймворка а что нет
Я понимаю, и говорю, что теоретически слой data должен быть чуть ли не в самом центре.

А по итогу хер там плавал, он почти наружний)

Aleksey
29.08.2017
21:29:56
В чем?)
в том, что дата должна быть далека от Android

ты наверное не до конца просек фишку этих кругов

Konstantine
29.08.2017
21:30:18
в том, что дата должна быть далека от Android
Теоретически в чем я ошибся? Каким боком сами данные и работа с ними должна быть связана с андроидом?

Да срал я на круги, я уже абстрактно говорю как оно по хорошему бы.

Anton
29.08.2017
21:31:02
там все очень логично на самом деле

Aleksey
29.08.2017
21:31:14
таким, что Android - это та штука, которая эти данные предоставляет. пиши ты под iOS, то у тебя был бы другой алгоритм доступа к данным.

разная файловая система, способы хранения и т.д.

Konstantine
29.08.2017
21:32:05
там все очень логично на самом деле
В теории - да. Читаешь и прелесть. А так не сказал бы.

Aleksey
29.08.2017
21:32:13
а еще дата - это интерфейс Repository. он-то и делает всю магию, пряча внутри себя работу с SharedPRefs, UserDefaults и т.д.

Konstantine
29.08.2017
21:34:15
таким, что Android - это та штука, которая эти данные предоставляет. пиши ты под iOS, то у тебя был бы другой алгоритм доступа к данным.
Андроид, так то, это штука которая данные получает и обрабатывает. В идеале, разумеется. А из-за того как фреймворк устроен с его контекстом и пр. и получается, что он и предоставляет, что как-то вразрез идет. Ибо каким боком (в теории) андроид должен предоставлять данные? БД, например, должна предоставлять их. Класс получает из бд данные ничего не зная о том, кто там просит, а слой выше уже обрабатвает и передает андроиду для отображения и пр.

Андрей
29.08.2017
21:36:11
> Ибо каким боком (в теории) андроид должен предоставлять данные? БД, например, должна предоставлять их. Так БД - это тоже относится к фреймворкам и драйверам, тоесть самый внешний круг.

Google
Anton
29.08.2017
21:36:18
ну он итак не знает ничем о том кто просит. это через направление депенденсей показано

Konstantine
29.08.2017
21:37:15
ну он итак не знает ничем о том кто просит. это через направление депенденсей показано
Под не зная кто просит имелось ввиду, что независим от фреймворка больше, криво написал, да, это все пиво поганное. То есть, в идеале есть вот слой дата и его можно использовать что с андроидом, что с голой java хоть в консольном приложении на пк.

Это конечно имхо

Но по мне именно так в идеале должен этот слой быть устроен

Андрей
29.08.2017
21:38:39
Под не зная кто просит имелось ввиду, что независим от фреймворка больше, криво написал, да, это все пиво поганное. То есть, в идеале есть вот слой дата и его можно использовать что с андроидом, что с голой java хоть в консольном приложении на пк.
Frameworks and Drivers. The outermost layer is generally composed of frameworks and tools such as the Database, the Web Framework, etc. Generally you don’t write much code in this layer other than glue code that communicates to the next circle inwards. This layer is where all the details go. The Web is a detail. The database is a detail. We keep these things on the outside where they can do little harm. Отсюда https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html

Konstantine
29.08.2017
21:38:44
так ты его и используешь, только добавляя новую реализацию уже известного интерфейса UsersRepository, например
И вот влезает туда фреймворк, да. Что немного портит эту архитектуру как-раз.

Ибо по мне внутренний круг так же относится к data

Aleksey
29.08.2017
21:39:41
И вот влезает туда фреймворк, да. Что немного портит эту архитектуру как-раз.
распиши подход, который живет у тебя в голове и куда ты предлагаешь прятать фреймворко-зависимый код

Konstantine
29.08.2017
21:39:50
Я ничего не предлагаю

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

Konstantine
29.08.2017
21:40:14
Намешано все.

Никак, я не архитектор, кодер из меня тоже кривой, не мне такие вопросы решать, их вот уже решили за меня всякие Анкл Бобы)

Anton
29.08.2017
21:40:59
Как вы думаете как лучше выполнять джобсервис с 3 несвязанными тасками? Запустить 3 таска параллельно и собрать их барьером после чего выполнить последний или же лучше запустить все последовательно в одном потоке? Джоба выполняется раз в 10 часов и тупо обновляет локал БД

я вот распараллелил их

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

Андрей
29.08.2017
21:42:24
Никак, я не архитектор, кодер из меня тоже кривой, не мне такие вопросы решать, их вот уже решили за меня всякие Анкл Бобы)
Он только предложил свое виденье. Оно лишь одно из нескольких, а не единственно верное. Не нравится - не используйте. Найдите то, что по душе вам.

Konstantine
29.08.2017
21:43:12
Он только предложил свое виденье. Оно лишь одно из нескольких, а не единственно верное. Не нравится - не используйте. Найдите то, что по душе вам.
Им пользуются тысячи разработчиков по всему свету. Кто-то меняя что-то, кто-то слепо следуя, но это уже говорит о том, что на данный момент это один из лучших подходов.

Google
Konstantine
29.08.2017
21:43:21
Мне этого достаточно, чтобы доверять.

Anton
29.08.2017
21:43:59
задачи писать в бд

Андрей
29.08.2017
21:46:25
sqlite или сторонняя БД? Если не ошибаюсть, то андроид не сильно умеет с sqlite в несколько потоков работать

Anton
29.08.2017
21:48:06
склайт поверх нее ormlite

Aleksey
29.08.2017
21:48:57
склайт поверх нее ormlite
а почему через барьер, а не Rx?

Anton
29.08.2017
21:49:04
ну вот так)

нет рх в проекте

2 таска пищут в бд а третий на сервер ходит

Admin
ERROR: S client not available

Aleksey
29.08.2017
21:49:37
нет рх в проекте
одна строчка же

Anton
29.08.2017
21:49:46
ну всмысле)

Aleksey
29.08.2017
21:49:52
Anton
29.08.2017
21:49:58
это же не мой пет проектик)

да не, вопрос же в том параллелить или последовательо в одном треде делать)

а не в том как

Андрей
29.08.2017
21:50:53
https://medium.com/inloop/transactions-and-threads-in-sqlite-on-android-215e46670f2d

Anton
29.08.2017
21:54:54
сериализую таски вобщем. спасибо)

Konstantine
29.08.2017
21:56:29
Кстати, пакет лайфцикла от гугла пробовал кто-нибудь уже? Или там настолько альфа, что следует держаться подальше?

Google
Aleksey
29.08.2017
22:16:32
ребят, а как лучше реализовать SignIn? открывать в новой активити? или просто фрагмент подменять? суть в том, что в случае авторизации в главном меню есть BottomNavigationBar, а когда не авторизован, то нужно, чтобы на весь экран был SignIn

Aleksey
29.08.2017
22:18:44
Ботом навигацию можно спрятать)
это выглядит как костыль, имхо

это дополнительная логика, которая может не всегда правильно обработаться

Михаил
29.08.2017
22:20:37
это дополнительная логика, которая может не всегда правильно обработаться
Зависит от приложения. Но если у меня ботом навигация только на нескольких экранах, то мне на каждый экран по активити делать?

Aleksey
29.08.2017
22:21:59
я еще думаю над выносом этого в отдельный фрагмент ?

Михаил
29.08.2017
22:24:28
я еще думаю над выносом этого в отдельный фрагмент ?
Ботом навигация у тебя на многих скринах?

Aleksey
29.08.2017
22:25:12
Михаил
29.08.2017
22:25:53
Тогда можно и отдельным фрагментом и не делать ботом навигацию одну на каждый скрин)

Aleksey
29.08.2017
22:26:55
хм, ладно, кажется понял

Konstantine
29.08.2017
23:48:09
Фрагмент посути тогда и не нужен для входа

Антон
29.08.2017
23:50:12
Кто-нибудь может объяснить как такое возможно: дебаг билд весит чуть больше мегабайта, а релизный с прогардом и shrinkResources=true, почти 7мб?

You
29.08.2017
23:51:02
В студии есть инспектор апк, открой в нём дебажный и релизный и сравни

Может поможет понять

Антон
29.08.2017
23:52:38
Завтра гляну, а щас еще варианты есть?

You
29.08.2017
23:54:20
У меня нет

Антон
29.08.2017
23:57:01
Спасибо)

?
30.08.2017
01:20:05
Ребят расскажите как обстоят дела с андроидом в плане безопасности кражи/потери по сравнению с айос

You
30.08.2017
01:32:26
Зашёл в раздел приватности в случае потери -> отформатировал/заблокировал/обнаружил телефон

Страница 1938 из 3205