М.Двач / Программирование

Двач.hk не отвечает.
Вы видите копию треда, сохраненную 9 апреля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

331 Кб, 1921x1081

Разработка под Android тред №14 # OP 04 Мар, 19:49 #676210 В конец треда | Веб

RIP Xamarin, RIP RoboVM.

Предыдущий тред тут:
https://2ch.hk/pr/res/665510.html (М)

Коротко о главном:
1) Мобильная разработка - это весело.
2) Android Studio & Java - легитимный набор, проверенно временем и поддерживается гуглом. Ждем релиза второй версии студии со всеми плюшками(когда он уже выйдет-то?).

А также о неглавном:
3) PhoneGap/Ionic/Titanium/ReactNative - имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити.
4) Xamarin - мультиплатформенная разработка. Попытка серебряной пули на C#. Довольно популярный. Куплено Microsoft. Хз что будет дальше.
5) RoboVM - идейный наследник ксамарина, а теперь уже и его часть но на Java. Менее популярен, так как моложе. Куплен Microsoft. Вот он точно RIP.

Отдельного упоминания стоят:
1) Kotlin - Java от JetBrains, новый и стильный язык, куча синтаксического сахара прилагается, есть стримы и делегаты. Хотите писать на котлине? Добро пожаловать в JetBrains и Avito.

Где брать инфу:
Интернет-ресурсы
1) http://developer.android.com/index.html
Наша библия. Документация/небольшие примеры/гайды. Но только на инглише, но это плюс. Минус в том, что это все таки документация с небольшими примерами и гайдами и искать там реализацию чего-то хоть немного сложного нету смысла. Раздел Training как раз для старта.
2) http://stackoverflow.com/
Пользуюсь чаще чем первым сайтом. Можно найти практически все.
3) Есть два вполне вменяемых русскоязычных ресурса. Для старта подходят очень даже.
http://startandroid.ru/
и
http://developer.alexanderklimov.ru/android/
Второй еще и условно бесплатный. Главный плюс - это русский язык, простые гайдики, но переводы классов иногда заставляют фейспалмить.
4) http://habrahabr.ru/ - редко но метко, можно найти годные статьи по каким-то реализациям, или переводы с developer.android. Хотя чего тут объяснять.
5) https://www.udacity.com/ - в треде очевидцы говорили что есть годный курс, но я лично не смотрел.

Книги, их никто не читает, но все советуют только одну
1) The Busy Coder’s Guide to Android Development

А теперь, так как заебали уже всех, гайд для:
>"Я хуярил на делфи 5 лет назад а теперь хочу вкатится в андроид":

Чтоб быстро хоть как-то вникнуть в джаву берешь и гуглишь javarush или codingbat.com.
Можно Эккеля "Философия java" почитать.
Или Хорстманн "Java. Библиотека профессионала" до 7 главы.

Что тебе нужно понять в самой жабе.
Энтри лвл.
1) ООП - сам принцип нужно именно понять, так как ооп язык.
2) Типы данных. Примитивы и ссылочные.
3) Структуры данных - Массивы/коллекции - без них никуда. Полезно почитать про алгоритмы работы коллекций и их сложности.
4) Дженерик типы, они как раз юзаются в коллекциях.
5) Классы/интерфейсы и все вытекающие.
Уже можно быдлокодить потихоньку и учить андроид параллельно с тем что ниже.

Дальше
6) Потоки ввода/вывода (streams). Не путать с тредами(threads).
7) Threads, особо не нужно вникать(в java.util.concurrent можно не лезть, в ведре все равно особо не пригодится), но нужно понять как работает многопоточка и что такое Runnable.
8) Прочитать про паттерны что-то. Начать с listener, adapter, singleton, iterator так как на каждом шагу. Ну и по накатанной.
Уже сделаешь что-то нормальное.

Дальше.
9) Работа с Sqlite, нужна будет в любом случае.
10) Работа с json.
Привет клиент-серверка.

Пишите в треде что добавить.

Ответы>>676508>>678186>>683062>>685649>>689844>>693431

04 Мар, 19:52 #2 #676213

Решил я заменить запрос с ретрофитом на Rx.
Результат вот.
http://pastebin.com/e79vjAJS
Там есть комменты что меня смущает.
Также вопросы

1)как сделать обработку данных на неудачный запрос с последующим выводом на экран нормально и красиво?
2)Как мерджить флетмап я так и не понял, зипом чтоль? Да и нужно ли если обычный фор менее заебистый.
3)нужно ли делать вставку в бд в ио треде?

Ответы>>677164>>683331

04 Мар, 20:18 #3 #676259

Никто не в курсе, можно ли сделать так, чтобы drawer от Mike Penz выезжал ниже тулбара ?

04 Мар, 20:21 #4 #676264

Или хотя-бы статусбара

04 Мар, 21:44 #5 #676403

Чем nullable types лучше option monad, м? a?.b?.c!! – так никто не будет делать жи

Разберем два случая

1. Нуллябельный тип как требование интеропа с джавой

Если вызываешь метод сторонней либы на джаве, скорее всего ты захочешь поймать и обработать null сразу на месте, например val collection = Option(db.getCollection("blah")) match { Some(c) => c; None => кидаем ошибку }
Иначе Option/нуллябельность протечет к тебе в код и все изгадит своим присутствием.

2. Нуллябельный тип как требование бизнес-логики

Если твоя переменная может быть легитимно нуллябельной, ты никогда не захочешь использовать !!, a smth map { _ => _.c.d } выглядит идиоматичнее, чем smth?.c?.d?

04 Мар, 22:06 #6 #676458

похоже что instant run во второй студии сделан на основе multydex, но ведь я не хочу что бы в моем приложении был богомерзкий dex, каково хуя вообще

04 Мар, 22:32 #7 #676508

>>676210 (OP)
> RoboVM. Вот он точно RIP.
А вот нифига, вчера вышел 1.14. Скоро обещают 1.15 c Kotlin 1.0

Ответы>>676509

04 Мар, 22:34 #8 #676509

>>676508
Ну конечно, майкрософт будет адекватно поддерживать технологию на джаве.

Ответы>>676524>>676525

04 Мар, 22:43 #9 #676524

>>676509
Как J#

04 Мар, 22:43 #10 #676525

>>676509
На самом деле пофиг, если приспичит перекачусь на Intel Multi OS (тоже самое что и RoboVM и даже бесплатное)

Ответы>>676540

04 Мар, 22:44 #11 #676528

Котаны, есть фрагмент в котором сделан список устройств bluetooth и код, отвечающмй за поиск и отображение устройств в списке. Этот фрагмент используется внутри другого фрагмента и в одной активити. Причем там везде разные действия совершаются при выборе устройства в списке.
Как бы мне это по-удобнее обработать?
Приделать к фрагменту колбек?

04 Мар, 22:48 #12 #676540

>>676525
Дак я не ради тебя это пишу. Просто жалко проект.

04 Мар, 22:54 #13 #676554

Как быстро вкатиться в Java чтобы начать под андроид писать? Слыхал что javarush говно/10, Эккеля читать остается?

Ответы>>676556

04 Мар, 22:55 #14 #676556

>>676554
Умри

81 Кб, 1080x1920

05 Мар, 01:54 #15 #676769

Есть одна кнопка шейр, шарит строку текста, но диалог выбора получателя выглядит не так как хотелось бы, а именно(то, что под штрокой).

Ответы>>676770>>677028>>677069>>677445

181 Кб, 1080x1920

05 Мар, 01:55 #16 #676770

>>676769
Хочу чтобы было типа такого. Куда копать?

Ответы>>677028>>677069>>677445

05 Мар, 13:12 #17 #677028

>>676769
>>676770
А это не от системы разве зависит?

Ответы>>677069>>677132

05 Мар, 13:45 #18 #677069

>>676770
>>676769
>>677028
Это на одном и том же телефоне?
Ну реверсни ютуб че ты как маленький.

Ответы>>677131

05 Мар, 14:41 #19 #677131

>>677069
На одном и том же. Бля, реверсить совсем впадлу.

Ответы>>677156

05 Мар, 14:42 #20 #677132

>>677028
Один и тот же девайс

05 Мар, 14:54 #21 #677156

>>677131
Страдай, иди на стековерфлоу че ты.

Ответы>>677282

05 Мар, 14:57 #22 #677164

>>676213
Мда, видимо хуй мне кто поможет.

Ответы>>677430

05 Мар, 15:58 #23 #677282

>>677156
Гуглил, хуй че нашёл

Ответы>>677384

05 Мар, 16:53 #24 #677384

Не могу запихнуть как нужно recyclerView в scrollView. Вроде как сказали, что ресиклер научился врапаться, но запихнутый в релайтив с below=@id/... он скролится только на остатке области между @id/... и низом вьюхи, вместо того, чтобы при скроле уводить @id/... за экран вверх. Как правильно сделать то?

Есть решение через CoordinatorLayout + AppBarLayout, однако вдруг мне в будущем понадобится поместить контент ниже recyclerView. Да, да, можно позасирать адаптер, но нахуй надо.

>>677282
http://stackoverflow.com/questions/9083826/get-the-list-of-apps-capable-of-handling-the-send-intent-to-display-in-a-view-n

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

Ответы>>677394

05 Мар, 16:58 #25 #677394

>>677384
>recyclerView в scrollView
Я думал каждый ньюфаня знает что так делать нельзя

Ответы>>677398

05 Мар, 17:00 #26 #677398

>>677394
Плз. Каштомным LinearLayoutManager'ом всегда можно было. Просто эту фишку из коробки анонсировали в 23.2, но чет нихуя не пашет.

Ответы>>677442

05 Мар, 17:12 #27 #677430

>>677164
http://developer.android.com/intl/ru/samples/DirectShare/index.html
https://www.bignerdranch.com/blog/implementing-android-marshmallow-direct-share/

Работает только на Marshmallow

Ответы>>677445>>677463

05 Мар, 17:21 #28 #677442

>>677398
Там дали только врап контент.
То что ты список тулишь в скролвью - костыль. Дали тебе хидер, нет хочу писать хуйню.

Ответы>>677456

05 Мар, 17:22 #29 #677445

>>677430
Промахнулся ты с ответом.
Но я тебе помогу

>>676769
>>676770
Вот вам ответ >>677430

05 Мар, 17:28 #30 #677456

>>677442
У recyclerview нет хидеров и футеров. Нужно засирать адаптер для этого вьютайпами.
Лучше бы предложил напердолить координаторлейаут.

Ответы>>677465

05 Мар, 17:33 #31 #677463

>>677430
Выручил, спасибо

05 Мар, 17:34 #32 #677465

>>677456
>У recyclerview нет хидеров и футеров
И курсорадаптера для него тоже нету, и теперь не юзать курсоры прикажешь?

>Лучше бы предложил напердолить координаторлейаут.
Вариант, но я же не вижу твоей верстки.

Ответы>>677470>>677474

05 Мар, 17:38 #33 #677470

>>677465
>2016
>Cursor

Ответы>>677475>>678856

05 Мар, 17:40 #34 #677474

>>677465
Одно дело написать ресайклерадаптер с курсором, другое пердолить туда вьютайпы. Когда у тебя хидер и простые айтемы, то как то похуй. Но когда у тебя идет 3 списка подряд из разных элементов по 20 штук, при этом если в один из списков пуст, то нужно показывать плейсхолдер, то количество вьютайпов возрастает до 6 минимум. Добавив вьюхи разделители, уже 9. В итоге из нескольких адаптеров, который каждый занимается своим типом, мы получаем монструозный пиздец.

Ответы>>677476>>677496

05 Мар, 17:40 #35 #677475

>>677470
Маня, лоадер - курсор - контент провайдер единственная ровная вещь во всем андроиде.

05 Мар, 17:42 #36 #677476

>>677474
Ну а что ты хотел с такой нестандартной версткой?
Юзать скролвью и любой лист, грид, рейсакйлервью костылизм уровня пиздеца. лучше уж вьеби аддВью в обычном линеаре.

05 Мар, 17:51 #37 #677496

>>677474
Разделители надо мутить через ItemDecoration

Ответы>>677501

05 Мар, 17:54 #38 #677501

>>677496
Целые линеар лейауты отрисовывать в декораторе?

Ответы>>677525

05 Мар, 18:12 #39 #677522

Попытка в rx 2.
Хоть скажите какие замечания.
http://pastebin.com/19Diwm9F
И костыль с рантайм экзепшном - это слишком?

Ответы>>677551

05 Мар, 18:16 #40 #677525

>>677501
Там такие сложные разделители?

Ответы>>677532

05 Мар, 18:19 #41 #677532

>>677525
Я говорил про разделители между списками элементов. Обычные разделители полоски можно и в лейаут вьюх пихать.

05 Мар, 18:35 #42 #677551

>>677522
> костыль с рантайм экзепшном
А где он? Писал бы котлине, вообще бы не парился с чекед-исключениями.

А вообще по сравнению с первоначальным кодом, куда лучше.
Хотя я бы вынес все до subscribe в отдельный класс.

Ответы>>677566

05 Мар, 18:56 #43 #677566

>>677551
>А где он?
вот тут
.doOnNext(new ValidateResponseOrThrow())
Я проверяю в респонсе что пришло, если апи кинула мне код ошибки(типа пароль не найден) я сровлю кастомный рантайм экзепшн который будет хранить в себе этот код ошибки.
А в сабскрайбере уже ловлю в онЕрроре и паршу ошибки
ExceptionParcer.parceException(throwable)

Простоя хз как по другому словить и передать этот код для вывода.

>Писал бы котлине, вообще бы не парился с чекед-исключениями.
Не, котлин потом, я и так решил rx хуярнуть в новый проект на работе начальство заебало вот и решил развиваться.

Ответы>>677590

05 Мар, 19:42 #44 #677590

>>677566
> вот тут
Да норм вроде, SRP соблюден и это хорошо

Не плохо бы избавиться от contacts в subscribe, ты же его там не используешь.

Ответы>>677597

05 Мар, 19:49 #45 #677597

>>677590
>Не плохо бы избавиться от contacts в subscribe, ты же его там не используешь.
Однозначно нужно, я уже думал об этом, просто я новичек в лямбдах и не понял как создать лямбду без входящего аргумента, потому решил оставить это на потом.

Алсо, ты предлагал в один класс все вынести, вполне вариант кстати, но как назвать этого монстра который будет проверять валидные ли данные - сровить экзепшн - конвертировать лист - и записывать в бд? Да и не слишком ли дохуя разноплановой работы для класса?

Ответы>>677834

05 Мар, 20:33 #46 #677646

Аноны, поясните за перерисовку только куска view. Если я вызываю invalidate(Rect) то как потом это правильно обработать в onDraw?

Ответы>>677835

05 Мар, 22:55 #47 #677760

а как в recycler view выгружать из памяти данные когда итем пролистывается полностью ?

Ответы>>677822>>677835

06 Мар, 00:14 #48 #677822

>>677760
Че ты там выгружать собрался? Можешь прицепить RecyclerListener, но это не совсем то. Если тебе именно прокрутилось то тут нужен onScrollListener. Еще у адаптера есть хук onViewRecycled.

06 Мар, 00:34 #49 #677834

>>677597
>Алсо, ты предлагал в один класс все вынести, вполне вариант кстати, но как назвать этого монстра который будет проверять валидные ли данные - сровить экзепшн - конвертировать лист - и записывать в бд? Да и не слишком ли дохуя разноплановой работы для класса?
GetContactsResponseController

Ответы>>677836>>677875

06 Мар, 00:34 #50 #677835

>>677760
Что ты пытаешься делать? Звучит как хуйня.
Ну выгрузишь ты их, что дальше? Обратно как загрузишь?
А вообще можно сделать логику в биндВью, в вьюхолдере помимо вьюх держать идшник итема, и при вызове в онБинд затирать итем по идишнику который был.

>>677646
Я не думаю что можно перерисовать именно кусок вью, но можно сделать сложное вью с несколькими вью.

06 Мар, 00:35 #51 #677836

>>677834
Спасибо, ок подумаю, просто такой контроллер будет для каждого запроса.

18 Кб, 803x108

06 Мар, 01:35 #52 #677875

>>677834
>Cannot infer functional interface type.
Что-то я запутался.

Ответы>>677962

06 Мар, 04:59 #53 #677921

Пацаны, где узнавать самые свежие новости по сабжу?
Какие подкасты и сабреддиты чекать?

Ответы>>678630>>678757

9 Кб, 357x118

53 Кб, 655x338

33 Кб, 463x294

06 Мар, 09:56 #54 #677962

>>677875
Первый параметр функции subscribe() это интерфейс Action<T> (пик 1), который превращается в лябду с одним параметром.
В Java ты не можешь отбрасывать параметры лямбды.

По выносу в отдельный класс, я предлагал типа такого (пик 2, 3)

P.S.
Для тестов еще удобно инъектить шедулеры, что бы избавиться от асинхронности.

Ответы>>678241

06 Мар, 14:17 #55 #678146

C AppBarLayout уже работали? Пытаюсь подпихнуть туда хидер (довольно большой, на пол экрана) ресайклервьюхи, чтобы в адаптер не шаманить, но проблема в том, что проебывается инерция у скрола вверх. Вниз нормально, но когда вверх, то ресайклер доскроливается до своего начала и не показывает хидер. Когда начинаю выскролливать вверх дальше, то скролл идет без инерции.

Структура:
CoordinatorLayout
AppBarLayout
PercentRelativeLayout - app:layout_scrollFlags="scroll" (хидер)
RecyclerView - app:layout_behavior="@string/appbar_scrolling_view_behavior"

06 Мар, 14:37 #56 #678167

Антошки, хочу написать крохотную штуку для планшета, с андроидом дела никогда не имел, пишу на яве.
Пользователь входит в приложение, логинится, переходит на основной экран. Там два поля ввода, шкала от 1 до 10 и кнопка запостить. Нажимает кнопку запостить, появляется окошко с надписью и приложение обратно переходит на основной экран. Всё.
Сервер на spring boot и spring security, с ним проблем нет.
Тыкните носом в какой-нибудь гайд для совсем нубов. Спасибо.

Ответы>>678207

06 Мар, 14:54 #57 #678186

>>676210 (OP)
Поясните за Ксамарин, нахуй он нужен за такие деньги.

Ответы>>678191

06 Мар, 14:58 #58 #678191

>>678186
Пердолишь presenter (или viewmodel) и model сразу под обе платформы.

Ответы>>678208

06 Мар, 15:10 #59 #678207

>>678167
Head First Android

06 Мар, 15:11 #60 #678208

>>678191
под три :) платформы

06 Мар, 15:27 #61 #678215

Господа, щекотливый вопрос.
Как рендерить кучу мелких картинок покадрово? Видюшки не получатся, так как альфа канал, а задник тоже двигается, да и вообще как бы это так, что бы китайские ведра не охуели, движущихся элементов где-то 12. И появлятся они будут постепенно. Я вот лумаю между SurfaceView и TextureView, чем отличаются, или гифками? Или это все путь в никуда и будет говно и нужно лезть в натив?

10 Кб, 870x76

17 Кб, 789x180

06 Мар, 16:04 #62 #678241

>>677962
Понял спасибо, таки с таким разделением намного красивее.

Единственное что, я все ебусь как с ретролямбдой вызвать в сабскрайбе онКомплит?
Если убрать тип результата в гетКонтактс то сабскрайбер запрашивает тип данных для Action1. Но у них же есть Action0, почему оно не хочет подтянуть этот интерфейс?

Ответы>>678247

06 Мар, 16:10 #63 #678247

>>678241
>почему оно не хочет подтянуть этот интерфейс?
Даже не так.
Почему они не сделали конструктор с Action0, Action1? Говно какое-то.

Ответы>>678361

06 Мар, 16:30 #64 #678267

нахуй это говно rx вообще? Заебали со своими пизделками

Ответы>>678271>>678276

06 Мар, 16:33 #65 #678271

>>678267
Можно юзать просто потому что удобная либа для асинхронности.

Ответы>>678276

06 Мар, 16:37 #66 #678276

>>678267
Двачую этого >>678271
Перед этим пробовал андроидболтс, проще, но и кода больше на порядок.

А через асинктаски нереально делать нормальную асинхронку, тысячи колбеков заствляют блевать.

06 Мар, 17:39 #67 #678361

>>678247
> Почему они не сделали конструктор с Action0, Action1?
Потому что RX это в некотором роде асинхронный стрим.
У него предназначение передавать данные по цепочке (обрабатывая их),
а у тебя другой случай, тебе результат не нужен.

== Дополнительная информация
Смотри тут rxjava 1.1.1 релизнулась и там добавил класс Completable (обсервабле без результата).
У него как-раз есть subscribe(Action<Exception>, Actin0)

Ответы>>678388>>678443

06 Мар, 17:56 #68 #678388

>>678361
Спасибо.

10 Кб, 626x171

7 Кб, 625x119

06 Мар, 18:30 #69 #678432

Уже который день не могу скачать Android Studio
загрузка останавливается на около 90%
уже не знаю что делать, может у кого-то так же

Ответы>>678437>>678450>>678533>>678632

06 Мар, 18:34 #70 #678437

>>678432
Найди торрент

Ответы>>678616

15 Кб, 780x109

06 Мар, 18:43 #71 #678443

Ебать я сегодня код перелопатил основательно, даже архитектура появилась.

>>678361 - котлинолюб
Еще раз спасибо что помог разобраться.

Мне бы тимлида такого, может бы и рос быстрее, а то мужик сидит на отъебись работает. Даж не спросишь нихуя, так как не знает.

11 Кб, 638x182

06 Мар, 18:54 #72 #678450

>>678432
блять ну опять

Ответы>>678517>>678533>>678542

06 Мар, 19:24 #73 #678495

Вот до конца жизни буду поражаться с создателей ведра.
Ну сделали вы TextUtils, спасибо.
String nullIfEmpty(@Nullable String str) {}
круто да, но где такой же метод но наоборот? Кому вообще уперся налл?
Почему было так сложно сделать его? Теперь пили свой СтрингУтилс с этим методом, спасибо бля.

Ответы>>678542

06 Мар, 19:42 #74 #678517

>>678450
Может у тебя памяти не хватает?

Ответы>>678616

41 Кб, 460x615

06 Мар, 19:52 #75 #678533

>>678432
>>678450
В хрум-хруме последнее время даже full hd видео на ютубе не грузится даже на 60 мегабитах.
Последнее время юзаю пикрелейтед. Там всё заебись.

Ответы>>678616

06 Мар, 20:00 #76 #678542

>>678495
Nullable-типы жаба проблемы

>>678450
Да возьми ты уже файловую качалку, типа FDM.
Хотя реально проблема может быть в диске или антивирусе.

Ответы>>678616

51 Кб, 1053x216

06 Мар, 20:32 #77 #678616

>>678542
>>678533
>>678517
>>678437
короче скачал через, как анон советовал, через FDM
ебал этот хром

06 Мар, 20:40 #78 #678630

>>677921
Бамп вопросу, анончики

Ответы>>678634

06 Мар, 20:41 #79 #678632

>>678432
Блять такая же проблема была, я пиздец очко взорвал
Пришлось качать с мамкиного ноута и шарить по вай-фаю

06 Мар, 20:42 #80 #678634

>>678630
Я бы тебе посоветовал android weekly, но он на самом деле параша. Каждую неделю высылают статьи, которые ОДИНАКОВЫЕ. Кодеры-хипстеры копирайтят друг у друга статьи по MVP, rx и сейчас начали котлин, сотни их! и все одинаково бестолковые.

Так что хуй знает.

Ответы>>678685

06 Мар, 21:13 #81 #678685

>>678634
Чому такая ситуация? Отрасль в общем-то не такая уж и новая, специалистов уже много

06 Мар, 21:42 #82 #678723

Хочу написать 3д аналог "игры" жизнь. Для этого мне нужно наваять трехмерный куб(параллелепипед) из маленьких кубиков, которые берут значение из трехмерного массива и в зависимости от значения рисуют себе нужый цвет. Еще эту штуковину нужно уметь вращать и управлять зумом.
Доброаноны, накидайте список, технологий, областей, кусков андройдфреймворка и других интересных слов по которым я смогу замутить такой функционал. До этого с 3д вообще не работал так что вводные в этой области практически нулевые. С++ на уровне "знаю, но писать не умею"(надеюсь в натив не придется лезть).

Ответы>>678726>>678733

06 Мар, 21:45 #83 #678726

>>678723
Unity

06 Мар, 21:49 #84 #678733

>>678723
Ради прикола напиши исключительно на плюсах.
Libgdx еще посмотри.

06 Мар, 22:10 #85 #678757

>>677921
А что тебе нужно то?
Мне хватает хабры и гугления по нужной мне тематике.

Ответы>>679149

272 Кб, 573x768

06 Мар, 22:14 #86 #678762

Когда уже можно будет хуячить полноценные приложухи на Go?

Ответы>>678773>>678776>>678968>>679030>>681293

06 Мар, 22:21 #87 #678773

>>678762
Никогда

06 Мар, 22:28 #88 #678776

>>678762
Лучше бы на C++. Хотя какпредставлю какой гемморой в джаве, когда дело доходит до многопоточной всякой фигни...

Ответы>>678779

06 Мар, 22:29 #89 #678779

>>678776
> Хотя какпредставлю какой гемморой в джаве, когда дело доходит до многопоточной всякой фигни...
Схуяли? Треды везде одинаковые, примитивы синхронизации тоже.

06 Мар, 23:52 #90 #678856

>>677470
Гы, а что там юзают в 2016?

Ответы>>678859

06 Мар, 23:55 #91 #678859

>>678856
Да забей на них, ладно асинктаск - говно.
Курсор и лоадер збс.

Ответы>>678865

07 Мар, 00:03 #92 #678865

>>678859
Где то читал что лоадер течет, не слыхал?

07 Мар, 00:17 #93 #678888

Окей возможно у меня это от непонмиания, зачем курсор? Я же могу все его итемы закверить и выплюнуть лист, а когда че-то поменяется кверануть и поменять соответсвующие итемы? В чем выигрышь курсора? Еще и с RecyclerView он как-то не дружен.

Ответы>>679191

07 Мар, 01:08 #94 #678949

На новых андроидах в настройках можно вырубить gcm пуши в моем приложении? Сижу с бомже 4.2.2.

Ответы>>678964

07 Мар, 01:19 #95 #678964

>>678949
Да ты и в желибне можешь, просто запрети Notifications приложухе.

Ответы>>678974

07 Мар, 01:22 #96 #678968

>>678762
Иди на хуй со своим говном.

07 Мар, 01:30 #97 #678974

>>678964
На гелекси нексусе не нашел такую настройку.

07 Мар, 01:52 #98 #678995

Сап.

Посоветуй, анон. В разработке под андроид не очень силён (впрочем, как и вообще в разработке). Есть маленькая бд на ~50 строк, в которой хранятся поля одного POJO-класса. Есть одна строка и одно число.
Всё перечисленное - это те данные, которые на данный момент хранятся в специальном фрагменте (DataFragment, в нём setRetainInstance(true)), подгружаются в него при запуске приложения, в рантайме читаются/модифицируются им и при закрытии приложения пишутся в бд (для POJO) и SharedPreferences (для строки и числа).

Однако, в связи с небольшими изменениями архитектуры приложения, на меня посыпались NPE - сначала из-за того, что данные грузились в onCreate DataFragment'а, а он успевал использоваться до этого самого onCreate, потом ещё из-за чего-то.

Такой способ хранить данные я довольно давно вычитал на developer.android.com, но повторно найти этот гайд не могу.

Так вот, судя по тому, что приложение разваливается - что-то я делаю не так. Встаёт вопрос - что делать с этими данными?
1) Каждый раз дёргать запросы к бд: запросы будут довольно редкие, но почему-то кажется, что это не совсем то; +где хранить те самые строку с числом? Дёргать из SharedPreferences каждый раз? Впрочем, там частые обращения ещё более маловероятны.
2) Хранить данные в синглтоне: полный проёб lifecycle'а и оперативки; удобный доступ к данным.
3) Продолжать извращаться с DataFragment'ом и пихать кучу неадекватных инициализаций и проверок + проёб оперативки.

Ответы>>681291

07 Мар, 03:01 #99 #679030

>>678762
илюша, плис

07 Мар, 09:03 #100 #679149

>>678757
Принято считать, что нужно обязательно читать англоязычные ресурсы, потому что там все всегда появляется раньше

07 Мар, 11:16 #101 #679180

Поучаствую в проектах средней/низкой сложности за дешево. Могу в data binding, fb, vk, gmaps API, и еще по всякой фигне. Работаю задешево

Ответы>>679448

07 Мар, 11:17 #102 #679181

оу, тавтология

07 Мар, 11:48 #103 #679191

>>678888
На дубледубль никто не отвечает, однако.

07 Мар, 12:29 #104 #679225

Котаны, посоветуйте русскогоязычного чтива по сабжу (стартандроид уже прошёл)

Ответы>>679268

07 Мар, 14:11 #105 #679268

>>679225
Учебник по английскому

Ответы>>679301

07 Мар, 15:03 #106 #679301

>>679268
У твоей мамаши вчера оставил

07 Мар, 16:41 #107 #679377

Зеленые господа, объясните начинающему адепту почему при установке различных констант часто используются разные побитовые операции, маски какие-то. Что за хитрый паттерн и для каких целей так сделано?

Ответы>>679387>>679446

07 Мар, 16:53 #108 #679387

>>679377
Что бы они уникальными были, так точно не ошибешься. А маски что бы обойти несовершенство типов но при этом не создавать классов. Тот же MeasureSpec несет сразу два числа в одном инте. Байтоебские изъебы короч.

07 Мар, 17:59 #109 #679446

>>679377
Что легче прочитать?
1) void setFlags(boolean showA, boolean showB, boolean showC, boolean showD, boolean showE), setFlags(true, true, false, false, true)
2) void setFlags(int flags), setFlags(SHOW_A | SHOW_B | SHOW_E)

Ответы>>679450>>679588

07 Мар, 18:02 #110 #679448

>>679180
>Могу в data binding
И как оно?

Ответы>>679458

07 Мар, 18:04 #111 #679450

>>679446
Еще бы понять как оно работает.

Ответы>>679583

07 Мар, 18:14 #112 #679458

>>679448
Я не он, но мне очень даже нравится.

Ответы>>679477

07 Мар, 18:29 #113 #679477

>>679458
Не требует никаких костылей?
Или все же костыли вылазят?

Ответы>>679497>>680133

07 Мар, 18:46 #114 #679497

>>679477
Ну если для тебя ObservableField<T> не костыль то все оке. Там единственный костыль это то что иногда кодогенерация не подхватывается, но всем все собирается, а светится жутки красным цветом. ну и в xml'ке нет автокомплита в кастомных аттрибутах и прочих вкусностей. Ну и со списками не очень удобно, большой свитч получается, если например 8 разных вьюшек в списке. А вообще очень хорошо.

Ответы>>679501

07 Мар, 18:48 #115 #679501

>>679497
В след проекте попробую. Как раз может 2.0 выпустят.

07 Мар, 19:38 #116 #679583

>>679450
> Еще бы понять как оно работает.
Прочитать базовый курс по двоичным представлениям и побитовым операциям?

07 Мар, 19:44 #117 #679588

>>679446
Можно еще через Enum + EnumSet, но смотрятся они как-то убого

Ответы>>679682

07 Мар, 20:46 #118 #679682

>>679588
Говорят енумы хуевы в плане производительности.

07 Мар, 21:19 #119 #679745

Лучше учить джаву, или перекатываться в андроид?
уже освоил джава кор

Поясните что делать в андроиде, какие перспективы, долго ли учиться чтобы устроиться джуном?

Ответы>>679761>>679941

07 Мар, 21:34 #120 #679761

>>679745
> Лучше учить джаву, или перекатываться в андроид
Хорошо сказано

08 Мар, 00:16 #121 #679941

>>679745
Как меня это заебало.
мимо-ОП

08 Мар, 03:04 #122 #680022

Котаны, посоветуйте способы заставить студию бегать быстрее.

Конкретно вопрос по поводу Genymotion.
Есть какой-нибудь смысл создавать RAM-диск и переносить туда virtualBox, будет от этого эмулятор бегать шустрее?

Или для заметного роста быстродействия нужно переносить и часть\все файлов студии?

Кто как решает эти вопросы?

Ответы>>680076>>681297

sage 08 Мар, 06:11 #123 #680047

Котлинодауну стало скучно и он пошёл на 4пидора. Хех.

Ответы>>680258>>680357

08 Мар, 09:20 #124 #680076

>>680022
Купи ssd

Ответы>>680319

08 Мар, 11:29 #125 #680133

>>679477
с recyclerview с кучей картинок немного костылить нужно, в остальном - охеренно

Ответы>>680221>>680259

08 Мар, 13:35 #126 #680221

>>680133
Сделай кастомный атрибут для плэйсхолдера и урла и будет нормально.

08 Мар, 14:11 #127 #680258

>>680047
Ват?

08 Мар, 14:11 #128 #680259

>>680133
В чем профит
>recyclerview
если у вас там анимаций нету? Сириусли, так и юзаю листы.

Ответы>>680304>>680589

08 Мар, 15:03 #129 #680304

>>680259
Какой такой анимации нет? Есть куча бесплатных аниматоров.

Ответы>>680483

08 Мар, 15:19 #130 #680319

>>680076
Понятное дело, что ssd лучший вариант. Но сейчас у меня возможности купить его нет. Зато есть несколько гигов никогда не используемой оперативки, вот я и спрашиваю как бы мне получше это использовать.

08 Мар, 15:43 #131 #680357

>>680047
>4пидора
Форчан, чтоле?

Ответы>>680370

08 Мар, 15:57 #132 #680370

>>680357
4pda

08 Мар, 17:09 #133 #680483

>>680304
Я имею ввиду нахуй тулить ресайклервью если в дизах нету никаких анимаций для итемов? Это тупо, потому как ресайклервью создан как раз для них.

Ответы>>680557

08 Мар, 17:48 #134 #680557

>>680483
По мне так запердолить ресайклер адаптер немного быстрее, чем листвьюшный.
Вьюходер из коробки.

Ответы>>680559>>680764

08 Мар, 17:49 #135 #680559

>>680557
Да ладно

08 Мар, 18:05 #136 #680589

>>680259
В удобности использования. Особенно в комбе с data binding ^_^. Ну и дефолтный ресайклер выглядит лучше дефолтного листа

Ответы>>680764

08 Мар, 18:07 #137 #680594

Как заставить drawer от майка пенза вылезать ниже статусбара ?

Ответы>>680644

08 Мар, 18:41 #138 #680644

>>680594
https://github.com/mikepenz/MaterialDrawer/blob/develop/FAQ/howto_show_drawer_under_toolbar.md
?

08 Мар, 19:22 #139 #680727

Это что ж получается, приложению выделяется всего 35 мегабайт оперативной памяти? И нахуя тогда делают телефоны с 2 и больше гигами памяти если ими нельзя воспользоваться?

Ответы>>680750>>680761

08 Мар, 19:40 #140 #680750

>>680727
Зависит от версии андроида и конкретного девайса.
Точно число можешь посмотреть вызвав:
http://developer.android.com/intl/ru/reference/android/app/ActivityManager.html#getMemoryClass()

Чтобы было больше памяти, можешь добавить в манифест:
android:largeHeap="true"

Ответы>>680760

08 Мар, 19:51 #141 #680760

>>680750
О, спасибо за инфу.

08 Мар, 19:53 #142 #680761

>>680727
> всего 35 мегабайт оперативной памяти
Нет, спокойно кушал 90 мб в своем приложении.

Ответы>>680788

08 Мар, 19:54 #143 #680764

>>680557
Нет не быстрее. Вьюхолдер там нихуя не дефолтный, тебе все равно нужно запоминать ссылки на элементы итема. В результате та же хуйня но сложнее.
>>680589
Каким хуем датабиндинг только с рейсаклером работает я не понял.

Ответы>>680786

08 Мар, 20:06 #144 #680785

Есть у кого линки на гайды по retrofit-у ? В идеале - на русском

Ответы>>681299>>681300

08 Мар, 20:06 #145 #680786

>>680764
Я не сказал, что только с ресайклером

Ответы>>680821

08 Мар, 20:07 #146 #680788

>>680761
Даже я до такой границы по ОП не поднимался, лол. gmaps+список из 50 элементов в каждом по хайрез картинке жрет 86мб :D

Ответы>>680810

08 Мар, 20:27 #147 #680810

>>680788
Зависит опять же от девайса. На фуллхд и выше много тяжёлого графена, а больший объём позволяет больше отжирать. Некоторые приложения запросто по 200 мб жрут.

08 Мар, 20:38 #148 #680821

>>680786
>В удобности использования. Особенно в комбе с data binding ^_^.
Любой белый человек скажет что разницы нету нихуя, ибо адаптеры для ресайклера и листа практически одинаковы.

Ответы>>680856

08 Мар, 21:08 #149 #680856

>>680821
ресайклер как минимум имеет дефолтную оанимацию и ништячный дефолтный вид, в отличии от листа, который говно

Ответы>>680906

08 Мар, 21:39 #150 #680871

Котаны, как использовать androidTest?

08 Мар, 22:25 #151 #680906

>>680856
>дефолтную оанимацию
Ох ты меня бесишь. Еще раз, если анимация ненужна - юзать ресайклер удел идиота.
>ништячный дефолтный вид
На ноль поделил.
>в отличии от листа, который говно
И чем же он говно?

Еще раз, ресайклер дает только анимацию, гу и возможно более удобную подмену с ЛинеарМенеджером.

09 Мар, 08:23 #152 #681191

Котаны, есть задачка: периодически сервис пуляет мне broadcast сообщение и мне нужно в ui произвести выборку из БД и перерисовать вьюху.
Выборка из БД выполняется асинхронно и занимает значительное время. Возможно при больших объемах она не успеет завершиться прежде, чем придет следующее broadcast сообщение.

Как бы мне слелать обновление инфы с такой частотой, с которой оно может обновляться?
Проверять перед запуском статус предыдущей async task?
Это надежно?

Ответы>>681204>>681222>>681272

09 Мар, 09:03 #153 #681204

>>681191
Просто игнорируй сообщение - ведь ты уже далаешь то что должен начать делать при получении сообщения. Зачем тебе пердолиться с подстройкой частоты?

Ответы>>681222>>681887

09 Мар, 10:19 #154 #681222

>>681191
Двачую этого >>681204
Просто делаешь синхронайзед переменную и по ней смотришь началась ли работа с выборкой в бд, меняешь значение по получению данных.
В результате игноришь все то говно которое прилетало во время выборки.

Другой вариант - стопать то что делаешь сейчас и начинать новое.

Ответы>>681887

09 Мар, 11:34 #155 #681272

>>681191
В общем случае должно быть все равно, тк выборка не меняет базу и если она выполниться дважды, то вернуться одни и те же данные.

Насколько я помню, тот же курсор-лоадер перегружается данные асинхронно не заботясь о синхронизации
(она и так произойдет когда данные вернутся на UI тред).

09 Мар, 12:00 #156 #681284

Анончики, юзающие Genymotion, скажите, вы его где-то спиздили, чтобы полная версия была или бесплатной довольствуетесь?

Ответы>>681343

09 Мар, 12:16 #157 #681291

Ну же, бамп >>678995

09 Мар, 12:19 #158 #681293

>>678762
Гайс, а почему все так хают Gовно? У нас в конторке босс (и тимлид по совместительству) упоролся им. И вроде как всем доставляет, а мне как-то похуй: сказали - ну разобрался, пишу вот бэкенд на нем (ну и клиента на ведре). Какие подводные камни? Они сами нубы в го, как и я. На чем вообще обычно пилят бэк для ведер? Какие best practices? Не хочу с этими гениями потом хлебнуть говнеца, лол.

09 Мар, 12:23 #159 #681297

>>680022
Сколько оперативы? Оно не должна тормозить, по идее, если достаточно оперы (8 гигов минимум). Олсо можешь накатить канарейку

Ответы>>681447

09 Мар, 12:26 #160 #681299

>>680785
вот тоже встрял на этой теме. надо какой то план сделать что бы разобраться

09 Мар, 12:26 #161 #681300

>>680785
>на русском
Ебанулся?

https://futurestud.io/blog/retrofit-2-upgrade-guide-from-1-9

Ответы>>681302>>681304

09 Мар, 12:30 #162 #681302

>>681300
там кстати опечатки и нихуя не получилось в итоге :/

Ответы>>681312

09 Мар, 12:32 #163 #681304

>>681300
это читал, мало

Ответы>>681307

09 Мар, 12:33 #164 #681307

>>681304
Чем тебя не устроили доки на их гитхабе?

Ответы>>681308

09 Мар, 12:34 #165 #681308

>>681307
мало. Хочу больше инфы. В идеале на русском

Ответы>>681309

09 Мар, 12:36 #166 #681309

>>681308
Чего тебе мало? У тебя какая то конкретная задача, которую ты не можешь решить?

Ответы>>681313

09 Мар, 12:38 #167 #681312

>>681302
Да? У меня авторизация оттуда не заработала. Думал, может это я такой тугой, скопипастить не могу

09 Мар, 12:39 #168 #681313

>>681309
там банально нет работы с мультипартом ;)

Ответы>>681318>>681321

09 Мар, 12:41 #169 #681316

И начиная с 21 части все недоступно/не сделано или хз чего еще

Ответы>>681319

09 Мар, 12:42 #170 #681318

>>681313
>FORM ENCODED AND MULTIPART
>http://square.github.io/retrofit/

09 Мар, 12:43 #171 #681319

>>681316
где в списке статей то это ?

09 Мар, 12:43 #172 #681321

>>681313 :)))))
http://square.github.io/retrofit/

Ответы>>681322>>681323

09 Мар, 12:44 #173 #681322

>>681321
я про вот это
https://futurestud.io/blog/retrofit-2-upgrade-guide-from-1-9

09 Мар, 12:45 #174 #681323

>>681321
а за это спасибы

09 Мар, 13:20 #175 #681343

>>681284
бесплатной хватает, но сам факт что пользуешься им незаконно (на работе) напрягает

Ответы>>681347

09 Мар, 13:21 #176 #681347

>>681343
А в чем незаконность?
В том, что коммерческая разработка?

Ответы>>681354

09 Мар, 13:24 #177 #681354

>>681347
Да

Ответы>>681358

09 Мар, 13:26 #178 #681358

>>681354
А что за контора? Большая?
Ходил уже к шефу с предложением купить лицуху?

Ответы>>681360

09 Мар, 13:27 #179 #681360

>>681358
Я не он, я просто перестал пользоваться Genymotion'ом, так как новый qemu достаточно шустрый.

Ответы>>681481>>682733

09 Мар, 13:39 #180 #681367

Чуваки которые юзают databinding, как он переживает proguard? А то вот назначил в качестве хендлера например: handler.onUserClick, сам метод нигде кроме байндинга не вызвается, proguard же кинет через плечо если я чего-то не сделаю с ним?

09 Мар, 14:56 #181 #681447

>>681297
>Сколько оперативы
12 гб.
>канарейку
А это что за зверь такой?

Ответы>>681457

09 Мар, 15:02 #182 #681457

>>681447
Canary билд

09 Мар, 15:21 #183 #681481

>>681360
так и не смог заюзать стандартный эмулятор. хоть работает и быстро, на маке виснет каждые пять минут и рутоваться не захотел. буду дальше пиратом

Ответы>>681496

09 Мар, 15:31 #184 #681496

>>681481
А зачем рутить эмулятор? У меня на маке вообще летает и не виснет, правда студия тупит, но я запускаю через терминал.

Ответы>>681509

09 Мар, 15:37 #185 #681508

Как сделать чтобы грэдл загружал и клал сторонние либы в папку проекта и потом их оттуда использовал, а не загружал каждый раз с инета?

Ответы>>681517

09 Мар, 15:38 #186 #681509

>>681496
да с ним просто удобнее лазить в data/data, смотреть что пишется в базу, файлы

09 Мар, 15:40 #187 #681517

>>681508
Так он вроде сам сначала смотрит кэш.

Ответы>>681548

09 Мар, 16:10 #188 #681548

>>681517
Ну значит при перезапуске студии кэш удаляется, потому что каждый раз он заново подгружает. А мне нужен оффлайн.

Ответы>>681576

09 Мар, 16:33 #189 #681576

>>681548
Может у тебя версия библиотеку со звездочкой?
Вот студия и лезет в сеть для поиска обновлений (если да пропиши точную).

09 Мар, 17:23 #190 #681617

Сап, читаю api, которую склепали ребята, отвечающие за северную часть . Они в частности , помимо всякого бешенства пыхыпышников, хотят, чтобы токен генерился на клиенте. Это вообще легально ?)

Ответы>>681640>>681727

09 Мар, 17:24 #191 #681618

быстрофикс - серверную часть

09 Мар, 17:40 #192 #681640

>>681617
шо? аксес токен на клиенте?

Ответы>>681648>>681649

09 Мар, 17:46 #193 #681648

>>681640
сам охуел.

09 Мар, 17:47 #194 #681649

>>681640
они так намекают, что на гейосе все заебись,а я под андроид должен мучаться

Ответы>>681663>>681664

09 Мар, 17:56 #195 #681663

>>681649
Ну сгенерь, хули.

09 Мар, 17:57 #196 #681664

>>681649
Нужно им обяснить что на ведроиде твой код посмотерть может любой васян, даже если ты спрячешь все в C/C++ это все поддается реверс инжинирингу в результате чего их засыпят поддельными токенами и они соснут.

Ответы>>681669

09 Мар, 18:02 #197 #681669

>>681664
Что мешает мне отправить свой рандломный токен?

Ответы>>681673

09 Мар, 18:10 #198 #681673

>>681669
Толку от рандомного токена, нет серьезно? Как им знать что токен валидный?

09 Мар, 19:00 #199 #681727

>>681617
Рахиты они, так им и скажи. У них на сайте при реге в джаваскрипте код генерируется чтоль?

Ответы>>681847

09 Мар, 19:04 #200 #681733

Работа заебала, одни долбоебы вокруг, стоит ли увольняться?

Ответы>>681738

09 Мар, 19:09 #201 #681738

>>681733
Да. Я так два раза делал, правда, оба раза с испытательного срока. Ни о чем не жалею.
Ты на работе проводишь больше времени, чем дома. Тут к вопросу выбора нужно подходить серьезно.

Ответы>>681745

09 Мар, 19:14 #202 #681745

>>681738
Ну я как раз с ипсыталки сюда перепрыгнул, сначала было в принципе норм. Хотя мозгоеб всегда был.
Но сейчас меня уже стойко доебало отношение тех же серверщиков, пишут сами хуйню и в результате еще и тебя заставляют писать говно.

Но думаю ты прав, помню как классно проходили первые месяцы тут после того унылого пиздеца на испыталке.

09 Мар, 20:42 #203 #681847

>>681727
рега на сайте нет, логин через фб/вк

Ответы>>681855>>681894>>681972

09 Мар, 20:50 #204 #681855

>>681847
>рега на сайте нет, логин через фб/вк
А логин через фб/вк не рега по твоему?

09 Мар, 21:18 #205 #681887

>>681204
>>681222
А можно просто проверить при получении бродкаста статус AsyncTask в которой делается выборка из БД?

Ответы>>681898

09 Мар, 21:24 #206 #681894

>>681847
Ну так в чем проблема, как они на серве токен сгенерят если юзер должен подтвердить что разрешает приложению хуй все знать?

09 Мар, 21:28 #207 #681898

>>681887
Ну тут уже от твоей архитектуры зависит.

09 Мар, 22:28 #208 #681972

>>681847
Ну так конечно ты должен дать им токен социалки блять, это не называется сгенерить. А вот дальше они могут думать чо сним делать - зависит от вашей архитектуры, по минимуму они должны его проверить достать инфу и выплюнуть тебе токен вашего сервиса или разрешить использовать эти.

Ответы>>682006>>682524

09 Мар, 22:58 #209 #682006

>>681972
Не агрись на него так, на самом деле я другой анон и у меня даже при входе через соц сеть дают токен. Т.е. ид или токен социалки по большому счету юзаеться как логин.

Ответы>>682045

09 Мар, 23:33 #210 #682025

Анон, подкинь идею приложеньки под ведро. Только не простой приложеньки, а золотой!
Что бы и список друзей был, соц сеточки + кучу всяких новых модных штук.

А то проект по учебе горит - идея маст хев.

Ответы>>682046>>682338

09 Мар, 23:49 #211 #682045

>>682006
Я агрюс не на него а то что он пытается выставить бекендщиков лохами, хотя сам не шурупает. Я тоже так использую токены социалок, все окей, вообще идеальный случай когда ты даешь бекенду токен а он там регистрирует-авторизирует и вообще берет инфу, а не ты на фронте ебешся с колбеками на ссылку на картинку профиля и кавера.

Ответы>>682526>>682533

09 Мар, 23:49 #212 #682046

>>682025
Месенджер

10 Мар, 02:02 #213 #682177

Мне одному захотелось отсосать у индуса от новой сапорт либы и андроид n?

Ответы>>682181

10 Мар, 02:05 #214 #682181

>>682177
Я чет даже не помню что в новой сапорт либе кроме врап контента для ресайклервью.

А вод андроид Н чую прийдеться учить с этими их многооконками. СЛишком сильно они меняют архитектуру ведра

10 Мар, 08:03 #215 #682338

>>682025
VkMusic -> DLNA.
Если те, кто будет оценивать поймут.

10 Мар, 09:45 #216 #682391

Установил андроид студио, во время установки вылетела ошибка, что Intel HaXM не установлен и не может установиться (фэйлед то инстал).

Он жизненно необходим? я так понимаю, что это и есть эмулятор.
Почему может быть ошибка?
сдк 32 битный, андроид студио запускаю тоже 32.

Или без него можно работать?

Может, надо аналог какой скчать?

И ещё вопрос - как оптимизировать скорость работы андроид студио? а то он не резвый какой-то, в отличие от эклипса, например. может, отключить что-то?

Ответы>>682403

10 Мар, 09:55 #217 #682403

>>682391
> Он жизненно необходим?
Он нужен что бы стандартный эмулятор не тормозил.
> аналог какой скчать?
Genimotion (или Xamarin Android Player).
Конкретно для винды есть Visual Studio Android Emulator
> как оптимизировать скорость работы андроид студио?
ОЗУ 4Гб + SSD (это само важное)

Ответы>>682501

68 Кб, 550x412

10 Мар, 11:56 #218 #682461

Посоны, поясните за Unity
Вот читаю, ага, можно эти ваши игрушки переводить в Android Studio. Причем ебаться с кодом, слава Богу, не надо. Или надо?

Вообще есть ли возможность без танцев с бубном закинуть все свои старые игрульки с юнити - на андроид?

Спасибо

10 Мар, 12:00 #219 #682462

бля, новый ведроид вышел, а мне еще так много изучить нужно из старого. Голова пухнет, только я берусь изучать что-то, как выходит новая версия этого чего-то. а еще нужно есть нужно изучить это бгмерзкие либы новоможные, патерны подтянуть, бляяяяя

Ответы>>682464

10 Мар, 12:06 #220 #682464

>>682462
Добро пожаловать в айти сферу. Самое богомерзкое явление планеты

10 Мар, 12:26 #221 #682472

Вопрос по rx.
Когда делаю цепочку и у меня есть шаг, когда данные в аргументе по сути мне и ненужны, но сделать его нужно, какую операцию юзать?

Ответы>>682484

10 Мар, 12:43 #222 #682484

>>682472
Вопрос снят, обычный онкомплит.

10 Мар, 13:02 #223 #682501

>>682403
Оперативы хватает, 8гб
а вот жеский HDD.
тупит студио.

стоит купить SDD внешний?
сильно ускорит процесс?

просто я серьёзно собрался вкатываться в андроид разработку, ибо java скилл есть, но в энтерпрайз и веб не хочу.

Да и на хакатонах хочу чё-нибудь полепить

10 Мар, 13:34 #224 #682524

>>681972
я не про токен социалки, он им на хую не вертелся

10 Мар, 13:36 #225 #682526

>>682045
как заход с разных устройств ты будешь фиксировать, рак ? Токен нужен для сессии блять

Ответы>>682529

10 Мар, 13:38 #226 #682529

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

10 Мар, 13:44 #227 #682533

>>682045
Ой я столько ебанатов бэкендщиков перевидел, сейчас как раз с одним перписываюсь, зверь не хочет делать как люди.

10 Мар, 13:58 #228 #682545

увеличение файла подкачки виндоус ускорит работу андр.студио?

Ответы>>682574

10 Мар, 14:40 #229 #682574

>>682545
no

10 Мар, 17:17 #230 #682733

>>681360
>новый qemu достаточно шустрый
Это который стандартный в Студии?
Давно он стал шустрым? А то хз сколько уже не юзал его

10 Мар, 17:22 #231 #682738

http://android-developers.blogspot.ru/2016/03/first-preview-of-android-n-developer.html

Кто еще не в курсе.
Самое интересное java 8 фичи с поддержкой вплоть до 2.3.3.

Ответы>>682753>>682771

10 Мар, 17:28 #232 #682753

>>682738
Анон, вот смотри.
Гугл типа зарелизили Студио 2.1
Глянул на свою -- у меня 1.5. И нигде нет инфы, как обновиться до 2.1
Это типа только для девелоперов с платным аккаунтом или как?

Ответы>>682757

10 Мар, 17:31 #233 #682757

>>682753
В настройках обновлений ставишь beta channel и получаешь студию 2.0-beta6

Ответы>>682764>>682782

10 Мар, 17:45 #234 #682764

>>682757
Спасибо, анон!

10 Мар, 17:47 #235 #682766

Когда в Дженимоушн добавят превьюху нового Андройда?

10 Мар, 17:56 #236 #682771

>>682738
> Some Java 8 language features like default and static methods, streams, and functional interfaces are also now available on N and above
retrolabma от Google получилась
###### таки пока лучше

Ответы>>682776

10 Мар, 17:59 #237 #682776

>>682771
Это самое интересное. Когда заработает?

10 Мар, 18:08 #238 #682782

>>682757
И как? Норм работает?
А 2.1 еще не вариант ставить. Стопудняк кривое говно.

Ответы>>682791

10 Мар, 18:14 #239 #682791

>>682782
Все нормально работает

10 Мар, 19:24 #240 #682886

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

Ответы>>682930>>682942>>683156

10 Мар, 19:31 #241 #682901

Парни, есть какая-нить годная книга по программированию на андройд?
Сайты из шапки не понравились, поверхностные какие-то и опять клоунада с хелоу кити, класс хуй-пизда, и т.д

Что-то типа хэд фёрст джава, но уже под андроид подзаточенное.

Ну и ещё: что почитать/полистать отдельно по XML?

Ответы>>682958>>682959>>683441>>683468

10 Мар, 19:41 #242 #682930

>>682886
Гонять нужно этих бекендщиков.

10 Мар, 19:51 #243 #682942

>>682886
Накатим за победу.

10 Мар, 20:05 #244 #682958

>>682901
Есть head first android, но ты ленивый даун даже не пытался искать.

10 Мар, 20:07 #245 #682959

>>682901
Бери и хуярь свое приложение.
По xml ничего.

10 Мар, 21:02 #246 #683042

Наткнулся на вакансию
>Также нужно продемонстрировать:
>• экран с адаптивной версткой,
>• кастомную анимацию (кнопка, скролить список),

Что значит адаптивная верстка? Запиздолить контент экрана в скролвью?
Про анимацию вообще не понял.

Ответы>>683153

37 Кб, 429x226

10 Мар, 21:13 #247 #683062

>>676210 (OP)
Аноны, в чем ошибка? Создал строковый ресурс в string.xml, и пытаюсь его считать через активность и класс R. Как правильно сделать?

Ответы>>683068

10 Мар, 21:16 #248 #683068

>>683062
Понял, просто нужно было string написать.

10 Мар, 21:46 #249 #683103

Сап, разрабы. Встал вопрос о безопасности. В приложении создается intent, ему прописывается action и кладется putExtra, вся эта хуйня отправляется через sendBroadcast. Т.е теоретически, любое приложение, в котором прописан broadcast receiver с таким же action может прочитать отправленную информацию? И как проще это пофиксить? Явно задать intent?

Ответы>>683117

10 Мар, 21:56 #250 #683117

>>683103
>When you use sendBroadcast(Intent) or related methods, normally any other application can receive these broadcasts. You can control who can receive such broadcasts through permissions described below. Alternatively, starting with ICE_CREAM_SANDWICH, you can also safely restrict the broadcast to a single application with Intent.setPackage

Ну ты понел: http://developer.android.com/reference/android/content/BroadcastReceiver.html

10 Мар, 22:17 #251 #683153

>>683042
Оба понятия гуглятся же
Под адаптивной версткой скорее всего хотят чтобы ты запиздолил сайт на десктопе и этот же сайт, но с мобильной адаптацией для смартфона
Кастомная анимация -- значит анимация не как задала система, как я захотел.

Ответы>>683164

10 Мар, 22:19 #252 #683156

>>682886
Как именно получают пизды от тимлидов и других начальников?
Вот я неработающий анон просто хочу знать.
Подходит тимлид, смотрит в код и начинает крыть хуями на весь офис, что код говно? Вызывает в курилку и говорит все лично? Как вообще?

Ответы>>688995>>689081

10 Мар, 22:21 #253 #683164

>>683153
>Под адаптивной версткой скорее всего хотят чтобы ты запиздолил сайт на десктопе и этот же сайт, но с мобильной адаптацией для смартфона
Что ты сейчас спизданул ты сам понял? Адаптивная верстка та которая на все экраны одинаковая, в ведре такого быть не может, потому хуярят дипиайи и скролвью, и даже иногда другие лейауты. Да и понятие само пошло из веба, так как для ведра оно не пришей корове хвост.

>Кастомная анимация -- значит анимация не как задала система, как я захотел.
А какая может быть не дефолтная анимация листа или кнопки? Какая блять вообще анимация кнопки? Я правда не понимаю что они хотят, сраный селектор чтоб цвет поменял? Или чтоб кнопка вообще форму меняла при нажатии?
Вот второе как раз не так легко.

Это не постановка задачи а говно.

Ответы>>683173>>683177>>683219

10 Мар, 22:26 #254 #683173

>>683164
Сделай, чтобы кнопочка подпрыгивала при нажатии. После такого работа тебе гарантирована.

Ответы>>683214

10 Мар, 22:29 #255 #683177

>>683164
Возьми и загугли что такое адаптивная верстка, одинаковый блять.
Ты блять настолько тупой, что мне даже говорить и крыть тебя хуями не хочется, так что просто иди нахуй.
И повежливее, если хочешь, чтобы тебе что-нибудь подсказали, сука.

Ответы>>683214

10 Мар, 22:55 #256 #683214

>>683173
Это обычная трансишн. Хули там делать.
>>683177
Ты диванный подсказыватель сам не ебешь что говоришь.

>Под адаптивной версткой скорее всего хотят чтобы ты запиздолил сайт на десктопе и этот же сайт, но с мобильной адаптацией для смартфона
Я андроид девелопер, какой десктопный сайт нахуй.

Ответы>>683355

10 Мар, 22:59 #257 #683219

>>683164
Да забей ты на этих даунов. Если у них в вакансии такая постановка задач, то боюсь представить, что у них творится в тз и макетах дизайна.

Ответы>>683306

205 Кб, 902x385

10 Мар, 23:56 #258 #683306

>>683219
Зашел на сайт к ним...

Ответы>>683309>>683360

10 Мар, 23:57 #259 #683309

>>683306
Тралишь?

Ответы>>683314

10 Мар, 23:58 #260 #683314

>>683309
http://idapgroup.com/
Прокрути лендинг страницу на две третих вниз.

Ответы>>683318

11 Мар, 00:01 #261 #683318

>>683314
>хохлы
>даже заглушку нормально не выбрали
Я думаю пиздюлину надо вставить верстальщику.

Ответы>>683322

11 Мар, 00:02 #262 #683322

>>683318
Что такое заглушка?

Ответы>>683324

11 Мар, 00:06 #263 #683324

>>683322
Placeholder, хуйня которая должна показываться если изображения по какой-т опричине нет, для одного места может быть не одна, зависит от причины по которой нет.

Ответы>>683325>>683364

11 Мар, 00:08 #264 #683325

>>683324
Веселее когда ты пытаешься увеличить страницу.

Ответы>>683330

11 Мар, 00:10 #265 #683328

Решил перейти на бетку студии 2.0
Подводные камни?

Ответы>>683329

11 Мар, 00:12 #266 #683329

>>683328
Зависимость, еще будет в наглую менять плагин грейдла на 2.0.0, а с ним фреско чет хуево работает, но я думаю это отговорка уровня бля раньше же работало!

11 Мар, 00:13 #267 #683330

>>683325
Та пиздец.

11 Мар, 00:15 #268 #683331

>>676213
ну так че?^^

Ответы>>683335

11 Мар, 00:16 #269 #683335

>>683331
У меня все хорошо, уже юзаю его в проекте своем.

11 Мар, 01:12 #270 #683355

>>683214
>Я андроид девелопер, какой десктопный сайт нахуй
Талантливый человек талантлив во всем. А в тебе я сразу же вижу дилетанта, а я ведь даже не HR

Ответы>>683357

11 Мар, 01:13 #271 #683357

>>683355
Ага.

11 Мар, 01:23 #272 #683360

>>683306
Ебать и ты еще думал над их задачей?
Ну ты точно дурак, я не ошибся в тебе

Ответы>>683365

11 Мар, 01:30 #273 #683364

>>683324
Разве плэйсхолдер это не та херь, которая в строке ввода висит, пока ты не выделил эту строку, чтобы что-нить написать?

11 Мар, 01:31 #274 #683365

>>683360
Я не думал над их задачей, просто увидел вакансию с непонятной хуйней.

На самом деле еще пол года назад попадал на их вакансию, мне позвонили, попросили акк на гитхаб или на мои сорсы, я сказал что мол не могу дать сорсы проектов так как коммерческая разработка. Сказал мол дайте тестовое, сказали перезвонят.

Ответы>>683366

11 Мар, 01:34 #275 #683366

>>683365
>так как коммерческая разработка
Так ты же уже успешен. Наверняка в этой конторе зарплата ниже, чем у тебя сейчас. Чем они тогда тебя привлекли?
Просто сайт реально полный пиздец и впечатление о владельце соответствующее

Ответы>>683368

11 Мар, 01:38 #276 #683368

>>683366
>Так ты же уже успешен. Наверняка в этой конторе зарплата ниже, чем у тебя сейчас. Чем они тогда тебя привлекли?
Уверяю тебя, то что я работал на кого-то не делает меня успешным, я в таком гадюшнике работал что вспоминать страшно.
Сейчас лучше конечно, но работаю напрямую на австралийца, а он просто сферический заказчик, постоянная нервотрепка и куча говна летит в тебя.

>Просто сайт реально полный пиздец и впечатление о владельце соответствующее
Та хуй знает, мне главное тимлида чтоб я смог чему-то научиться.

Ответы>>683369

11 Мар, 01:39 #277 #683369

>>683368
А город-нейм?

Ответы>>683370

11 Мар, 01:41 #278 #683370

>>683369
Киев.

Ответы>>683371

11 Мар, 01:44 #279 #683371

>>683370
А в ДжаваЕЕ не пробовал вкатываться?

Ответы>>683373

11 Мар, 01:49 #280 #683373

>>683371
Да думал когда-то, джаву начал как раз для бэкенда учить, но меня практически судьба с ведром свела. А потом работу первую на ведро нашел быстрее чем на ЕЕ. По очевидным причинам.

Теперь перекатываться убивать себя же. Слишком много разношерстной хуйни. Может через пару лет и перейду на фулстек от нехуй делать, но мне и мобильная разработка нравиться, так что иос в приоритете.

Ответы>>683385

11 Мар, 02:02 #281 #683385

>>683373
>По очевидным причинам
По каким?
мимо-другой-анон

Ответы>>683388

11 Мар, 02:05 #282 #683388

>>683385
По тем что на ЕЕ очень сложно вкатится. Никому не уперся джун без опыта.
А с ведром проще, апликухи меньше, да и быдлокодить можно уже чреез неделю.

Ответы>>683417

11 Мар, 04:42 #283 #683417

>>683388
Но и вакансий раз в 10 меньше.
Хуй найдешь что-нибудь

Ответы>>683418

11 Мар, 05:01 #284 #683418

>>683417
Ну хуй знает, вакансий достаточно, но подавляющее число от 2 лет.

Ответы>>683420

11 Мар, 05:15 #285 #683420

>>683418
>от 2 лет.
Но если ты норм пацан, то на это вроде могут закрыть глаза

Ответы>>683477

11 Мар, 08:01 #286 #683441

>>682901
https://vk.com/doc88537064_437339908?hash=b3867553a331ad1af8&dl=d254554daf6b4f548d

вот на русском кое-что есть

11 Мар, 10:21 #287 #683468

>>682901
Head first для даунов

11 Мар, 10:43 #288 #683477

>>683420
Мне интересно как HR/другой чувак отсеивающий резюмехи поймет что ты норм пацан в этой куче хуйни.

Ответы>>683676

11 Мар, 13:11 #289 #683625

какой смартфон взять для тестирования приложений?

Ответы>>683941

11 Мар, 13:45 #290 #683676

>>683477
Китайскую говнотрубу для айскрима и какой-нбудь топ для M/N.

11 Мар, 16:35 #291 #683847

А мне одному кажется что retrofit 1.9 был удобнее чем 2.0 ?

Ответы>>683853

11 Мар, 16:39 #292 #683853

>>683847
Напомни что поменялось.
Просто добавили сущность Call.

Ответы>>683858

11 Мар, 16:43 #293 #683858

>>683853
Именно это :) Неудобно жиж

Ответы>>683868

11 Мар, 16:43 #294 #683859

Да к слову, а куда лучше токен пихать при отправке запроса: в header или просто как часть пост-запроса ?

Ответы>>683870

11 Мар, 16:55 #295 #683868

>>683858
Ну оно не то чтоб неудобно, просто если хуярить напрямую с активити - то да, неудобно, так как добавилась строка. Если делать как белый человек то все ок в принципе.
А вообще они могли сделать оба подхода сразу. Но может свои принципы не позволили.

11 Мар, 16:56 #296 #683869

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

11 Мар, 16:56 #297 #683870

>>683859
Проще в часть запроса, потому как не нужно работать с хттп клиентом, правда и с ним особо проблем нету. Уже как бэкенд скажет в общем.

11 Мар, 18:00 #298 #683938

Сервис периодически шлет данные в активити.
Что более оптимально в плане потребления акумулятора:
1. Запаковать всю кучу данных в Intent и послать broadcast/localbroadcast.
2. Хранить все данные в static переменных в сервисе, забиндить сервис и периодически получать от сервиса broadcast сообщение о том, что пора бы ужеобновить данные.

Ответы>>683971

11 Мар, 18:04 #299 #683941

>>683625
Nexus 5 / 5X / 6

11 Мар, 18:27 #300 #683971

>>683938
>Хранить все данные в static переменных в сервисе, забиндить сервис и периодически получать от сервиса broadcast сообщение о том, что пора бы ужеобновить данные.
А ты ведь знаешь про лайфсайклы там всякие? Типа сервис может умереть-пересоздаться и перезаписать все статики?
Да и вообще нельзя делать статики для передачи данных в таких сложных сущностях как сервис, это что-то уровня пиздеца.

>Запаковать всю кучу данных в Intent и послать broadcast/localbroadcast.
Это единственный адекватный способ, можно еще про биндСервис почитать, но я сам их не юзал если честно.

А если тебе посоветуют что-то уровня оттобас, то шли их нахуй.

Ответы>>683998>>684078

11 Мар, 18:49 #301 #683998

>>683971
> А если тебе посоветуют что-то уровня оттобас, то шли их нахуй.
Ну да, лучше же навернуть сериализацию/десериализацию, чем пользоваться удобными инструментами.

Ответы>>684072

11 Мар, 19:34 #302 #684072

>>683998
Ну чего мелочиться, вьеби геттер сеттер в Апликейшн классе и через него преедавай.

Ответы>>684080

11 Мар, 19:41 #303 #684078

>>683971
Если сервис пересоздастся - он продолжить слать данные и после того, как отправит сигнал, о том, что данные готовы я прочитаю статики внутри активити.
К тому же, в процессе перехода между активити или фрагментами возникает ситуация, когда фрагмент уже загрузился, а сообщение с новыми результатами измерения от сервиса еще не пришло, в итоге пользователь видит нули вместо актуальных данных.
А можно ведь в oncreate прочесть статики и показать актуальные данные, вместо нулей!

Ответы>>684088

11 Мар, 19:41 #304 #684080

>>684072
LocalBroadcastManager хранит подписчиков также как и обычные евентбасы. В таком случае, в чем разница? В том что не используется куча бойлерплейта?

Ответы>>684082>>684088

11 Мар, 19:43 #305 #684082

>>684080
Да, кстати. Что более энергоэффективно: broadcast или localbroadcast? Или хуйегознает.

Ответы>>684084>>684088

11 Мар, 19:43 #306 #684084

>>684082
Локалбродкаст. Это очевидно же.

Ответы>>684088>>684090

11 Мар, 19:45 #307 #684088

>>684078
А вдруг сервис умрет сразу после передачи сигнала?
Это хуйня, тебе любой прогер скажет, даже не ведроид. Ты сам головой подумай, если бы так легко было передавать данные через статики, почему так не делают?
>>684084
>>684082
Мне очень интересно узнать как вы оцениваете энергоэфективность.
>>684080
Что будет если апликуха умрет во время передачи а потом запуститься? Интент же сохраниться в броадкастом. Но тут могу ошибаться.

Ответы>>684099>>684107

11 Мар, 19:45 #308 #684090

>>684084
А это нормально, если сделать так, чтобы сервис передавал данные через localbroadcast, только, если запущен gui?

Ответы>>684093>>684094

11 Мар, 19:47 #309 #684093

>>684090
А как ты узнаешь запущен ли юи?

Ответы>>684102

11 Мар, 19:47 #310 #684094

>>684090
Для такой хуйни так-то онБинд есть.

11 Мар, 19:49 #311 #684099

>>684088
>А вдруг сервис умрет сразу после передачи сигнала?
Т.е. на любом синхронном взаимодействии с сервисом модно ставить крест?
Как жемне тггда погружать актуальные данные в ui, после пересоздания фрагмента? Можно конечно ждать,пока придет следующий intent от сервиса и показывать пользователю нули, но зачем?

Ответы>>684104>>684118>>684125

11 Мар, 19:50 #312 #684102

>>684093
Забиндились, отбиндились.

11 Мар, 19:51 #313 #684104

>>684099
Извините за неровный подчерк, никак не привыкну к клавиатуре на смартфоне.

11 Мар, 19:51 #314 #684107

>>684088
> Мне очень интересно узнать как вы оцениваете энергоэфективность.
Гуглы за меня оценили
> It is more efficient than sending a global broadcast through the system.

> Что будет если апликуха умрет во время передачи а потом запуститься? Интент же сохраниться в броадкастом.
Хуй он там сохранится. Если нет подписчика, то бродкаст уходит в молоко.
> Ты сам головой подумай, если бы так легко было передавать данные через статики, почему так не делают?
Потому что индусы писали андроид, в котором куски приложения отваливаются по ходу работы?
Если передавать вообще все через статики, у тебя будут прямые зависимости к классам, вместо косвенных. Да еще и статик один на весь класс.

Ответы>>684131

11 Мар, 19:53 #315 #684118

>>684099
Я так понимаю у тебя в любом случае будет кейс когда данных нету а фрагмент нужно показать. Кешируй данные в бд или шередпреференсы и показывай необновленные тогда, чтоб нулей небыло.
У тебя изначально хуевая логика работы.

Ответы>>684128

11 Мар, 19:56 #316 #684125

>>684099
> и показывать пользователю нули
А можно показать значок загрузки вместо нулей, и будет все ок.

Ответы>>684133

11 Мар, 19:56 #317 #684128

>>684118
Кешировать данные в БД невозможно, пользователю не нужны неактуальные данеые измерений. Это не приложение-клиент интернет магазина.
В чем хуевость логики?

Ответы>>684142

11 Мар, 19:57 #318 #684131

>>684107
За первые два ответа спасибо, буду знать.

>Потому что индусы писали андроид, в котором куски приложения отваливаются по ходу работы?
>Если передавать вообще все через статики, у тебя будут прямые зависимости к классам, вместо косвенных. Да еще и статик один на весь класс
Так в этом отваливании и проблема. Потому нельзя юзать статики. Хотя если честно я не знаю как ведро чистит классы в памяти, но это как-то дохуя ненадежно, упал сервис, его обжект удалился, ты уверен что статики сохранились?
Но твой вариант с синглтоном не лучше, я ж говорю, все равно что юзать класс апликейшена. Нет, оно работает, но это говнокод.

Ответы>>684146

83 Кб, 600x600

11 Мар, 19:57 #319 #684133

>>684125
Можно, но у нас же есть актуальные данные в сервисе.

Ответы>>684140

11 Мар, 19:59 #320 #684140

>>684133
Ну так вытащи их через binder тогда в onServiceConnected? А если у тебя холодный старт и данных нет?

Ответы>>684143

11 Мар, 20:00 #321 #684142

>>684128
Тогда делай по другому, при создании фрагмента или перед его созданием сам форсируй получение данных, а сервис юзай для обновления уже.

Хуевость логики в том что по твоей схеме при запуске фрагмента есть возможность не иметь данных для вывода, если это для тебя критично, то ты неверный подход используешь.

Ответы>>684152

11 Мар, 20:01 #322 #684143

>>684140
В случае холодного старта - покажу заглушку.
Окей, идея с биндером хороша.
Если у меня одна активити и куча фрагментов, можно забиндить в активити и получать ссылку на сервис во фрагментах через активити, чтобы не таскать одинаковый код?

Ответы>>684149>>684153

11 Мар, 20:02 #323 #684146

>>684131
> ты уверен что статики сохранились?
Да, на то они и статики. Даже LocalBroadcastManager работает ВНЕЗАПНО через статики.
> Но твой вариант с синглтоном не лучше
С каким блять синглтоном. Я говорю юзать человеческий евентбас, а не поделие индусов из гугла. LocalBroadcastManager работает абсолютно так же как и EventBus или Otto. Просто хранит в СТАТИКЕ список подписчиков и вызывает их, когда нужно.

Ответы>>684158>>684168

11 Мар, 20:02 #324 #684149

>>684143
Можно, обычный гетер в активити, не слишком красиво но норм.

11 Мар, 20:03 #325 #684152

>>684142
Хуевости лргики здесь нет.
Форсировать выдачу данеых не получится.
Устройство отдает данные фиксированно раз в 3 секунды, оно подключается к смартфону по bluetooth.
Особенность обмена данными по BT LE - медлительность.

Ответы>>684155

11 Мар, 20:03 #326 #684153

>>684143
> чтобы не таскать одинаковый код?
У тебя фрагменты могут прогрузиться раньше чем сервис. Поэтому вынеси подписку в отдельный класс и вызывай его в каждом нужном месте.

Ответы>>684157>>684164

11 Мар, 20:05 #327 #684155

>>684152
>Форсировать выдачу данеых не получится.
>Ну так вытащи их через binder тогда в onServiceConnected? А если у тебя холодный старт и данных нет?
>Окей, идея с биндером хороша.
Ну ты определись для себя. Форсировать значит получить данные другим путем в отличии от ожидания фидбека от сервиса.

Ответы>>684163

11 Мар, 20:05 #328 #684157

>>684153
>Поэтому вынеси подписку в отдельный класс и вызывай его в каждом нужном месте.
Ага. Логично. Можешь по подробнее это пояснить?

11 Мар, 20:06 #329 #684158

>>684146
Хуй знает, не верю, нужно будет почитать про матчасть. Почему-то думал что отобас через синглтон работает.

Ответы>>684162>>684168

11 Мар, 20:07 #330 #684162

>>684158
> Почему-то думал что отобас через синглтон работает
Ты же знаешь, что синглтон работает через СТАТИК, да?

Ответы>>684168>>684178

11 Мар, 20:07 #331 #684163

>>684155
Дада, через биндер форсировать получится.
Осталось понять вот что: как наиболее красиво получать ссылку на сервис во фрагментах.
Интересно, есть ли какие элегантные способы.

11 Мар, 20:07 #332 #684164

>>684153
А почему не получить подписку в активити один раз?

Ответы>>684170>>684179

11 Мар, 20:08 #333 #684168

>>684146
>>684158
>>684162
Короче, няши.
Мы пришли к тому, что при пересоздании сервиса статики ПОХОДУ остаются, НО ХУЙ ЗНАЕТ.
Верно?

Ответы>>684179

11 Мар, 20:09 #334 #684170

>>684164
Логично.

Ответы>>684214

11 Мар, 20:11 #335 #684178

>>684162
Через хуятик он работает, ты покажи мне синглтон который работает через поле а не через статикметод.
>Просто хранит в СТАТИКЕ список подписчиков и вызывает их, когда нужно.
Вот это я и назвал синглтоном.

11 Мар, 20:11 #336 #684179

>>684164
Ты запустил приложение. Активити вызвало bindService. Фрагменты прогрузились раньше чем onServiceConnected, делают getActivity.getServiceBinder и получают свой законный null. И что ты будешь делать в этом случае?
>>684168
> ПОХОДУ
> НО ХУЙ ЗНАЕТ
Я пришел к тому, что ты неуч, который гнал на eventbus'ы не потому что нужно иметь куча POJO классов, а потому что СТАТИКИ КАК ТО ХУЙ ЗНАЮТ КАК РАБОТАЮТ.

Ответы>>684187>>684189>>684360

11 Мар, 20:16 #337 #684187

>>684179
Сделаю бейсфрагмент с оповещением о успешности коннекта и буду наследовать все другие фрагменты? Но это как-то грубовато конечно.
>Поэтому вынеси подписку в отдельный класс и вызывай его в каждом нужном месте.
Тут поподробнее, что ты имеешь ввиду под подпиской? Ты хочешь просто с фрагментов биндСервис запускать а этот код вынести? Так это бессмысленно, у тебя фрагмент отобразиться раньше чем данные появятся.

11 Мар, 20:17 #338 #684189

>>684179
>Я пришел к тому, что ты неуч, который гнал на eventbus'ы не потому что нужно иметь куча POJO классов, а потому что СТАТИКИ КАК ТО ХУЙ ЗНАЮТ КАК РАБОТАЮТ.
Все еще жду ответа чем евентбас лучше простого перекида инфы через апликейшн класс. Та же хуйня собственно.

Ответы>>684197

11 Мар, 20:20 #339 #684197

>>684189
> Все еще жду ответа чем евентбас лучше простого перекида инфы через апликейшн класс
Тем, что компоненты менее связные? И вместо прямой зависимости от текущей реализации ? extends Application, мы имеет полную абстракцию от его реализации через EventBus?

У меня тогда встречный вопрос. Чем localbroadcastmanager лучше простого перекида инфы через апликейшн класс. Та же хуйня собственно.

Ответы>>684213>>684233

11 Мар, 20:30 #340 #684213

>>684197
>Тем, что компоненты менее связные? И вместо прямой зависимости от текущей реализации ? extends Application, мы имеет полную абстракцию от его реализации через EventBus?
Такс, перед тем как буду дальше писать сразу скажу, ты явно опытнее меня, так что тут дальше будет просто объяснение мне почему так не правильно.
Компоненты? Ты имеешь ввиду сабскрайберов?
Я ждал ответа - никакого, нет я согласен, код будет чище и правильнее, но какая нахуй абстракция в ведроиде? Ты можешь перенести как свой БейсАпликейшн класс так и либу евент басса. Нету разницы бро, нету.

>У меня тогда встречный вопрос. Чем localbroadcastmanager лучше простого перекида инфы через апликейшн класс. Та же хуйня собственно.
Я почему-то был уверен что он может сохранить бандл с данными, но видимо не может, но нужно почитать.

Ответы>>684221

11 Мар, 20:31 #341 #684214

>>684170
Если нужны данные на всех фрагментах, лучше делать через активити подвязку и оповещение фрагментам, если один фрагмент то в фрагменте.

11 Мар, 20:36 #342 #684221

>>684213
> но какая нахуй абстракция в ведроиде
Тут люди по DI угорают как дикие, dagger уже чуть ли не везде хотят видеть, а ты говоришь какая абстракция.

Ответы>>684229

11 Мар, 20:41 #343 #684229

>>684221
Ну тут видимо моя личная проблема с DI и тестами. Нужно будет набраться смелости и сесть за них.

11 Мар, 20:43 #344 #684233

>>684197
>localbroadcastmanager лучше
Так себе плюс конечно.
Передает обычный бандл, в результате эти данные ты можешь юзать в онсевИнстансе. Все же часть ведроида потому и лучше с ним в симбиозе.

Ответы>>684249

11 Мар, 20:53 #345 #684249

>>684233
Если нужно сохранять в онсейве, то можно и каким то конкретным pojo реализовать parcelable, хотя будет достаточно написать и простой implement serializable.

Ответы>>684268

11 Мар, 21:01 #346 #684268

>>684249
Дак вы кричали что бойлеплейт бойлерплейт.
А я и говорю что иногда он попросту полезен, так как ведро работает на бандлах, которые в свою очередь на парселейблах.

11 Мар, 21:50 #347 #684360

>>684179
Подитожим всё вышесказанное.
>Фрагменты прогрузились раньше чем onServiceConnected, делают getActivity.getServiceBinder и получают свой законный null. И что ты будешь делать в этом случае?

Да похуй. Мой сервис все равно пока не отдуплился, данные будут только через 3 секунды, покажем пользователю заглушку.

11 Мар, 22:16 #348 #684417

Помогите господа, чет я запутался. У меня есть парселейбл объект, я его кладу в интент, с ним запускаю новое активити, там из интента достаю этот объект. А теперь мне надо передать этот объект в фрагмент который располагается в этом активити. Как это сделать по правильному?

Ответы>>684424

11 Мар, 22:20 #349 #684424

>>684417
Через setArguments

12 Мар, 01:05 #350 #684640

Если вырубить нотификации в приложении, вырубаются пуши вообще или только вывод нотификейшена в бар?

Ответы>>684776

12 Мар, 01:10 #351 #684644

http://apptractor.ru/AndroidDev/
Смотрели уже или такое же юзлес говно как школа?

Ответы>>684761

12 Мар, 07:59 #352 #684761

>>684644
Слушаю, но тоже параша. Никакой сути, просто попизделки уровня
> бля X просто охуенен, юзаете?
> ну юзаем
> вот и молодцы
Все! Никакой сути, абсолютно ничего. Еще менее информативно, чем куча хипстерских статей на мвп.

Ответы>>684891

12 Мар, 09:25 #353 #684776

>>684640
нотификации и тосты

12 Мар, 13:15 #354 #684891

>>684761
>ем куча хипстерских статей на мвп
Подробнее.

Ответы>>684924

12 Мар, 14:12 #355 #684924

>>684891
> куча хипстерских статей по мвп
Фикс.
androidweekly.net - мой спонсор одинаковых копипасченных статей уже второй месяц. Каждую сука неделю 5 статей, 3 по мвп, 2 по рх, которые НИЧЕМ НЕ ОТЛИЧАЮТСЯ.

Ответы>>684947

12 Мар, 14:54 #356 #684947

>>684924
вроде как все с mvp на mvvm перекат делают, ошибаюсь ?

12 Мар, 15:59 #357 #685020

Сталкивался кто с такой хуйнёй, что обновил студию до бетки 2.1 и какая-то херь происходит ( вроде как конфликт gradle и play сервисов ) ?

12 Мар, 15:59 #358 #685021

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/http/HttpHeaders.class

12 Мар, 16:41 #359 #685079

Есть небольшая БД. Данные из неё модифицируются, фильтруются, а затем раздаются по запросу компонентам. Исходные данные менять нельзя. Набор фильтров/модификаторов изменяется довольно редко, так что применять их каждый раз к запросам - идея так себе.
Следовательно, этот результат надо кешировать. Где лучше его хранить? В самой БД в отдельной таблице, или в каком-то другом месте?

Ответы>>685325

12 Мар, 19:59 #360 #685325

>>685079
индексы в бд

Ответы>>685371

12 Мар, 20:21 #361 #685371

>>685325
Кешируемые данные модифицируются относительно исходных - не катит.

12 Мар, 21:04 #362 #685446

Как правильно хранить списки объектов в Realm.io?
Объекты нужно хранить по порядку, добавлять новые в конец списка и удалять старые из начала списка, если кол-во объектов в списке больше, чем N.
Какой наиболее быстрый способ подсчета кол-ва объектов конкретного типа в БД?

Ответы>>685538

12 Мар, 21:55 #363 #685538

>>685446
> Объекты нужно хранить по порядку, добавлять новые в конец списка
Введи индексируемое поле - порядковый номер. Ну либо используй примарикей для порядка, если допустимо.
> удалять старые из начала списка, если кол-во объектов в списке больше, чем N.
Поскольку realmresult ленивый и у него нет TOP X, делаешь findallsorted(), и простым for i ... вызываешь у нужных removeFromRealm.
> Какой наиболее быстрый способ подсчета кол-ва объектов конкретного типа в БД?
realm.where(class).count()

Ответы>>685563

12 Мар, 22:16 #364 #685563

>>685538
Как мне хранить список?
Создать класс с полем RealmList<>?
Или просто добавлять объекты в БД?
>Введи индексируемое поле - порядковый номер. Ну либо используй примарикей для порядка, если допустимо.
У меня в каждом объекте есть поле unix_timestamp типа long.
Достаточно его обозначить как primary key? Будет ли выборка из бд по типу объекта упорядоченной (в порядке добавления объектов? Или по возрастанию первичного ключа?)

Ответы>>685568

12 Мар, 22:29 #365 #685568

>>685563
У тебя таймстамп задает порядок?
> Достаточно его обозначить как primary key
Он же у тебя может повторятся, не?
> Будет ли выборка из бд по типу объекта упорядоченной
По умолчанию упорядочена по возрастанию примари кея. Как в обычных бд.
> Создать класс с полем RealmList<>?
Просто добавляешь объекты в realm.

Это твоя первая ОРМ? Работал с sqlite чистым? А с ОРМ для него?

Ответы>>685570

12 Мар, 22:29 #366 #685569

Привет всем.
Вопрос по ViewPager:
В моем приложении есть 4 вкладки и 4 фрагмента, в одном из фрагментов - карта goole maps.
Переключение между фрагментами сделано с помощью ViewPager.

Нормальная ли практика - сделать setOffscreenPageLimit(3); чтобы фрагменты один раз загрузились и не пересоздавались, когда юзер переключается с одного на другой?

Ответы>>685572

12 Мар, 22:32 #367 #685570

>>685568
Timestamp не повторяются.
Первая ORM. Работал только с чистым sqlite.
Сейчасрешил взять realm, т.к. потребовалось кучу объектов из бд грузить, а sqlite работает медленнее и кода больше надо писать.

Ответы>>685574

12 Мар, 22:32 #368 #685572

>>685569
Да, ибо на постоянной загрузке выгрузке фрагмента карты больше потеряешь, чем от раздутого потребления оперативки.

12 Мар, 22:36 #369 #685574

>>685570
> Timestamp не повторяются.
Можешь сделать примарикеем. При findAll (без sorted) будет сортировка по его возрастанию.

Ответы>>685576

12 Мар, 22:41 #370 #685576

>>685574
Отлично!
Тогда так и сделаю. Спасибо.
Это будет график из 50 000 точек, который по мере скролла будет подгружаться из Realm.
Надеюсь удастся сделать так, чтобы пользователь не заметил момента подгрузки очередной порции хуйни.

Ответы>>685585

12 Мар, 22:53 #371 #685585

>>685576
> 50 000
Ты поаккуратней c количеством инстансов реалма тогда. Может вывалится в RealmOutOfMemoryException, но тут как повезет.
У меня сейчас на 3к объектах с 2 строковыми полями на 15 символов нормально работает. Но вот на сранных ritmix'aх с 256мб на большом кол-ве данных с несколькими реалмами в разных потоках я такие ошибки получал. Но это еще на старой версии 0,84 было.
Попробуй, будет падать, скажу что делать.
Пора бы евангелистом в реалм устраиваться

Ответы>>685603

12 Мар, 23:00 #372 #685597

Можно как-нибудь передать как параметр Set<Zhopa> в AsyncTask? Если писать AsyncTask<Set<Zhopa>, Void, Void>, идея орёт "Unchecked generics array creation for varargs parameter".
Или только брать из замыкания/@SupressWarnings("unchecked")/писать новый конструктор и сохранять как поле?

Ответы>>685602

12 Мар, 23:04 #373 #685602

>>685597
Чем тебе поле не подходит? Иначе передавай в execute set.toArray(new Zhopa[set.size()])

Ответы>>685604

12 Мар, 23:06 #374 #685603

>>685585
Планирую подгружать объекты для графика порциями по 3600 шт.
Для карты может и до 6000 маркеров доходить.

Когда нужно вызывать realm.close()?
Я так понял по одному экземпляру realm на поток?
У меня сейчас в сервисе один используется, получил через Realm.getDefaultInstance() и в двух AsyncTask (для первоначальной загрузки графика и второй асинк для обновления графика - извлекает свежие данные из БД (одна, две, 10, 50 точек, как повезет).

Ответы>>685617

12 Мар, 23:06 #375 #685604

>>685602
Тем что AsyncTask анонимный и не хочется делать его отдельным классом.

Ответы>>685605

12 Мар, 23:07 #376 #685605

>>685604
Мммм анонимные асинк таски, что может быть хуже?

Ответы>>685608

12 Мар, 23:08 #377 #685608

>>685605
Он используется и может использоваться только в одном месте, зачем его вытаскивать?

Ответы>>685620

12 Мар, 23:12 #378 #685617

>>685603
> Планирую подгружать объекты для графика порциями по 3600 шт.
И каким образом же?
> Когда нужно вызывать realm.close()?
onDestory, при завершении работы с данными
> Я так понял по одному экземпляру realm на поток?
Да.

По использованию не очень понял, лучше еще разок перечитай док.

Ответы>>685632

12 Мар, 23:13 #379 #685620

>>685608
Вынеси хотя бы в inner class для приличия. Анонимный это совсем пиздец какой то. Особенно учитывая, что у тебя интерфейс может отвалится раньше, чем он закончится.

Ответы>>685624

12 Мар, 23:18 #380 #685624

>>685620
Этот AsyncTask в фоне запихивает данные в БД, так что интерфейс тут вообще ни при чём.
Да и как могло бы помочь вынесение его в inner при отваливании интерфейса?

Ответы>>685625

12 Мар, 23:21 #381 #685625

>>685624
Никак. Просто анонимный смотрится как говно. Если задача уровня fire and forget, то сделай его static class, чтобы у него не было ссылки на контекст активити, чтобы уж точно ничего не утекло.

12 Мар, 23:26 #382 #685632

>>685617
>И каким образом же?
1. Загружаю из базы N элементов
2. Юзер доскроллил дальше N/2 и перестал скроллить -> запускаю asynctask в котором выбираю данные у которых timestamp больше,чем у элемента под номером N-1, сортирую по возрастанию, выбираю N штук.
Больше данных нет? Поднимаю соответствующий флаг и больше не пытаюсь грузить.

Ответы>>685634>>685880

12 Мар, 23:28 #383 #685634

>>685632
Вообще у меня только старые данные будут из бд загружаться, но принцип тот же.

12 Мар, 23:43 #384 #685649

>>676210 (OP)
ОП = ХУЙ;

Ответы>>685737>>685798

13 Мар, 00:58 #385 #685737

>>685649
Неправильно, надо:
public static final String OP = "Xуй";

Ответы>>685798

13 Мар, 02:42 #386 #685798

>>685649
>>685737
Аргументировано.

13 Мар, 08:01 #387 #685880

>>685632
> 1. Загружаю из базы N элементов
Во первых. Реалобджекты привязанные к конкретному инстансу реалма нельзя передавать между тредами. Ну а во вторых, тебе для этого асинктакс не нужен. И пачками грузить тоже не нужно. Получи свой realmresult и ходи по нему.

Ответы>>685913

13 Мар, 08:48 #388 #685893

Как устранить конфликт AS 2.1 с последним грэдлом и play services ? Помню что был баг,но не могу найти

Ответы>>685915>>686260

13 Мар, 09:47 #389 #685913

>>685880
Клево. Значит во время обращения к элементам коллекции RealmResults и будет происходить выборка из бд?

Ответы>>685922

13 Мар, 09:48 #390 #685915

>>685893
Обновлять студию нужно тогда, когда всё развалилось.
Если все работает - не трогай.

Ответы>>686062

13 Мар, 09:59 #391 #685922

>>685913
Да.

13 Мар, 13:50 #392 #686062

>>685915
как чинить блять, мне instant run охуенно нужен

13 Мар, 16:22 #393 #686260

>>685893
>AS 2.1
Вот нахуй трогать говно пока неготово?

13 Мар, 17:37 #394 #686340

Конаны, как сделать выдвигающуюся сбоку панельку как в приложении вк?

Ответы>>686370>>686393

13 Мар, 17:53 #395 #686370

>>686340
НавигейшнВЬю?

13 Мар, 18:07 #396 #686393

>>686340
ДроверЛейаут?

13 Мар, 18:34 #397 #686426

Я тут вкатился в яву и андроид-разработку из языка с динамической типизацией. И вот что я вижу. Полагаю, тут уже были вскукареки типа моего текущего

Что, серьезно мне нужно каждый сука раз при работе со вьюхами сначала
-ОБЪЯВИТЬ переменную с указанием её типа,
-потом по айди закинуть в неё значение через, например, через findViewById с указанием типа для приведения (SeekBar),
-в результате получаются конструкции вида:
[code]LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);[/code]

Вы так и живете?

А еще onClick назначается только для activity, и никак не для вьюхи, и приходится писать длинный список switch case чтобы только для нужной вьюхи действие прописать? Как будто js и jquery прошли мимо создателей всей этой темы, это ж страшно неудобно.

Ответы>>686427>>686433>>686499>>686500>>686893

31 Кб, 500x753

18 Кб, 942x142

13 Мар, 18:34 #398 #686427

>>686426

Ответы>>686447

13 Мар, 18:37 #399 #686433

>>686426
Короче говоря
Морковь морковка = новая Морковь

Нахуя я в начале писал, что это морковь сука?

Ответы>>686435>>686546

13 Мар, 18:38 #400 #686435

>>686433
Потому что Морковь extends Овощ, Овощ морковка = новая Морковь

Ответы>>686439

13 Мар, 18:41 #401 #686439

>>686435
Ну, это я могу понять, да. Но почему не указать
Морковь морковка = новая Морковь? Типа, если нужен объект с данными, которые автоматически создаются только в Морковь, но при этом типа Овощ?

Ответы>>686452

sage 13 Мар, 18:43 #402 #686447

>>686427
С подключением, это здесь не работает.

13 Мар, 18:44 #403 #686452

>>686439
Суть в том, чтобы всегда видеть тип переменной, а не пытаться его предугадать. Делает код читабельней, короче.

Ответы>>686459>>686671

13 Мар, 18:48 #404 #686459

>>686452
И толще. Ну, впрочем, я могу это понять, спасибо, пр, все объяснил. Еще нравится, что в этой хуйне из-за статической типизации IDE тебе все расскажет до мелочей, а если IDE не пиздит, то значит, и код скомпилится. Как правило.

Если вроде бы не стоит неисполняемое действие на нажатие кнопки, тогда скомпилится но покрашится

13 Мар, 19:10 #405 #686499

>>686426
> А еще onClick назначается только для activity
Охуительные истории. Тебе никто не мешает делать отдельный onClick для каждой кнопки.

13 Мар, 19:10 #406 #686500

>>686426
Нет, к динамикопараше тут относятся спокойно. У нас в хате вообще ебут только ксамарино/котлинопетухов, когда они начинают громко орать.

>через findViewById с указанием типа для приведения (SeekBar)
Енджой ёр аннотации.

>LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
В большинстве проектов, конкретно параметры лейаутов достаточно задать в XML.

>А еще onClick назначается только для activity, и никак не для вьюхи, и приходится писать длинный список switch case чтобы только для нужной вьюхи действие прописать?
Читай документацию. Ты явно копирнул кусок кода со стековерплова. На каждую вьюху можно спокойно ставить свой OnClickListener.
Просто многим удобнее ставить один листенер для всех вьюх активити.

Ответы>>686507

13 Мар, 19:12 #407 #686507

>>686500
> Нет, к динамикопараше тут относятся спокойно. У нас в хате вообще ебут только ксамарино/котлинопетухов, когда они начинают громко орать.
Ненавижу динамикопарашу. Ультимативное говно. Уж лучше котлином с замарином обмазываться.

13 Мар, 19:25 #408 #686546

>>686433

Морковь морковка = новая СвежаяМорковь();

...

void makeSomeWithCarrot( Морковь морковь ){]
...
Color color = морковь.getColor();
}

Ты можешь юзать любую реализацию класса Морковь в методе, и если у них будет переопределён getColor() - будет вызван он.

Ответы>>686561>>686671

13 Мар, 19:27 #409 #686561

>>686546
Блять, забыл пример вызова добавить

makeSomeWithCarrot(морковка);
тащемта

13 Мар, 20:02 #410 #686671

>>686452
> чтобы всегда видеть тип переменной, а не пытаться его предугадат
Button button1 = (Button) findViewById(R.id.button1)
Мда, если Button заменить на val то конечно придется гадать тип.

>>686546
> можешь юзать любую реализацию класса Морковь
Вот только 99% времени реализация одна

Ответы>>686751

13 Мар, 20:07 #411 #686681

И все же, как мне исправить эту срань?
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/objectweb/asm/tree/AbstractInsnNode.class

21 Кб, 978x298

13 Мар, 20:51 #412 #686728

Вопрос к знатокам Realm:
Как за вменяемое время (пара секунд) удалить или промаркировать 40 000 объектов?

Ответы>>686760

sage 13 Мар, 21:13 #413 #686751

>>686671
> Мда, если Button заменить на val то конечно придется гадать тип.

val x = new Button(...)
if (a == b) x = "qwerty";

Придётся гадать.

Ответы>>686884

13 Мар, 21:21 #414 #686760

>>686728
Берешь и удаляешь. Транзакцию хуячишь и в цикле удаляешь. Можешь еще распараллелить по 10к на тред, но есть возможность проебаться по оперативке.

Ответы>>686768

13 Мар, 21:29 #415 #686768

>>686760
Печально. В один поток это несколько минут удалять.
Сколько по времени это будет делать sqlite, не знаешь?

Ответы>>686873

2 Кб, 444x159

13 Мар, 22:21 #416 #686851

Хочу такие вот пикчи на маркер ставить (текст задается естессно), как делать из лейаута битмапдескриптор разобрался, но как добавить к лейауту треугольник такой снизу?

Ответы>>686879

13 Мар, 22:45 #417 #686873

>>686768
> В один поток это несколько минут удалять.
Ты конечно же даже не замерял еще, да? Не занимайся хуйней преждевременными оптимизациями, когда будет лагать, тогда и возвращайся.

Ответы>>687199

13 Мар, 22:49 #418 #686879

>>686851
Ну если разобрался как делать из лейаута, то изи мод - линеарлайаут в котором текствью и под ним вью с треугольным бэкграундом. Можно сделать свой текствью, который сам будет отрисовывать этот треугольник.

Ответы>>686942

13 Мар, 22:51 #419 #686884

>>686751
В строготипизированных языках C#/котлине это не скомпилируется.

Ответы>>687091

13 Мар, 23:02 #420 #686893

>>686426
Благодаря статической типизации и нормальной иде тебе редко придется набирать больше двух символов на клаве. Хоть и выглядит громоздко, но на java такая простыня текста пишется за секунды.

Ответы>>686902

13 Мар, 23:05 #421 #686900

Признаюсь, лень долго копаться в гугле.
Нужно кешировать на диск картинки(и выводить само собой) с последсвующей их передачей.
Всегда юзал пикасо, но раньше такого не делал.
Переопределяем таргет и засовываем все на диск? Просто тогда получается двухуровневый кеш, и как следить чтоб одинаковые файлы не плодились на диске?

13 Мар, 23:06 #422 #686902

>>686893
Чаю.

13 Мар, 23:31 #423 #686942

>>686879
вью с треугольной картинкой?

13 Мар, 23:50 #424 #686967

Как с андроидом на фрилансе? Есть туда смысл соваться?

14 Мар, 02:03 #425 #687091

>>686884
А значит эта "фича" нахуй не нужна. Хорошо еще, если ide разного рода изъёбы предотвратить сможет.

Ответы>>687093

14 Мар, 02:06 #426 #687093

>>687091
Вы же понимаете что нестрогая типизация для дурачков и говнокодеров?

14 Мар, 02:13 #427 #687100

Есть что-то годное по OpenGL ES?

14 Мар, 03:31 #428 #687143

Что-то я охуел от шаринга в ведре.
Хочу просто зашарить фотку с диска и подпись, дак оно ведет себя как ебанутое, то что в гайде написано только в твитере и джимейле работает.
Даже гугл+ требует костыля, с которым начинает работать фейсбук(десятки постов на стеке про то что нужно сдк юзать оказались не правы), правда текст еще не передается.
Но с вк веселее всего не работает и с костылем и без, оно выдает неудачу на фазе загрузки картинки, т.е. все же находит данные просто достать не может.
Может подскажете чего?
Зато стандартная галерея на 4.2.1 работает как часы.

Это опять индусы виноваты? А то эти танцы с бубном выглядит как полный пиздец.

Ответы>>687227

14 Мар, 07:44 #429 #687199

>>686873
Что значит не замерял?
Так и есть. Я даже не дождался, когда закончится удаление 40 000 объектов.
Очень долго удаляет.

Ответы>>687220

14 Мар, 09:05 #430 #687220

>>687199
По какому условию удаляешь объекты?

Ответы>>687236

14 Мар, 09:35 #431 #687227

>>687143
Ты про это? https://www.youtube.com/watch?v=h9TunRURWNU

Ответы>>687295>>687356

14 Мар, 10:09 #432 #687236

>>687220
>Транзакцию хуячишь и в цикле удаляешь.
Это работает медленно:

Realm realm = Realm.getDefaultInstance();
RealmResults<RMeasure> results = realm.allObjects(RPoint.class);
if(results.size() > 0){
realm.beginTransaction();
for(int i = 0; i < results.size(); i++)
results.get(i).remove
}
realm.commitTransaction();
realm.close();

Так точки тоже удаляются:
realm.beginTransaction();
results.clear();
realm.commitTransaction();

Только уже мгновенно!

Ответы>>687338

14 Мар, 11:06 #433 #687287

АНАНАНААНАСЫ! 2й день ябусь. Студия 2.1 превью. Во-первых Log.d("SOME",""); не пашет. Гуглил, всё пробовал, бочку делал и т.д. Во-вторых когда я загружаю данные через ретрофит я обновляю свой адаптер, но список не обновляется.
@Override
public void onResponse(Call<TrackingList> call, Response<TrackingList> response) {
int statusCode = response.code();
for (Tracking track :
response.body().getResult().getTrackings()) {
trackings.add(track);
Log.d("MYLOG",track.trackingNumber);
}
bra.notifyDataSetChanged();
Log.d("MYLOG","DataSetChanged");

}

Ответы>>687289>>687294>>687586

14 Мар, 11:10 #434 #687289

>>687287
P.S адаптер http://pastebin.com/nZTw98L9

Ответы>>687294

14 Мар, 11:18 #435 #687294

>>687287
>>687289
Всё работает, просто я 2 дня в глаза долблюсь.

14 Мар, 11:19 #436 #687295

>>687227
Спасибо, но получаеться шарить модно только через файлпровайдер. А что делать если файлы на диск просто летят?

Ответы>>687309

14 Мар, 11:32 #437 #687309

>>687295
> файлы на диск просто летят
Перефразируй плиз (ничего не понял)

Ответы>>687314

14 Мар, 11:36 #438 #687314

>>687309
Да, я хуйню какую-то написал.
Смотри, я использую универсальный имейджлоадер, все бы хорошо, но файлы сохраняются в /storage/emulated/0/Android/data/app_package/cache/uil-images/
в filepaths
<cache-path path="uil-images/" name="images"/>
В результате
java.lang.IllegalArgumentException: Failed to find configured root that contains
Сейчас сижу около 40 минут не могу понять в чем трабла.

Ответы>>687356

14 Мар, 12:08 #439 #687338

>>687236
Я думал тебе нужно конкретные удалять. А так да, выпилить все можно через clear.

14 Мар, 12:33 #440 #687356

>>687314
Пофиксил.
>>687227
Ты сам пробовал его реализовать? Почему ни вк ни фейсбук не получает картинку? Даже не запускается.
Пойду бубен покупать, что-то уровня колбека клавиатуры.

14 Мар, 16:12 #441 #687586

>>687287
Как решил-то? У меня тоже подобная хуйня была с 2.1, в итоге выяснилось, что дженимоушн, сука, не всегда подхватывает новый код. Решал так: stop > clean > run. А вообще впизду его, вон новый эмулятор шустрый тоже.

Ответы>>687990

14 Мар, 16:15 #442 #687588

Нужно замутить динамически подгружаемый лист. Есть что-то попроще https://github.com/codepath/android_guides/wiki/Endless-Scrolling-with-AdapterViews ?

Ответы>>687635>>687656

14 Мар, 16:47 #443 #687635

>>687588
Куда уж проще?

14 Мар, 17:10 #444 #687656

>>687588
напиши свой

14 Мар, 17:14 #445 #687660

Аноны, почему пермишшна billing http://developer.android.com/intl/ru/google/play/billing/billing_integrate.html
нет в общем списке всех пермишшнов андройда
http://developer.android.com/intl/ru/reference/android/Manifest.permission.html
?

Ответы>>687668

14 Мар, 17:22 #446 #687668

>>687660
Потому что это пермишн гугл плей сервисов, которые не являются обязательным компонентом андроида.

Ответы>>687683

14 Мар, 17:36 #447 #687683

>>687668
http://developer.android.com/intl/ru/guide/topics/manifest/manifest-intro.html#perms -- а вот это что за пермишшны. Их в общем списке тоже нет, но и к сервисам они вроде не относятся.
>что это пермишн гугл плей сервисов
Анон, а у тебя под рукой нет списка вообще всех этих пермишшнов гугл-плей сервисов? А то я вообще нагуглить не могу, пздц.
И у кого еще, кроме андройда и сервисов есть пермишшны?

Ответы>>687687>>687698

14 Мар, 17:38 #448 #687687

>>687683
> И у кого еще, кроме андройда и сервисов есть пермишшны?
Да хоть сам свои делай.

Ответы>>687713

14 Мар, 17:49 #449 #687698

>>687683
По моему раньше для пушей каждое приложение должно было заводить свой пермишен.
Что бы бродкаст с пушем был приватным только этого для приложения.

Ответы>>687700>>687712

14 Мар, 17:50 #450 #687700

>>687698
Так до сих пор же так, не?

Ответы>>687712

14 Мар, 17:57 #451 #687712

>>687698
Да было такое, год назад на первом своем проекте так делал, такие себе костыли.
>>687700
Там сдк поменялась, может уже и не так.

234 Кб, 1065x1669

216 Кб, 1067x1669

14 Мар, 17:57 #452 #687713

>>687687
Ты серьезно?
Ничего не понимаю.

Вот у нас ставится приложение из гуглоплея, которое запрашивает разрешения "Покупки в приложении" (как я понимаю, это и есть пермишшн biling) и показывает, что уже имеется разрешение "Микрофон" и "Фото/мультимедиа файлы" (очевидно, что это уже пермишшны андройда RECORD_AUDIO и READ_EXTERNAL_STORAGE). Ну и как так получается, что пермишшны сервисов гугл плей стоят в одном ряду с системными?

Ответы>>687725>>687733

14 Мар, 18:01 #453 #687725

>>687713
> Ты серьезно?
Ты можешь сам объявить пермишен, а другие приложения будут его использовать.

Ответы>>687759

384 Кб, 720x1280

14 Мар, 18:07 #454 #687733

>>687713
Ну конечно GP знает про этот пермишен, ты в системно списке посмотри.
Вот у меня его там нет.

Ответы>>687759

14 Мар, 18:23 #455 #687759

>>687725
А где можно подробнее почитать про создание пермишнов, анон? Нихера не гуглится даже.
>>687733
Ты прав, там такого уже нет. Блин, каждый день узнаю что-то новое и интересное.
У меня еще вопросик: 1. Где вообще нарыть инфу по самостоятельному созданию этих пермишшнов, ткните носом, пожалуйста. 2. Имеет ли смысл изучать и штудировать те же гугловские пермишшны или достаточно знать о существовании только системных андройдовских?
3. Какой пермишшн отвечает за >Платежная система Google Play?

Просто я вот в одну вещь никак не въеду.
Вот всякие антивирусы и утилиты для безопасности, например, по сути чекают все приложения на наличие опасных системных пермишшнов, верно? На пермишшны других приложений, типа сервисов гугл, они плюют?

Ответы>>687780

92 Кб, 768x1280

14 Мар, 18:30 #456 #687780

>>687759
Ну если приглядеться, то он там есть :)
Вот скриншот с другого устройства, там точно нет.

А вообще если глянуть в исходники андроида (список всех пермишенов)
https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml
то там точно нет никакого com.android.vending.BILLING

Ответы>>687799

14 Мар, 18:39 #457 #687799

>>687780
>Ну если приглядеться, то он там есть :)
А, блин, я просто еще не обновил приложение.
Теперь да, есть и платежная система.
>А вообще если глянуть в исходники андроида (список всех пермишенов) то там точно нет никакого com.android.vending.BILLING

Ну вот да, я же как раз с этого и начал, это и ввело меня в ступор и породило ряд вышеизложенных вопросов.

Ух, блииин

Ответы>>687832

14 Мар, 18:51 #458 #687832

>>687799
Блин, анончики, помогите. У меня даже руки опускаются.
Просмотрел два учебника по андройду -- нигде не нашел про создание собственных пермишшнов.

Ответы>>687842>>687846

14 Мар, 18:55 #459 #687842

>>687832
Нафига они тебе? Они будут только на уровне приложения.
В системе (если ты не собираешь свой AOSP) ты ничего ими не сделаешь.

Ответы>>687851

14 Мар, 18:57 #460 #687846

>>687832
http://developer.android.com/intl/ru/guide/topics/security/permissions.html#defining

Ответы>>688923

14 Мар, 18:59 #461 #687851

>>687842
Ну, в качестве примера, допустим, хочу написать свой антивирус.
Алгоритм такой: сканирует все пермишшны во всех приложениях и показывает приложения с опасными (смс, камера, все, связанное с деньгами и т.п.). Мне же нужно будет и все вот эти гугловские тоже сканировать, нет?
>В системе ты ничего ими не сделаешь.
А какое у них тогда вообще практическое применение?

Ответы>>687871

14 Мар, 19:12 #462 #687871

>>687851
Вот именно они важны только для привелигированным-системных-приложений
(те которые производитель твоей сборки Android туда помести).

Простым смертным они в 99% случаев не нужны.

Ответы>>687971

14 Мар, 20:13 #463 #687971

>>687871
Ясно, тогда забиваю на них. Спасибо
А есть ли какие-нибудь версии андройда, из которых выпилен ГуглоПлей или заменен каким-нить аналогом?

Ответы>>687980

14 Мар, 20:23 #464 #687980

>>687971
Конечно есть.

Ответы>>687987

14 Мар, 20:34 #465 #687987

>>687980
Например, какие?

Ответы>>687992

14 Мар, 20:42 #466 #687990

>>687586
новый эмулятор - это который в студии 2.1?

14 Мар, 20:43 #467 #687992

>>687987
yandex kit (уже мерт), CM, amazon, android x86

Ответы>>688020>>688035

14 Мар, 21:13 #468 #688020

>>687992
Спасибо, анон

14 Мар, 21:21 #469 #688035

>>687992
>yandex kit
Странно, что mail.ru не попытались запилить свой зонд еще. Видимо, посмотрели на опыт конкурентов

15 Мар, 01:26 #470 #688383

Не хочу тралировать, но почему не iOS? По ощущениям, новости про очередной стартап на айоси встречаются чаще, про анроид обычно вижу новости на тему "школьник написал новый вирус шифровальщик, который всё у тебя зашифрует, если ты сам его поставишь под рутом, запустишь, дашь согласие на проеб данных, сдашь все анализы". На ios все и платить привыкли, а на android жадная русня вроде меня. Или я заблуждаюсь?

Ответы>>688394

15 Мар, 01:50 #471 #688394

>>688383
Ноуп, ошибаешься. Обычно изначальную платформу для приложения выбирают по двум критериям:
1) Основная аудитория продукта
2) На что бабла и опыта разработки хватит

Обычно у нищестартапов тупо нет денег содержать разработчиков для разработки под две нейтив платформы, отсюда и одна платформа изначально. В амурике это айфон, потому что айфонов популярнее. И да, именно поэтому реакт нейтивы и прочее взлетели, они очень хороши для 95% приложений от модных стартапов потому что это тупо хуитки для заказа услуги, где нужна менюшка и запрос через апи

Ответы>>688396

15 Мар, 01:55 #472 #688396

>>688394
Ну а если самостоятельный апп типа калькулятора/будильника/планировщика/календаря и т.д.?

>потому что это тупо хуитки для заказа услуги, где нужна менюшка и запрос через апи
Мне вообще бомбит от этого. Я вебообезьяна, и у меня такое чувство, что из-за своей упертости и нежелания вкатываться в мобдев, я упускаю ЗОЛОТЫЕ ГОРЫ.

Ответы>>688399

15 Мар, 01:58 #473 #688399

>>688396
Веб и мобайл рынки - самые йоба сейчас, если у тебя в вебе нет ЗОЛОТЫХ ГОР, то тоже самое будет и с мобайлом.
Средняя и топовая зарплаты в этих сферах примерно одинаковые.

Ответы>>688404>>688419

15 Мар, 02:02 #474 #688404

>>688399
Спасибо, ты меня успокоил

15 Мар, 02:49 #475 #688419

>>688399
Да ну нахуй, мобайл с вебом сравнивать не очень корректно. Всё же, горы в вебе есть онли в определённых технологиях. А веб типа похапе, джиквери и битриксов, уже давно изучен тысячами индусов-визиткоклепателей. С мобайлом всё сложнее: мобайл пока очень сырой - это касается и платформ, и апи. Хороший показатель - свифт, который гейосникам притащили взамен обжектив си - но замены в итоге пока не получилось, и юзается и одно, и другое.

15 Мар, 04:16 #476 #688450

Аноны, а есть где в открытом доступе уроки Александра Климова? Те что после 5го курса. Или может кто знает, как их можно глянуть?

Ответы>>688883>>688968

15 Мар, 07:21 #477 #688476

Мобайл катится в сторону веба. За последний год появилась куча говнофреймворков, от всей этой параши тошит уже. Разработка под ведро закономерно скатывается в говно и дроч фреймворков.

С того же rxjava я охуеваю. Я его вообще не изучал, но судя по коду, который здесь постят, это какое-то абсолютно неинтуитивное говно, которое понять можно только прочитав документацию. Нет, я не говорю, что читать не надо, я говорю именно о интуитивности, которая напрочь отсутствует в говнофреймворках.

Ответы>>688484>>688509>>688541

15 Мар, 08:44 #478 #688484

>>688476
Это никакой нахуй не фреймворк, а просто либа для удобной асинхронности. Ведро один большой фремйворк, а все остальное потуги сделать его удобным.

15 Мар, 09:47 #479 #688509

>>688476
Ох и нравятся мне такие диванные кукаритики, ты же просто неосилятор.
А насчет нативност, синтаксис rxjava слизан с java стримов, но ты видимо и про них не слышал.

15 Мар, 10:01 #480 #688518

Можно ли как нить узнать инфу о пользователе? типа имя, возраст, пол.
В какую сторону копать в этом вопросе?

15 Мар, 10:41 #481 #688541

>>688476
>закономерно скатывается в говно и дроч фреймворков.
Как и любая прога, разве нет?
>Я его вообще не изучал, но судя по коду, который здесь постят, это какое-то абсолютно неинтуитивное говно, которое понять можно только прочитав документацию.
Он построен на стримах, мой товарищ с энтерпрайза который знает джаву 8 сразу распознал флетмапу.

Меня больше бесит кривость стандартной архитектуры и отсутствие адекватного стандарта в коммьюнити. Сейчас тупо каждый дрочит как хочет. Даже уже на хабру начали протекать миллионы статей про АРХИТЕКТУРУ МВП. И даже они разные.

Ответы>>688659>>688754

15 Мар, 13:00 #482 #688659

>>688541
>Меня больше бесит кривость стандартной архитектуры и отсутствие адекватного стандарта в коммьюнити. Сейчас тупо каждый дрочит как хочет. Даже уже на хабру начали протекать миллионы статей про АРХИТЕКТУРУ МВП. И даже они разные.
Будешь жрать это говноиндускую опенсосную поделку до кона своих дней.

Ответы>>689067

15 Мар, 14:47 #483 #688754

>>688541
Ну на иосе тоже архитектурой не пахнет. Все ебашут во вьюконтроллерах, даже там же и интерфейс в коде строят.
Ну и есть VIPER, который усложненный MVP

Ответы>>688804>>688811

15 Мар, 14:55 #484 #688766

Какие подводные камни работы с direct ByteBuffer? Может есть какие-то крутые готовые либы специально для ведра?

15 Мар, 15:25 #485 #688804

>>688754
на гейосе кореш кодит, делает труЪ mvc, так что ненада мне тут

Ответы>>688874>>689067

15 Мар, 15:33 #486 #688811

>>688754
Ты создал проект и сразу у тебя mvc из кокоробки.

Ответы>>688874>>689067

15 Мар, 16:35 #487 #688874

>>688804 >>688811
Ой не надо тут, там те же активити, только называются ViewController (не просто контролер, а VIEW, что уже говорит о многом).
Нахлебался с организацией UI и в ios и android (и в WP) как кросплатформеный разработчик.

Но имхо MVVM самый лучший вариант, когда надо вычленить общую UI логику с разных платформ.

15 Мар, 16:43 #488 #688883

>>688450
Поддержу вопрос.

15 Мар, 17:44 #489 #688923

>>687846
Ништяк
Спасибо!

15 Мар, 18:05 #490 #688968

>>688450
бамп вопросу

15 Мар, 18:17 #491 #688995

>>683156
Бамп вопросу

15 Мар, 19:11 #492 #689067

>>688659
Ты о чем? О андроиде или о мвп?
>>688804
А на ведре нельзя сделать этого?
>>688811
Сомневаюсь что там архитектура из коробки. Вангую такие же толстые контроллеры как и в ведре, в которой тоже внезапно мвп из коробки, просто фрагменты и активити очень толстые презентеры.

Ответы>>689182

15 Мар, 19:26 #493 #689081

>>683156
В конторах с большим офисом и где все официально могут штрафануть если сильно налажаешь, а так позовут и в отдельной комнате помахают пальчиком.
В такой как моя могут и сказать что долбоеб, но это мои колеги а не тимлиды. Минимум негатива кстати.

15 Мар, 19:53 #494 #689124

Закину пару вопросов знатокам:
1.Объясните за этот йоба материал design, читанул уже пять статей. Одна вода, главная суть что все должно быть однородно и надо использовать анимации т.к. это КРУТА. Т.е. из этих двух очевидных вещей раздули и распиарили целую "философию" или я упустил какой-то сокровенный смысл.
2. Как в реальном продакшене происходит процесс разработки? Так же как в вебе, есть грубо говоря две "комманды", одна отвечает за UI и верстает psd макеты(или как вообще дизайн внедряется?), другая часть отвечает за внутреннюю логику?
3. Есть ли какие-нибудь агрегаторы идей для android прог? Написал пару примитивных апликух, без практичесокй ценности. Хочеться теперь ебануть чего-нибудь более прикладного и полезного, в связи с этим хотелось бы почитать идеи и хотелки от других мимокрокодилов и взять на заметку пару интересных.

Ответы>>689188

15 Мар, 20:09 #495 #689154

Сап, сабж - не работает на планшете но работает в превьюхе изменение размера изображений путем нижеприведенныз махинаций в ImageButton и Button:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item
android:id="@+id/half_overlay"
android:drawable="@drawable/home_sign"
android:width="10dp"
android:height="10dp"
/>

</layer-list>

<Button
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_height"
android:id="@+id/add_flat"
android:text="Сдать"
android:drawableLeft="@drawable/special_home_sign"
android:layout_weight="1"
android:background="@null"/>

и аналогично

<ImageButton
android:scaleType="center"
android:padding="20dp"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_height"
android:id="@+id/vk_login"
android:src="/@drawable/special_vk_sign"
android:layout_weight="1"
android:background="@null"
/>

И что мне блин с этим делать ?

Ответы>>689190

15 Мар, 20:10 #496 #689157

БыстроФикс: очевидно, первый drawable называется special_home_sign

15 Мар, 20:41 #497 #689182

>>689067
О ведре конечно же.
В ведор по сравнению с гейосом все портит блядская асинхронность транзакций, не гарантированные хуки лайфцайлка и собственно сам цикл, которого в гейоси нет. Ну и простые штуки типа той же клавиатуры и пермишенов через жопу.

15 Мар, 20:46 #498 #689188

>>689124
1) Хуйня на постном асле, распиаренная что бы ведроид не выглядел как говно, а еще что бы ведромакаки могли ебаться с анимациями пока они ебутся с анимациями, пока ебутся с совместимостью.
2) По разному, зависит от объемов проекта, я чеснтно гворя не видел что бы формально разделяли верстальщиков и тех кто пишет логику, возможно в команде договаривается вася, который блюет от верстки, с петей, который мудак и не умеет в базы данных и нетворкинг, и за всем этим следит санек который пытается держать проект оттестированным и поддерживаемым. Дизайн опять же зависит от конторы, объебосы кидают тебе в ебало psdшиник, еще большие мудаки кидают png, четкие пацаны кидают в скетче и если ты не на маке, то смотришь через веб в зеплине.
3) Добро пожаловать, снова.

Ответы>>689201

15 Мар, 20:48 #499 #689190

>>689154
Мы типа должны гадать что там у тебя не работает?
Я вижу что вьюшки растянутся на весь экран, а высота фиксированная.

15 Мар, 21:08 #500 #689201

>>689188
>3) Добро пожаловать, снова.
Что посоветуешь?

Ответы>>689212

15 Мар, 21:18 #501 #689212

>>689201
https://fossdroid.com
Берешь и клонируешь.

16 Мар, 03:45 #502 #689489

Что за ебаная хуйня
Создаю linearLayout програмно;
LinearLayout layout = new LinearLayout(getApplicationContext());
setContentView(layout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

добавляю туда обычную кнопку.
final Button button = new Button(this);
button.setText("Text");
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
params.gravity = Gravity.RIGHT;
button.setLayoutParams(params);

И, сука, оно мне создает лайоут, который врапит контент, а не заполняет родителя. Родитель я так понимаю windowsManager, но какого хуя если я задекларирую этот лайоут в xml и укажу MATCH_PARENT оно сделает как надо, а если создам программно то оно хуями обкладывает и создает лайоут по размеру кнопки? Пробовал уже в setContentView разные варианты и ViewGroup.LayoutParams и WindowManager.LayoutParams и LinearLayout.LayoutParams и нихуя не работает как мне нужно. Вопрос целесообразности оставим за кадром, почему машина пидор не слушается?

Ответы>>689776

16 Мар, 08:11 #503 #689522

Отправляются ли localbroadcast'ы когда экран смартфона выключен, все activity закрыты и раьотает только foreground сервис, который их шлет?

Ответы>>689524

16 Мар, 08:27 #504 #689524

>>689522
Если сервис их шлёт, значит работает.

16 Мар, 08:43 #505 #689536

Как палить, почему активность течет. Причем она течет только на далвике, на арте все вычищается. В дампе прямве ссылки только во вьюхах и this$0. Leak canary молчит.

Ответы>>689584

16 Мар, 10:56 #506 #689584

>>689536
И кто такой this$0?

16 Мар, 11:27 #507 #689596

Аноны, а есть какие-нибудь бесплатные аналоги Genymotion, с подобным функционалом (имитация вызова, например), который заблочен в бесплатной версии дженимоушна?
Может, юзает кто?

16 Мар, 12:11 #508 #689619

Сап, сабж: один FrameLayot должен перекрывать другой RelativeLayout, а он, сука такая, наоборот под ним ( по слою ) находится. Как сделать эту шлюху работать как я хочу ?

Ответы>>689634

16 Мар, 12:36 #509 #689634

>>689619
Решение оказалось простым как два пальца, RelativeLayout ставит поверх остальных добавленные последними элементы

34 Кб, 1536x254

16 Мар, 13:48 #510 #689682

Аноны, как сделать тулбар, как в гугл мапс? Может есть какой нибудь туториал?

Ответы>>689800

16 Мар, 14:10 #511 #689699

Как перенести файл базы данных Realm на external storage?

Ответы>>689722>>689749

16 Мар, 14:35 #512 #689722

>>689699
Ну я думаю нужно скопировать файл в котором релм сейчас, а потом перекинуть его на экстернл сторедж, а потом нужно что бы инстанс релма брался другой

16 Мар, 15:14 #513 #689749

>>689699
См. доки, там реально написано.

16 Мар, 15:53 #514 #689776

>>689489
Кароч заставил эту шлюху работать, linLayout при создании не имеет дефолтной ориентации, надо ставить вручную setOrientation()

16 Мар, 16:29 #515 #689800

>>689682
Search View

16 Мар, 17:20 #516 #689844

>>676210 (OP)
ПЕРЕКАТ
https://2ch.hk/pr/res/689843.html (М)
https://2ch.hk/pr/res/689843.html (М)
https://2ch.hk/pr/res/689843.html (М)
https://2ch.hk/pr/res/689843.html (М)

16 Мар, 17:22 #517 #689848

Проблема с LOGI - не отправляются ссобщения в logcat. Log level выставил verbose, фильтры отменил, приложение выставил правильно. В какую сторону копать, где проблема может быть?

20 Мар, 17:43 #518 #693431

>>676210 (OP)
Анон, как Asynctask выполнить? Делаю стандартным обьектнейм.екзекут, но ничего не работает. Дебагер в студии отмечает "галочкой" только брейкпионты до екзекута, дальше нихуя не работает

Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 9 апреля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion