@android_ru

Страница 2648 из 3205
Arkadiy
12.02.2018
14:21:27
Мэйби есть что-то лучше?
stuckovewrflow и таска написать апу, лучше ресурсов не придумать.

?FLERRY?
12.02.2018
14:21:52
хм, окей)

Alexander.
12.02.2018
14:22:32
документация по андроиду

самое оно

Google
Влад
12.02.2018
14:22:41
Alexander.
12.02.2018
14:22:41
по вопросам в stackoverflow

документация по андроиду
вот именно официальная гугловская

Сергей
12.02.2018
14:22:55
https://developer.android.com/training/index.html тут есть линк

на юдасити курс

Влад
12.02.2018
14:23:48
документация по андроиду
через два часа он уже будет пилить свой костыль для асинктасков

Konstantin
12.02.2018
14:25:24
а через три - свои фрагменты

Aleksandr
12.02.2018
14:27:22
прини всем привет. Есть recycler view во врагменте, по нажатию на item которого открываеться новый фрагмент. Во время открытия происходит еще addSharedElement.

все работает нормально, кроме первого элемента ( который индекс 0)

никто не сталкивался с таким?

TransitionName точно уникальные

Константин
12.02.2018
14:28:53
DJ Fragment )

Andre
12.02.2018
14:29:00
А как этот самый драйвер сделать, гугл молчит..
Это уже в момент разработки прошивки надо делать. на с++ писать и прочее. Думаю ты это врядли сделаешь.

Google
Константин
12.02.2018
14:29:00
MC Activity

Aleksandr
12.02.2018
14:34:24
не, никто?

Danya
12.02.2018
14:54:53
нашел на харбаре туториал как использовать сканер qr-кодов. Там есть строчки Тем, кто собирается использовать .so библиотеки в проектах использующих билд систему Gradle, шаги следющие: создаем jar файл iconv.jar со следующей структурой: lib/ lib/x86 lib/armeabi lib/armeabi-v7a и добавляем в его секцию dependencies compile files('libs/iconv.jar') Либо, более универсальный вариант, что бы не описывать все JAR файлы по-отдельности: dependencies { compile fileTree(dir: 'lib', include: '*.jar') }

может кто-нибудь обьяснить как этот iconv.jar создать

Rsn
12.02.2018
15:05:12
so в jar? точно не в aar?

Constantine
12.02.2018
15:05:58


CalledFromWrongThreadException

Rsn
12.02.2018
15:06:45
ты в background-e трогаешь вьюхи

так делать нельзя

Constantine
12.02.2018
15:06:49
Я понимаю почему это происходит, но как с этим бороться так и не придумал

Sergey
12.02.2018
15:07:07
CalledFromWrongThreadException
Ну так прокидай ивент на главный поток

Constantine
12.02.2018
15:07:18


Rsn
12.02.2018
15:07:19
либо через view.post(() -> {...}), либо подписывайся в главном потоке

riki
12.02.2018
15:08:14
Ребята, помогите советом. У меня есть активити А с лоадером в котором загружается и хранится презентер. Я из активити А перехожу в активити В, добавляю какие-то данные в бд и возвращаюсь в активити А. В активити А в данном случае мне нужно перезагрузить лоадер. Есть какой-то оптимальный способ отслеживать измененные данные, что бы лоадеры постоянно не перезагружать?

Constantine
12.02.2018
15:08:18
При построении класа сделал такие же манипуляции с PublishSubject<Object> как и с банальными Observable

Но всё равно ответ приходит не в UI thread

Sergey
12.02.2018
15:09:42
Но всё равно ответ приходит не в UI thread
Покажи где ты слушаешь ивент

Constantine
12.02.2018
15:10:29
Слушаю во фрагменте через subscribe (onNext, onError)

Sergey
12.02.2018
15:11:02
Слушаю во фрагменте через subscribe (onNext, onError)
Возможно у тебя есть ещё какой-то flatMap с походом в сеть

Лучше покажи код, чем гадать

Google
Constantine
12.02.2018
15:13:23
Всё, спасибо, просто как раз при подписывании на него нужно было использовать observeOn

Благодарю

Igor
12.02.2018
15:13:31
Ребят, как создать “красивый” диалог с двумя полями и кнопкой? Может есть какие-нибудь шаблоны? По умолчанию с DialogFragment получается какая-то фигня.

Sergey
12.02.2018
15:14:38
AlertDialog with contentView, проще некуда )

riki
12.02.2018
15:20:39
AsyncTaskLoader

Gleb
12.02.2018
15:21:00
мм...сек..

Vadim
12.02.2018
15:26:36
как можно привести к типу integer .rotationBy(180f).scaleX(1f).scaleY(1f)

Gleb
12.02.2018
15:32:38
AsyncTaskLoader
Блин, начал смотреть изобретать)) и вспомнил.. короче есть CursorLoader - наследник AsyncTaskLoader-а это как раз твой случай работы с бд

Блин, начал смотреть изобретать)) и вспомнил.. короче есть CursorLoader - наследник AsyncTaskLoader-а это как раз твой случай работы с бд
только там подразумевается что твоя бд завёрнута в content provider и лоадеровский внутренний ForceLoadObserver подписывается на ContentResolver (registerObserver(URI))

только там подразумевается что твоя бд завёрнута в content provider и лоадеровский внутренний ForceLoadObserver подписывается на ContentResolver (registerObserver(URI))
И в этом случае - вобще всё из коробки работает. Но тебе надо будет имплементить ContentProvider. Если без него - тогда тебе нужен враппер над БД который будет работать с подписками и подписываться всеми лоадерами .... точнее их обсерверами (ForceLoadObserver) на твою бд. БД будет синглтоном - единственная на процесс. И потому лучше тогда не смотреть в сторону нескольких активностей - то есть переходить к singleActivity - подходу

riki
12.02.2018
15:39:04
Ну у меня сейчас что-то похожее на второй подход, курсор лоадер не подходит под все мои случаи(

riki
12.02.2018
15:39:20
спасибо)

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

Gleb
12.02.2018
15:46:40
посмотри CursorLoader исходники..... там создается в конструкторе ForceLoadObserver, ты делаешь также и там же регай его на твою базу (она должна уметь хранить лист обсерверов и оббегать их дергая onChange при завершении транзакции) в onFinished лоадера - отписывайся. После этого колбэка лоадер отваливается - он не будет больше использован. а в ду-ин-background - замени "поход за данными в контент провайдер" на "поход в твою базу" В итоге ты, вдохновляясь существующим CursorLoader-ом по факту пишешь свою версию - наследуясь от AsyncTaskLoader-а

пожалуйста

Gleb
12.02.2018
15:52:33
Cursor loader оббегает всю таблицу, что бы проверить актуальность данных?
Он просто получает курсор и всё. А курсор - это посути итератор-по-записям/подключение к бд, который грузит небольшой лимит записей (<1мб) и по мере движения (moveToNext, moveToPos) - догружает необходимые записи. Если в этот момент кто-то пишет в таблицу не исключён момент "неконсистентности", однако, если каждая транзакция завершается уведомлением обсерверов, все подписаные загрузчики тут же (doInBackground) перезапросят новый курсор, поэтому - рассинхрон там мало возможен, хотя не исключен

riki
12.02.2018
15:53:27
спасибо)

Gleb
12.02.2018
15:53:37
пожалуйста

Google
Valery
12.02.2018
15:56:27
добрый вечер, а тест для Toast хранить лучше в values/strings.xml?

Admin
ERROR: S client not available

Valery
12.02.2018
15:56:39
или хватит константы?

Konstantin
12.02.2018
15:57:38
то что юзер видит обычно в strings, то что не видит (теги лога например) - в константах

Valeriy
12.02.2018
15:57:55
добрый вечер, а тест для Toast хранить лучше в values/strings.xml?
XML потому что легко припилить локализацию

Valery
12.02.2018
15:58:16
спасибо!

Andrew
12.02.2018
16:08:36
А чатики по джаве существуют в телеграмме?

русскоязычные

WHITE
12.02.2018
16:09:58
Здравствуйте, всем хорошего настроения и бабок по больше! Особенно мне)

Evgeny
12.02.2018
16:14:06
в гогол плей были два приложения с похожим названием. после апдейта одного из приложений траф упал на обоих на порядок. после апдейта база фаирбейса одна стала у обоих. как исправить? плюс добавлял еще переводы в плей, может из за них

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

Владислав
12.02.2018
16:26:41
Друзья, кто как stickyheaders у listview реализовывает ?

Dim
12.02.2018
16:28:46
Народ нужно получить номер контакта если известно его имя ? В какую сторону рыть.. только учусь ((

Anton
12.02.2018
16:31:34
Народ нужно получить номер контакта если известно его имя ? В какую сторону рыть.. только учусь ((
ContentResolver contentResolver = context.getContentResolver(); Uri uri = Data.CONTENT_URI; String[] projection = new String[] { PhoneLookup._ID }; String selection = StructuredName.DISPLAY_NAME + " = ?"; String[] selectionArguments = { "имя" }; Cursor cursor = contentResolver.query(uri, projection, selection, selectionArguments, null); if (cursor != null) { while (cursor.moveToNext()) { return cursor.getString(0); } } return "not found";

Evgeny
12.02.2018
16:31:43
можно активировать старую версию?

Dmytro
12.02.2018
17:12:07
Задачка по rxjava: Есть функция которая возвращает Observable<String> с именами юзеров. Есть функция которая принимает String (имя юзера) и возвращает Single<Boolean> при успешной операции с юзером (какая операция, не имеет значения). Нужно вывести какие юзеры прошли операцию, а какие нет в виде: onotole: false vasya: true noname: true ...

Кто силён ?

Vlad
12.02.2018
17:20:02
Запускаешь функцию, подписываешься на её результат. В онНекст запускаешь вторую функцию, подписываешься на её результат. А здесь в онНекст получишь уже true или false для полученного во внешнем onNext юзера

это решение в лоб

может можно придумать лучше

Google
Dmytro
12.02.2018
17:20:44
Самое смешное что это черезвычайно легко сделать без RxJava

Valeriy
12.02.2018
17:23:48
users.flatMap{ user -> operationBla(user).map{ user + it }}.subscribe() ?

Dim
12.02.2018
18:17:46
Как получить номер контакта если знаю айди?

Grushin
12.02.2018
18:29:29
чет типа select id, tel from contacts where id=5

ну и там курсором всмысле. ну суть таквя

Dim
12.02.2018
18:30:30
Grushin
12.02.2018
18:30:52
а еще limit 1

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