Александр
Кстати, есть тут людич кто практикует разработку без appcompat?
Ну этож анриал в реальной жизни. Смысл создавать себе проблемы на ровном месте?
Глеб
Вообще странно что только сейчас начали говорить об этом. Я чуть больше 2х лет назад пришел на проект и там активно использовался модульный подход. Правда не в такой извращенной форме.)
Да в той или иной форме наверное во многих проектах - есть модули кроме app и тд. у нас тоже исторически в нек проектах такое есть.... просто уж если подходить осознано и пересматривать этот пункт....
Dug
Я постоянно думаю об этом.)
Надо не думать, а делать)
R
С какой целью?
Честно говоря - хз. Для удобства. Я пришел - так было
Глеб
Да в той или иной форме наверное во многих проектах - есть модули кроме app и тд. у нас тоже исторически в нек проектах такое есть.... просто уж если подходить осознано и пересматривать этот пункт....
Есть два типа кода - проекто специфичный и межпроектный (который с высокой долей вероятности может быть заюзан в разных проектах) Весь межпроектный можно завести отдельный репозиторий кода, мавен и тд и туда всё reusable выгружать - и подключать в раб проекты Ну есть еще один кейс - когда можно выделить в отд модуль, если "ну очень много функционала, ресурсов, ndk" и оно всё жуть как долго собирается - конечно проще иметь такие вещи precompiled но "бегство от тонны кода" в тонну модулей - это точно не решение, у нас всегда есть java -пакеты, import-ы по которым можно отслеживать зависимости, есть даже sourceSets - в градле
Глеб
этого более чем достаточно
Александр
Да в той или иной форме наверное во многих проектах - есть модули кроме app и тд. у нас тоже исторически в нек проектах такое есть.... просто уж если подходить осознано и пересматривать этот пункт....
Я как то не готов каждый экран в отдельный модуль выносить. Хотя вот мысли были, на тот момент я просто не смог ответить себе что мне это даст .
Глеб
> Весь межпроектный можно завести отдельный репозиторий и получится guava/commons/rx 😀
На самом деле, межпроектный может быть более высокого уровня, уже над ними, с аппкомпатом, c playservices - типа свои внутриконторские building blocks
Глеб
а вообще да - playservices, appcompat и guava - очень похоже на глобальную выжимку всего reusable в процессе написания гуглом своих продуктов даже андроид - по-ходу так и пилится - как один большой building block всей их "экосистемы"
Глеб
У нас mvp с Мокси. О дельные модули по view, presenter, domain, contract)
🤔 а Contract - это вообще интересная мысль, у меня правда пока тока в формате класса/классов. Но подход мне понравился, когда я в ContentProvider-ы лазил. Там гугл рекомендует иметь ContractClass со всеми константами для меж-комп взаимодействия, EXTRAS, URI, ACTIONS ит д потом похожая тема попадалась в arch samples (mvp)
Глеб
Intent - по сути тоже ождин большой контракт с тонной констант
Alexey
Кто-нибудь сталкивался, что селекторы ссылающиеся на ?attr/selectableItemBackground случайным образом на api<21 становятся синими?
Глеб
и без типов 😠
Bundle - сделали - дальше сами))
Mike
Bundle - сделали - дальше сами))
спасибо, у меня есть Parcelable
Глеб
спасибо, у меня есть Parcelable
ну или так..... хотя если надо передать одну стрингу я бы посмотрел как ты заботливо для неё Parcelable будешь заводить
Глеб
😂
Глеб
и СREATOR - главное незабыть)))
Dug
А есть ли смысл уже минапи ставить 21? 🤔
Глеб
спасибо, у меня есть Parcelable
Я кстати не давно воткнулся - из зачего много переписывать пришлось оказывается ParcelFileDescriptor нельзя передавать через Intent
Mike
или в чём там дело?
Mike
ИМХО, единственная причина существования Parcelable — это передача дескрипторов, во всех остальных случаях достаточно Externalizable
Mike
o_O Круто, не слышал о таком. Спасибо)
ну, в андроиде оно будет не очень быстрым, т. к. никто не запаривался оптимиацией ObjectOutputStream, всё делалось с прицелом на Parcelable
Dug
В любом случае экспириенс) Да и не только на андроид пишу
Глеб
или в чём там дело?
Не знаю чем это продиктовано, засунуть его можно, но при попытке "высунуть с той стороны" - он выкидывает Exception не помню какой короче прикол в том что ParcelableFileDescriptor - вещь хоть и IPC-совместимая но "активная". То есть её нельзя сохранить сдампить в файл и вообще она имеет смысл только для "переброса"
Глеб
ИМХО, единственная причина существования Parcelable — это передача дескрипторов, во всех остальных случаях достаточно Externalizable
Parcelable - это просто "самозасовываемый и самовысоваемый в/из Parcel объект" а вот Parcel - прямой ipc буффер. Поэтому: примитивы, дескрипторы, биндеры (< binder buf size(~1mb)) Он Parcel же сам и так (marshall/umarshall) делает, поэтому можно конечно предварительно еще сериализовать? но... незнаю... есть ли смысл
Глеб
как я понимаю в marshal/unmarshal - как раз ставка на скорость а не на размер, потому и пишут что для передачи между процессами - он предпочтительнее других способов сериализации
Anonymous
@NikitenkoGleb А через EnentBus твой ParcelFileDescriptor пробовал передавать? ему вроде без разницы какой там объект. Все байтами передает.
Mike
(вообще, у нас же линукс, можно номер inode передать)
Anonymous
@Harmonizr Нет я к тому же что EventBus передает все байтами. А учитывая что ParcelFileDescriptor это объект то его можно передать. Через Intent точно не передать
Anonymous
EventBus передает их так. спросите у square
Anonymous
или кто там его делает
Anonymous
Я дескрипторы шрифтов так передавал
Anonymous
@Jied83 да. Serializable также работает
Anonymous
стандратный джавоский
Anonymous
ток хуже чем EventBus
Mike
А разве нет?
А для чего нужны были бы Serializable и Parcelable, если любой объект можно передать? Как ты выразишь new Object() массивом байт, вместе с его монитором, например?
Anonymous
@NikitenkoGleb
Anonymous
Mike
Да, про монитор я неподумал
ну, монитор — это ошибка проектирования Java, а кроме него там может быть сокет или тот же файловый дескриптор
Mike
связанная служба 🔥
Anonymous
Может мне кто подсказать? как используя класс Camera заставить эту камеру снимать не на весь экран. А некую часть. Альтернативный вариант заклеить скотчем часть камеры не подходит ;D
Глеб
Ну ... блин... если Глеб пишет - то не просто так, даже если и кажется - что он прикалывается 😂 Я же не с потолка это взял - сам носом воткнулся)
Павел 🍵
такая проблема не получается получить список найденыъ блютуз устройств
Павел 🍵
есть телефон китайский на котором не работает
Павел 🍵
он находит устройства но не возвращает их в колбэк
Павел 🍵
D/BluetoothDevice: mAddress: MAC
Павел 🍵
выводит
Павел 🍵
да
Artem
Может мне кто подсказать? как используя класс Camera заставить эту камеру снимать не на весь экран. А некую часть. Альтернативный вариант заклеить скотчем часть камеры не подходит ;D
а куда ты выводишь то? Помню, там SurfaceView или TextureView или же вообще во Frame выводилось... Ну и задай ему нужный тебе размер и подгони вывод под этот размер
Artem
на сайте были примеры работы с камерой и преобразованием вывода
Anonymous
Вывожу в SurfaceView
Anonymous
Но если я буду менять SurfaceVIew то картинка будет сжатой
Mikhail
день добрый, я тут пытаюсь проксю для телеграма поднять, и что-то андроид тупит и сбрасывает коннект после авторизации, у кого-нибудь есть мысли в чем проблема? в десктопном клиенте все работает замечательно
Глеб
Но если я буду менять SurfaceVIew то картинка будет сжатой
Посмотри в сторону TextureView - там можно было задавать Matrix преобразований
Anonymous
Anonymous
Вот что получается((
Павел 🍵
это во фрагменте?
Anonymous
В Activity
Anonymous
@NikitenkoGleb из TextureView не получить мне SurfaceHolder
Павел 🍵
я как бы сталкивался с проблемой что не получалось инфлэйтить на фрагмент камеру нормльно