@android_ru

Страница 3055 из 3205
Amir
03.05.2018
04:24:11
Если у тебя изначально базы нет и ты хотел запихать настройки туда, то так не надо делать, им место в shared preference.
А как правильно реализовать запись при первом запуске, изменении настроек, и сбросе на первоначальные настройки?

Dima
03.05.2018
04:39:41
А как правильно реализовать запись при первом запуске, изменении настроек, и сбросе на первоначальные настройки?
Если использовать стандартные системные виджеты для настроек, то вся их конфигурация делается через strings.xml. Вы там создаёте строки которые используются как ключь в SP, и строки, которые хранят значение по умолчанию. Дальше, если мы хотим, чтобы в SP сразу записались значения по умолчанию, то при старте приложения вызывается это: PreferenceManager.setDefaultValues(this, R.xml.preference, false); И, вероятно, этим же методом можно сбросить в значения по умолчанию. Но у меня лично свой небольшой велосипед вокруг SP и всё работает несколько иначе.

Спасибо за ответ, Как вариант через ussd, но просто как реализовать это?
Я такого не делал, но вот Гугл выдаёт первым результатом реализацию получения USSD ответов. Вероятно, для этого ваше приложение должно будет запрашивать у пользователей всякие страшные разрешения на доступ к звонкам и СМС: https://stackoverflow.com/questions/22057625/prevent-ussd-dialog-and-read-ussd-response

Google
Dmitry
03.05.2018
04:41:35
А как правильно реализовать запись при первом запуске, изменении настроек, и сбросе на первоначальные настройки?
В shared preference есть значения по умолчанию, это и есть первоначальные настройки и когда юзер их сбросит. А как их ставить написано в доке или выше уже ответили)))

Dima
03.05.2018
04:50:07
Понятно, спасибо. Теперь как мне объяснить это руководителю, который живет в базах, что я собираюсь использовать настройки через xml файлы?
Хмм.. Ну, можно сказать, что вот так устроен Андроид и это официальный способ работы с настройками в нём, и что если его не использовать, то усложняется возможность использования системных виджетов для управления этими настройками, теряется возможность бекапить эти настройки в облако. Впрочем, если копировать их из базы в SP руками, то не теряется, но непонятно, зачем это делать, если можно сразу записать их в strings.xml. Но так-то можно где угодно их хранить, и в базе тоже, если вот хочется так.

Vladimir
03.05.2018
05:16:26
Нарооод!!! Целиком задача такова: мне нужно, чтобы на экране над клавиатурой всегда была видна нижние вьюхи в моём фрагменте; для этого я всё запихал в скроллвью и хочу под самым нижним видимым элементом добавлять имиджвью с фоновым цветом и прокручивать скроллвью до упора вверх, но размер этого имиджвью зависит от линейных размеров экрана и высоты некоторых вышерасположенных вьюх - вот их высоту и хотелось бы откуда-нить добыть. Добыть не получается, тк как их высоты заданы через wrap_content

Vladimir
03.05.2018
06:05:05
у тебя full screen ?
нет, вроде бы. <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />

или где это смотреть?

Artem
03.05.2018
06:05:41
Тебе надо размеры после отрисовки получить?

Vladimir
03.05.2018
06:05:48
вот ещё что в манифесте: <uses-feature android:name="android.hardware.screen.landscape" />

на полный экран - это без верхних значков всяких разных? тогда не фулл

Google
Aleksandr
03.05.2018
06:07:56
просто в манифесте добавь android:windowSoftInputMode="stateAlwaysVisible|adjustResize"

ну или не stateAlwaysVisible главное оставь adjustResize

это позволить скролить твой скроллвью

Vladimir
03.05.2018
06:10:57
это позволить скролить твой скроллвью
это для аппликейшена или активити?

Aleksandr
03.05.2018
06:11:16
https://developer.android.com/guide/topics/manifest/activity-element

Vladimir
03.05.2018
06:19:41
для активити
Точно тоже самое, что у меня было без этой строчки и дополнительного имеджвью - самый нижний элемент скрывается клавиатурой, поскольку ввод производится чуть выше - и фокус, соответственно не на самом нижнем элементе

Vladimir
03.05.2018
06:21:33
да

Aleksandr
03.05.2018
06:22:04
да
значит ты можешь программно скроллить скроллвью до нужного положения. нужно поймать событие открытия soft keyboard и проскроллить

Vladimir
03.05.2018
06:24:02
вобщем я склоняюсь к мысли такой, задать для рвзных высот экранов разный коэффициент вычисления высоты этого имиджвью: public void showFreeSpace(final ViewGroup.LayoutParams params) { params.height = getmDisplySize().y * 6/10; getViewState().showFreeSpace(params); }

Vladimir
03.05.2018
06:27:18
что за магическое число 6/10?
это конкретно для моего макета экспериментально подбранное значение для дипагонали 5" и высоты экрана 1280dpi

думаю подобрать ещё для 4-х вариантов коэффициент

Aleksandr
03.05.2018
06:28:08
Vladimir
03.05.2018
06:29:06
кмк, ход неверный, вариантов всегда будет больше чем ты предусмотришь
думаю накрыть хотя бы основные варианты: http://android.mobile-review.com/articles/48035/

Павел
03.05.2018
06:29:18
у кого была такая ошибка: Program type already present: com.google.android.gms.internal.measurement.zzabn Message{kind=ERROR, text=Program type already present: com.google.android.gms.internal.measurement.zzabn, sources=[Unknown source file], tool name=Optional.of(D8)}

Роман
03.05.2018
06:29:45
О у меня часто zz

Вроде google maps

Связана была

Google
Роман
03.05.2018
06:30:04
Пакетом

Location

Павел
03.05.2018
06:30:24
пробую откатиться на 11,8,0 gms

voffka
03.05.2018
06:33:18
это как делается? можно ссылкой
у okhttp есть же кеш. его просто вкл надо. или тот же picasso тоже может в кеш

Aleksandr
03.05.2018
06:34:51
Vladimir
03.05.2018
06:36:15
Хочу продублировать на андроиде вот такой айфоновский интерфейс

Aleksandr
03.05.2018
06:39:38
а в чем сложность?

Alm
03.05.2018
06:44:15
Типа в материал дизайне надо, наверное

Павел
03.05.2018
06:45:01
О у меня часто zz
а как решил?

Роман
03.05.2018
06:47:33
Закоментил??

Павел
03.05.2018
06:52:54
Закоментил??
что именно

Vladimir
03.05.2018
06:55:06
а в чем сложность?
во всём :) сейчас видеорекордер установлю и покажу

Роман
03.05.2018
06:55:22
Все что с этим было связано

Там location

Павел
03.05.2018
06:57:19
ну у меня Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:

и пути до .jar,я эту папку чистил

Aleksandr
03.05.2018
07:05:33
Парни, сорри что не в тему, посоветуйте хорошее платное прокси

Vadim
03.05.2018
07:11:23
тут тебе надо с фокусами играться и смотреть что если Дом в фокусе - прятать Город

и так далее

а когда все заполнил или нажимаешь на кнопку Найти - показать все

Google
Aleksandr
03.05.2018
07:12:11


какой размер должен быть у imageview?

Vladimir
03.05.2018
07:16:10
какой размер должен быть у imageview?
вот в этом-то и есть главный вопрос, на который я не знаю ответ. С него всё и началось :)

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

Vladimir
03.05.2018
07:20:07
а по дизайну что? какую область она должна заполнять?
Всё, что ниже кнопки НАЙТИ, вытесняя тем самым, верхние элементы вверх за границу видимости

Alexandr
03.05.2018
07:23:06
Романтик. Телеграмма! Чем сейчас живет турклуб? Новости, объявления и мероприятия туристского клуба в телеграме. Отправить телеграмму в канал: @isgeo https://t.me/tk_romantik

Aleksandr
03.05.2018
07:24:01
Всё, что ниже кнопки НАЙТИ, вытесняя тем самым, верхние элементы вверх за границу видимости
а кнопка Найти имеет постоянное место или она должнп менять положение?

Vladimir
03.05.2018
07:24:47
как сейчас, но у меня почему-то как будто полная перерисовка экрана происходит

Aleksandr
03.05.2018
07:26:48
её скролить должно быть можно
в списке используется rv?

Vladimir
03.05.2018
07:30:43
в списке используется rv?
Да. Здесь шаблон разметки лежит: https://gist.github.com/btow/7e9e89bf5d4f7fcd0a36c6c1a5b64674#file-frag1_1-xml

Vladimir
03.05.2018
07:34:09
а rv с реверсом?
Чё-т не соображу, что это

Aleksandr
03.05.2018
07:34:43
ну,т.е. не сверху вниз идут элементы а наоборот, снизу вверх

Чё-т не соображу, что это
короче, в чем проблема-то? надо динамически менять высоту imageview или что?

Константин
03.05.2018
07:36:15
я бы поля в RV сделал

либо тут на каждый филд вотчер ставить,но это больно

ну а UISegmentedControl такой можно радибатонами сделать

Vladimir
03.05.2018
07:37:20
короче, в чем проблема-то? надо динамически менять высоту imageview или что?
на экранах с разной высотой нужна имиджжвьюха разной высоты

Google
Aleksandr
03.05.2018
07:38:41
на экранах с разной высотой нужна имиджжвьюха разной высоты
партизан, блин. зачем разная высота? чтобы что?

Vladimir
03.05.2018
07:42:11
партизан, блин. зачем разная высота? чтобы что?
:) чтобы при программном скролле скролвью вытеснить вверх все элементы кроме кнопки и двух нижних полей из адреса. Если имиджвью большая, то она вытесняет больше чем нужно, если маленнькая - то, соответственно - меньше, и тогда между клавиатурой и полем ввода получается мало вариантов подстановки элементов адреса

на видео, в прынципе, оптимально, но это для конкретного экрана, а они разные бывают

кроме того, такое очучение, что экран полностью перерисовывается и нет такого эффекта, что плавно происходит вытеснение верхнего поля за верхнюю границу видимости

Vladimir
03.05.2018
07:47:21
т.е. её высота зависит от высоты soft keyboard, right?
по идее - да, но клавиутара всегда привязыввается к полю ввода, а если её отвязать - сделать постоянной, то не получается переключать режимы кнопки ввода на ней

Vladimir
03.05.2018
07:57:31
у тебя размер корневого view меняется когда клавиатура выезжает?
я не нашел, где это перехватить в при отладке его размер задан, как wrap_content и при попытке getHeigth() возвращается -2

Сергей
03.05.2018
07:59:50
Ребят, подскажите, пожалуйста, когда при переходе на экран профайлер показывает повышение потребления памяти на 30 мегабайт и при возвращении обратно потребление памяти не уменьшается. Соответственно, если повторить действие 5 раз - будет увеличено потребление на 150. Это говорить о серьезной утечки памяти или просто андроид не торопится запускать сборщик мусора?

Vadim
03.05.2018
08:02:37
Может кто то обьяснить в чём прикол инициализирвоать переменную с типом(Interface)?

Сергей
03.05.2018
08:02:46
канарейка ругается?
Кстати, недавно вот ее поставил в application прописал, но ни одного слова от нее не было, даже непонятно работает или нет)

Может можно как-то точно это проверить?

Сергей
03.05.2018
08:04:03
Если зайти в активность, передать контекст в статик поле и выйти из активности, канарейка ругнется?))

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