These are chat archives for rus-speaking/android-off-topic

14th
Oct 2015
Vlifirenko
@Vlifirenko
Oct 14 2015 08:31
а можно ли подключить девайс по wifi, если я сейчас по usb вообще подключиться не могу, порт сдох? я во всех мануалах вижу, что надо изначально подключить через usb, ввести tcpip и потом уже можно через wifi
Pavel Mukhanov
@pavel-mukhanov
Oct 14 2015 08:34
рутованный девайс?
Vlifirenko
@Vlifirenko
Oct 14 2015 08:34
нет
Pavel Mukhanov
@pavel-mukhanov
Oct 14 2015 08:37
тогда никак
Vlifirenko
@Vlifirenko
Oct 14 2015 08:46
а еще вопрос: у меня есть девайс с разбитым сенсором, он рутованный, можно его как-то подключить чтобы юзать с компа?
lewkka
@lewkka
Oct 14 2015 09:01
поставь vnc на девайс и юзай его с компа >.<
Vlifirenko
@Vlifirenko
Oct 14 2015 09:27
@lewkka а я могу поставить чисто с компа, не юзая телефон?
Toporik
@Toporik
Oct 14 2015 09:33
This message was deleted
хы прикол про первый коннект через юсб )
lewkka
@lewkka
Oct 14 2015 10:03
@Vlifirenko через google play поставишь приложение, а вот настройки – да, через adb клики пробрасывать :smile:
Vlifirenko
@Vlifirenko
Oct 14 2015 10:25
@lewkka это надо поискать софт, который через adb будет клики на дейвас отправлять?
у меня просто и аккаунт google play на телефоне не установлен
Kirill Ashikhmin
@KirillAshikhmin
Oct 14 2015 10:49
@Vlifirenko https://chrome.google.com/webstore/detail/vysor-beta/gidgenkbbabolejbgbpnhbimgjbffefm?utm_source=chrome-app-launcher-info-dialog плагин для хрома, работает как удаленое управление смартом. Через USB подключаешь и видишь на компе экран и можешь кликать, почти как эмулятор получается) только визуальная задержка есть небольшая
gloom
@gloom
Oct 14 2015 11:08
https://github.com/google/iosched 2015 Initial Source commit.
Vlifirenko
@Vlifirenko
Oct 14 2015 13:45
а не подскажите, пробовал подключить девайс через консоль adb было все ок, через какое-то время попробовал подключиться опять, в adb devices его нет, и в статус баре нет уведомления, что включена отладка по usb..как-то сама выключилась, а я без дисплея включить никак не могу :(
Kirill Ashikhmin
@KirillAshikhmin
Oct 14 2015 13:52
@Vlifirenko сама выключиться не могла. Попробуй другой порт на пк, другой кабель.
Vlifirenko
@Vlifirenko
Oct 14 2015 13:58
@BOOMik странно, но выключилась..попробовал и кабель и порты, ничего, сейчас еще ребутну комп
Vlifirenko
@Vlifirenko
Oct 14 2015 14:05
@BOOMik даже на другом ПК попробовал, и там отключена..загадка, т.к. я отключить не мог - экран разбит
Kirill Ashikhmin
@KirillAshikhmin
Oct 14 2015 14:05
@Vlifirenko странно
Vlifirenko
@Vlifirenko
Oct 14 2015 14:06
@BOOMik а его никак теперь не включить, даже если телефон рутованный?
Kirill Ashikhmin
@KirillAshikhmin
Oct 14 2015 14:07
@Vlifirenko без понятия, надо гуглить.
retor
@retor
Oct 14 2015 14:36
@atetc Рустем подкинь что нить более понятно по CursorLoader и ContentProvider чет не могу понять как правильно удалять записи из бд и обновлять recyclerview при добавлении или обновлении записи
Rustem Saitkulov
@atetc
Oct 14 2015 14:40
Про лодырей недавно Артур статью писал у нас http://habrahabr.ru/company/e-Legion/blog/265405/
Еще можно статьи нашего CTO глянуть http://habrahabr.ru/users/dev_troy/topics/ у него вроде там примеры в гитхабе были
Но думаю сейчас полно мануалов на эти две темы, мы тебе не нужны )
Artem Zinnatullin :slowpoke:
@artem-zinnatullin
Oct 14 2015 14:45
2015, лоадеры…
retor
@retor
Oct 14 2015 14:45
@atetc та мануалки есть. как он работает я тоже понял... только не совсем понял как заставить recyclerview обновить записи при внесении изменений и удалении. Стяс почитаю спасибо
Rustem Saitkulov
@atetc
Oct 14 2015 14:46

2015, лоадеры…

@artem-zinnatullin в первой статье немало букв про Rx, так что не все потеряно еще )

retor
@retor
Oct 14 2015 14:47
@artem-zinnatullin такое вот интересное задание) использовать contentprovider и cursorloader и ничего стороннего)
Rustem Saitkulov
@atetc
Oct 14 2015 14:47
Да встречаются такие тестовые
retor
@retor
Oct 14 2015 14:47
даже загрузку картинок только своими силами)
это же возвращаемся на полтора года назад на асинтаски)
Vladimir Tagakov
@Tagakov
Oct 14 2015 14:48
Вот даже не знаю как оноситься к таким тестовым
Ладно если бы попросили лоадер картинок написать
Но написать приложение используя самописный лоадер
И все остальное, чуть ли не готовую реализацию кеша запрещают юзать порой
retor
@retor
Oct 14 2015 14:49
честно сказать не буду заморачиваться с лоадером для картинок) в задании не указанно что грузить нужно из сети а просто загрузка картинок) так что с экстернала буду брать просто)
и либо асинктаст либо хандлер.пост
Sergii Pechenizkyi
@plastiv
Oct 14 2015 14:50

@artem-zinnatullin что плохого, если человек изучит этот материал?
Конктент провайдер - как абстракция над датасорсом, хендлит мультипроцессность, какие аналоги для шаринга между приложениями?

Лоадеры - отличный пример как реализовывать хендлинг переворотов активити. А то потом заюзают rx и ожидают что он както волшебно захендлит лайфсайкл

Vladimir Tagakov
@Tagakov
Oct 14 2015 14:50
То есть ты типа формально требование обошел и таким макаром тестовое выполнил, вместо того чтобы нормально загрузить картинку, нормальным инструментом
retor
@retor
Oct 14 2015 14:52
Не) Я спросил грузить откуда из сети или с экстернала пойдет) Но ответа не получил) от этого и выбрал такой вариант) хотя есть у меня в запаснике старинный вариант загрузки с кешем через асинктаску)
Artem Zinnatullin :slowpoke:
@artem-zinnatullin
Oct 14 2015 14:56
@plastiv про ContentProvider я ничего не сказал, это действительно хороший компонент, пусть и с большим уклоном в сторону SQLiteDatabase в апи. (Лучше было бы если бы все параметры передавали через Uri).
А вот лоадеры — это ужас: нет хендлинга ошибок, неочевидный апи, сложно комбинировать, и вот это всё.
retor
@retor
Oct 14 2015 14:59
С контент провайдером то разобрался ничего сложного. Вот лоадер меня немного запутал)
Sergii Pechenizkyi
@plastiv
Oct 14 2015 15:00
оке) просто когда спрашивают как хендлить лайфсайкл активити с rx и я отвечаю, что точно также как андроидSDK хендлит лайфсайкл с лоадерами, то люди не понимают, ведь кому нужны лоадеры в 2015! А идея ведь таже самая. возможно, я и олдскул, но считаю что нужно знать стандартные компоненты, прежде чем скакать по сторонним либам. Хотя бы для того, чтобы знать в чем есть + - что когда использовать. Потому что идеальных либ нету, и всегда есть трейдофф, в котором нужно принимать решение и делать выбор
За 20 лет с выхода книги не придумали ни одного нового паттерна. Интересная мысль я считаю )
Toporik
@Toporik
Oct 14 2015 15:14
К асинктаскам можно возвращаться только зная что это queue без параллельного выполнения. Про rx вообще не понял что все его суют, не зная возможности базового андроида лепить либы во все щели чревато.
Vladimir Abramov
@kivsiak
Oct 14 2015 16:23
@Toporik ну потому что за исключением тривиальных случаев AsyncTask не удобен? Ну модно конечно, потому многие и прыгают через AsyncTask сразу на RX особенно наслушившись бреда как плох AsyncTask.
Хотя на мой взгляд, Rx на порядок сложнее довольно тривиального AT
dimasolovyev
@dimasolovyev
Oct 14 2015 16:46

даже загрузку картинок только своими силами)

В одноклассниках на собеседовании такая задачка была )

retor
@retor
Oct 14 2015 16:49
кто нить встречал такое Caused by: java.lang.IllegalStateException: Required view 'fab' with ID 2131492965 for field 'fab' was not found. If this view is optional add '@Nullable' annotation.
ерунда какая то... все биндилось экран перевернул и все вообще запустить не могу никак все время ругается на то что фаб не биндится. пробую стандартным способом через findView та же ерунда. вернее просто null. все проверил фаб на месте id не изменился
Kirill Ashikhmin
@KirillAshikhmin
Oct 14 2015 16:51
Ребилд?
MightySeal
@MightySeal
Oct 14 2015 16:51
@retor butterknife? Ну слушай, у тебя верстка одинаковая или разные ресурсы? Там точно один и тот же id?
retor
@retor
Oct 14 2015 16:52
ребилд делал папку удалял/
все нашел точно странно тока почему так. да было 2 верстки под обычный и под 600dp и при перевороте он выбирает второй зараза... а он не заполнен еще...
MightySeal
@MightySeal
Oct 14 2015 16:53
@retor так не зараза а так и задумано=)
хотяяяя...
sw600dp?
retor
@retor
Oct 14 2015 16:54
w600dp
MightySeal
@MightySeal
Oct 14 2015 16:54
А.
Ну w600dp да. А вот sw600dp бы не выбрал
retor
@retor
Oct 14 2015 16:54
а надо sw? я просто такие верстки не делал еще
MightySeal
@MightySeal
Oct 14 2015 16:54
w — выберет текущую ширину
retor
@retor
Oct 14 2015 16:55
ок понял пасиб
MightySeal
@MightySeal
Oct 14 2015 16:55
а sw — smallest width — выберет меньшую
retor
@retor
Oct 14 2015 16:56
@MightySeal вот спасибо. честно сказать не знал) верстку не делал раньше нормальную) теперь вот приходится учить)
если есть возможность поделитесь хорошей статьей про это)
а то надо делать будет под планшет с двумя панелями и под телефон с одной
MightySeal
@MightySeal
Oct 14 2015 16:58
Ну тогда вот тебе конкретно про экран http://developer.android.com/intl/ru/guide/practices/screens_support.html
И вот про кучу квалификаторов вообще http://developer.android.com/guide/topics/resources/providing-resources.html
Там много всего, есть приоритеты, алгоритм выбора и все такое.
retor
@retor
Oct 14 2015 16:59
thanks)
MightySeal
@MightySeal
Oct 14 2015 16:59
Используется на практике, в основном то, что относится к экрану, остальное намного реже. Но знать полезно, мало ли что.
Artem Zinnatullin :slowpoke:
@artem-zinnatullin
Oct 14 2015 22:31

наслушившись бреда как плох AsyncTask

Лол, но AsyncTaskи правда плох: обработки ошибок нет, нужно костылять, экзекьютор менять сложно и по умолчанию с 3.0 они выполняются последовательно, нужно указывать далеко не всегда нужные параметры: вход и прогресс.

Ну, и комбинировать их адово сложно (с обработкой ошибок, естественно).

Кроме того, API AsyncTaskтолкает писать логику doInBackground() и обработку результата в одном месте, листенера к нему не зацепишь без костылей.