Andrew
Timber ?
больше никто ничего не юзает? только два варианта - логкет и тимбер? )
Dug
Ребят, а никто не сталкивался с тем, что glide почему-то подставляет черный фон пикчам с закругленными углами? 😅🤔🤔🤔
padmitriy
кто-нибудь чинил движение назад и вперед в студии по Ctrl-Alt-right\left в убунте?
Захар
Anton
Уже всю голову сломал. Есть запрос в Reddit API который возвращает json с рекурсивным вложением комментариев (https://www.reddit.com/r/androiddev/comments/c2j2yp/release_1340_jetbrainskotlin_github/.json?sort=confidence) Т.е. поле replies может содержать такой же элемент как и рутовый. И вложение комментариев может быть огромным. Для того чтобы было понятно упростил json и это выглядит вот так: { id: "some id", replies: { id: "some id", replies: { id: "some id", replies: { } } } } Так вот как назло replies может содержать как объект, так и пустую строку "". И соответственно GSON падает при парсинги этого json. Я написал свой JsonDeserializer который смотрит что ему пришло строка или объект и если это строка то возвращает null или же пытается парсить json для получения объекта: new Gson().fromJson(json, RCommentReplies.class); Но поскольку replies рекурсивные, то пустая строка на следующем уровне опять все ломает. И вот теперь я не пойму как все это распарсить
Konstantin
возьми дерево какое нибудь
Konstantin
рекурсивную структуру данных
Mike
Уже всю голову сломал. Есть запрос в Reddit API который возвращает json с рекурсивным вложением комментариев (https://www.reddit.com/r/androiddev/comments/c2j2yp/release_1340_jetbrainskotlin_github/.json?sort=confidence) Т.е. поле replies может содержать такой же элемент как и рутовый. И вложение комментариев может быть огромным. Для того чтобы было понятно упростил json и это выглядит вот так: { id: "some id", replies: { id: "some id", replies: { id: "some id", replies: { } } } } Так вот как назло replies может содержать как объект, так и пустую строку "". И соответственно GSON падает при парсинги этого json. Я написал свой JsonDeserializer который смотрит что ему пришло строка или объект и если это строка то возвращает null или же пытается парсить json для получения объекта: new Gson().fromJson(json, RCommentReplies.class); Но поскольку replies рекурсивные, то пустая строка на следующем уровне опять все ломает. И вот теперь я не пойму как все это распарсить
использовать в своём конвертере не new Gson(), а тот же гсон, он там должен быть доступен
Andrew
log4j еще есть
благодарю
Anton
использовать в своём конвертере не new Gson(), а тот же гсон, он там должен быть доступен
пробовал. Но тогда он вызывается на рута опять и зацикливается
Anton
значит, в коде ошибка
почему ошибка? Он же реально как только натыкается на заданный тип сразу вызывает метод deserialize. А поскольку рут и есть заданный тип, то он на него вызывается. Внутри этого метода я опять вызываю fromjson и он опять себя же вызывает
Vitaly
У меня robolectric не работает с Androidx
Vitaly
Какая зависимость нужна у Robolectric для androidx?
Andrew
Щас гляну
Vitaly
Бесконечняа загрузка
Andrew
Какая зависимость нужна у Robolectric для androidx?
testImplementation 'org.robolectric:robolectric:4.2'
Andrew
больше вроде ничего такого
Anonymous
Кто - нибудь испытывает сейчас проблемы с Admob? к примеру запросов больше чем просмоторов в 5 раз... используете Facebook вместо Admob? как на это Google play реагирует?
Andrew
а, ну может репа ещё, хотя это вроде только для снепшотных версий
Andrew
repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots" } }
Anton
Ну откуда мне знать, почему? Потому что ты так написал, потому что не работает) Тащи код или хотя бы кофейную гущу)
воть набросал чтобы показать проблему https://github.com/Anton111111/GSONQUESTION/blob/master/app/src/main/java/com/appdev/myapplication/MainActivity.java
Anton
вот тут метод deserialize запускается сам себя же .
Alexander
Кто - нибудь испытывает сейчас проблемы с Admob? к примеру запросов больше чем просмоторов в 5 раз... используете Facebook вместо Admob? как на это Google play реагирует?
1. У них бывают проблемы время от времени, удивительно, но адмоб весьма плохо сделан, стоит только нативку посистрейсить😱 2. Гугл плею пофигу, какая у вас рекламная СДК, если она не нарушает правила. ФБ не нарушает, например
Anonymous
1. У них бывают проблемы время от времени, удивительно, но адмоб весьма плохо сделан, стоит только нативку посистрейсить😱 2. Гугл плею пофигу, какая у вас рекламная СДК, если она не нарушает правила. ФБ не нарушает, например
А ты что используешь? А то мне тут уже 4 день Тех поддержка не отвечает, Якобы слишком много рекламы показываю. Убрал отправил на проверку прошло 4 дня...ответа нет. Реклама отключена
Anonymous
Про показы я молчу, вообще 1 к 5
Mike
воть набросал чтобы показать проблему https://github.com/Anton111111/GSONQUESTION/blob/master/app/src/main/java/com/appdev/myapplication/MainActivity.java
Так ну конечно, а что тут ещё может произойти? P. S. И, опять же, не нужно создавать новый гсон, используй JsonDeserializationContext.
Andrew
Есть сервис, который запускает активность, в onCreate активности вызывается startLockTask, затем впроботчике нажатия кнопки finish и stopLockTask. Проблема в том, что при повторном вызове startService вызывается onCreate сервиса, т.е. он пересоздается. Если не делать startLockTask/stopLockTask, то все ок. Почему?
Mike
хм....так как распарсить такой json ? мой пример уходит в бесконечный цикл...
а replies реально объект, не массив? Можно пример живого джейсона?
Anton
а replies реально объект, не массив? Можно пример живого джейсона?
https://www.reddit.com/r/androiddev/comments/c2j2yp/release_1340_jetbrainskotlin_github/.json?sort=confidence
Anton
там еще прикольно replies может быть двумя разными объектами ;) или стрингой
Anton
но объект второго типа я пока пропустил. Тут хотя бы стрингу победить
Mike
но объект второго типа я пока пропустил. Тут хотя бы стрингу победить
Ладно. Положим, есть такая структура Reply: { id: String, children: String | List<Reply> } похоже?
Mike
нет там именно объект
{ id: String, child: String | Reply }
Andrew
а сервис останавливается при locktask?
Ну вот у меня и вопрос, почему он останавливается, ведь locktask срабатывет для активности
Anton
Вот смотри. https://www.reddit.com/r/androiddev/comments/c2j2yp/release_1340_jetbrainskotlin_github/.json?sort=confidence Вот так по простому [ Listing { children: [ Comment { replies: Listing } ] } ] Listing в рутовом массиве это тот же объект что и в поле replies
Vitaly
repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots" } }
Какой из этих двух вариантов используешь?
Vitaly
(
Ребят, привет, вопрос про path morphing в свг анимациях, если кто делал. В чем фишка условия того, что количества команд изначальной фигуры и конечной должны быть равны? В чем смысл?
Mike
Вот смотри. https://www.reddit.com/r/androiddev/comments/c2j2yp/release_1340_jetbrainskotlin_github/.json?sort=confidence Вот так по простому [ Listing { children: [ Comment { replies: Listing } ] } ] Listing в рутовом массиве это тот же объект что и в поле replies
Если ты зарегал адаптер для Comment, то нужно взять json, скастить в JsonObject, забрать оттуда replies и вычитать как Listing — context.deserialize(json.get("replies"), Listing.class)
Mike
можно небольшой набросок кода ? я не пойму что мне с этим всем потом делать
Блин. Попробуй написать тест или static void main и поэкспериментируй там с десериализаторами.
Anton
Блин. Попробуй написать тест или static void main и поэкспериментируй там с десериализаторами.
я просто не пойму. Это получится придется вручную и все остальные поля десериализовывать и потом формировать результат ? Там просто нереальное кол-во полей ;)
Aleksandr
Привет, может кто с маской подсказать? Использую маску для телефона от тинькова. Можно ли как то убрать расползание и сжатие поля ввода? Какие нибудь аналоги есть для маски? Чтобы были отдельные подчеркивания под символы?
Aleksandr
Раджаб
Здравствуйте. Сделал настройки через listView, что-то типа "Уровень1","Уровень2" и тп. Не пойму как програмно пометить выбранный ранее элемент. list.setSelection(position) и list.setItemChecked( 1, true ) почему то не работают
Andrew
глупый вопрос: package сервиса разрешён в locktask-e?
package сервиса такой же как и у активности
Andrew
mDpm.setLockTaskPackages(deviceAdmin, new String[]{getPackageName()});
Раджаб
Mike
CHOICE_MODE_SINGLE
А вёрстка? Там checkable айтемы?
Anton
Here we go again. > свой конвертер для этого поля https://www.javadoc.io/doc/com.google.code.gson/gson/2.8.5
это намек что нужно не JsonDeserializer использовать ? или что-то другое имелось ввиду ?
Раджаб
А вёрстка? Там checkable айтемы?
В смысле что передаю как элементы списка? TextView
Mike
это намек что нужно не JsonDeserializer использовать ? или что-то другое имелось ввиду ?
Аннотацию на поле чтобы только оно десериализовалось кастомно
Mike
В смысле что передаю как элементы списка? TextView
А почему он должен как-то пометиться? Это работает только для Checkable.
Раджаб
Если вручную выбрать, выделяется как положено.
Раджаб
Понял
Mike
Если вручную выбрать, выделяется как положено.
Хм, а это странно. Я привык считать, что текствьюхе не положено.
Раджаб
<item android:drawable="@color/colorAccent" android:state_pressed="true" /> <item android:drawable="@color/colorPrimary" android:state_focused="false" />
Раджаб
вот так прописал, вроде работает
Сергей
господа, подскажите пожалуйста, хочу отправлять картинку(и) через web socket соединение, как это вообще делает? файл картинки переделывается через base 64 (какой то загадочный способ шифрования?) или как то в ByteString передается?
Byte64 - это приведение массива байтов к строке из латиницы и цифр туда и обратно. С увеличением числа байт раза в 1,5-2. Если апи сервера легко принимает и возвращает строки произвольной длины - то можно и через нее гонять. Но имеет смысл только если договориться с сервером о посылке/доставке байтового потока сложнанах
Сергей
че то я туплю мощно. Если мне в префах надо небольшой массив POJO (из int/float/Strings) сохранять и выгружать - это все тупо руками через мапы делать? или какой-то есть красивый способ в три строки ?
Konstantin
в бундле ложить
Sergey
PaperIO крутая и легкая бд