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

Этого треда уже нет.
Это копия, сохраненная 13 сентября 2016 года.

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

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

117 Кб, 1600x900

Разработка под Android тред №25 06 Авг, 18:41 #814733 В конец треда | Веб

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

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

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

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

Отдельного упоминания стоят:
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.
Привет клиент-серверка.

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

Ответы>>815712>>817089>>821984>>825600>>825906>>827307>>827376>>828146>>828977

06 Авг, 18:42 #2 #814735

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

Ответы>>814738

06 Авг, 18:43 #3 #814736

Сап, котаны, суть вопроса - при быстром вводе в searchview, в которую подсказки подгружаются при событии onTextChanged со сторонней апишки, происходит фатал - данные для адаптера были изменены но метод notifydatasetchanged не был вызван. Но только при быстром вводе/слабом интернете

Ответы>>814754>>814757

06 Авг, 18:48 #4 #814738

>>814735
https://android-developers.blogspot.ru/2016/01/using-google-sign-in-with-your-server.html

Ответы>>814821

06 Авг, 19:10 #5 #814746

У меня баттхёрт.
Я охуеваю, дорогая редакция. Неужели Гугл не смог сделать вменяемый инструмент разработки, который способен запуститься и работать после установки?
Установил я этот Android Studio - он после создания проекта-сэмпла начал выдавать какоё-то gradle family unavailable. Оказалось, что это надо лечить установкой какого-то флага для Java (охуеть, как будто сами не могут его передать в Java).
Ладно, это сделано - но теперь там следующий уровень ебанизма - невозможность запуска и хз из-за чего:
Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

Ответы>>814752>>818217

06 Авг, 19:21 #6 #814752

>>814746
> седьмая джава

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

Ответы>>814777>>814910

06 Авг, 19:25 #7 #814754

>>814736
Код покажи. Мы же не экстрасенсы тут.

На крайняк - попробуй в коллбэке после прилета данных(который, наверное, выполняется в основном потоке, так?) не просто обновлять данные и вызывать notifyDataSetChanged(), а постить Runnable в Handler, который связан с Main Thread Looper. Например, создав этот Handler в главном потоке, или же создав его где хочешь вот так:
Handler handler = new Handler(Looper.getMainLooper());

То есть, например, у тебя будет что-то такое:
http://pastebin.com/L28mYi9Q

}

Ответы>>814757

06 Авг, 19:27 #8 #814757

>>814736
Ну и то, что я предложил - это все-таки хак, тебе нужно проверить свой код, там точно есть какая-то хуита(но есть и шанс, что гуглолибы глючат).
Ну и я бы советовал смотреть, для какой строки ты принимаешь данные. То есть если вдруг у тебя отправились запросы сначала для "2ch" и потом для "2ch.hk", то может случиться так, что ответ для 2ch.hk придет раньше, а для "2ch" - позже. Поэтому сравнивай данные, которые получаешь с теми, которые хочешь получить.

>>814754-кун.

06 Авг, 19:51 #9 #814777

>>814752
>C:\Java\jdk1.7.0_79\bin\java.exe
>C:\
>из-под прыщей

Ответы>>814800

06 Авг, 20:06 #10 #814800

>>814777
>.exe
>из-под прыщей

Ответы>>814820>>814834

06 Авг, 20:11 #11 #814811

оп хуй

Ответы>>814833

10 Кб, 212x212

06 Авг, 20:17 #12 #814820

>>814800
Через WINE

06 Авг, 20:17 #13 #814821

>>814738
Таак, т.е. мне придётся пилить свой сервер?

Ответы>>814827

06 Авг, 20:27 #14 #814827

>>814821
А у тебя БД не на сервере?

Ответы>>814835

06 Авг, 20:34 #15 #814833

>>814811
Хейтеры буду наказаны.

291 Кб, 544x416

06 Авг, 20:34 #16 #814834

>>814800
gcc hello.c -o hello.exe

06 Авг, 20:35 #17 #814835

>>814827
нет, сервера у меня пока что нет.

Ответы>>814839

06 Авг, 20:40 #18 #814839

>>814835
Посмотри Firebase, мне кажется, что тебе подойдет. Если вкратце - ты можешь на сервере сохранять данные в виде дерева объектов.

Ответы>>814843>>814847

06 Авг, 20:43 #19 #814843

>>814839
Т.е. все должны быть наследниками одного?

Ответы>>814848

06 Авг, 20:45 #20 #814847

>>814839
Там No-SQL, если не ошибаюсь. Думаешь, хранить до тысячи объектов будет удобно?

Ответы>>814851

06 Авг, 20:45 #21 #814848

>>814843
Да.

Ответы>>814849

06 Авг, 20:46 #22 #814849

>>814848
И как, удобно? Или начальный класс просто болванка типа обжекта?

Ответы>>814900

06 Авг, 20:49 #23 #814851

>>814847
> Думаешь, хранить до тысячи объектов будет удобно
Хранил там 3000 объектов. Отказался из-за того, что обновляется фаирбейз дольше. 1 мб сети + куча обработки, а с собственным сервером 100кб gzip json.

Ответы>>814855

06 Авг, 20:51 #24 #814855

>>814851
Но к своему серверу надо ещё аутентификацию прикручивать

sage 06 Авг, 21:27 #25 #814877

>>814871
Пошел нахуй со своим говном.

sage 06 Авг, 21:33 #26 #814884

>>814881
Пошел нахуй, говна кусок.

06 Авг, 21:54 #27 #814900

>>814849
Да, типа того.

sage 06 Авг, 21:56 #28 #814901

>>814871
>>814881
Моча, какого хуя это говно всё еще в треде?

06 Авг, 22:14 #29 #814910

>>814752
Свежая установка Android Studio.
А вот что он не опознал восьмую джаву - это да, странно

Ответы>>815107

07 Авг, 10:33 #30 #815107

>>814910
Тестерам Android Studio нужно выдернуть руки. Или просто отрубить их с корнем. Как можно выпустить настолько глючный продукт, да ещё и рекомендовать его как основное средство разработки, я не представляю.

Ответы>>815333

07 Авг, 14:25 #31 #815333

>>815107
Ой, иди нахуй, долбоеб. Поставь себе эклипс и жри говно.

Ответы>>815339

07 Авг, 14:35 #32 #815339

>>815333
Думаю он про 2.2 версию.

Ответы>>815708

07 Авг, 22:18 #33 #815708

>>815339
Тогда он еще больший долбоёб. Ставит превью-версию и чему-то там возмущается.

07 Авг, 22:21 #34 #815712

>>814733 (OP)
Короче думаю здесь найдётся кто-нибудь, кто пояснит за MVP.
Желательно в виде ссылок на какие-нибудь хипстерские медиумы и чтобы их потом прикрепили к ОП-посту. Ну про медиум шучу, хотя он основной источник всего этого шума.

Я просто часто слышу MVP в контексте андроида и сам по сути понимаю, что активити как god-object по сути плохо. Но штука в том что по всей видимости никаких фреймворков, либ и даже просто шаблонов проектов нет. Типо есть упоминания о презентере, а кто как его делает - это дело личное (даже в прошлом треде анон сетовал про организацию своей архитектуры).

Ладно, допустим, кто-нибудь даст ссылку про то что вот один чел сделал у себя в проекте каким-нибудь определенным образом. Но у меня проблемы уже в самой терминологии. Модель - тут более менее ясно - вся логика, которая выносится и не зависит от андроида - должна быть вынесена. Правда вот где совершать чтение файлов и баз данных, если для этого нужен контекст - наверное инициализировать модель с помощью аплекейшен контекста.
Далее Вью - это активити? Или вью - это делать свои кастомные лейауты на каждый чих и в них завязывать логику отображения?
И самое неясное презентер. его соотношение один презентер к одной активити? какие задачи он обычно выполняет?

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

Ответы>>815714>>815725>>817005

07 Авг, 22:23 #35 #815714

>>815712
Тебя в гугле забанили? На каждый твой вопрос есть ответ в гугле. А делают всё равно все по-разному. И будут дальше так делать.

Ответы>>815789

sage 07 Авг, 22:32 #36 #815725

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

07 Авг, 23:55 #37 #815789

>>815714
Бля мне просто хочется пожевать риторического говна типа
> А делают всё равно все по-разному. И будут дальше так делать.
(Насколько по-разному?) Ну просто знаешь хочется немного общения и реального опыта простых пацанов с двача - люди же сюда за этим и заходят. Независимо от раздела.

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

Ладно ок берём рандомную ссылку (одну из первых).
https://github.com/konmik/konmik.github.io/wiki/Introduction-to-Model-View-Presenter-on-Android

> View is a layer that displays data and reacts to user actions. On Android, this could be an Activity, a Fragment, an android.view.View or a Dialog.
Ну всё что даёт андроид - это вью. Ок.
>Model is a data access layer such as database API or remote server API.
Видимо набор статик методов, чтобы открывать файлики и там например скачивать странички в стринг.
> Presenter is a layer that provides View with data from Model. Presenter also handles background tasks.
Ну и всем оставшимся заведует презентер. Видимо это, что называется, логика.

Всё так, анон? Взаимосвязь вьюхи и презентера в одну и в другую сторону? Если элемент списка в бд изменился, то происходит notifyItemChanged, заранее зная про адаптер или присылается новый список и происходит полное обновление вьюхи?
Хах, ладно, в общем-то я уже заебался...

Короче можешь ответить за тестирование хотя бы. У меня большинство функций воид и вызываются андроидом. А те, которые более менее чистые - private (ну серьёзно, когда более менее логика накапливается выношу в приватный метод). Мне интересно - неужели у других нормальный воркфлоу, что такого дерьма изначально не накапливается.
Или более существенный вопрос - скачиваю xml и паршу в объекты. Мне бы хотелось заранее протестировать парсер, хоть это и внешняя либа, но кто-знает правильно ли аннотации расставлены. Понятное дело, что меня никто не остановит проверить парсер на локальном файлике. Но норм ребята же так не делают? да и в какую папку кидать файл?

А вообще если я тебя конкретно так бешу, то просто нахуй пошли. Я на дваче редко засиживаюсь.

07 Авг, 23:55 #37 #815789

>>815714
Бля мне просто хочется пожевать риторического говна типа
> А делают всё равно все по-разному. И будут дальше так делать.
(Насколько по-разному?) Ну просто знаешь хочется немного общения и реального опыта простых пацанов с двача - люди же сюда за этим и заходят. Независимо от раздела.

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

Ладно ок берём рандомную ссылку (одну из первых).
https://github.com/konmik/konmik.github.io/wiki/Introduction-to-Model-View-Presenter-on-Android

> View is a layer that displays data and reacts to user actions. On Android, this could be an Activity, a Fragment, an android.view.View or a Dialog.
Ну всё что даёт андроид - это вью. Ок.
>Model is a data access layer such as database API or remote server API.
Видимо набор статик методов, чтобы открывать файлики и там например скачивать странички в стринг.
> Presenter is a layer that provides View with data from Model. Presenter also handles background tasks.
Ну и всем оставшимся заведует презентер. Видимо это, что называется, логика.

Всё так, анон? Взаимосвязь вьюхи и презентера в одну и в другую сторону? Если элемент списка в бд изменился, то происходит notifyItemChanged, заранее зная про адаптер или присылается новый список и происходит полное обновление вьюхи?
Хах, ладно, в общем-то я уже заебался...

Короче можешь ответить за тестирование хотя бы. У меня большинство функций воид и вызываются андроидом. А те, которые более менее чистые - private (ну серьёзно, когда более менее логика накапливается выношу в приватный метод). Мне интересно - неужели у других нормальный воркфлоу, что такого дерьма изначально не накапливается.
Или более существенный вопрос - скачиваю xml и паршу в объекты. Мне бы хотелось заранее протестировать парсер, хоть это и внешняя либа, но кто-знает правильно ли аннотации расставлены. Понятное дело, что меня никто не остановит проверить парсер на локальном файлике. Но норм ребята же так не делают? да и в какую папку кидать файл?

А вообще если я тебя конкретно так бешу, то просто нахуй пошли. Я на дваче редко засиживаюсь.

Показать весь текст
Ответы>>815924>>816143>>816697

08 Авг, 07:15 #38 #815924

>>815789
> konmik github
На этого долбаеба забей, у него там говно, а либа его еще большее говно. Почитай у mosby гайд.

Ответы>>816094

08 Авг, 09:19 #39 #815937

По DI вопрос.

Вот у нас есть Component, который мы успешно сбилдили в Application.onCreate. Как этот компонент правильно передавать в активити/презентеры?
Если с активити более менее ясно, там в onCreate всегда можно вытащить getApplication и ему сделать метод getComponent, то как быть в презентере? Делать статик геттер апликейшону? Уебанство же.

Ответы>>815944

08 Авг, 10:13 #40 #815944

>>815937
Создаешь презентер через DI, нужный компонент добавляешь в параметры контсруктора.
DI при создание презентера туда сам передаст нужный компонент.

Ответы>>815945

08 Авг, 10:34 #41 #815945

>>815944
А если презентеры создаются через либу (mosby, moxy)?

Ответы>>815971

08 Авг, 11:29 #42 #815963

Чому ваша ёбаная джава не в состоянии сама прописаться в пути? Мне его на бумажку записывать, блять, при установке?

Ответы>>816095

08 Авг, 11:54 #43 #815971

>>815945
>А если презентеры создаются через либу (mosby, moxy)?
Что это за фигня и зачем через них создавать?

Ответы>>815977

08 Авг, 12:03 #44 #815975

Уважаемые, заранее извиняюсь за тупую просьбу. Просто постоянно все обновляется-меняется и старые гайды чет нихуя уже не помогают. Кто-нибудь может ПОЛНОСТЬЮ, последовательно и для тупых расписать процесс установки всех необходимых инструментов ? Типо сначала андроид студио, окай, какие именно пакеты надо в сдк менеджере, как там подключить джаву, что там с libgdx, надо ли genymotion
Был бы очень благодарен.

Ответы>>815978>>815981

08 Авг, 12:09 #45 #815977

>>815971
Мог бы и загуглить.

08 Авг, 12:11 #46 #815978

>>815975
Хозяин, а если этот колОр?

https://www.youtube.com/results?q=installing+android+studio+from+scratch

Ответы>>815980

08 Авг, 12:18 #47 #815980

>>815978
Там видосы все старее года
А зимой же вроде эклипс перестали поддерживать

Ответы>>816011

08 Авг, 12:19 #48 #815981

>>815975
Ничего никогад не меняется.
1) Скачиваешь oracle jdk с сайта oracle, устанавливаешь прописываешь в PATH если за тебя это не сделал твой установщик/менеджер пакетов, проверяешь;
2) Ставишь Ведроид студию с SDK, пакеты для каждого свои очевидно, но если это линукс/винда то надо обязательно драйвера. Лично я ставлю несколько последних Android Build Tools, последние Android SDK Platform-Tools и Android SDK Tools, не превью конечно же. Для каждой платформы под которую разрабатываю SDK Platform, ну и конечно из экстрасов кучу всего.
3) Genymotion елси тебя не устраивает стандартный эмулятор/телефоны меня устраивают;
4) libGDX все просто - у них свой инсталятор, взял и поставил.

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

Ответы>>815982

08 Авг, 12:23 #49 #815982

>>815981
>прописываешь в PATH
https://developer.android.com/studio/install.html
>add a new system variable JAVA_HOME that points to your JDK folder, for example C:\Program Files\Java\jdk1.8.0_77

JAVA_HOME не достаточно? Надо и в PATH, где javac сидит?

Ответы>>815983

08 Авг, 12:25 #50 #815983

>>815982
>JAVA_HOME не достаточно? Надо и в PATH, где javac сидит?
Тебе так сложно добавить и проверить? Ты видишь что бы там писалось ДОБАВЬТЕ JAVAC_HOME?

Ответы>>815987

08 Авг, 12:30 #51 #815987

>>815983
Задам вопрос иначе. Где проверить в Studio, что джава видна?

Ответы>>815992

08 Авг, 12:42 #52 #815992

>>815987
Открываешь консоль и пишешь туда "java -version". В студии можешь открыть File -> Project Structure и там сразу будет видно пути к сдк и jdk.

Ответы>>815997

94 Кб, 833x709

08 Авг, 12:54 #53 #815997

>>815992
Короче, прописать как JAVA_HOME, вроде, достаточно. В PATH я не прописывал. javac -version в консоле не вызывается

Ответы>>815998

08 Авг, 12:58 #54 #815998

>>815997
Ну это не очень хорошо, попробуй собрать проект, у меня есть сомнения.

Ответы>>816034

08 Авг, 13:24 #55 #816011

>>815980
> А зимой же вроде эклипс перестали поддерживать
Ага. Прошлой.

08 Авг, 14:07 #56 #816034

>>815998
проверю дома, посмотрев видосах, куда давить и вообще

08 Авг, 16:09 #57 #816094

>>815924
Аргументированно.

Ответы>>816113

08 Авг, 16:11 #58 #816095

>>815963
Да успокойся ты, даун. У всех всё работает. Хватит тред засирать.

08 Авг, 16:28 #59 #816113

>>816094
Конкретно в nucleus нет поддержки вьюстейта из коробки. С учетом deprecated getView, его приходится оборачивать null чеками и //noinspection deprecation из-за того, что его restartable говно вообще не подходит для неасинхронных операций в стиле: нажал кнопку -> вызвал презентер -> презентер сказал вьюхе переименовать кнопку, и приходится либо прокидывать вьюху параметром, либо получать удовольстивие от зачеркнутого и разукрашеного желтым кода.

> Do not try to make your Presenter control your View
Ну и у он охуительно затирает, что вьюха что-то да должна сама решать, а не быть просто вьюхой, поэтому он и сделал этот убеанский механизм restartable.
> But when control goes like this: user -> view -> presenter -> view -> presenter -> model -> data, it is just violates KISS principle
Кококо нарушение КИСС. Простейший пример. Начать по кнопке загрузку и показать прогресс бар.
Как должно быть: buttonClick -> presenter.load -> view.showLoading, но он затирает, что так делать неправильно, и вьюха сама должна решить, переходить ей в showLoading или нет, хотя это явно отвественность презентера.

Ответы>>816189>>816364

08 Авг, 16:59 #60 #816143

>>815789
> Взаимосвязь вьюхи и презентера в одну и в другую сторону
Зависимость только в одну (вьюха от презентера), а так они друг дружку по очереди вызывают.

> Если элемент списка в бд изменился, то происходит notifyItemChanged
И как ты это словишь? У тебя курсор полностью ресетится если меняется один элемент запроса.

> Но норм ребята же так не делают
Хули нет то?
Это если ты полностью network service тетируешь, то да, ты мокируешь сетевой вызов как "норм ребята". А когда у тебя цель тестирования только парсер то почему бы и нет?

08 Авг, 18:20 #61 #816189

>>816113
Вот теперь действительно аргументированно.

09 Авг, 00:38 #62 #816364

>>816113
>неасинхронных
Что-то прям с подливой проиграл с этого.
Вообще со своим ариксом обезумели нахуй. Даже значения слов уже не понимают.

Ответы>>816399>>816429

09 Авг, 03:19 #63 #816399

>>816364
Что тебя не устраивает, даун?

09 Авг, 07:07 #64 #816429

>>816364
В посте ни слова про rx. Или для тебя асинхронные операции только через него делаются?

Ответы>>816431

09 Авг, 07:28 #65 #816431

>>816429
Просто он даун.

09 Авг, 15:13 #66 #816598

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

Ответы>>816605

09 Авг, 15:35 #67 #816605

>>816598
А что пишет у меня на IDEA CE не подчеркивает?

Ответы>>816608

09 Авг, 15:37 #68 #816608

>>816605
Ничего. Как пример:
lateinit var presenter: Presenter

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

Ответы>>816617

3 Кб, 189x43

91 Кб, 1276x401

09 Авг, 15:53 #69 #816617

>>816608
Если ты про это (пик 1), то так подчеркиваются любый изменяемы объекты (свойства, переменные и тд).
Отключается в настройках темы (пик 2).

Хотя это ведь не спроста. В котлине более идиоматично использовать immutable свойства и переменные.
И "плавающих" ошибок меньше будет из-за хранения изменяемого стейта.

Ответы>>816679

09 Авг, 17:15 #70 #816679

>>816617
Вот как чувствовал, что тот даун и котлинофаг - это одно лицо. Так и оказалось.

09 Авг, 18:19 #71 #816697

>>815789
На хабре есть нормальное описание MVP, где все разжевано более чем достаточно...
Линк: https://habrahabr.ru/post/278815/

Ответы>>816782

09 Авг, 20:12 #72 #816782

>>816697
Настолько MVP, что у них модель через ивент-бас с представлением общается.
Десять MVP из десяти просто

09 Авг, 21:20 #73 #816841

Android Studio
Бывает такое, что код ведет себя не адекватно в определенном классе, будто его изменения не влияют на работу? Потом ты удаляешь апп, ребилдишь и все встает на свои места?
Я уже который раз трачу время в пустую, когда нужно почистить прост :)

Ответы>>816842>>816847>>816892

09 Авг, 21:21 #74 #816842

>>816841
Бывает.

09 Авг, 21:27 #75 #816847

>>816841
instant run?

Ответы>>816853

09 Авг, 21:33 #76 #816853

>>816847
Нет, я даже выгружаю приложение руками.
На мой взгляд это пиздец

Ответы>>816893

09 Авг, 22:28 #77 #816892

>>816841
Да, ресурсы пропадают, и падает с БЭД НОТИФИКЕЙШОН. Все этот инстант ран, чего не сделаешь ради быстрой сборки.

09 Авг, 22:28 #78 #816893

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

09 Авг, 22:43 #79 #816903

Аноны, как правильно поступать в такой ситуации: например, у меня есть 3 фрагмента. В первом должен быть просто тулбар, во втором коллапсинг тулбар, в третьем тулбар с табами. Мне в мою хост-активити надо бахнуть в тулбар всё возможное и потом, смотря какой фрагмент, делать что-то visible, а что то gone?

Ответы>>816917>>818221>>818360

09 Авг, 23:10 #80 #816917

>>816903
Да

60 Кб, 590x871

10 Авг, 04:38 #81 #817003

Аноны, подскажите, я смогу в андроид N использовать java-либы скомпилированные в байткод восьмой джавы (там где версия класс файлов 52)?

10 Авг, 05:23 #82 #817005

>>815712
Есть какое-то мосби, и ему подобные решения.
С лоадерами, файлами и т.д. - это пихают уже в зависимости от реализации либо отдельно, либо в презентер, либо во активити/фрагмент.
Советую определиться с тем, что ты хочешь. Разные реализации хорошо подходят под некоторый круг задач. Топового решения нет.

Алсо, многие юзают мвп чисто для разделения логики.

10 Авг, 07:27 #83 #817014

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

Ответы>>817015

10 Авг, 07:33 #84 #817015

>>817014
F R E E D O M/ Lucky Patcher

Ответы>>817016

10 Авг, 07:36 #85 #817016

>>817015
ШТОБЕ ГУГЛ МНЕ ВСЮ ПАРНУХУ УДАЛИЛ И В ПЛОНШЕТ НИЗАХОДИЛО!?!?!?!?
фридом требует аккаунт гугля, лакипатчер на то и лаки что не всегда выходит. Плюс, есть игрули в которых нихуя доната нету, но читерить в них хочется.

74 Кб, 301x530

10 Авг, 08:24 #86 #817019

Имеется такая разметка
<LinearLayout...>
<FrameLayout...
android:id="@+id/fragmentContainer">
<ImageButton.../>
<ImageButton.../>
<ImageButton.../>
</FrameLayout >
</LinearLayout >
и примерно такой код:
public void onClick(View v)
{
...
transaction= fragmentManager.beginTransaction();
transaction.replace(R.id.fragmentContainer,fragments[color]);
transaction.commit();
}

Результат на картинке: фрагмент рисуется поверх кнопок.
Как сделать, чтобы кнопки рисовались поверх фрагмента?

Ответы>>817023

10 Авг, 08:46 #87 #817023

>>817019
Вынеси fragmentContainer в отдельный framelayout

|FrameLayout|
-|FrameLayout (@+id/fragmentContainer)|
-|LinearLayout|
--|ImageButton|
--|ImageButton|
--|ImageButton|

Ответы>>817025>>817029

10 Авг, 08:48 #88 #817025

>>817023
Спасибо, попробую

10 Авг, 09:04 #89 #817029

>>817023
Еще раз спасибо, заработало!

10 Авг, 10:07 #90 #817048

Подскажите способ отправки файлов метров по 50-100 по http без outofmemory? Я использую multipart, в котором дроблю его на пятиметровые куски, но где-то на четвертом оно падает

Ответы>>817053>>817054>>820387

10 Авг, 10:15 #91 #817053

>>817048
> отправки файлов метров по 50-100 по http без outofmemory
FileInputStream

> Я использую multipart
Через что ты отправляешь (URL, Retrofit, HttpClient)?

Ответы>>817055

10 Авг, 10:17 #92 #817054

>>817048
Отправки куда? Тот же твиттер с фейсбуком таки поддерживают твой способ, в котором нужно указыват байтовые смещения.

Ответы>>817055

10 Авг, 10:17 #93 #817055

>>817053
HttpUrlConnection обычный
>>817054
просто на некий сервер

Ответы>>817057>>817058

10 Авг, 10:20 #94 #817057

>>817055
> где-то на четвертом оно падает
Покажи код, похоже у тебя утечка

Ответы>>817062

10 Авг, 10:20 #95 #817058

>>817055
А этот некий сервер сервер поддерживает такой аплоад чанками?
Да и вообще проще код показать.

Ответы>>817062

10 Авг, 10:31 #96 #817062

>>817058
чанки, точно. Вот в какую сторону надо гуглить...
>>817057
код такой
http://pastebin.com/ZPXLGjic

Ответы>>817071

10 Авг, 10:45 #97 #817071

>>817062
Пробуй flush после каждой записи буффера.

Ответы>>817116

10 Авг, 11:15 #98 #817080

Есть какой-то нормальный виджет, который можно с любой позиции влево и вправо свайпать? А то все зацикленные вьюпейджеры какие-то хуевые.

10 Авг, 11:55 #99 #817089

>>814733 (OP)
на чём разрабатывать, если все ide на java -ресурсоёмкое тормознутое говно?

Ответы>>817094>>817111

10 Авг, 11:58 #100 #817094

>>817089
Не разрабатывай. У меня все летает, проблемы на вашей стороне.

Ответы>>817598

10 Авг, 12:28 #101 #817111

>>817089
Попробуй в Atom или VIM, собирать один хрен в конце придется через gradle.

Так же разработку "бизнес слоя" можно вынести в отдельном java-se модуль
и проверять правильность юнитестами, выполняемыми на дексктопной java.
Дядя Боб скажет "молодца".

10 Авг, 12:35 #102 #817116

>>817071
не помогло

Ответы>>817117>>817140

10 Авг, 12:36 #103 #817117

>>817116
Подключи ретрофит и отправь через него, должно работать норм. Или ручками через okio.

10 Авг, 13:47 #104 #817140

>>817116
Скинь эксепшен и точно место где он возникает.

Ответы>>817154

10 Авг, 14:18 #105 #817154

>>817140
http://pastebin.com/6mv7ESMp
Вот здесь
dos.write(buffer, 0, bytesRead);

Ответы>>817172

10 Авг, 14:45 #106 #817172

>>817154
Добавь conn.setChunkedStreamingMode(0)

Ответы>>817371

10 Авг, 14:58 #107 #817183

Сап, кто работал с Glide. Возможно ли с помощью этой либы спокойно работать с ImageButton?

Ответы>>817364

10 Авг, 19:42 #108 #817364

>>817183
Не работай с ImageButton. Нахуй она тебе нужна? Что ты подразумеваешь под "спокойно работать"? Загрузить (+ трансформировать) картинку без еботни в ImageButton можно так же как и в ImageView.

Ответы>>817386

10 Авг, 20:01 #109 #817371

>>817172
Кажется, это колдунство заработало. Осталось только понять почему

Ответы>>817603

10 Авг, 20:27 #110 #817386

>>817364
Не работай с ImageButton. Нахуй она тебе нужна?
а какие альернативы?

Ответы>>817431>>817549

10 Авг, 21:30 #111 #817431

>>817386
загружать картинку для кнопки какой-то маразм

11 Авг, 00:38 #112 #817549

>>817386
Чего тебе не хватает в ImageView?

Ответы>>818222

11 Авг, 06:40 #113 #817598

>>817094
конечно на нашей: заоблачные системные требования java ide не удовлетвворил. На заоблачность требований всем похуй.

11 Авг, 07:10 #114 #817603

>>817371
>This method is used to enable streaming of a HTTP request body without internal buffering
Буффер съедал всё память

12 Авг, 01:33 #115 #818217

>>814746
Пожуй какашек, ебанашка.
небось 4гб оперативки?

12 Авг, 01:45 #116 #818221

>>816903
Нет

Ответы>>818279

12 Авг, 01:49 #117 #818222

>>817549
ImageButton

Ответы>>818272

12 Авг, 09:04 #118 #818269

В DI нужно иметь отдельный компонент на каждый экран, или один единый компонент инжектящий во все возможное?
Если будут разные компоненты, то синглтоны же будут синглтонами на компонент или на все приложение?

12 Авг, 09:09 #119 #818272

>>818222
Повторяю вопрос. Что для тебя есть в ImageButton'е такого, чего нет в ImageView?

Ответы>>818929

12 Авг, 09:46 #120 #818279

>>818221
Ну а как надо?

Ответы>>818300>>818936

12 Авг, 10:30 #121 #818300

>>818279
Сделать разные активити? Чет слабо верится что это все у тебя через дровер связано, а если связано то нахуй такой дизайн.

Ответы>>818343

12 Авг, 11:10 #122 #818343

>>818300
А, ясно

Ответы>>818488

12 Авг, 11:29 #123 #818360

>>816903
Просто объяви тулбары внутри фрагментов, а активити сделай NoActionBar

12 Авг, 11:39 #124 #818364

Двощ у меня апатия. Пытаюсь стать джуниором, сделал пару проектов. Ну как, сделал. Функционал довольно примитивный, дизайна нет, но кое-что изучил по ходу работы.
Два круда с некоторым функционалом и один дёргающий данные из рест апи и показывающий картинки в gridview.
Заебали, довёл до определённой логической стадии и видеть их не могу. Решил отдохнуть от практики и подучиться немного.
Какие мастхэв скиллы должны быть у джуниора?
Из того что точно ещё не использовал/не знаю: ContentProvider, Loader, анимации, датчики, камера, микрофон, карты. Не использовал почти никаких либ, хотел бы разузнать зачем и куда применить хуиту типа dagger, rxjava, event bus.
Хотел бы попробовать MVP или чистую архитектуру, но в туториалах везде куча библиотек используется, да и не знаю надо ли мне всё это на данном этапе.
Короче, куда мне сейчас податься? Есть пару туториалов по библиотекам и MVP, есть курсы на юдасити, есть гайды в Busy Coder’s Guide.

Ответы>>818387

12 Авг, 12:21 #125 #818387

>>818364
Устраиваешься джуниором.

Ответы>>818410

12 Авг, 13:15 #126 #818410

>>818387
А что, этого хватит на джуна? В хохлостране сейчас не оче с вакансиями, боюсь никто не возьмёт меня такого как сейчас.
Энивей, я смогу на фуллтайм пойти только начиная с октября, поскольку есть некоторые дела ИРЛ. Вот думаю до этого времени скилл поднять.

Ответы>>818416

12 Авг, 13:20 #127 #818416

>>818410
>только начиная с октября, поскольку есть некоторые дела ИРЛ
Иди лучше к перездачам готовься, а то в котле придется джинуть

Ответы>>818430>>818513

851 Кб, 651x922

12 Авг, 13:34 #128 #818430

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

12 Авг, 15:50 #129 #818488

>>818343
Что тебе ясно, ммм?

Ответы>>818514>>818557

12 Авг, 16:30 #130 #818513

>>818416
Зарепорил промытого дауна.

12 Авг, 16:30 #131 #818514

>>818488
Что твоя мать шлюха.

12 Авг, 17:24 #132 #818557

>>818488
>это все у тебя через дровер связано, а если связано то нахуй такой дизайн.

12 Авг, 18:14 #133 #818586

Сап, аноны, выручайте. Пишу список, добавление в который производится динамически. Для каждого View использую ViewHolder ибо элементов внутри вьюхи много. Сначала добавляю первый элемент, все ок, создаю View, нахожу все что внутри и пишу это в ViewHolder. Когда я добавляю в список ВТОРОЙ элемент, и вызываю notifyDataSetChanged(), происходит вот что:
1. Вызывается getView() для первого элемента, convertView равен null (при этом помним что у первого элемента уже было ранее созданное View), поэтому приходится заново его создавать и все находить.
2. Вызывается getView() для второго элемента, при этом в качестве convertView выступает то View, который раньше (еще до добавления второго элемента в список) использовалось для первого, соответственно все ссылки в его ViewHolder'е указывают на вьюшки первого элемента списка, и приходится находить их сначала. Если бы для первого элемента можно было использовать то View, которое для него использовалось раньше, а для второго создавать новое, то все было бы збс. Можно ли это как-то организовать? Я спрашивал здесь: http://stackoverflow.com/questions/38790574/getview-has-its-convertview-null-for-already-existed-item-when-i-add-new-item, но там написали что сделать этого нельзя, мб тут кто-нибудь шарит? RecyclerView не предлагать

Ответы>>818609>>818611

12 Авг, 18:38 #134 #818609

>>818586
>Для каждого View использую ViewHolder
как я понял, тебе нет смысла юзать ресайклер вью, всё равно там нечему ресайклиться. Складывай всё просто в скролл вью

12 Авг, 18:40 #135 #818611

>>818586
Я не понимаю, в чем твоя проблема. Ну уйдет твоя конверт вьюха второму элементу, пиздец потеря. Ты все равно вьюхам будешь данные назначать в любом случае, даже если они там есть.
> RecyclerView не предлагать
Схуяли? Хотя он все равно тебе перебиндит вьюху.

Ответы>>818618

12 Авг, 18:52 #136 #818618

>>818611
>>818611
Дело не в назначении данных, ViewHolder хранит ссылки на вьюхи, входящие в состав элемента списка, а потеря в том, что тогда придется находить все эти вьюхи заново (около 20 элементов на каждый элемент списка). Причем даже если convertView != null это не означает что можно просто достать все из ViewHolder, придется заново вызывать findViewById() для каждой вьюхи и только потом присваивать им значения. Более того, раз уж теперь convertView != null не гарантия того, что не нужно искать вьюхи заново, искать их придется и в том случае, когда мы просто пролистываем список (хотя в этом случае их как раз таки можно взять из ViewHolder)

Ответы>>818622

12 Авг, 19:13 #137 #818622

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

Ответы>>818627

12 Авг, 19:21 #138 #818627

>>818622
Смотри, если взять случай со вторым элементом списка, convertView != null, но во вьюхолдере этого convertView хранятся ссылки на вьюхи первого элемента, поэтому придется их искать заново чтобы они ссылались на вьюхи второго элемента. Тут без поиска точно не обойтись. Можно конечно вообще не использовать вьюхолдер, но он как раз-таки нужен в тех случаях, когда getView() вызывается не при добавлении нового вью в список, а при скроллинге.

Ответы>>818628

12 Авг, 19:27 #139 #818628

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

Ответы>>818641

12 Авг, 19:59 #140 #818641

>>818628
>Во вьюхолдере convertView хранятся ссылки на вьюхи внутри этого convertView
Ну я с этим и не спорил вроде

Мне кажется ты просто не понял меня. Когда я вызываю getView для второго элемента, в качестве convertView я получаю то View, которое раньше использовалось для первого элемента, а значит внутри вьюхолдера этого конкретного convertView хранятся ссылки на те вьюхи, которые используются в данный момент первым элементом списка, правильно?

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

Ответы>>818646>>818834

12 Авг, 20:09 #141 #818646

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

Ответы>>818649

12 Авг, 20:19 #142 #818649

>>818646
Просто тогда получается, что если не находить вьюшки заново, то все вьюшки любого элемента списка будут ссылаться на вьюшки первого элемента (так собственно оно и есть, когда я например чекаю чекбокс в 6-м элементе он чекается у всех остальных тоже)
>состояния нажата кнопка, не нажата, ты должен хранить не во вьюхе
Хм, спасибо, подумаю над этим

13 Авг, 01:25 #143 #818789

Ребят, поясните за The Busy Coder’s Guide to Android Development. Читал некую русскоязычную литературу по андрею. Хочу перекатиться в англоязычную The Busy Coder’s Guide to Android Development.
Есть ли вариант вникать в такую литературу, учитывая несильный английский?

13 Авг, 02:21 #144 #818800

Не совсем понял. Почему у меня при создании проекта с минимальным API 14:
class MainActivity extends AppCompatActivity

?

С какой версии можно использовать Activity?

Ответы>>818803>>818804

13 Авг, 02:26 #145 #818803

>>818800
С 4.0 же можно?
AppCompatActivity только для устройств с < 4.0 ведроидом?

13 Авг, 02:28 #146 #818804

>>818800
И вообще, есть ли смысл использовать Activity вместо AppCompatActivity? То же самое, но + обратная совместимость, разве нет?

Ответы>>818806>>818839

13 Авг, 02:32 #147 #818806

>>818804
Я так понимаю, раз минимальное API 14 - то я могу спокойно использовать Activity, а на других приложение все равно не запустится?

13 Авг, 02:47 #148 #818809

Почему Material design выглядит, словно даун-первоклассник нахуярил в паинте кружков и прямоугольников из двух вырвиглазных цветов?
Почему отсутствие дизайна в куче статей называется "то касается визуально-функциональной части, то Google удалось объединить принципы хорошего дизайна с инновациями и возможностями новых технологий и науки.

Material design базируется на тактильной реальности, вдохновлен изучением бумаги и чернил, технологически продвинут и открыт для воображения и магии."?

Ответы>>818810>>818839

13 Авг, 02:50 #149 #818810

>>818809
Потому что. Дизайнеры решили. Ты не дизайнер, и вообще способен только на субъективные оценочные суждения.

13 Авг, 04:28 #150 #818823

До меня тут дошло наконец, что мне нужен МЕНТОР, т.к. я застопорился.
Либо готов вступить в проект.
вкtiper2014
Рассмотрю задания энивэй я вообще за любую движуху

Ответы>>818824

13 Авг, 04:32 #151 #818824

>>818823
Сколько готов заплатить?

Ответы>>818825

13 Авг, 04:32 #152 #818825

>>818824
по стандартному прайсу

Ответы>>818826

13 Авг, 04:33 #153 #818826

>>818825
20к есть в месяц?

Ответы>>818827

13 Авг, 04:37 #154 #818827

>>818826
найду

13 Авг, 07:10 #155 #818834

>>818641

Оказалось что проблема была в том, что listView по высоте был выставлен в wrap_content, из-за этого для отрисовки каждого элемента списка getView вызывался по 2 раза, при этом в качестве convertView передавался один и тот же элемент (хз почему). Исправил на match_parent и все заработало

13 Авг, 07:50 #156 #818839

>>818804
> Activity вместо AppCompatActivity
Если хочешь разный дизайн на разных устройствах то юзай. AppCompatActivity тащит за собой материал дизайн.
>>818809
Ну ананасу с харкача виднее как дизайн делать. Можешь портировать иос дизайн на ведро 1 в 1, есть каста самых пришибленных заказчиков, они как раз так обожают.

13 Авг, 13:28 #157 #818929

>>818272
мммб ImageButton

13 Авг, 13:38 #158 #818936

>>818279
Ну, например, у меня сделано так.
Есть класс от которого наследуются все фрагменты, например "BaseFragment".
На стадии создания активити, я запихиваю все свои фрагменты во фрагментменеджер и хайдю их там, чтобы они не перерисовывались.
В базовом классе я проверяю при изменении статуса isHidden

http://pastebin.com/btBVwZa9 и пихаю тулбары, которые прописаны в лейаутах фрагментов.
Подводных камней не вижу.

13 Авг, 18:34 #159 #819144

Какой смарт лучше купить для тестов? Нексус?

Ответы>>819186

13 Авг, 19:29 #160 #819186

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

Ответы>>819187

13 Авг, 19:31 #161 #819187

>>819186
Спасибо, ну есть эмуляторы.

Ответы>>819188

13 Авг, 19:33 #162 #819188

>>819187
заебешься на эмуляторах все тестить.

14 Авг, 11:38 #163 #819505

Пытался привинтить navigation drawer. Спросил у коллеги в двух словах описать как это делается и тот направил подсмотреть в шаблонах студии. Смотрел туда и еще статейку из гугла, где наворотили и табы и тулбар, и все что угодно. В шаблоне тоже наворочено много ненужной мне левоты через координаторы. Понял, что не понимаю как работает координатор и много много смежных элементов.
Короче, вопрос такой: где почитать (на русском языке, желательно) последовательной от простого к сложному информации по теме? Это же называется material design?

Ответы>>819530

14 Авг, 11:56 #164 #819511

Анончики, как через VK API получить список групповых чатов? У самого VK API какая-то бедная документация.

У меня сейчас так:
//----------------------------------------------------------
@Override
public void onActivityResult(final int requestCode, int resultCode, Intent data)
{
if(VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>()
{
@Override
public void onResult(VKAccessToken res)
{
mAccessToken = res;
}

@Override
public void onError(VKError error)
{
finishActivity(requestCode);
}
}))
{
super.onActivityResult(requestCode, resultCode, data);
}

VKRequest dialogsRequest = VKApi.messages().getDialogs(VKParameters.from(VKApiConst.ACCESS_TOKEN, mAccessToken,
VKApiConst.COUNT, 200));
final VKCommentArray dialogs = new VKCommentArray();

dialogsRequest.executeWithListener(new VKRequest.VKRequestListener()
{
@Override
public void onComplete(VKResponse response)
{
super.onComplete(response);

try
{
dialogs.parse(response.json);
} catch (JSONException e)
{
e.printStackTrace();
}
}

@Override
public void onError(final VKError error)
{
Log.i("ERROR", error.toString());
}
});
}
//----------------------------------------------------------

Но реквест всегда выполняется с ошибкой. В error.toString() строка "VKError (API errorVKError (code: 15; ; Access denied: no access to call this method))".

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

14 Авг, 11:56 #164 #819511

Анончики, как через VK API получить список групповых чатов? У самого VK API какая-то бедная документация.

У меня сейчас так:
//----------------------------------------------------------
@Override
public void onActivityResult(final int requestCode, int resultCode, Intent data)
{
if(VKSdk.onActivityResult(requestCode, resultCode, data, new VKCallback<VKAccessToken>()
{
@Override
public void onResult(VKAccessToken res)
{
mAccessToken = res;
}

@Override
public void onError(VKError error)
{
finishActivity(requestCode);
}
}))
{
super.onActivityResult(requestCode, resultCode, data);
}

VKRequest dialogsRequest = VKApi.messages().getDialogs(VKParameters.from(VKApiConst.ACCESS_TOKEN, mAccessToken,
VKApiConst.COUNT, 200));
final VKCommentArray dialogs = new VKCommentArray();

dialogsRequest.executeWithListener(new VKRequest.VKRequestListener()
{
@Override
public void onComplete(VKResponse response)
{
super.onComplete(response);

try
{
dialogs.parse(response.json);
} catch (JSONException e)
{
e.printStackTrace();
}
}

@Override
public void onError(final VKError error)
{
Log.i("ERROR", error.toString());
}
});
}
//----------------------------------------------------------

Но реквест всегда выполняется с ошибкой. В error.toString() строка "VKError (API errorVKError (code: 15; ; Access denied: no access to call this method))".

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

Показать весь текст
Ответы>>819524>>822819

14 Авг, 12:06 #165 #819518

Сап, подскажите какую базу данных лучше использовать для выгрузки данных из интернета в приложение. MySQL?

Ответы>>819519

14 Авг, 12:09 #166 #819519

>>819518
SQLite

Ответы>>819583

84 Кб, 918x410

14 Авг, 12:26 #167 #819524

>>819511
Читать умеешь?

Ответы>>819532

14 Авг, 12:32 #168 #819530

>>819505
Все очень просто.
1) Базовый DrawerLayout, так в принципе уже мало смысла делать: https://developer.android.com/training/implementing-navigation/nav-drawer.html
2) С "новым" NavigationView: http://www.android4devs.com/2015/06/navigation-view-material-design-support.html

А вообще если ты не можешь разобраться в семплах, то пизда тебе короче.

Ответы>>819543>>820408

16 Кб, 189x538

14 Авг, 12:34 #169 #819532

>>819524
Это какой из?

Ответы>>819541

14 Авг, 12:45 #170 #819541

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

Ответы>>819546

14 Авг, 12:47 #171 #819543

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

Ответы>>819544

14 Авг, 12:49 #172 #819544

>>819543
С NavigationView это всеравно проще будет скорее всего.

14 Авг, 12:55 #173 #819546

>>819541
Это в VKSdk.login()?

Я вызываю VKSdk.login(this, null). И не ебу, что можно поставить вместо null. Сигнатура функции такая:
VKSdk.login(Activity runningActivity, String... scope);

Что такое scope? Что он вообще должен делать? Гугл-переводчик переводит это как "объём". Какой нахуй объём?

В документации ни слова нет об этой функции. Примеров тоже нет. Я догадываюсь, что вместо scope нужно что-то подставить, но не ебу что.

Ответы>>819550>>819551>>819560

14 Авг, 12:58 #174 #819550

>>819546
>String... scope
Это разрешения, которые запрашивает приложение при доступе к функционалу ВК.

Ответы>>819552

14 Авг, 13:01 #175 #819551

>>819546
>Что такое scope? Что он вообще должен делать? Гугл-переводчик переводит это как "объём". Какой нахуй объём?
Ты нахуй сюда пришел? Ты документацию читал? Ещё что-то где-то посматривал?
Банально, сука, открой сорцы VKSdk

/
Starts authorization process. If VK app is available in the system, it will be opened
to request access from user. Otherwise, UIWebView with standard UINavigationBar will be used.

@param activity current running activity
@param scope array of permissions for your applications
/
public static void login(@NonNull Activity activity, String... scope) {
VKServiceActivity.startLoginActivity(activity, requestedPermissions = preparingScopeList(scope));
}

Ответы>>819553

14 Авг, 13:02 #176 #819552

>>819550
То есть я, например, должен вызвать VKSdk.login(this, "messages")?

Хуле об этом в документации не написано? Почему даже примеров нет? Пиздец. Блядь, ну посмотрите вы на MSDN - образец превосходной документации. На каждую(каждую, блядь!) функцию расписаны подробно все её параметры, какими они могут быть, что должны делать, ещё и примечания внизу на случай самых разных непоняток. А тут "ну короче у нас есть такая функция, используйте её, только мы не скажем, как".

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

Пиздец, просто пиздец.

Ответы>>819555>>819560>>820682

14 Авг, 13:03 #177 #819553

>>819551
А, это же джава. Документация не там, где она должна быть, а по сорцам размазана тонким слоем.

Ответы>>819559

14 Авг, 13:08 #178 #819555

>>819552
>Хуле об этом в документации не написано?
Ой, все. Иди нахуй, жопочтец.

Ответы>>819565

14 Авг, 13:11 #179 #819559

>>819553
И это хорошо.

Ответы>>819565

14 Авг, 13:14 #180 #819560

>>819546
>>819552
Ты просто не очень умный. Ничего страшного. JS тред вперед по коридору и на лево.

Ответы>>819561>>819567

14 Авг, 13:14 #181 #819561

>>819560
Ссылку забыл, вот ВСЕ расписано с примером блять рабочего приложения. https://github.com/VKCOM/vk-android-sdk

Ответы>>819563

14 Авг, 13:16 #182 #819563

>>819561
Я думаю с жс ему будет тоже сложно. Пусть уебывает дворы мести.

Ответы>>819574

14 Авг, 13:18 #183 #819565

>>819555
Да, давайте хранить документацию непонятно где, а потом называть всех жопочтецами.

>>819559
Чем хорошо-то?
Блядь, джава же - ООП-язык. Её создатели должны понимать важность таких вещи, как инкапсуляция и отделение чёрного от белого. Тогда хули у них сорцы вперемешку с документацией идут, когда это две отдельных сущности? Хуле пользователю нужно залезать во внутренности реализации, чтобы узнать, как обращаться с интерфейсом? Где основные принципы, блядь?

Блядь, и так у них в этом плане всё хуже, чем в C++, так нет же, они ещё дополнительно всё смешивают. Так делать нельзя.

Ответы>>819569>>819570>>819571

14 Авг, 13:19 #184 #819567

>>819560
Странно, что в C++ таких проблем не возникает. МОЖЕТ, ПОТОМУ, ЧТО ТАМ УМЕЮТ ДЕЛАТЬ ДОКУМЕНТАЦИЮ?

Ответы>>819571

14 Авг, 13:21 #185 #819569

>>819565
Отделил свое жидкое от своего длинного за твою щечку. Проверяй.

14 Авг, 13:22 #186 #819570

>>819565
> Тогда хули у них сорцы вперемешку с документацией идут
Алло, твой MSDN генерится автоматически с исходников. Так же работает и javadoc.
https://msdn.microsoft.com/en-us/library/5ast78ax.aspx

Ответы>>819575

14 Авг, 13:24 #187 #819571

>>819565
>>819567
Ой вася, javadoc это приятное дополнение. Документация зависит от создателя, а не от языка. Команда ВК не потрудилаьс сделать отдельную доку, но у самой джавы и андроида, а так же хороших либ есть свои документации где все расписано.

Ответы>>819575

14 Авг, 13:26 #188 #819574

>>819563
Это форс какого-то поехавшего из джава треда, всех направляет в js. Я только ленивых туда отправляю.

14 Авг, 13:29 #189 #819575

>>819570
Ты не на тот язык документацию смотришь. Вот примеры превосходной, написанной вручную документации:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff551072(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ff476082(v=vs.85).aspx

>>819571
Ну допустим, тут ты прав. В любом случае, документация VK API - говно. А оставлять в продакшене в качестве документации комменты в сорцах может только идиот.

Ответы>>819577>>819578

14 Авг, 13:32 #190 #819577

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

Ответы>>819580

14 Авг, 13:33 #191 #819578

>>819575
>А оставлять в продакшене в качестве документации комменты в сорцах может только идиот.
Ебаните этому дебилу чем нибудь тяжелым по голове.

Ответы>>819585

14 Авг, 13:34 #192 #819580

>>819577
Но они могли хотя бы сделать отдельную веб-страничку с описанием всех методов для Android SDK. И читать удобно, и в сорцы лезть не надо.

В любом случае, всем спасибо.

Ответы>>819581

14 Авг, 13:35 #193 #819581

>>819580
>и в сорцы лезть не надо
И еще пальцы молотком отбейте, чтобы никогда печатать не смог.

Ответы>>819585

14 Авг, 13:38 #194 #819583

>>819519
так, а как её связать с хостингом?

Ответы>>819589

14 Авг, 13:39 #195 #819585

>>819581
>>819578
Как ты вообще с такими понятиями на ООП-языке пишешь?

Ответы>>819586

14 Авг, 13:41 #196 #819586

>>819585
Очевидно что лучше чем ты. А ты в каком то манямирке живешь.

Ответы>>819597

14 Авг, 13:43 #197 #819589

>>819583
Кажется тебе ответили на другой вопрос. Ты спрашиваешь какую базу тебе использовать на бекенде, или какую базу тебе использовать на клиенте? Если второе, то конечно SQLite, а как ты связывать атм будешь, ну хуй знает, можешь с сокетами поебаться, можешь SOAP, моешь REST Api. Тебе открыты все двери.

14 Авг, 13:55 #198 #819597

>>819586
>лучше чем ты
>Не умеет отделять интерфейс от реализации
Нет, ну ты серьёзно?

Ответы>>819618

14 Авг, 14:11 #199 #819607

Так задемпинговать рынок - это надо постараться

https://hh.ru/resume/25064bdf00020df79e0039ed1f776b326e4b36?query=Android
https://hh.ru/resume/a18adba50001ce6ce50039ed1f725a6f6a3548?query=Android
https://hh.ru/resume/891c957b0002dd62780039ed1f503762326f48?query=Android
(вообще пушка, 10к рублей)

https://hh.ru/resume/722403a50002cbcacf0039ed1f394b384e3344?query=Android
https://hh.ru/resume/62241aaf00021cdeac0039ed1f724737414f43?query=Android

ЗП меньше тестеров, блять

Ответы>>819618

14 Авг, 14:25 #200 #819618

>>819597
Что ты несешь?
>>819607
Это ж джуны.

14 Авг, 15:32 #201 #819671

Аноны, поясните за тестирование.

Есть одно приложение, которое построено вокруг взаимодействия с несколькими сетевыми API. Для каждого апи есть класс-обертка, методы которого оборачивают параметры в HTTP запрос и шлют его на сервер.

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

Тестирование при этом проводится автоматически на CI-сервере, так что вариант "перед тестами вручную что-то менять в коде" не катит.

Я пока вижу два варианта:
1) В коде теста в явном виде вызывать метод у моей Activity, который запишет в нее нужный мне экземпляр апи.
2) Выделить Factory этих апи, сделать отдельный flavour для теста и для реальной версии, в которых они будут отличаться буквально в одной строчке кода - в реальном создаваеом классе.

Есть еще какие-то Dependency Injection типа Dagger 2, я их смотрел но они мне кажутся какими-то дохуя навороченными для такой простой задачи.

Ответы>>819703>>820439

14 Авг, 16:08 #202 #819703

>>819671
>тестирование
>2016

Ответы>>819803>>822458

14 Авг, 17:00 #203 #819730

Гугл заменит java на swift
Пердаки горят

https://lenta.ru/news/2016/08/14/newgoogleos/

Ответы>>819734>>819736>>819751>>820228>>820688

14 Авг, 17:04 #204 #819734

>>819730
Скорее пердаки будут гореть у intellij

Ответы>>819752>>819770

5629 Кб, 432x232

14 Авг, 17:06 #205 #819736

>>819730
>лента

14 Авг, 17:29 #206 #819751

>>819730
В статье ни слова про свифт. Это очень даже хорошо если уберут все старые костыли и начнут заново.

Ответы>>820447

14 Авг, 17:30 #207 #819752

>>819734
А при чем тут жетбрейнс, их идеешки все равно лучше.

Ответы>>820684

14 Авг, 17:49 #208 #819770

>>819734
Им то че? У них аппкод есть.

Ответы>>820684

14 Авг, 18:20 #209 #819803

>>819703
> 2016
> писать глючный индусский код без тестирования и непрерывной интеграции

14 Авг, 19:05 #210 #819842

https://lenta.ru/news/2016/08/14/newgoogleos/

Сушим весла пацаны

Ответы>>819850>>820228

sage 14 Авг, 19:15 #211 #819850

>>819842
Глаза протри.

sage 15 Авг, 11:47 #212 #820228

>>819730
>>819842
Съеби, а?

15 Авг, 14:33 #213 #820330

Здарова, мужики. Чего-то у вас бедно по инструментам. Хочу вкатиться на месяц-другой, запилить чисто себе говноприлагу типа клиент могильный для сайта, но не хочу/не буду джяву. Ксамарин отпадает так как ради него не собираюсь ставить прошивку для игорь. Что еще есть? В курсе про ндк, это пиздец геморно. Сам чаще пишу на питоне и го. Выблядок хипстерский, ага Что посоветовать можете, кроме бочки и хуйцов?

Ответы>>820341>>820352

15 Авг, 14:46 #214 #820341

>>820330
cordova и съебать в js тред

Ответы>>820348

15 Авг, 14:53 #215 #820348

>>820341
Я натурал.

Ответы>>820396

15 Авг, 14:59 #216 #820352

>>820330
Напиши на Хаскелле. После го и питона вообще просто будет https://github.com/neurocyte/android-haskell-activity/blob/master/src/HaskellActivity.hs

Ответы>>820354

15 Авг, 15:02 #217 #820354

>>820352
Норм, спасибо

15 Авг, 15:43 #218 #820387

>>817048
Посмотри как это через retrofit делается, я конечно на 100 мегов не отправлял, но на 4-5 тянет легко

15 Авг, 15:56 #219 #820396

>>820348
Натуралы на андроид пишут на джаве, ну в крайнем случае на котлине. Если тебе сделать копию сайта то действительно cordova твой друг.

15 Авг, 16:12 #220 #820408

>>819530
Это опять я. Разобрался немного с шаблоном по nav-drawer-у. Но там создается немного не то. В шаблоне вызывается drawer по нажатию на кнопку в тулбаре, и все это делается через toggle. Я написал то же, что было здесь: https://developer.android.com/training/implementing-navigation/nav-drawer.html за исключением мест, связанных с этим toggl-ом. Казалось бы, пальцем уже можно что-то выдвинуть, но пока нихрена не выдвигается. Вообще, я пытаюсь привязать выдвижение drawer-а к какой-то своей кнопке на экране а тулбар вообще у меня отсутствует. Что мне делать?

Ответы>>820426>>820427>>820444

57 Кб, 738x1276

171 Кб, 1196x752

15 Авг, 16:31 #221 #820426

>>820408
Ну хуй знает, у меня все ОК.

Ответы>>820427>>820636

209 Кб, 1416x728

15 Авг, 16:32 #222 #820427

>>820426
>>820408
Лэйаут активити.

15 Авг, 16:42 #223 #820439

>>819671
Бамп вопросу. Неужели никто тут юнит-тесты на ведре не делает?

Ответы>>822473

15 Авг, 16:46 #224 #820442

Сап, резонно ли использовать AccountManager в более-менее крупном проекте ? (Авторизация через свой сервер со своими соотв. данными)

Ответы>>820579

15 Авг, 16:48 #225 #820444

>>820408
Если б-г разумом не наделил, то можешь например поюзать либу от Mike Penz-а, а так, статей по навигации тысячи

15 Авг, 16:50 #226 #820447

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

Ответы>>820451>>820465>>820491

15 Авг, 16:56 #227 #820451

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

15 Авг, 17:21 #228 #820465

>>820447
Андроид был типичным стартапчиком. Его побыстрому сляпали из говна и палок и вовремя заняли нишу.
Теперь, когда andorid принадлежит ~90% рынка, нужно переделывать нормально.

По опыту наблюдением за развитием WindowPhone, я тебе гарантирую, там будет:
1) обратная совместимость со старыми android приложениями
2) нормальное обновление в независимости от производителя (как у iOS/WP)

Так что для людей, которые учились программировать, а не задрачивать Java+AndroidAPI - все только в плюс.

Ответы>>820535>>820584

15 Авг, 17:43 #229 #820491

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

36 Кб, 428x359

320 Кб, 1440x900

15 Авг, 18:47 #230 #820535

>>820465
Господа, вот какое будущие нам готовит Google:
0) OS НЕ на ядре Linux, а чистая Виртуальная Машина, работающая прямо на железе
1) Atom вместо IDE
2) Dark вместо языка
3) ReactJS/Native стиль разработки UI и при этом полностью в коде
4) Кроссплатформа (android/ios/fuchsia) из коробки, это частино решит проблему миграции (android->fuchsia)
5) Material Design везде (и на iOS)

Пользователи macOS/Linux могут уже сейчас ощутить на губах вкус новой жизни https://flutter.io/getting-started/

Ответы>>820538>>820580>>820600>>820620>>821015>>822131

15 Авг, 18:51 #231 #820538

>>820535
>2) Dark вместо языка
2) Dart вместо языка

15 Авг, 19:29 #232 #820579

>>820442
Да.

sage 15 Авг, 19:30 #233 #820580

>>820535
Просто иди нахуй.

Ответы>>820589

sage 15 Авг, 19:34 #234 #820584

>>820465
> По опыту наблюдением за развитием WindowPhone
Это которая благополучно сдохла?

15 Авг, 19:38 #235 #820589

>>820580
Аноняшь, умерь агрессию, я же не говорю что это хорошо.
Я просто, принес последние новости из Android мира.

Ответы>>820593

sage 15 Авг, 19:43 #236 #820593

>>820589
Какие нахуй новости? Хватит всякое говно читать и новостями это называть. Заебали со своими истериками.

ГУГЛ ДУМАЕТ ПЕРЕЙТИ НА СВИФТ
ГУГЛ ДУМАЕТ ПЕРЕЙТИ НА ГО
ГУГЛ ДУМАЕТ ПЕРЕЙТИ НА РЕАКЕТЖС
ГУГЛ ХОЧЕТ ПЕРЕЙТИ НА ФУКСИЮ

И так, сука, каждый месяц. Необучаемые.

Ответы>>820601>>820613>>820688

15 Авг, 19:51 #237 #820600

>>820535
Какой смысл в этой говняной смеси из жса и жавы?

Ответы>>820616

15 Авг, 19:53 #238 #820601

>>820593
В истерике, здесь бьешься только ты небось еще и не java пишешь.

Интеллигентные разработчике #slack, с интересом обсуждают эту новость.
http://www.androidpolice.com/2016/08/12/google-developing-new-fuchsia-os-also-likes-making-new-words/

Ответы>>820605

sage 15 Авг, 20:00 #239 #820605

>>820601
> Хватит всякое говно читать и новостями это называть.

15 Авг, 20:05 #240 #820609

Раз в месяца 3 берусь за новый проект и заканчиваю подключением GCM и это пиздец.
Каждый раз всплывают какие то новые баги и несовместимости с обновлением множественных "модулей", рождаются новые костыли. Просто в голове не укладывается что я трачу на это время.
По сравнение с "этим" в iOS Apple уже все за тебя сделали.

15 Авг, 20:11 #241 #820613

>>820593
> ВРЕЕЕЕЕТИ
Задания жавараш уже подходят к концу? :3

Ответы>>820617

15 Авг, 20:14 #242 #820616

>>820600
>Какой смысл в этой говняной смеси из жса и жавы?
Ты про Dart? ХЗ, спроси у Google.
Наверное что бы подмять всех под себе: OS принадлежит Google, язык теперь тоже Google.

Хреновая вообщем тенденция, лучше бы сделали легкий дистрибутив Linux для мобилок.
Все бы, тогда писали бы на чем сами бы захотели.

sage 15 Авг, 20:16 #243 #820617

>>820613
Да-да, АНДРОИД СКОРО ВСЁ.
То его Ксамарин похоронит.
То РеактНэйтив.
Теперь вот Фуксия.

Джава тоже СКОРО ВСЁ.
Сначала её убъет Котлин.
Потом её убъет ЖС.
Потом её убъет Дарт.

Ответы>>820688>>826642

15 Авг, 20:20 #244 #820620

>>820535
Кстати, по последним данным вроде бы Intel Multi-OS Engine закрылся.
Видимо, Intel поняли что не смогу тягаться с Google на умирающей платформе.

Ответы>>820621

15 Авг, 20:22 #245 #820621

>>820620
Не пизди, они на той неделе новый релиз выкатили.

> на умирающей платформе
Што?

Ответы>>820668

213 Кб, 1232x726

33 Кб, 1054x196

71 Кб, 1198x208

15 Авг, 20:30 #246 #820625

ЧЯДНТ?
Intent intent = new Intent(this, RegistrationIntentService.class);
startService(intent);

Ответы>>820628>>820645>>820687

15 Авг, 20:34 #247 #820628

>>820625
в манифесте прописал?

Ответы>>820633>>820645

15 Авг, 20:43 #248 #820633

>>820628
МАНЯФЕСТ гыгыг

15 Авг, 20:49 #249 #820636

>>820426
Странно. Вроде тот же код, а работать не хотит
http://pastebin.com/YkfCPzGx

15 Авг, 21:01 #250 #820645

>>820628
>>820625
InstanceID instanceID = InstanceID.getInstance(getApplicationContext());
Вот так сработало без ошибки и выдало токен. Апи 17.

34 Кб, 518x266

71 Кб, 1013x505

15 Авг, 21:43 #251 #820668

>>820621
>Не пизди, они на той неделе новый релиз выкатили.
Ну ни трялль плиз
1) последний билд от 20 мая
2) форум разработчиков, уже в корзине

15 Авг, 21:53 #252 #820682

>>819552
>Я вот знаю только одно значения слова Scope - это область видимости внутри скобочек в языках программирования.
Говна тебе в кашу.

15 Авг, 21:55 #253 #820684

>>819752
>>819770
Они как бы котлин разрабатывают.

Ответы>>820887

15 Авг, 21:58 #254 #820687

>>820625
Нахуй тебе маслонож, когда есть православный датабиндинг?

15 Авг, 21:58 #255 #820688

>>819730
>>820593
>>820617

Ответы>>820800

16 Авг, 04:44 #256 #820800

>>820688
Оракле их просто доебало уже

16 Авг, 10:58 #257 #820887

>>820684
Да хоть очко себе пусть разрабатывают. Не велика потеря.

16 Авг, 13:40 #258 #820982

Я хуею с этого аподила, куча жарников с говном и это называется медиация, блять.
Вот такой вот замечательный стектрейс получаю:
Fatal Exception: java.lang.VerifyError: com/avocarrot/androidsdk/DeviceInfo
at com.avocarrot.androidsdk.Avocarrot.(Avocarrot.java:49)
at com.avocarrot.androidsdk.Avocarrot.getInstance(Avocarrot.java:108)
at com.avocarrot.androidsdk.BaseController.(BaseController.java:53)
at com.avocarrot.androidsdk.BaseController.(BaseController.java:47)
at com.avocarrot.androidsdk.AvocarrotCustom.(AvocarrotCustom.java:21)
at com.appodeal.ads.native_ad.c.a(Unknown Source)
at com.appodeal.ads.y$1.run(Unknown Source)
at android.app.Activity.runOnUiThread(Activity.java:4737)
at com.appodeal.ads.y.a(Unknown Source)
at com.appodeal.ads.y.a(Unknown Source)
at com.appodeal.ads.y$a.a(Unknown Source)
at com.appodeal.ads.r$b.a(Unknown Source)
at com.appodeal.ads.r$b.onPostExecute(Unknown Source)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5372)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:970)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:786)
at dalvik.system.NativeStart.main(NativeStart.java)

16 Авг, 13:40 #258 #820982

Я хуею с этого аподила, куча жарников с говном и это называется медиация, блять.
Вот такой вот замечательный стектрейс получаю:
Fatal Exception: java.lang.VerifyError: com/avocarrot/androidsdk/DeviceInfo
at com.avocarrot.androidsdk.Avocarrot.(Avocarrot.java:49)
at com.avocarrot.androidsdk.Avocarrot.getInstance(Avocarrot.java:108)
at com.avocarrot.androidsdk.BaseController.(BaseController.java:53)
at com.avocarrot.androidsdk.BaseController.(BaseController.java:47)
at com.avocarrot.androidsdk.AvocarrotCustom.(AvocarrotCustom.java:21)
at com.appodeal.ads.native_ad.c.a(Unknown Source)
at com.appodeal.ads.y$1.run(Unknown Source)
at android.app.Activity.runOnUiThread(Activity.java:4737)
at com.appodeal.ads.y.a(Unknown Source)
at com.appodeal.ads.y.a(Unknown Source)
at com.appodeal.ads.y$a.a(Unknown Source)
at com.appodeal.ads.r$b.a(Unknown Source)
at com.appodeal.ads.r$b.onPostExecute(Unknown Source)
at android.os.AsyncTask.finish(AsyncTask.java:632)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5372)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:970)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:786)
at dalvik.system.NativeStart.main(NativeStart.java)

Показать весь текст

16 Авг, 14:50 #259 #821015

>>820535
Занятно, мне понравилось на первый взгляд.

16 Авг, 16:58 #260 #821133

Двощ, помоги.

Все началось с того что мне нужно было установить картинку на весь экран. Она имела размер 1080h на 1920w пикселей. Ну выдало мне мне нехватку памяти. Полез разбираться - нужно юзать битмап и скейлить изображение. Окей, взял со stackowerflow метод - принимает 2 параметра необходимую высоту и ширину и скейлит изображение.

Вначале проверил на 600 на 600 - норм выглядит, норм работает.

Но дело в том что размеры экрана моего устройства (metrics.heightPixels и ширина) как раз 1080 на 1920. И самом собой при использовании метода по сжатию - мне опять выдает out of memory

+ меня смущает что при 600 на 600 она выглядит норм. Может исходный ресурс какое-то разрешение не верное имеет? Или блять что-то не в пикслях считает, а в dp?

Ответы>>821137>>821149>>821526

16 Авг, 17:00 #261 #821137

>>821133
Glide/Picasso/Universal Image loader в помощь. Юзают почти все

Ответы>>821151

16 Авг, 17:12 #262 #821149

>>821133
Что-то ты неправильно делаешь, видимо у тебя до загрузки картинки память уже забита.
Сделай дам прямо пере загрузкой и скинь картинкой.

Ответы>>821164

16 Авг, 17:15 #263 #821151

>>821137
Спасибо анон, но мне в чем тут проблема хотелось понять. В приложении только одна картинка и есть - фоновая. Не хотелось бы из-за нее одной фреймворк подключать и разбираться.

Эта картинка в drawable лежит. Может нужно в какой drawable-экстра hdpi засунуть?

Ответы>>821157

16 Авг, 17:23 #264 #821157

>>821151
В drawable-nodpi ставь. Обычный drawable в твоём случае скейлится в 3 раза, отсюда oom.

Ответы>>821164>>821171

16 Авг, 17:37 #265 #821164

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

http://www.codesend.com/view/fb5c2d7a4c9e32c4f28616b77ff9ed7c/

Вот расход памяти:

Memory 1117
Memory 1117
Memory 77912

>>821157
Спасибо, сейчас попробую

16 Авг, 17:48 #266 #821171

>>821157
Большое спасибо, после изменения начало хавать 13 метров. Настрою еще что бы на альфаканал не обращало внимание и может чуть уменьшу - вообще отлично будет. Который час уже с этим долбился, ты мой спаситель.

А можешь чуть развернетее объяснить почему так происходило? Оно в 3раза больший размер выводило?

Оно будет так же норм, если я буду пихать в свой drawable-xxhdpi, так?

Ответы>>821207

16 Авг, 18:41 #267 #821207

>>821171
> Оно в 3раза больший размер выводило?
drawable аналогичен drawable-mdpi.У тебя xxhdpi, это в 3 раза больше, чем mdpi, поэтому система сама скейлит картинки.
> Оно будет так же норм, если я буду пихать в свой drawable-xxhdpi, так?
Лучше drawable-nodpi, но я понятия не имею, что ты там делаешь вообще.

17 Авг, 07:26 #268 #821495

Привет анончики. Начал проходить курсы на udacity, там начинается с разметки приложения. RelativeLayout, LiniarLayout и т.д. Вообще ийзи идёт, что-то на уровне легкости html. Ну оно и не удивительно, похожие же языки разметки.

Но у меня есть вопрос: в сколько раз сама разработка сложнее, чем все эти разметки.

Ответы>>821498

17 Авг, 07:34 #269 #821498

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

Ответы>>821499

17 Авг, 07:38 #270 #821499

>>821498
Спасибо за ответ. Вот же пидоры. Выставляют все так, как будто разработка под андроид это легко и даже твоя бабка сможет её осилить, начиная с разметки. А то я так потрачу овер 9000 часов на разметку, а потом окажется что я не тащу собственно саму логику. И нахуй мне теперь все эти сраные атрибуты.

Ответы>>821500>>821674

17 Авг, 07:39 #271 #821500

>>821499
Да, это легко. Поначалу.

17 Авг, 09:58 #272 #821526

>>821133
>Окей, взял со stackowerflow метод
Stackoverflow Driven Development. Вся суть современных разработчиков.

Ответы>>821547

361 Кб, 500x656

17 Авг, 10:34 #273 #821547

>>821526
>Stackoverflow Driven Development
Все по книгам

104 Кб, 1450x386

17 Авг, 11:14 #274 #821571

Не, ну это уже вообще на грани фантастики. ЗАЩО

17 Авг, 14:20 #275 #821672

Аноны, подскажите пожалуйста.

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

Ответы>>821712

17 Авг, 14:26 #276 #821674

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

Ответы>>821695

17 Авг, 15:01 #277 #821695

>>821674
Мамкин программист с 300к/с подъехал?

37 Кб, 499x244

17 Авг, 15:13 #278 #821712

>>821672
>Как вытащить данные из базы данных?
Ташема секретов то тут и нет.
Тупа берешь через openOrCreateDatabase + rawQuery и вытаскиваешь.

Ответы>>821719>>821820

17 Авг, 15:16 #279 #821719

>>821712
> openOrCreate
> rawQuery
Ну ты и говноед

Ответы>>821741>>821746

17 Авг, 15:35 #280 #821741

>>821719
Иди нахуй, так деды еще в 45 кодили под 1.1 и нам велели.
Ты ветеранов андроид-разработки не уважаешь что-ли, сука?..

17 Авг, 15:40 #281 #821746

>>821719
Какие тогда альтернативы?

Ответы>>821752

17 Авг, 15:51 #282 #821752

>>821746
SQLiteOpenHelper
getReadableDatabase
query

Ответы>>821762>>821820

17 Авг, 16:08 #283 #821760

Прохожу курс от "Android Development for Beginners". Господи какой-то же он классный. А ведущая девушка азиатской внешности такая милая. Невозможно оторваться от курса. Только что по клику кнопки изменил число на экране. Эйфория. Порой даже верится что получится в программисты.

Ответы>>821763>>821772

17 Авг, 16:09 #284 #821762

>>821752
Ты еще провайдеры посоветуй

Ответы>>821798

17 Авг, 16:10 #285 #821763

>>821760
от Udacity
быстрофикс

17 Авг, 16:28 #286 #821772

>>821760
Хуйня, начинай сразу обычный курс по ведру.

Ответы>>821781

95 Кб, 469x866

17 Авг, 16:41 #287 #821781

>>821772
У меня щас охуенный флоу, не сбивай мне комбо. дай побыть еще в манямирке

Ответы>>821785>>822136

17 Авг, 16:44 #288 #821785

>>821781
>Закаать

Ответы>>821791

17 Авг, 16:48 #289 #821791

>>821785
Лол, даже не заметил. Не сплю с 2 ночи, мозг процентов на 40 работает.

Ответы>>821803

17 Авг, 16:55 #290 #821798

>>821762
Ну я все таки считаю что они оверхед. Хотя если хочешь что бы с uri было то да, почему бы и нет.

Ответы>>821821

17 Авг, 16:57 #291 #821803

>>821791
Если писал приложение всё это время, то одобряю. Я потратил сутки(отрываясь на еду и толчок) на написание Movie Base в другом курсе по андроиду от юдасити

Ответы>>821814

17 Авг, 17:10 #292 #821814

>>821803
Да прям в 2 ночи проснулся, стукнуло в голову стать андроид разработчиком. Установил студию, открыл курсы на юдасити и пошло поехало. Надеюсь дойду до Movie Base как и ты и не застопорюсь с унылыми мыслями что программирование это тяжело и какой же я тупой.

Ответы>>821816>>821861

17 Авг, 17:11 #293 #821816

>>821814
Ну удачи тебе :3

Ответы>>822428

17 Авг, 17:19 #294 #821820

>>821752
>>821712
Спасибо. А как, так же вытащить, только, из MySQL?

Ответы>>821861

17 Авг, 17:20 #295 #821821

>>821798
Это был сарказм.

Теперь честно:
1) contentprovider - НЕ НУЖЕН
2) sqlite без ORM - НЕ НУЖЕН

Ответы>>821892>>821896

17 Авг, 18:09 #296 #821861

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

Ответы>>821872

17 Авг, 18:18 #297 #821872

>>821861
Скажи, пожалуйста по каким тегам гуглить? Ничего годного найти не могу.

Ответы>>821875

17 Авг, 18:20 #298 #821875

>>821872
mysql + express + nodejs

17 Авг, 18:52 #299 #821892

>>821821
Очень содержательно.

17 Авг, 18:59 #300 #821896

>>821821
1) Если у тебя простое приложение, то ContentProvider может быть избыточным
2) ORM и всякие Realm не нужны. Достаточно использовать лёгкую библиотеку, предоставляющую удобное API для SQLite. например, StorIO

Пофиксил тебя.

Ответы>>821901>>822041

17 Авг, 19:14 #301 #821901

>>821896
OK, даже спорить не буду ибо это продолжается уже не один тред, едем дальше.

17 Авг, 21:24 #302 #821984

>>814733 (OP)
Анончики, как правильно нотифаить о завершении запроса из сервиса? Юзать евинтбас? А он придет потом, если приложение свернуто в этот момент, и я отписался в онстопе?

Ответы>>821998

17 Авг, 21:47 #303 #821998

>>821984
Не прийдет тебе после он стопа нихуя. Только пляски с синглтонами и преференсами.

Ответы>>822011

17 Авг, 21:59 #304 #822011

>>821998
ну епт, а в чем тогда плюс евентбаса от бродакстресиверов всяких?

Ответы>>822020>>822030

17 Авг, 22:04 #305 #822020

>>822011
А ты какую библиотеку используешь для реализации эвентбаса?

Ответы>>822045

17 Авг, 22:15 #306 #822030

>>822011
Тем что не надо ебаться генерить плагином с парселеблом.

17 Авг, 22:44 #307 #822041

>>821896
>Достаточно использовать лёгкую библиотеку, предоставляющую удобное API для SQLite. например, StorIO
>StorIO
Cupboard наше все. Хули все так рекламируют этот сторИО?

Ответы>>822078

17 Авг, 22:45 #308 #822042

Учил вот джаву, но что-то очень скучно, решил попробовать андроид, расскажите чем занимаетесь, сколько времени идет на обучение. Советы и ответы на ФАК приветствууются

Ответы>>822044>>822077>>822129

17 Авг, 22:48 #309 #822044

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

17 Авг, 22:50 #310 #822045

>>822020
я только otto знаю

Ответы>>822900

17 Авг, 23:23 #311 #822077

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

17 Авг, 23:24 #312 #822078

>>822041
>Хули все так рекламируют этот сторИО?
С Rx связка нормальная.

17 Авг, 23:39 #313 #822088

Поставил студию, но она закрывается без еррора,в процессах её нету. В чем дело?

18 Авг, 00:37 #314 #822114

Получил класный креш:
android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed.
at android.database.CursorWindow.<init>(CursorWindow.java:108)
at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
at android.database.sqlite.SQLiteCursor.clearOrCreateWindow(SQLiteCursor.java:300)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:138)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:132)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:219)
at android.database.AbstractCursor.moveToFirst(AbstractCursor.java:258)

И это на строке:
if (cursor != null && cursor.moveToFirst()) {...
Чо мне с курсором то делать надо что бы такого не было?

Ответы>>822120

18 Авг, 01:23 #315 #822120

>>822114
Не создавать.

Ответы>>822204

18 Авг, 02:15 #316 #822129

>>822042
> сколько времени идет на обучение.
4 с половиной года учусь, например. До сих пор днище ибо работать не пробовал, а практика нерегулярная. Не будь таким, как я.

18 Авг, 02:21 #317 #822131

>>820535
>2 пик?
Это макось? Красиво!
Сначала подумал, что элементари

18 Авг, 02:25 #318 #822136

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

267 Кб, 506x900

18 Авг, 05:23 #319 #822166

Что за шрифт на пикче используется для отображения времени? Хотеть такой

Ответы>>822167

18 Авг, 05:31 #320 #822167

>>822166
Roboto Light. Или Thin, на глаз не всегда могу отличить.

Ответы>>822168

18 Авг, 05:32 #321 #822168

>>822167
Спасибо анончик, добра тебе

18 Авг, 09:40 #322 #822204

>>822120
И как же вытаскивать данные про треки юзер без курсора?

18 Авг, 10:12 #323 #822212

Аноны, как устроены мессенджеры? Они что, опрашивают сервер каждую секунду, чтобы узнать, нет ли новых сообщений? А если нет, то как?

Ответы>>822256

18 Авг, 11:12 #324 #822256

>>822212
С О К Е Т

104 Кб, 465x858

18 Авг, 14:54 #325 #822428

>>821816
Спасибо. Да я уже андроид-разработчик бвухахахаха. Ты тоже пости свои достижения. Movie Base, например.

Ответы>>822666

18 Авг, 15:45 #326 #822458

>>819703
нет ну вы посмотрите, этот идиот гринтекстит тестирование, как вы его еще до сих пор не обоссали блять, сука, тред школьников и дегенератов

Ответы>>822509>>822815

18 Авг, 15:47 #327 #822463

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

Ответы>>822794

18 Авг, 15:54 #328 #822473

>>820439
https://habrahabr.ru/company/rambler-co/blog/266837/
roboelectric позволяет тестировать http запросы, думаю, это то, что тебе нужно

Ответы>>822901

18 Авг, 16:25 #329 #822509

>>822458
Обоссывают школьники и дегенераты. Вменяемым похуй. Пройдите в /b/, пожалуйста.

Ответы>>822528

18 Авг, 16:36 #330 #822528

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

18 Авг, 18:03 #331 #822609

Так что ведроиданы, как спасаться от курсора более 2мб. И какв ообще с такими объемами данных вменяемо работать на мобилке?

Ответы>>822621

18 Авг, 18:16 #332 #822621

>>822609
Очевидно пиздовать в стаковерфлоу в котором эта тема обсасывалась уже не раз использовать новую поистине кроссплатформенную СУБД Realm.

Ответы>>822902

18 Авг, 19:06 #333 #822666

>>822428
Добавь отмену предыдущего действия

Ответы>>822924>>822991

18 Авг, 22:04 #334 #822794

>>822463
di mvp rx mvvm kotlin

18 Авг, 22:33 #335 #822815

>>822458
пиздец, дурачку припекло, что пока он пишет свои ссаные тесты, норм парни едят маффины и ебут тёлок

18 Авг, 22:40 #336 #822819

Здравствуйте, это снова я с VK-приложением. >>819511

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

Так вот, допустим, я создаю новую Activity, чтобы, например, показать в ней информацию о чате.
Как туда передать VKAccessToken?

Остальные данные худо-бедно передаются:
Bundle chatData = new Bundle();
chatData.putIntArray("CHAT USERS", chosenChat.users);
chatData.putString("CHAT TITLE", chosenChat.title);

Intent intent = new Intent(Activity.this, ChatActivity.class);
intent.putExtra("CHAT DATA", chatData);
startActivity(intent);

Но! VkAccessToken нельзя передать просто так. Его не разобрать на элементы и собрать заново, он не Serializable, и вообще какой-то мутный. В новой Activity заново проходить авторизацию, что ли?

Ответы>>822821>>822835

1 Кб, 627x18

18 Авг, 22:42 #337 #822821

>>822819
Вакаба опять съела спецсимволы.

18 Авг, 23:08 #338 #822835

>>822819
Ты сорцы принципиально не смотришь?

У тебя аж 4 возможности!
1. Через файл
2. Через шаред преференсы
3. Через сериализацию в строку методом serialize
4. VkAccessToken - блядский синглтон

Ответы>>822838

18 Авг, 23:13 #339 #822838

>>822835
Оу. Спасибо большое!

Непривычно лезть в сорцы. Всегда, когда хотел узнать про метод, заходил на MSDN, вводил название и получал самое подробное описание.

Ответы>>822903

19 Авг, 02:40 #340 #822900

>>822045
Она уже deprecated.

Ответы>>822964

19 Авг, 02:41 #341 #822901

>>822473
Нет, это хуйня.

19 Авг, 02:41 #342 #822902

>>822621
Говна пожуй.

19 Авг, 02:43 #343 #822903

>>822838
> MSDN
Тебя уже не спасти. Уж лучше бы ты на пхп писал.

19 Авг, 06:13 #344 #822924

>>822666
Хотел добавить, но Андроид студия перестала работать. Точнее эмулятор перестал работать. Вчера работал, сегодня включил пеку и эмулятор больше не запускается, жалуясь на отсутствие аппаратного ускорения в процессоре. Это пиздос, еще вчера все работало.

Ответы>>822962

19 Авг, 09:14 #345 #822962

>>822924
Маленькие гомики вынесли из твоего процессора аппаратное ускорение, чтобы ты не стал андроид разработчиком. Честь им хвала.

Ответы>>822981

19 Авг, 09:15 #346 #822964

>>822900
Очко у тебя дерпекейтед

19 Авг, 10:20 #347 #822981

>>822962
Переустановил шиндовс, студия заработала. Пилю кнопку "назад".

Ответы>>822991

111 Кб, 489x876

19 Авг, 10:40 #348 #822991

>>822666
>>822981
Вообщем вот, готово.

Функционал довольно простой.

При клике на кнопку 3/2/1 очка в переменную currentState записываю 3 2 или 1. Потом на методе кнопки отмены:
if (currentState == 1 || currentState == 2 || currentStat == 3)
teamscore = teamscore - currentState;
display(teamscore);
Просто отнимаю у текущего количества очков, то, что было нажато.

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

Ответы>>823204>>826646>>826967

19 Авг, 11:03 #349 #823000

Есть здесь такие, кто пользовал MaterialDrawer от mikepenz?
Мне нужно запихнуть его во фрагмент, но в билдере есть метод только withActivity. Я могу привязать его к общей для фрагментов Activity, но как сделать, чтобы на одних он выдвигался, а на других - нет? Пока что лучшее что я придумал это closedrawer в onDrawerSlide, но это кривовато смотрится, да и в целом

Ответы>>823724

19 Авг, 12:08 #350 #823030

Как лучше хранить изображения в SQLITE?

Ответы>>823040>>824271

19 Авг, 12:27 #351 #823040

>>823030
Пути к изображениям.

19 Авг, 12:56 #352 #823046

Как поменять connection interval со стороны мастера для ble или это можно только сделать через реквест со стороны периферии? Необходимо выставить его как можно большим.

19 Авг, 16:32 #353 #823204

>>822991
Заноси весь счет за матч в коллекцию, чтобы кнопка отмены работала не один раз, а несколько.

Ответы>>823217

272 Кб, 1920x1080

19 Авг, 16:47 #354 #823217

>>823204
А она и так не один раз работает, а сколько угодно. Переменные очков матчей - глобальные.

У меня тут другая проблема назрела. Иду дальше по курсе, пришло время делать чекбокс. Тут андроид студия мне выкидывает новый сюрприз. Вместо чекбокса в превью просто надпись Checkbox серая. Превью еще и ошибку выдаёт.

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

Ответы>>823291

19 Авг, 17:39 #355 #823291

>>823217
Отбой. Загуглив ошибку, оказалось что если переключить превью на API 23 вместо 24, то ошибка исправляется.

Ответы>>823402

19 Авг, 20:49 #356 #823402

>>823291
Сделай Darcula тему, глаза режет.

Ответы>>823418>>823441

19 Авг, 21:10 #357 #823418

>>823402
тёмная тема вырвиглазная

Ответы>>823425>>823427>>823649

19 Авг, 21:23 #358 #823425

>>823418
Твоя белая тема вырвиглазная. Еще и на дваче небось дефолтная тема вместо Neutron.
Попробуй, когда привыкнешь, не сможешь вернуться обратно.

Ответы>>823430>>823657

214 Кб, 1280x800

19 Авг, 21:24 #359 #823427

>>823418
Она тебе зрение бережёт, дурашка :3

Ответы>>823430

19 Авг, 21:27 #360 #823430

>>823427
бережет только если кодишь в темноте. У меня на ней всё расплывается, нихуя не вижу.
>>823425
Futaba у меня

Ответы>>823441

262 Кб, 1920x1080

19 Авг, 21:47 #361 #823441

>>823402
Ну такое... Удобность зависит от времени суток. Сейчас ночью да, удобно.
>>823430
Че за футаба, кидай скрин/линк.

Иду дальше по курсу. Ведущая попросила добавить функционал учета сливок и шоколада, взял и добавил, без задней мысли. Сейчас буду смотреть как она это сделала.

19 Авг, 21:53 #362 #823445

Эээ, у двача есть темы, а где их можно поменять?

Ответы>>823450

19 Авг, 21:58 #363 #823450

>Че за футаба, кидай скрин/линк.
А все понял, это тема двача. Этот желтый вырвиглазный цвет...

>>823445
Самое вернее меню.

Ответы>>823453

19 Авг, 22:04 #364 #823453

>>823450
он телесный, а не желтый

20 Авг, 03:49 #365 #823649

>>823418
Ночью - охуенно.
А вот днем пробовал работать на дракуле с улицы - нихуя не видно было вообще, как ни странно.
А вообще у меня sublimetext3

20 Авг, 05:39 #366 #823657

>>823425
> Твоя белая тема вырвиглазная. Еще и на дваче небось дефолтная тема вместо Neutron.
Лол, так ведь это нейтрон — вырвиглазная параша, тогда как фотон очень выглядит очень солидно и стильно.
Кстати, тоже предпочитаю светлую тему в AS. Не понимаю вашего спора, кто-то любит светлые темы, кто-то тёмные, так что пусть пользуется тем, что нравится.

Ответы>>823667

20 Авг, 06:51 #367 #823667

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

20 Авг, 10:54 #368 #823724

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

20 Авг, 13:58 #369 #823830

Хелп.
Есть код с ViewPager, 3 фрагмента для него и лайаута.
Когда добавляю 2 фрагмента, всё отлично перелистывается и работает, а когда пытаюсь добавить третий всё крашиться. Что делать?
Вот код MainActivity: @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

viewPager = (ViewPager) findViewById(R.id.viewPager);
viewPager.setAdapter(new CustomAdapter(getSupportFragmentManager(),getApplicationContext()));

}

private class CustomAdapter extends FragmentPagerAdapter {

private String fragments [] = {"1","2"};

public CustomAdapter(FragmentManager supportFragmentManager, Context applicationContext) {
super(supportFragmentManager);
}

@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return new Fragment1();
case 1:
return new Fragment3();
case 3:
return new Fragment2();

default:
return null;
}
}

@Override
public int getCount() {
return fragments.length;
}

@Override
public CharSequence getPageTitle(int position) {
return fragments[position];
}
}
}

20 Авг, 13:58 #369 #823830

Хелп.
Есть код с ViewPager, 3 фрагмента для него и лайаута.
Когда добавляю 2 фрагмента, всё отлично перелистывается и работает, а когда пытаюсь добавить третий всё крашиться. Что делать?
Вот код MainActivity: @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

viewPager = (ViewPager) findViewById(R.id.viewPager);
viewPager.setAdapter(new CustomAdapter(getSupportFragmentManager(),getApplicationContext()));

}

private class CustomAdapter extends FragmentPagerAdapter {

private String fragments [] = {"1","2"};

public CustomAdapter(FragmentManager supportFragmentManager, Context applicationContext) {
super(supportFragmentManager);
}

@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return new Fragment1();
case 1:
return new Fragment3();
case 3:
return new Fragment2();

default:
return null;
}
}

@Override
public int getCount() {
return fragments.length;
}

@Override
public CharSequence getPageTitle(int position) {
return fragments[position];
}
}
}

Показать весь текст
Ответы>>823855>>823860>>823925>>823928

20 Авг, 14:29 #370 #823855

>>823830
забыть о программирование

20 Авг, 14:34 #371 #823860

>>823830
Почему нельзя просто кинуть код на пастбин, нахуя засорять тред?

20 Авг, 16:32 #372 #823925

>>823830
Fragments.length тебе возвращает 3, при этом ты запрашиваешь индекс третьего фрагмента как 3 вместо 2. Из за того и крашит.

20 Авг, 16:34 #373 #823928

>>823830
Да и вообще у тебя там какая то хуита писана. Возвращаешь null вместо какого нибудь дефолтного фрагмента, вообще идиот, пиздец

20 Авг, 23:03 #374 #824247

Есть ли фриланс на андроиде сравнимый с вебом, просто саморазвитие саморазвитием, но деньги тоже нужны.

Ответы>>824272

20 Авг, 23:25 #375 #824271

>>823030
байткод

20 Авг, 23:26 #376 #824272

>>824247
нету

Ответы>>824276

20 Авг, 23:30 #377 #824276

>>824272
А хоть какой-то есть ?

Ответы>>824835

21 Авг, 05:01 #378 #824399

В универе учили Си, сейчас хочу вкатиться в Джаву. Какую книгу посоветуете, чтобы именно не плотно стоящий на ногах студент первого курса (уже получается второго) со знаниями Си мог вкатиться в джаву и затем в андроид? Философия Джава идеально подходит?

Ответы>>824405

21 Авг, 07:19 #379 #824405

>>824399
Забудь за все что ты учил в универе. И программирование тоже, оно для больных гениев.

https://ideone.com/jZL4Cz

Посмотри на этот код. Этот код я взял из реального проекта. Из игры. Это код отвечающий за парсинг файлика .osz - местный формат карт в игре. 700 строк кода, просто что бы запарсить 1 жалкий файлик. 1400 строк кода gamedata.java

А теперь после просмотра этого когда, спроси себя, сможешь ли ты совладать с этим?

Ответы>>824415

21 Авг, 08:32 #380 #824415

>>824405
>https://ideone.com/jZL4Cz
Игры на java вместо юнити? Что с тобой?
Вы даже жавадок оформили молодцы.

Ответы>>824464

21 Авг, 10:50 #381 #824464

>>824415
>Игры на java? Что с тобой?
действительно, нужно же было на котлине писать

Ответы>>824466

21 Авг, 10:54 #382 #824466

>>824464
>kotlin
Уноси отсюда это, будь добр!

Ответы>>824497>>824499

19 Кб, 480x360

21 Авг, 12:29 #383 #824497

>>824466
Няш, не бугурти, на вот тебе кексик

https://www.youtube.com/watch?v=CABN2r4GPpQ

Ответы>>824498

21 Авг, 12:30 #384 #824498

>>824497
Уруру :3, но ты всё равно уноси подальше.

21 Авг, 12:32 #385 #824499

>>824466
Форс форсом, а мне понравилось. Перенес свой мелкий проект на него.

21 Авг, 21:41 #386 #824724

> Ensure SwipeRefreshLayout indicator is shown when setRefreshing(true) is called before the first measurement pass
> Reported Oct 18, 2014

Господе, какие же гуглы мудаки. Ну хотя бы можно теперь не ебаться вызовом через post.

22 Авг, 04:35 #387 #824835

>>824276
нету

22 Авг, 14:23 #388 #825020

1. У меня есть активити с чекбоксами и прочей парашей, обычный круд который сохраняет в бд. Можно ли как-то легко стилизировать его в стиле настроек, чтобы вместо чекбоксов была кнопка которая ездит влево-вправа (как эта параша вообще называется?), дропдаун лист тоже как в настройках стандартных приложений.
2. Чтобы взять ширину/высоту вложенного элемента уже после всей обработки я делаю так:
pizdaView.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int width = pizdaView.getWidth();
pizda.fuck(new Hui(width));
}
});
Это норма и так все делают? Выглядит довольно костыльно.

Ответы>>825022

22 Авг, 14:30 #389 #825022

>>825020
> которая ездит влево-вправа
https://developer.android.com/reference/android/widget/Switch.html
> и так все делают
Я делаю через pizdaView.post { pizdaView.getWidth() }, но никто не запрещает вручную вызвать measure с нужными параметрами и посмотреть. Хоть в некоторых случаях у меня не получается так высчитать

13 Кб, 728x400

22 Авг, 18:26 #390 #825180

Неясного о Fuchsia остается еще много. Главный вопрос все же остается прежним — в каких системах планируется использовать эту ОС? Ожидать, что она создана в качестве альтернативы Android OS не стоит, ведь для того, чтобы программный продукт, в особенности, операционная система стал успешным, нужно активное сообщество разработчиков, каталог приложений и т.п. Google вложил сотни миллионов долларов в Android и вряд ли собирается что-то поменять.

Фух. Выдыхаем.

Ответы>>825184

22 Авг, 18:38 #391 #825184

>>825180
То есть до этого тебе это было непонятно? Какой же ты умный.

22 Авг, 20:46 #392 #825278

Ведроиданы, у фронтендщиков есть вот такой вот плагин к системе сборки - https://www.npmjs.com/package/gulp-imagemin. Есть что-то подобное для gradle?

Ответы>>825322>>825342>>825371

22 Авг, 21:05 #393 #825322

>>825278
У фронтендщиков скиптодрисня и этим все сказано. Теоретически обфускация может сократить размеры class файлов.

Ответы>>825374

22 Авг, 21:24 #394 #825342

>>825278
> Есть что-то подобное для gradle
Точно видел, но мне лень искать.

Ответы>>825371>>825374

22 Авг, 21:54 #395 #825371

>>825342
>>825278
https://github.com/fabiomsr/drawable-optimizer

Ответы>>825376

22 Авг, 21:56 #396 #825374

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

Короче аапт для ресурсов это делает сам, но кастомно можно добиться лучшего результата.
https://medium.com/@duhroach/smaller-pngs-and-android-s-aapt-tool-4ce38a24019d

И разумеется если ты пожмешь сам, то аапт может сделать хуже.

22 Авг, 21:57 #397 #825376

>>825371
О, найс, спасибо. Сейчас поиграемся.

Ответы>>825384

22 Авг, 22:15 #398 #825384

>>825376
Да ты там и 10% не вытянешь.

Ответы>>825396

22 Авг, 22:36 #399 #825396

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

23 Авг, 10:59 #400 #825600

>>814733 (OP)
Аноны, какие шансы устроиться джуном на ведре?
Знаю что мобильная разработка сейчас пользуется огромным спросом, но все же? Какие требования к джунам?

Ответы>>825603>>825714

23 Авг, 11:04 #401 #825603

>>825600
RX + DI + MVP + KOTLIN

Ответы>>825634

23 Авг, 12:20 #402 #825634

>>825603
на андроиде же все пишут, зачем котлин?

Ответы>>825669

23 Авг, 14:13 #403 #825669

>>825634
На xml все пишут в вашем аднроиде.

23 Авг, 15:10 #404 #825714

>>825600
Java, Android Studio, свои приложения в Google Play.

Ответы>>825718

23 Авг, 15:17 #405 #825718

>>825714
Что можно запилить свое?
мимодругойанон

Ответы>>825722

23 Авг, 15:20 #406 #825722

>>825718
Вайпалку тредов гей ниграми с рандомными ниграми и, чтобы батхертнутые посты в баззу данных сохранял.

Ответы>>825723

23 Авг, 15:23 #407 #825723

>>825722
А как определять батхертнутые посты?

Ответы>>825724>>825730

23 Авг, 15:24 #408 #825724

>>825723

Парсером

Ответы>>825726

23 Авг, 15:25 #409 #825726

>>825724
Звучит так, будто кто-то уже такое сделал

Ответы>>825782

23 Авг, 15:35 #410 #825730

>>825723
Машинное обучение же. Крайне необходимое умение в 2016.

Ответы>>825766

23 Авг, 16:10 #411 #825766

>>825730
нейросети

23 Авг, 16:28 #412 #825782

>>825726
Всё, что ты можешь сделать сам уже кто-то сделал до тебя. Причём значительно лучше.

23 Авг, 18:37 #413 #825906

>>814733 (OP)
Аноны, если я аттачу/детачу вью к пресентуру в онкриейте/ондестрое, и эта вью ретаин фрагмент, то не будет же ничего течь? Пресенет соответсвенно находится в ретеин фрагменте.

Ответы>>825931

23 Авг, 19:14 #414 #825931

>>825906
Ландан из зе кепитал оф грейт бритн в

23 Авг, 20:15 #415 #825983

Есть тут такие же несчастные, кому как и мне приходится писать под xamarin?

Расскажите, как вы вообще живёте

Ответы>>826001>>826016

23 Авг, 20:39 #416 #826001

>>825983
> несчастные
И хули ты несчастен? Если не замарин.формс, то тот же самый ведросдк + более няшный сярп.

23 Авг, 21:17 #417 #826016

>>825983
>Есть тут такие же несчастные, кому как и мне приходится писать код каждый день
Расскажите, как вы вообще живёте

24 Авг, 12:50 #418 #826317

sup
подскажите, аноны
могу ли я сделать в RecyclerViewAdapter кастомизированый первый айтем списка?
типо мне надо что бы первый айтем отображался с картинкой и текстом, а следующие обычные айтемы только текст
это надо в onBindViewHolder напиать что то типо
if(position =0){}
да?

Ответы>>826323

24 Авг, 12:57 #419 #826323

>>826317
Переопределяешь getItemViewType, на нулевой итем возвращаешь какую-то константу, а на остальные - другую константу. В onCreateViewholder ты будешь получать viewType, в onBind ты можешь его получить через getItemViewType(position), но лучше конечно отдавать работу самому холдеру по байндингу данных.

Ответы>>826332

24 Авг, 13:25 #420 #826332

>>826323
спасибо, анончик

24 Авг, 16:40 #421 #826491

Шапку читал. Вопрос - за сколько реально освоить джаву до уровня андроида уделяя ей 4 часа ежедневно? Из опыта только Си в универе.

Ответы>>826647

24 Авг, 19:29 #422 #826589

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

Есть одно приложение и в нём есть платная услуга. Основная его функциональность обеспечивается сервером, платная услуга даёт дополнительную функциональность.
Итак, вопрос: как можно на серверной стороне проверить, купил ли человек эту услугу? Можно ли как-нибудь спросить подтверждение с сервера гугла?

Ответы>>826628>>826633

24 Авг, 20:33 #423 #826628

>>826589
А ты не пробовал почитать документацию по in-app billing'у гугла? Они вообщем-то другую неохотно пропустят, если пропустят вообще. А в той конечно можно проверить наличие конкретной покупки, вот только ломается всякими лакипатчерами и прочей шляпой. Вообще у любой нормальной pay-системы есть возможность проверить перевода денег на счет, а на своем серваке после перевода бабоса записать транзакцию.

Ответы>>826633

24 Авг, 20:42 #424 #826633

>>826628
>>826589
У вас при покупке выдается идентификатор покупки, который вы должны отправить себе на сервер и свалидировать у гуглов через апи.

24 Авг, 20:52 #425 #826642

>>820617
А потом по их костям придет Хаскелл и похоронит всех!

24 Авг, 20:59 #426 #826646

>>822991
Надеюсь, команда А и команда Б разнесены по фрагментам?

Ответы>>826695

24 Авг, 21:01 #427 #826647

>>826491
>а сколько реально освоить джаву до уровня андроида
Примерно, как анатомию в мед. вузе.

24 Авг, 22:28 #428 #826695

>>826646
Долбоеб что ли? Зачем?

Ответы>>826711

24 Авг, 22:46 #429 #826711

>>826695
Он прав, либо адаптер делать либо 2 фрагмента, или 2 вьюхи на худой конец. 2 экземпляра одного объекта само собой.

25 Авг, 11:05 #430 #826965

Котаны скажите плиз. Я сам ее-макака. Хочу использовать привычные методики.

Могу ли я в Андроиде:
1. Создать службу стартующую при запуске приложения.
2. Служба должна быть синглтоном.
3. В коде в активити с помощью депенденси инжекшен получать доступ к методам синглтоновской службы.

Ответы>>826966>>827017

25 Авг, 11:07 #431 #826966

>>826965
Или вместо синглтона должен стартовать некий пул из экземпляров сервиса. А при депенденси инжекшене должен выбираться экземпляр из пула и после возвращаться в пул обратно

Ответы>>827017

97 Кб, 838x625

25 Авг, 11:07 #432 #826967

>>822991
>только установил студию и делает приложение
>выглядит уже лучше моих
то чувство когда антидизайнер

Ответы>>826968

25 Авг, 11:09 #433 #826968

>>826967
Так там изи же.
http://www.materialup.com/ в помощь.

25 Авг, 11:13 #434 #826971

Короче есть под андроид cdi на уровне аннотаций. Или все же пилить ручную фабрику и гетинстансить

Ответы>>827017

25 Авг, 11:29 #435 #826979

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

Ответы>>826988

25 Авг, 11:38 #436 #826988

>>826979
Хайп сходит, перспектив никаких. Рынок перенасыщён, разработка происходит на уровне пхп макакинга. Лет 5 назад можно было вкатиться, сейчас просто забей.

Ответы>>826991

25 Авг, 11:40 #437 #826991

>>826988
Какие альтернативы? Какая сфера на подъеме? Ты тралишь очевидно. Сейчас довольно популярна связка вр шлема + смартфон.

Ответы>>827017>>827038

25 Авг, 12:13 #438 #827017

>>826971
>>826966
>>826965
Блять, о чем ты? Иди реализуй AbstractSingletonProxyFactoryBean.
> Создать службу стартующую при запуске приложения
> Служба должна быть синглтоном
Что ты вкладываешь в понятие служба. Можно запустить сервис как компонент приложения, можно просто хуякнуть в onCreate создание синглтона.
> В коде в активити с помощью депенденси инжекшен получать доступ к методам синглтоновской службы
Тогда только в виде обычного синглтона, DI есть, берешь и без задней мысли инжектишь. @Provides @Singlton, хуяк хуяк и в гуглплей.

>>826991
> Сейчас довольно популярна связка вр шлема + смартфон
Популярна где? Этим занимаются полторы студии и 3 калеки. Работу чтобы делать именно вр ты не найдешь.

Ответы>>827019

25 Авг, 12:16 #439 #827019

>>827017
>Этим занимаются полторы студии и 3 калеки.

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

Ответы>>827037

25 Авг, 12:17 #440 #827020

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

Ответы>>827031

25 Авг, 12:35 #441 #827031

>>827020
LibGDX - на java
Unity - C#
Cocos2dx - C++

Ответы>>827039

25 Авг, 12:42 #442 #827037

>>827019
Выходить на рынок != пилить контент. АндроидТВ с АндроидАвто тоже вышел на рынок, но запил приложений на него не сильно то и популярен.

25 Авг, 12:43 #443 #827038

>>826991
>Сейчас довольно популярна связка вр шлема + смартфон
Тебя в любом случае не возьмут без опыта работы с графонием.

25 Авг, 12:45 #444 #827039

>>827031
Спасибо, глупый вопрос, но вот если андроид работает на джаве нативной, как он запускает с шарп код, это все как-то оборачивается в джаву перед загрузкой в гугл маркет?

Ответы>>827040

25 Авг, 12:48 #445 #827040

>>827039
Для игр достаточно сишного NDK - там графика, звук, сенсоры. Юнити поверх него и работает.

Ответы>>827042>>827046

25 Авг, 12:49 #446 #827042

>>827040
Понятно

25 Авг, 13:08 #447 #827046

>>827040
>там графика, звук, сенсоры
а еще сик фолты и утечки памяти и c++ фу нахуй

Ответы>>827074>>827080

25 Авг, 13:10 #448 #827047

Эмуляторы могут в Hot Swap.

Ответы>>827048>>827049

25 Авг, 13:10 #449 #827048

>>827047
Это был вопрос.

25 Авг, 13:11 #450 #827049

>>827047
Instant Run.

25 Авг, 13:40 #451 #827057

У меня есть custom view, метод onDraw вызывает тяжеловатые вычисления. Есть ли какой-то изкоробочный метод чтобы инвалидировать view, и делать вычисления только по необходимости?
Или самому добавить переменную и тупо чекаеть её в onDraw?

Ответы>>827060

25 Авг, 13:47 #452 #827060

>>827057
Тяжеловесные вычисления какой природы? Если их можно один раз подсчитать, а потом использовать. А подсчитывать скорее всего нужно в onLayout/onMeasure. Сделать свой сеттер, который при смене параметра вызывает invalidate.

Ответы>>827086

25 Авг, 14:29 #453 #827074

>>827046
> c++
Выбор долбоёба. Идеальный вариант — чистый си.

25 Авг, 14:38 #454 #827080

>>827046
>а еще сик фолты и утечки памяти и c++
Это называется фильтр от долбоебов.

25 Авг, 14:53 #455 #827086

>>827060
Обработка возможных пересечений/коллизий объектов (от наличия которых зависит как их рисовать). Если пользователь подвигает объекты внутри, тогда надо перерисовывать и пересчитывать, однако это не каждый onDraw происходит.
>Сделать свой сеттер, который при смене параметра вызывает invalidate
не понел

Ответы>>827088

25 Авг, 14:53 #456 #827087

аноны, нид хелп
есть список ReyclerView и адаптер кастомный
при нажатии на айтем списка должно открываться новое активити
но почему то когда происходит клик, то в моем листе, из которого я достаю данные обнаруживается, что он пустой
вот код адаптера - http://pastebin.com/VUQGmXc9
и мэйн активити - http://pastebin.com/iWPe6nbM

25 Авг, 15:02 #457 #827088

>>827086
Вообще похуй, по-видимому андроид достаточно умён сам по себе чтобы не вызывать onDraw постоянно, он это делает только когда я трогаю соответствующую вьюху.
Это чтобы его наоборот заставить перерисовывать надо вызывать invalidate.

25 Авг, 15:48 #458 #827107

Ведроиданы, есть какие-то четкие-ровные либы для WebRTC видео чатов? Ну такие что бы именно ваще крутяк, как retrofit или gson в своих нишах. Если нет, то это https://github.com/QuickBlox/quickblox-android-sdk нормальная тема? А это https://docs.oracle.com/cd/E55119_01/doc.71/e55126/wd_androidapps.htm#WSEWD512 ?

25 Авг, 19:35 #459 #827207

Анон, где можно поучить колекции?

Ответы>>827221>>827227

25 Авг, 20:01 #460 #827221

>>827207
В гугле. Ну сириусли, вы смеетесь?

25 Авг, 20:38 #461 #827227

>>827207
>Анон, где можно поучить колекции?
https://kotlinlang.org/docs/reference/collections.html

не благодари

Ответы>>827256

25 Авг, 21:28 #462 #827256

>>827227
На сколько хуево, если я кладу котлин файлы в java папку?

Ответы>>827294

25 Авг, 21:37 #463 #827262

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

Ответы>>827293

25 Авг, 22:13 #464 #827293

>>827262
Я в онСтарте через хендлер, если это больше ни от чего не зависит.

25 Авг, 22:16 #465 #827294

>>827256
В последних версия уже пофиг.
Тоже кстати ленюсь перекидывать в /kotlin/.

25 Авг, 22:36 #466 #827307

>>814733 (OP)
https://www.udacity.com/course/developing-android-apps--ud853 нормас тема в дополнение к книгам и докам?

Ответы>>827324>>827344

25 Авг, 22:47 #467 #827324

>>827307
https://www.udacity.com/course/android-developer-nanodegree-by-google--nd801
Вот единственный годный курс. Можешь его на месяц бесплатно получить, если есть студенческий аккаунт на гитхабе.

Ответы>>827329>>827405

25 Авг, 22:51 #468 #827329

>>827324
Так это не курс, а программа целая и первый курс как раз тот, который я скинул, ну короче норм. Нет к сожалению уже не студент и еще не студент.

Ответы>>827340>>827341

25 Авг, 22:58 #469 #827340

>>827329
И книги выкинь, они все уже устарели.

Ответы>>827347

25 Авг, 22:59 #470 #827341

>>827329
Хотя если деньги есть, купи эту программу - не пожалеешь ни разу. Там даже кодревью делают тебе.

Ответы>>827345

25 Авг, 23:00 #471 #827344

>>827307
Неплохой курс, но нанодегри пизже конечно.

Ответы>>827345

25 Авг, 23:02 #472 #827345

>>827341
>>827344
Спасибо, может и куплю.

25 Авг, 23:02 #473 #827347

>>827340
The Busy Coder’s Guide to Android Development

И эта тоже?

Ответы>>827356

25 Авг, 23:06 #474 #827350

Кто кстате записался на 24-часовой экзамен от гуглов за 100 бачей?

25 Авг, 23:12 #475 #827356

>>827347
Не вижу смысла в такой книге, когда есть бесплатные, обновляемые доки от гугла.

Ответы>>827357

25 Авг, 23:13 #476 #827357

>>827356
Ок, понял.

25 Авг, 23:33 #477 #827376

>>814733 (OP)
Такой вопрос, аноны. Курсы от гикбрейнз хуйня или стоящая штука? интересует именно мобайл разработчик. Напрягает долгость изучения - 11 мес, это чет долго

Ответы>>827389>>827456>>827982

25 Авг, 23:52 #478 #827389

>>827376
По мне так мутная контора

Ответы>>827402

26 Авг, 00:07 #479 #827402

>>827389
Почему? Мне прельстит что там типа общаешься ирл вроде как с людьми в профессии, можно спросить прям сразу что да как

Ответы>>827405

26 Авг, 00:11 #480 #827405

>>827402
Так-то оно так, но набирают они там огромное количество народа и много внимания они вряд ли уделят каждому, проще на двач код залить, авось кто и посмотрит. Я сам с 0 вкатываюсь (только си знаю и питон). Сначала думаю джаву выучить по Эккелю, а потом брать доки и курс вот этот >>827324. Ну дело твое.

Ответы>>827409

26 Авг, 00:18 #481 #827409

>>827405
Спасибо за курс, >>827405
13к в мес, пизда, мне бы зарабатывать каким-нибудь веб-макакингом столько в своей мухосрани

Ответы>>827456

26 Авг, 01:46 #482 #827456

>>827376
>>827409
Ты ж дебил, что тебе делать в программировании? Все их курсы давно на торрентах пылятся.

Ответы>>827492>>827505

26 Авг, 06:41 #483 #827492

>>827456
А кодревью и саппорт тоже пылится?
Так-то все доки у гугла бесплатные, но что-то я не вижу дохуя макак в андроиде.

Ответы>>827494>>827619

26 Авг, 07:04 #484 #827494

>>827492
> что-то я не вижу дохуя макак в андроиде
Хуево смотришь.

26 Авг, 08:11 #485 #827505

>>827456
Зачем на торрентах? Они и там бесплатные видео и домашки, а коревью можно и купить отдельно где нибудь найти.

Ответы>>827621

26 Авг, 11:51 #486 #827619

>>827492
Я тебе повторяю, что тебе делать в программировании?
Если ты не можешь в САМОСТОЯТЕЛЬНОСТЬ, то просто забей, это не твоё.
>саппорт
Няньку он блять хочет, охуеть вообще.
Тебе на торентах лекции дали, домашку дали. Ебись дальше сам, какой нахуй кодревью, поехавший. Для особо одаренных, в начале следующей лекции полтора часа разбирают домашки всех студентов, сможешь посмотреть как вообще нормальные люди кодят. Но лучше забей. И купи курс для лохов за 70к

26 Авг, 11:52 #487 #827621

>>827505
Java и Android платные. Бесплатные только всякая шелуха типа html и введения в программирование.

Ответы>>827687

26 Авг, 13:34 #488 #827687

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

26 Авг, 13:54 #489 #827713

аноны, нид хелп
есть список ReyclerView и адаптер кастомный
при нажатии на айтем списка должно открываться новое активити
но почему то когда происходит клик, то в моем листе, из которого я достаю данные обнаруживается, что он пустой
вот код адаптера - http://pastebin.com/VUQGmXc9
и мэйн активити - http://pastebin.com/iWPe6nbM

Ответы>>827726

26 Авг, 14:09 #490 #827726

>>827713
Поц, ты обрезал код холдера.

26 Авг, 14:16 #491 #827731

С чего лучше прогать под андроид - с бубунты или спермёрки?

Ответы>>827739>>827751

26 Авг, 14:32 #492 #827739

>>827731
Без разницы, но под виндой у IDE шрифты лучше.

26 Авг, 14:40 #493 #827746

Как вам Нуга?
https://www.youtube.com/watch?v=5W1KvjWudGE

Ответы>>827753

26 Авг, 14:44 #494 #827751

>>827731
Из под мака.

26 Авг, 14:48 #495 #827753

>>827746
как земля
мимо владелец пятого нексуса

Ответы>>827801

26 Авг, 14:58 #496 #827760

Как использовать init в фрагменте?

26 Авг, 15:34 #497 #827801

>>827753
>мимо владелец пятого нексуса
kek, не повезло тебе

владелец 5X

26 Авг, 16:18 #498 #827848

Скотский гугол заебал сжирать своими регулярками все, кроме цифр и букв в поисковике.
Поясните, чем отличается String[] от String... в джаве?

Ответы>>827850

26 Авг, 16:20 #499 #827850

>>827848
Первое - массив стрингов, второе просто обьект

Ответы>>827862

26 Авг, 16:28 #500 #827862

>>827850
public static void main(String... args) {
....validatePhoneNumber("123-456-7890", "456-7890");
}

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

Ответы>>827997

26 Авг, 18:48 #501 #827982

>>827376
Говно для даунов.

26 Авг, 19:09 #502 #827997

Котлиноперекат плиз

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

26 Авг, 19:53 #503 #828054

Здравствуйте, как многие знают, Google готовит замену Android, новая ОС будет называется - Fuchsia. Но проблема в другом, недавно(3 дня назад) я начал изучать разработку ПО на Android, и после прочтения данной новости у меня возник вопрос: "А стоит ли продолжать?", раньше я возился над С++(остановился на классах) и с увеличением востребовательности разработчиков мобильного софта решил на время заняться данной сферой, дабы заработать. Вообщем я уже запутался, и решил спросить совет у опытных программистов.

Ответы>>828101>>828109

26 Авг, 20:28 #504 #828101

>>828054
> тостер
Пиздец, что ты там забыл?

26 Авг, 20:34 #505 #828109

>>828054
Неясного о Fuchsia остается еще много. Главный вопрос все же остается прежним — в каких системах планируется использовать эту ОС? Ожидать, что она создана в качестве альтернативы Android OS не стоит, ведь для того, чтобы программный продукт, в особенности, операционная система стал успешным, нужно активное сообщество разработчиков, каталог приложений и т.п. Google вложил сотни миллионов долларов в Android и вряд ли собирается что-то поменять.

26 Авг, 20:51 #506 #828146

>>814733 (OP)
Аноны, как сделать, чтобы если не открыта нужная активити, то показать нотификейшн, иначе получить данные в этой активити? Щас показываю нотификейшн и бросаю бродкаст, когда перехватываю его, то удаляю нотификеёшн, но в таком случае на пол секунды становиться видно иконку в статус баре

Ответы>>828169>>828487

26 Авг, 21:00 #507 #828169

>>828146
http://stackoverflow.com/questions/3873659/android-how-can-i-get-the-current-foreground-activity-from-a-service

Если хочешь стопроцентно рабочий вариант, то я предлагаю тебе записывать текущую активити в какую-нибудь переменную твоего Application'а или в SharedPreferences.

Ответы>>828176

26 Авг, 21:08 #508 #828176

>>828169
> Если хочешь стопроцентно рабочий вариант, то я предлагаю тебе записывать текущую активити в какую-нибудь переменную твоего Application'а или в SharedPreferences.

Ебать говнокод.

Ответы>>828181

26 Авг, 21:14 #509 #828181

>>828176
И в чем же говнокод? Это стопроцентно работает для его задачи, в отличии от туманных игрулек с GET_TASK, который диприкейтед уже 4 версии как.

27 Авг, 04:12 #510 #828487

>>828146
Сервис, который отображает уведомление, поддерживает биндинг. К нему коннектишь активити и через биндер инкрементируешь счётчик подключений. Если счётчик на нуле — показывай уведомление.
Несколько громозкий вариант, но надежный и не говнокод.

Ответы>>828625

27 Авг, 10:47 #511 #828556

Как использовать загружать изображения через Gilde в фрагменте?

Ответы>>828560

27 Авг, 10:59 #512 #828560

>>828556
Берешь и без задней мысли загружаешь.

27 Авг, 13:05 #513 #828617

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

Ответы>>828621

27 Авг, 13:19 #514 #828621

>>828617
Залей цветом бэкграунд вьюхи своего фрагмента.

27 Авг, 13:23 #515 #828625

>>828487
действительно норм, пожалуй так и сделаю

9 Кб, 494x200

27 Авг, 17:11 #516 #828800

Андруаны, кто как решает проблему с медлительностью АС? Или терпеть приходится?
Перекатил свой одноядерный днищебук на х64убунту, всё быстрее чем на винде кроме иде:
0~30с - мигает иконка
30с~1м - заставка
...~1:40 - появилось окно
...~2:40 - появился редактор
...~3:30 - догрузились остальные окна
...~5:15 - закончились синтаксический анализ и постройка градла
Градл настроил работать в демоне, апп запускается чутка быстрее, зависит от ситуации, запускаю на риал устройстве.
Сейчас еще попробую режим энергосбережения.
Кстати, почему синт анализ запускается когда нипопадя, т.е. даже после каждого отступа?

Ответы>>829048

27 Авг, 20:11 #517 #828977

>>814733 (OP)
Анончики, кто юзвет StorIO? Мне надо положить в бд два разных объекта, т.е. сделавть два put'a с разными классами, но надо чтобы они были в транзакции. Это делается через lowlevel? Т.е. например:

lowlevel().beginTransaction();

storIOSQLite.put().object(firstObject)...//First class
storIOSQLite.put().object(secondObject)...//Second class

lowlevel().setTransactionSuccessful();
lowlevel().endTransaction();

Правильно?

Ответы>>829079

27 Авг, 22:16 #518 #829048

>>828800
Сколько оперативки? Если 8ГБ и больше, можешь в настройках -Xms512m -Xmx1024m прописать. Так я решал проблему на макбук эйре с 8 гигами, на десктопе с 16 пока не заметил проблем.

Ответы>>829257

27 Авг, 22:23 #519 #829055

ПЕРЕКАТ >>829054 (OP)

27 Авг, 23:11 #520 #829079

>>828977
Насколько я знаю, правильно.

28 Авг, 06:05 #521 #829257

>>829048
4gb
-Xmx512m -XX:MaxPermSize=512m сделал
думаю покопаться в настройках проверки синтаксиса, можно ил сделать чтобы проверял пореже и не все?

Ответы>>829280

28 Авг, 07:58 #522 #829280

>>829257
> Xmx512m
Мхех, мда. Ему минимум 2гб нужно.

29 Авг, 15:51 #523 #830406

>5) Классы/интерфейсы и все вытекающие.
Здесь имеется ввиду понять что такое класс, интерфейс и т.д., или же надо поучить основные классы?

Ответы>>830419

29 Авг, 16:00 #524 #830419

>>830406
И то, и другое.

vova 30 Авг, 09:42 #525 #831013

test

vova !F3L8Z2.3SY 30 Авг, 09:44 #526 #831015

sdf

alan !!Bk0SEnqFBs 30 Авг, 09:44 #527 #831016

test 3

02 Сен, 17:07 #528 #833643

Какую ORM для SQLite лучше использовать?

Тред утонул или удален.
Это копия, сохраненная 13 сентября 2016 года.

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion