[Ответить в тред] Ответить в тред

09/07/16 - Новое API для капчи - внимание разработчикам приложений
03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 500 | 37 | 117
Назад Вниз Каталог Обновить

Разработка под Android тред №21 Аноним 05/06/16 Вск 11:06:00  762039  
14651139610170.jpg (112Кб, 1280x853)
Вот бы в отпуск съебаться.

Предыдущий тред тут:
https://2ch.hk/pr/res/750609.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.
Привет клиент-серверка.

Пишите в треде что добавить
Аноним 05/06/16 Вск 11:16:13  762046
>>762034
Там про запись видео, а в реальном времени можно?
Как при отладке приложения через Android Studio.
Аноним 05/06/16 Вск 11:52:16  762062
>>762039 (OP)
> Вот бы в отпуск съебаться.
Так съебись, в чем проблема?

Какого черта это первое предложение шапки? ОП, ты совсем охуел?
Аноним 05/06/16 Вск 11:53:26  762064
>>762046
В реальном времени нельзя, только с задержкой.
Хочешь в реальном — используй эмулятор.
Аноним 05/06/16 Вск 12:25:55  762083
я пишу под андроид уже третий год, но я все еще не знаю ответа на вопрос: как обрабатывать поворот экрана (пока в фоне идет запрос)?
Аноним 05/06/16 Вск 12:28:42  762086
>>762083
Использовать вьюстейт как прослойку между презентером и вьюхой.
Аноним 05/06/16 Вск 13:16:37  762115
>>762064
А как можно на эмулятор, Genymotion, например, установить мой .apk минуя Android Stdio? Или скопировать устройство с установленным приложением на другой компьютер с эмулятором?
Аноним 05/06/16 Вск 13:19:34  762118
>>762115
Drag'n'drop апкшки в эмуль.
Аноним 05/06/16 Вск 13:23:07  762122
14651221873400.png (78Кб, 844x468)
14651221873411.png (86Кб, 847x470)
>>762083
Тоже около 4 лет, сдается мне что лучше вообще не обрабатывать явно, а использовать нотификации.

1) запустил синхронизацию, без сохранения явной ссылки
2) крутишь экран, после поворота берешь данные из локально базы (только чтение)
3) на onResume подписываешься на нужные оповещения, на onPause отписываешься
...
4) фоновый процесс записал данные в базу, кинул бродкаст что изменил базу
5) в активити/фрагменте/конроллере/вьюмодели ловишь бродкаст и перечитываешь базу

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

Вот видосик с последнего Google IO, может он подкинет пищи для размышления:
https://www.youtube.com/watch?v=70WqJxymPr8
Аноним 05/06/16 Вск 13:41:46  762141
>>762083
rxjava (оператор cache) + loader (или статик поле, ретеин фрагмент, че угодно), так делают чуваки из elegion, мне понравилось
Аноним 05/06/16 Вск 13:48:37  762146
>>762062
Лето же. Да и свежих новостей не заметил.
Аноним 05/06/16 Вск 13:50:30  762149
>>762141
Есть примеры? А то что-то я хз как ровно подвязать лоадер к пресентеру.
Аноним 05/06/16 Вск 13:58:18  762155
>>762149
Да я тоже хз, видимо как хочешь, так и подвязывай
Аноним 05/06/16 Вск 14:03:13  762158
>>762122
видосик не понравился, ничего конкретного, просто рекомендации от к.о. смотрел жопой
как быть если бродкаст ушел в момент между отвязкой и привязкой? будет ждать событие которое уже произошло?
неужели за столько лет не нашлось более элегантного решения?
Аноним 05/06/16 Вск 14:06:09  762160
>>762155
>>762149
Хотя не вот вспомнил https://github.com/googlesamples/android-architecture/tree/todo-mvp-loaders/
Аноним 05/06/16 Вск 14:19:48  762172
>>762158
Ну так ты на onResume должен не только подписываться, но и делать запрос к базе.
Лоаедеры так и работают (может исходники CursorLoader посмотреть).

Шо поделаешь, это андроид (на ios/wp страница не разрушается на повороте).
Не хочешь ебать мозги - отключай поворот.
Аноним 05/06/16 Вск 14:22:31  762180
>>762172
лоадеры подписываются/отписываются в onStart/onStop
Аноним 05/06/16 Вск 14:28:04  762184
>>762180
Ну это конечно ничего не меняет, но спс за инфу
Аноним 05/06/16 Вск 16:46:39  762318
>>762118
Прикольно. Спасибо за помощь!
Аноним 05/06/16 Вск 17:26:00  762362
>>762172
> Не хочешь ебать мозги - отключай поворот.
Это не поможет. Кроме смены ориентации есть еще куча других событий config chages.
Аноним 05/06/16 Вск 17:31:36  762367
>>762362
И щас к ним прибавится изменение размера окна из-за многооконности.
Аноним 05/06/16 Вск 17:59:41  762398
>>762362
> Кроме смены ориентации есть еще куча других событий config chages
По моему опыту, в конечном итоге на все config-change кроме поворота окна можно забить хуй (типа смены языка).
Слишком редко они происходят, в отличие от поворотов, которые могут вызывать config-change каждую секунду.

Раньше было мерзкое событие "выдвижeние физической клавиатуры" (motоrola milеston),
но такие девайсы не получили распространения и хyй с ними.


> изменение размера окна из-за многооконности
Сам уже проверял?
Аноним 05/06/16 Вск 18:44:59  762459
>>762398
лейауты должны меняться, конечно будет пересоздаваться
Аноним 05/06/16 Вск 18:51:04  762464
>>762398
https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64#.hztmtq4vm

> The default case is that your whole activity is destroyed and recreated, restoring any state you saved in onSaveInstanceState() and reloading all of the resources/layouts. This has the nice property that you know everything is consistent with the new configuration and that every type of configuration is handled.
Аноним 05/06/16 Вск 19:56:27  762546
14651457880410.jpg (29Кб, 512x384)
Програмач, помоги. Установил Android Stidio, захотелось поизвращаться, покрутить код на Java и т.д. Но сразу же столкнулся с проблемой дебаггера. Я создал кнопочку, к примеру, на неё повесил обработчик события, чтобы при нажатии в соседнем TextView появлялся текст типа: "Hello, world!". Но когда я изменил код этого самого метода onClick, чтобы она писала другой текст, затем скомпилировал и запустил (запускал я всегда на своём телефоне), то та же самая кнопка писала не новый текст, а всё тот же старый, который я уже давно стёр. В чём проблема? Почему дебаггер так криво работает? Я потом ещё пробовал поменять фоновый цвет приложения, скомпилировал, запустил, и цвет, на удивление, поменялся, а кнопка всё равно работала по-старому. С кнопкой я привёл пример для наглядности. Что я делаю не так, посоны?
Аноним 05/06/16 Вск 20:20:46  762566
Помощь с регистрацией и смс!
telegram.me/AndroidChan
telegram.me/AndroidChan
telegram.me/AndroidChan
telegram.me/AndroidChan
telegram.me/AndroidChan
telegram.me/AndroidChan
telegram.me/AndroidChan
telegram.me/AndroidChan
Аноним 05/06/16 Вск 23:17:36  762667
>>762398
> можно забить хуй
Тебе в php-тред.
Аноним 05/06/16 Вск 23:32:21  762675
>>762566
Зарепортил уёбка.
Аноним 06/06/16 Пнд 00:12:37  762691
>>762367
> И щас к ним прибавится изменение размера окна из-за многооконности.
Поворот экрана это тоже смена размера окна: ширина и высота меняются местами.
Аноним 06/06/16 Пнд 00:15:29  762692
>>762172
> Не хочешь ебать мозги - отключай поворот.
При этом не меняется размер тулбара он меньше в ландшафтной ориентации и максимальное число кнопок в меню. Если второе не очень критично, то первое просто отвратительно с эстетической точки зрения.
Аноним 06/06/16 Пнд 08:25:58  762767
>>762692
Кстати, на айфонах в 99% приложений есть только портретная ориентация.
Там то понимают как всех бесит когда решил прилечь с телефоном, а он экран начинает вращать.

> При этом не меняется размер тулбара он меньше в ландшафтной ориентации
Не понял, а зачем он вообще должен менять размер и кол-во кнопок (экран то остается в портретном режими)?
Ты что обычно экран поворачиваешь вместо того что бы нажать на троеточие?
Вставлять поворот везде просто потому что ты можешь, хотя это внесет доп. сложность и ничего не даст юзеру, не очень умно.
Аноним 06/06/16 Пнд 10:28:25  762790
>>762767
Не очень умно не понимать то, что нельзя уйти от пересоздания активити, хотя бы потому что сам андроид может убить активити. Плюс если у тебя хоть какое то нормальное приложение, а не твой список дел, который работает без интернета, то у тебя будут разные лейауты для разных размеров. Если ты не хочешь это понимать, то пиздуй в ios, там делается просто 2 разных приложения под телефон и планшет, что пиздец
Аноним 06/06/16 Пнд 10:49:30  762793
14651993704220.jpg (45Кб, 604x554)
Ребят, может завалялся у кого пример кода загрузки изображение в альбом или на стенку пользователя vk sdk android?
Аноним 06/06/16 Пнд 10:57:47  762794
>>762793
У вк же охуительная документация, или ты хочешь, чтобы за тебя сделали?
Аноним 06/06/16 Пнд 11:08:13  762796
>>762794
Никак нет. Я так понял, что нужно использовать что-то вроде этого, но затрудняюсь реализовать getPhoto. Получается я должен дать путь к изображению в ресурсах моего проекта? Или это все дописывать в поле request.executeWithListener(....) или использовать другие методы из vk api?
final Bitmap photo = getPhoto();
VKRequest request = VKApi.uploadWallPhotoRequest(new VKUploadImage(photo, VKImageParameters.jpgImage(0.9f)), 0, 60479154);
Аноним 06/06/16 Пнд 11:45:26  762813
>>762790
> в ios, там делается просто 2 разных приложения под телефон и планшет, что пиздец
Уже пару лет как там "по умолчанию" общая верстка для iphone/ipad.

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

Я понимаю бушует юношеский максимализм и хочется что-бы все было идеально,
но когда работаешь над серьезными проектах пару/тройуку лет - понимаешь что это не так важно,
как сделать приложение с минимальной сложностью поддержки и внедрения новых фич.
Аноним 06/06/16 Пнд 12:43:37  762834
>>762796
В чем твоя проблема? Ты в параметрах одного метода запутался? У тебя же есть VKApi.uploadWallPhotoRequest(File, long, long).
Аноним 06/06/16 Пнд 13:13:25  762837
>>762834
Проблема getPhoto(), что подразумевается под этим? Да, я похоже даун, ну что-то переклинило. Или мне все это что я писал выше не использовать, а то лишь VKApi.uploadWallPhotoRequest(File, long, long), если да, то как дать ссылку на файл?
Аноним 06/06/16 Пнд 15:30:27  762908
>>762837
Под этим подразумевается твой способ получения битмапки фото. Но ты можешь использовать и не битмап.
Аноним 06/06/16 Пнд 16:25:20  762948
>>762908
Я хотел узнать, что он подразумевает в плане реализации. Вот пример кода http://pastebin.com/v6WtTeQA , но я получил ошибку после прохождения авторизации
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=10485, result=-1, data=null} to activity {com.example.molodec.vktest/com.example.molodec.vktest.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference
Аноним 06/06/16 Пнд 16:30:07  762955
>>762948
Ну а хули, ты читать не умеешь? Там же написано что ему нудна не нулевая битмапка, НАЧАЛЬНИК С КЕМ МЕНЯ ПОСАДИЛИ.
Аноним 06/06/16 Пнд 16:59:13  762965
>>762955
Вообще-то они должны были вставить assert на NULL вначале метода API.

Эх, писали бы на котлине, не было бы таких левых ошибок.
Аноним 06/06/16 Пнд 17:01:42  762968
>>762965
Ну или аннотацию @NotNullable на аргумент метод поставить было можно.
Аноним 06/06/16 Пнд 17:05:19  762970
>>762767
> Не понял, а зачем он вообще должен менять размер и кол-во кнопок (экран то остается в портретном режими)?
Условно числа из головы, в портетной ориениации высота тулбара — 72 dp, максимально помещается 3 иконки. В ландшафтном — 64 dp и 5 иконок. Когда ты поворачиваешь экран, тулбар создается заново и эти параметры обновляются. Если включить обработку смены конфига — они не будут обновляться и высота тулбара будет зависеть от того, в какой ориентации приложение было запущено. Число иконок — тоже.
Так понятнее?
Хотя я понял, ты предлагаешь отключить автоповорот, записав ориениацию в манифесте, а не включить обработку смены конфига.
Аноним 06/06/16 Пнд 17:05:52  762971
>>762965
>>762968
А чем им ассерт бы помог? Вывалилось бы с точно такой же ошибкой. Чувак должен убедится что битмапка не ноль и не пихать туда и все.
Аноним 06/06/16 Пнд 17:06:39  762972
>>762968
@NonNull, а аннотации тащат зависимость к appcompat.
Аноним 06/06/16 Пнд 17:06:41  762973
>>762813
> когда работаешь над серьезными проектах пару/тройуку лет
ну это точно не про тебя максимум списки покупок
Аноним 06/06/16 Пнд 17:15:55  762978
>>762955
Можно тогда пример как ее нужно было обозначить?
Аноним 06/06/16 Пнд 17:18:48  762981
>>762971
Чувак, ну это же мувитон для БИБЛИОТЕКИ не проверять аргументы.
И исключение было бы понятно даже для даунов ArgumentNullException("Argument photo is null, GFYS faggot");

>>762972
Есть сторонние библиотеку для @Null/@NotNull (котлин и скорее всего IDEA/AS много чужих поддерживает).
Хотя я так подумал это бы не особо то и помогло.
Аноним 06/06/16 Пнд 17:43:53  762998
>>762978
Больше чем на псевдокод не рассчитывай ок?
1) Получить переменную битмапки;
2) Проверить что она не null;
3) Если не null то начать отправку в ВК;
4) Иначе думай в чем проблема, почему null;
Аноним 06/06/16 Пнд 18:25:31  763042
>>762965
assert на android? really?
Аноним 06/06/16 Пнд 18:29:51  763047
>>763042
бля ну не добывайся до мелочей, я имел просто проверку на null:
if (arg == null) throw new ArgumentNullException("arg");
Аноним 06/06/16 Пнд 18:40:28  763063
Посоны где вы купили свои андроид девайсы? Хотел купить нексус 5х но в моей стране гугл магазин не работает. Хочу купить в интернете потому что в магазинах наценка около 200 бачей, так что пусть они идут нахуй
Аноним 06/06/16 Пнд 18:48:32  763069
>>763063
Nexus5X на Google Play еще по предзаказу, через бандерольку.
Но тебе лучше пройти в /mobi/nexus тред.
Аноним 06/06/16 Пнд 18:49:26  763072
>>763069
Спасибо братан
Аноним 06/06/16 Пнд 19:13:51  763090
Двач, привет! У меня вопрос к работающим анонам и фрилансерам.

В общем, я сделал для местного новостного агенства( типа того) приложение, похожее на приложуху медузы. Добавил несколько фич с отправкой фото-видео и писем и ещё развлекухи немного. Но за ориентр была взята медуза.

Скажи, сколько просить денег за это? Скрины показать не могу, но стиль выдержан заебись(как приложуха хабра).

50к хватит за онли андроид версию?
Или просить 50 за андроид + айос портированную?

Какие цены вообще на такие вещи?
Аноним 06/06/16 Пнд 20:05:26  763121
Бери 50к за андроид версию.
Не потому что дорого или дешево, а потому что продавать сразу две версии как-то не солидно. Выглядит как "2 по цене 1"
Аноним 06/06/16 Пнд 20:14:03  763125
>>763121
а сколько вообще подобные штуки стоят?

Мне кажется, что 50 тысяч - это как-то дохуя, но я открыл разные "ПО на заказ" и там вообще чуть ли не в 500к выходит корпоративное говно.
Причём сроки там адовые, например, 13-17 недель.
Что они там столько времени делают - хуй знает.
Аноним 06/06/16 Пнд 20:18:02  763128
>>763125
> Что они там столько времени делают - хуй знает.
Делают архитектуру например, а не хуяк-хуяк и в продакшн.
> 50 тысяч - это как-то дохуя
Нет, это норм за такое приложение, если ты не индус за еду.
Аноним 06/06/16 Пнд 20:23:14  763130
14652337947110.jpg (38Кб, 604x389)
>>763090
> Сначала сделал, потом денег просит
Вопрос уже в том насколько там щедрые дяди.

> айос портированную?
Как ты на iOS портировал то (или собираешься)?
Аноним 06/06/16 Пнд 21:06:40  763175
анасы, поясните за собеседования.
спрашивают ли сейчас новомодные rx. dagger, mvp и т.д.
я ж старпер, нихуя не знаю из этого
реально ли без этой хуйни хотяб тыщ на 130?
Аноним 06/06/16 Пнд 21:19:42  763185
>>763175
Да, знание асинктаска достаточно для 150к-200к
Аноним 06/06/16 Пнд 21:20:11  763186
>>763175
За Котлин дают +100k
Аноним 06/06/16 Пнд 21:21:59  763188
>>763185
ну у меня щас 100, я этого не знаю всего
Аноним 06/06/16 Пнд 21:30:10  763199
>>763188
Ну молодец, работаешь в быдлоконторе
Аноним 06/06/16 Пнд 21:40:14  763211
>>763199
лол, работаю кстати в конторе от которой местные аноны кипятком ссут. особенно доставляет читать маняфантазии, дескать вот там охуенно работать
Аноним 06/06/16 Пнд 21:41:41  763216
>>763211
Похоже на то, что маняфантазии у тебя
Аноним 06/06/16 Пнд 21:44:37  763218
>>763211
Ссу пока только елегиона и роботов. Но ты вангую работаешь каком-нибудь говнояндексе.
Аноним 07/06/16 Втр 06:58:45  763395
Ловите presenter cache.
http://blog.bradcampbell.nz/mvp-presenters-that-survive-configuration-changes-part-1/
Аноним 07/06/16 Втр 07:39:09  763405
>>763175
Да, спрашивают. Андроид скатился до уровня, когда появились миллионы фреймворков и нужно все их знать, это был вопрос времени.
Аноним 07/06/16 Втр 08:12:10  763415
>>763218
> елегион
Сраные полуебки, так и не прислали мне мой диплом за их поганый тест.
Аноним 07/06/16 Втр 08:48:06  763421
>>763415
Да этот диплом нахуй не нужен, а тест говно ну хоть в офисе гугла побывал
Аноним 07/06/16 Втр 11:15:47  763488
>>763186
За Хаскелл дают +300k
Аноним 07/06/16 Втр 12:08:57  763505
>>763415

А мне прислали даже в украху.
Аноним 07/06/16 Втр 14:59:16  763627
Ананасы, кто-нибудь под NDK что-нибудь пилил?
Какого это?
Есть желание и возможность запилить игорь под Андроид, но вот Джаву не знаю.
Аноним 07/06/16 Втр 15:06:13  763635
>>763627
Соблаговолите пройти в /dev/Unity тред и перестать отвлекать нас от серьезных беседъ

https://2ch.hk/gd/res/262023.html
Аноним 07/06/16 Втр 15:17:03  763649
>>763635
>Как_сделать_клиент_серверку_без_костылей_2016
>серьезные беседы
>>763627
На голом NDK ты далеко не уедешь. Хочешь сосать плюсы - используй Cocos2dx, хочешь сосать жабу - libGDX, хочешь шарпы - Unity
Аноним 07/06/16 Втр 16:24:56  763689
>>763649
> как сделать клиент серверку без костылей
> все еще нет ответа
Аноним 07/06/16 Втр 17:22:58  763710
Посоны, как в андроид студио найти использования метода?
Аноним 07/06/16 Втр 17:23:23  763711
>>763710
А, всё, нашёл. В глаза ебусь
Аноним 07/06/16 Втр 17:31:36  763718
>>763042
а что не так с ассертами? вот студия советует ей проверять как вариант
Аноним 07/06/16 Втр 18:18:28  763763
>>763689
Это философский вопрос.
Аноним 07/06/16 Втр 18:19:23  763764
>>763718
Из релизного кода они будут выкинуты. Раньше так было.
http://stackoverflow.com/questions/6176441/how-to-use-assert-in-android
Аноним 07/06/16 Втр 19:31:21  763833
>>763718
далвик не понимает их, хз как art
Аноним 07/06/16 Втр 19:54:25  763859
>>763125
если с мессенджером и лк - 150+, без - порядка 60-120 в зав-ти от наглости
Аноним 07/06/16 Втр 20:35:39  763905
14653209399480.jpg (636Кб, 1967x1235)
>>762039 (OP)
Сегодня попробовал сделать то приложение, которое мы пилим на фонгапе, сделать на джаве и кончил радугой, годнота лол.
Аноним 07/06/16 Втр 21:45:32  763994
устроился android junior в стартап, что почитать для прокачки скила? паттерны, блох или busy coder сойдет?
Аноним 07/06/16 Втр 21:47:29  763997
>>763994
> в стартап
За еду?
Аноним 07/06/16 Втр 21:50:54  764002
>>763997
За 25к.
Другой анон.
Аноним 07/06/16 Втр 21:51:26  764005
>>763997
нахуй еду, поработав неделю понял что на еде можно сэкономить
Аноним 07/06/16 Втр 23:09:55  764103
>>764005
конечно, добрые люди в мусорку обжевки ведь выкидывают, мы ведь программисты под ведро, для нас специально
Аноним 08/06/16 Срд 09:57:22  764320
>>763994
какой нормальный стартап будет набирать джуниоров?
Аноним 08/06/16 Срд 10:08:20  764331
>>764002
Многовато, я бы больше 15к не дал. А в стартапах вообще принято работать за доширак и обещания процентов от продаж, КОГДА ВСЕ ЗАРАБОТАЕТ.
Аноним 08/06/16 Срд 13:20:13  764493
Вот подкачал я свои скилы в джаве и андройде но опыта коммерческого нету, как искать работу? Во все компании отсылать резюме? Или по компании и ждать ответа? На позицию джунов нет вакансии(
Аноним 08/06/16 Срд 13:51:21  764523
>>764493
презентуй себя как мидла
кидаешь ссылки на своичужие аппы в сторе
приписаваешь себе опыт в noname конторефрилансер
Аноним 08/06/16 Срд 14:04:24  764538
>>764523
> приписаваешь себе опыт в noname конторе
Двачую этого комбинатора. "Работал удаленно, было несколько заказчиков, сейчас всех уже не помню, код показать не могу - коммерческая тайна"
Если есть свои нормальные проекты (грамотная архитектура, паттерны, тесты, доведены до конца и работают) на github/bitbucket - будет звучать убедительнее. Если есть приложения в Google Play - еще убедительнее (но там надо 25$ за регистрацию вроде).
Кто делал получение пушей из VK SDK Аноним 08/06/16 Срд 14:37:24  764576
и у кого это прямо сейчас работает?
Аноним 08/06/16 Срд 18:55:20  764820
>>764538
>(грамотная архитектура, паттерны, тесты, доведены до конца и работают)
Половина мидлов этого не умеет.
Аноним 08/06/16 Срд 19:48:25  764863
>>764820
>>764538
Чем определяется джуниор или мидл?
Аноним 08/06/16 Срд 20:45:55  764923
>>764863
Опыт работы = знания реальных проектов = практический навык.
Аноним 08/06/16 Срд 20:57:53  764935
>>764923
Все равно что-то не то. Можно 3 года на иннер асинктасках все писать.
Аноним 08/06/16 Срд 21:03:22  764942
Аноны, поясните за mosby, какой профит юзать его, а не делать свой mvp с нуля?
Аноним 08/06/16 Срд 21:03:27  764943
>>764935
Можно, но смысл ведроида даже не в архитектуре, а в знании костылей.
Архитектуру на ариксе можно выучить на неделю.
Аноним 08/06/16 Срд 21:44:18  764969
>>764942
> какой профит
То, что не делаешь свой мвп с нуля?
Аноним 08/06/16 Срд 22:14:27  764995
>>764969
так я не понимаю, в чем сложность mvp с нуля? И чем этот фреймворк помогает
Аноним 08/06/16 Срд 22:35:28  765016
>>764995
А в чем сложность написать свой ретрофит?
Аноним 08/06/16 Срд 23:12:48  765059
В MVP колбеки от вьюх хранятся внутри ViewImpl и вызывают методы презентера?
Аноним 08/06/16 Срд 23:14:03  765062
>>765016
короче ладно, ты сам не знаешь, видимо, ещё ни разу не писал ничего по mvp
Аноним 08/06/16 Срд 23:15:17  765065
Котаны, как в google maps работает accuracy circle?
Написано, что его радиус равен двум СКО. Но почему он тогда не меняется при движении, когда разброс координат увеличивается?
Аноним 08/06/16 Срд 23:15:28  765066
>>765062
Ебанаты, вокруг ебанаты.
Аноним 09/06/16 Чтв 07:11:12  765248
>>765059
Да.
Аноним 09/06/16 Чтв 12:12:21  765344
>>762039 (OP)
Поясните за охуительные анимации, куда копать?
Аноним 09/06/16 Чтв 13:11:29  765383
Есть таб с галерей картинок которые подгружаются глейдом в ImageView (штук 20 на большом дисплее). При первом переходе на этот таб анимация viewpager'a немного притормаживает. Можно как-то сказать глейду, чтобы он как-то сбалансированно подгрузил видимые картинки при инициализации фрагмента во вьюпейджере?
Аноним 09/06/16 Чтв 14:23:59  765438
Кто-нибудь пробовал используя Espresso открывать drawer и кликать по итему ? Никак не вдуплю, хули оно с дефолтными итемами пахать не хочет, добавленными через меню
Аноним 09/06/16 Чтв 14:59:43  765463
765438-ананас, заработало с поиском по id-шникам итемов в меню, я доволен
Аноним 09/06/16 Чтв 15:00:35  765465
>>765463
> >>765438-ананас
Аноним 09/06/16 Чтв 15:10:29  765469
К слову, о том же Espresso, ни у кого не возникало сложностей при вводе текста в android.support.v7.widget.SearchView ? Требует, гад такой, android.widget.SearchView...
Аноним 09/06/16 Чтв 16:41:57  765530
>>765469
Парниша, ты вообще о чем?
Аноним 09/06/16 Чтв 17:47:25  765593
14654836455120.png (2Кб, 262x139)
Каким образом правильно делать тени вьюхам? Вот растягивающаяся плашка, цвет обводки и задника задаются темой. Обводку/задник делать из шейпов, а тень из 9patch? Elevation это же только lolipop+ да?
Аноним 09/06/16 Чтв 19:49:39  765695
Как получить координаты MotionEvent в обход этого?
https://code.google.com/p/android/issues/detail?id=72746

Есть ли еще способы получения координат нажатия из сервиса?
Аноним 09/06/16 Чтв 20:20:14  765739
>>762039 (OP)
Как правильнее написать API, которое дергает сервер и возвращает результат? Сделал пока несколько AsyncTask-ов в отдельном package, с setCallback-ами - при onPostExecute, вызывается этот callback.

Джавы не знаю, буду рад совету как это делать канонично.
Аноним 09/06/16 Чтв 20:22:08  765745
Такая проблема, есть один onClick (выставлен в layout-файле):
http://pastebin.com/Ng7QTRAJ
если закомментировать блок условия, то всё работает, иначе выдаёт IllegalStateException
Аноним 09/06/16 Чтв 21:32:27  765812
аноны, надо сделать такое приложение, где в начале получаю инфу в сплеш скрине и на этом всё. Нормально ли будет хранить ответ в аппликейшене, или есть варианты лучше?
Аноним 09/06/16 Чтв 21:52:13  765824
>>765745
> IllegalStateException
Стактрейс где?
Аноним 09/06/16 Чтв 22:00:51  765827
>>765739
R E T R O F I T
Аноним 09/06/16 Чтв 22:22:54  765838
>>765824
http://pastebin.com/WDviMWqN
name и password -- строки, объявленные как package-local поля класса. Алсо, эксепшен возникает при любой попытке досупа к ним.
Аноним 09/06/16 Чтв 22:57:32  765863
>>765838
Caused by: java.lang.NullPointerException at takheer.ru.passworder.LoginActivity.toRegistration(LoginActivity.java:44)

И в чем твоя проблема?
Аноним 09/06/16 Чтв 23:00:04  765865
>>765812
Твое приложение умирает в фоне и пользователь восстанавливает его на внутреннем экране. Что будешь делать?
Аноним 09/06/16 Чтв 23:07:51  765870
>>765863
>И в чем твоя проблема?
Я хочу, чтобы оно работало, а оно не работает. В этом проблема
Аноним 09/06/16 Чтв 23:20:44  765880
>>765863
Я понял твой вопрос. Моя проблема в том, что я плохо понимаю суть NullPointerException.
Создал я два поля, проинициализировал их в onCreate, попытался в других методах эти поля прочитать. Вылез NPE. Предлагаешь тупо обернуть в try-catch?
Аноним 09/06/16 Чтв 23:26:05  765883
>>765865
сосну хуйца, как лучше сделать?
Аноним 09/06/16 Чтв 23:39:36  765896
Ну познакомишься ты такой с девушкой, о чем будешь говорить?Как ты под ведро говно свое пилил?
Аноним 09/06/16 Чтв 23:40:03  765898
Ну познакомишься ты такой с девушкой, о чем будешь говорить?Как ты под ведро говно свое пилил?
Аноним 09/06/16 Чтв 23:50:23  765913
14655054233010.jpg (67Кб, 700x700)
>>765880
> 2016
> NullPointerException
Аноним 09/06/16 Чтв 23:57:46  765921
>>765883
или как насчет передавать везде parceble и сейвить его в бандл, так лучше?
Аноним 10/06/16 Птн 00:02:56  765927
>>765827
>R E T R O F I T
Охуенно, спасибо.
Аноним 10/06/16 Птн 00:40:51  765944
14655084515740.jpg (32Кб, 501x639)
>>765913
> 2016
> Kotlin
Аноним 10/06/16 Птн 07:22:01  766051
>>765921
Можно еще проверять, если поле с твоими данными занулились, отправлять юзера на сплешскрин.
Ну а по хорошему бд конечно или хотя бы файл. Гуглы не советуют использовать бандлы для хранения данных.
Аноним 10/06/16 Птн 07:57:22  766052
>>765944
Уноси своего братишку с сладким хлебушком, поехавший.
Аноним 10/06/16 Птн 08:49:19  766066
>>765863
>>765880
>>765870
Просто я дурной и забыл, что формочка для ввода текста это EditText, а не TextView.
Аноним 10/06/16 Птн 15:07:45  766307
Аноны, как правильно хуйнуть вьюпейджер внутрь ресайклвью. Делаю новый адаптер в онбинде, но не сохраняется страница пейджера, если перейти вниз ресайклвью и потом обратно. Как быть?
Аноним 10/06/16 Птн 15:10:50  766308
>>766307
Сохранять позицию пейджера для каждого id модели в карте?
Аноним 10/06/16 Птн 16:01:30  766342
>>765913
Очередной хипстерский тренд, который никому нахуй не нужен.
Аноним 10/06/16 Птн 16:45:14  766368
>>766342
Хипстерский тренд это:

ClojureScript + ReactNative

, а котлин уже рабочая лошадка.
Аноним 10/06/16 Птн 17:23:01  766389
Посоны, подскажите, как эту парашу еще можно сократить? Я уверен, что тут можно вобще в три строчки ебануть http://pastebin.com/XQsQmBTX
Аноним 10/06/16 Птн 17:27:47  766394
>>766389
Сабскрайбера можно определять отдельными action1. Передаешь 2 таких в subscribe и сокращаешь за счет лябдопреобразования.

И хули у тебя не через flatMap сделано?
Аноним 10/06/16 Птн 17:30:07  766395
>>766342
RX тоже хипстерский тренд, но он взлетел. Котлин тоже может взлететь, но на это ему нужно еще года полтора точно.
Аноним 10/06/16 Птн 17:37:04  766402
>>766394
ок, я уже поменял subscribe на flatMap, получилось почти то же самое, но вот насчет того, как сабскрайбера отдельным action сделать вобще не ебу, буду признателен за пояснение, если тебя не затруднит
Аноним 10/06/16 Птн 17:45:26  766409
>>766402
я напиздел, нихуя с flatMap не получилось, cyclic inference выдало и нахуй меня послало
Аноним 10/06/16 Птн 18:13:30  766423
>>766368
Твоя рабочая лошадка хотя бы в 2-3 процентах коммерческих приложений используется?
Аноним 10/06/16 Птн 18:54:25  766446
>>766423
> В сторе >1kk приложения,
> языку меньше год,
сам то как думаешь?

Тем более никто не будет переписывать коммерческое приложение с 0 на другом языке.
Аноним 10/06/16 Птн 18:59:28  766449
14655743682300.png (182Кб, 720x1280)
Аноны, а как сделать скроллбар толстым, чтобы им можно было прокручивать список? Как в стандартном приложении "контакты" или как в dashchan.
Аноним 10/06/16 Птн 19:58:53  766487
Сабскрайбы на топики пушей работают независимо? Т.е. я могу подписаться на топик не запрашивая токен, просто вызвав FirebaseMessaging.subscribe?
Аноним 11/06/16 Суб 12:20:28  766855
>>765593
Юзай cardview, там есть elevation. Просто любую вьюху оборачиваешь в кардвью, сам так делаю, зависимость есть, брат жив.
>>766449
Не совсем понял, но если понял правильно, то гугли scrollbar styling.
Аноним 11/06/16 Суб 13:24:21  766909
>>766855
Я думаю он про то, как сделать что бы по этому бару можно было быстро скролить, как в adobe pdr reader'e например. Или в контактной книжке по буквам.
Аноним 11/06/16 Суб 13:39:14  766920
>>766909
> Или в контактной книжке по буквам
https://github.com/krimin-killr21/MaterialScrollBar
Вот например.
Аноним 11/06/16 Суб 13:52:21  766932
>>766920
Надо будет поковырять что бы для всего можно было применять.
Аноним 11/06/16 Суб 16:58:42  767070
Уважаемые синьоры, пишет вам >>766389 -кун, я переделал (с горем пополам) на флет мапы, но возникла проблема http://pastebin.com/rT0280mW как сделать, чтобы foo было доступно оттуда, где мне надо взять его айдишник и засунуть в новый объект?
Аноним 11/06/16 Суб 18:25:38  767141
>>767070
Во flatMap вторым аргументом можно передать функцию агрегатор, которая должна либо запихнуть bar в foo (или наоборот), или составить из них Pair<Foo,Bar>.
Аноним 11/06/16 Суб 18:44:08  767162
>>767141 Спасибо, анон, читал об этом, но как-то не доходило, что нужный мне айдишник можно просто подсунуть в объект который пойдет дальше, а пары составлять уж совсем не хотелось.
Аноним 11/06/16 Суб 18:50:29  767172
Аноны есть кардвью и внутри неё вьюпейджер http://pastebin.com/9wMb07fj Если ставлю онкликлистенер на карточку, то она кликается, если не задан адаптер у вьюпейджера, иначе итем вьюпейджера, как бы перекрывает карточку, как мне обрабатывать клик по карточке?
Аноним 11/06/16 Суб 19:55:47  767251
Суп ребят! я воооооооооооообще не могу в java и учить её мне страшно со строк паблик класс майн активити Майн кококок.кококо{
Но я слышал о NDK и наслышан что телефонки умеют попиленый openGL с шейдерами и ништяками.
Аноним 11/06/16 Суб 19:56:16  767253
>>767251
вопрос забыл Чё мне почитать?
Аноним 11/06/16 Суб 20:23:41  767285
>>767253
«Триумфальную арку» Ремарка
Аноним 11/06/16 Суб 20:57:26  767315
>>767285
че ты вот зеленишь?
я достаточно хорошо умею cpp и GLSL но на пеки. что по ndk и gles в одной связочке есть?
Аноним 11/06/16 Суб 21:53:51  767355
>>767315
пройди плиз в /gamedev/ или c++ тред, тебе здесь не помогут
Аноним 12/06/16 Вск 00:01:14  767462
>>767355
а что вы тут тогда обсуждаете?
я нюфа у вас
Аноним 12/06/16 Вск 00:17:09  767465
>>767462
«Триумфальную арку» Ремарка
Аноним 12/06/16 Вск 00:22:12  767471
Короче пацаны! Решил запилить примитивную приложуху что то на подобе справочника. На первом экране список всякой ебалы. При тапе на элементе списка вызывается второе активити с более детальным описанием и видюшкой из ютуба. Вопрос вот в чем: предполагается, что данных будет много, поэтому каким способом лучше хранить данные, на СД карте или как то через БД?
Аноним 12/06/16 Вск 00:26:52  767475
>>767471
Много — это сколько?
Данные — это в что и в каком формате?
Аноним 12/06/16 Вск 00:30:19  767482
>>767475
Около 500 записей.
Все в текстовом виде, только видосик с ютуба отличается. Ну мб еще какая то картиночка в пункте списка
Аноним 12/06/16 Вск 00:34:44  767486
>>767482
Пиши в БД.
Аноним 12/06/16 Вск 00:36:03  767487
>>767486
Окей, спс.
Сажа то зачем?
Аноним 12/06/16 Вск 07:40:58  767589
Парни. опытные разрабы. Подскажите, как грамотно распланировать задачи?
Я пилю приложуху, но всё происходит как-то без плана.

Есть план того, как приложение должно выглядеть.
С чего надо начинать?
Вот смотрите.

Там будет сплэшскрин.
Потом открывается спарсенные заголовки.
По клику на эти заголовки открывается статья.
Сверху над заголовками есть кнопка, которая показывает другие жанры(переход на новую активити).


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

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

Как быть?
Аноним 12/06/16 Вск 08:08:45  767592
>>767589
А что, добавить новую активити для сплешскрина и установить для неё интент фильтр - не вариант?
Аноним 12/06/16 Вск 08:09:32  767594
>>767592
запутался, говорю ж(
Аноним 12/06/16 Вск 08:13:59  767595
>>767589
> Это меня выбесило и я снёс к хуям весь проект ,потому что запутался. Не могу работать, когда не понимаю, что и где лежит и всё перепутано.
Проиграл. Но все же ты продержался дольше чем многие другие. Тебя еще ждет замечательный мир несортируемых по папкам лейаутов и дроваблов.
Аноним 12/06/16 Вск 09:40:54  767613
>>767589
https://ru.wikipedia.org/wiki/Git

Научись делать бранчи, теги, планировать изменения по коммитам.
В итоге сможешь откатывать на любой пред. стадию и экспериментировать с фичами не боясь зафакапить наработки.
Аноним 12/06/16 Вск 11:38:11  767660
>>766855
Спасибо.
Аноним 12/06/16 Вск 12:11:04  767683
>>767172
Бамп
Аноним 12/06/16 Вск 12:17:57  767687
>>767595
до этого я делал рабочую приложуху, всё было хорошо и результат заказчка устроил.

но меня не устроила эта богомерзкая мусорка в папках и подпапках.
Ты просто не можешь представить себе, Анон, как я ненавижу, когда всё разбросано в хуевых непонятных местах.
Ненавижу блять
Аноним 12/06/16 Вск 12:19:29  767688
>>767683
Слушай клики в айтемах вьюпейджера, прокидывай выше.
Аноним 12/06/16 Вск 12:29:06  767690
>>767315
>я достаточно хорошо умею cpp
Если Java тебя напугала - то недостаточно хорошо.
Аноним 12/06/16 Вск 12:33:34  767693
>>767687
> как я ненавижу, когда всё разбросано в хуевых непонятных местах.
Кстати, никто не встречал сервиса что бы перегнать PNG (xxxhdpi) -> Vector Drawable?
Заебали эти подпапки под разные разрешения, сил уже нет.
Аноним 12/06/16 Вск 12:49:06  767700
>>767688
Ну это костыль, я уверен, что можно пофиксить
Аноним 12/06/16 Вск 15:27:26  767794
Напишите пожалуйста в каком городе/сколько получаете, и какие приложения пилите.
Пилю сейчас одно приложение в софтверной компании, которая вообще не занимается написанием приложений для конченого пользователя, отлично знаю что это приложение не отобьет мою зарплату, лол.
Аноним 12/06/16 Вск 16:10:27  767815
>>767794
Мск. Корпоративные приложения. 250к
Аноним 12/06/16 Вск 16:10:34  767816
>>767794
Может, у тебя какое-то приложение по заказу от какого-нибудь банка, например, и им похуй на окупаемость, лишь бы отчётность была?
Аноним 12/06/16 Вск 16:27:36  767826
>>767794
С какого хуя я тебе это писать должен...
Аноним 12/06/16 Вск 16:47:18  767840
>>767794
Мухосранск-миллионник. Разные приложения на заказ. 120к
Аноним 12/06/16 Вск 17:15:37  767864
Вопрос по асинктаску. Только не начинайте.
Адекватно ли, если результат какой-то сложный или несколько разных, присваивать это в приватные поля таска и в онПостЭкзикют доступаться вместо жирного дженерика?
Аноним 12/06/16 Вск 17:17:00  767869
>>767864
Алсо, я запятые правильно расставил?
Аноним 12/06/16 Вск 17:20:52  767882
>>767864
>>767869
Вы здесь что, ангельчане? Вот и уёбывайте в своё Чикаго.
Аноним 12/06/16 Вск 17:21:32  767883
>>767882
Не попал по пехтонотреду, не серчайте.
Аноним 12/06/16 Вск 17:26:08  767887
Вопрос по асинкзадаче. Только не начинайте.
Адекватно ли, если результат какой-то сложный или несколько разных, присваивать это в частные поля задачи и в наПослеВыполнения доступаться вместо жирной конструкции обобщения?
Аноним 12/06/16 Вск 18:18:21  767948
>>767690
ну в цпп не видел овер 120 символов в строке. пиздец напугало
Аноним 12/06/16 Вск 18:32:19  767960
>>767948
В хорошем жабокоде тоже не увидишь.
Аноним 12/06/16 Вск 18:35:23  767965
>>767960
стандартный конструктор апки андройд ебашит кучей страшных овер9000 символов строк. Это типо мне не надо?
Аноним 12/06/16 Вск 18:39:55  767970
>>767965
Выражайся нормально, я тебя не понял в полном объеме. особенно эту часть: "кучей страшных овер9000 символов строк"
Да конструкторы вьюшек в андроиде большие, но андроид это один большой костыль. А насчет сигнатуры метода - ставишь перенос стоки после запятой и все, теперь строка не 120 символов а 80, все по канону.
Аноним 12/06/16 Вск 18:54:45  767982
14657468853780.png (168Кб, 635x598)
Сап ведрач! Меня забанили на Гугле и теперь один вопрос не даёт мне покоя.

Можно ли из приложения менять приоритет выполнения остальных программ или даже заставить систему схибернейтить их на время выполнения моего важного приложения? Или не стоит вскрывать эту тему?
Аноним 12/06/16 Вск 19:00:48  767983
>>767982
Все что угодно, с рут доступом.
Аноним 12/06/16 Вск 19:36:55  768031
>>767982
Любое foreground приложение имеет более высокий приоритет выполнения.
Аноним 12/06/16 Вск 19:41:54  768040
ну ладно.. с андройдами ты меня успокоил. то-есть мой план -- подучить java.. собрать конструкторец GL и на NDK в стандартные функции GL конторах
Аноним 12/06/16 Вск 19:43:08  768045
>>768040
ссоре не туда вставил конторах..
хотел сказать описываю на NDK геймплей
Аноним 12/06/16 Вск 20:08:47  768079
Самая популярная хуитка на андроидах и никто не ответит? >>767864
Аноним 12/06/16 Вск 20:20:53  768091
>>767864
Нет.
Аноним 12/06/16 Вск 20:21:59  768092
>>768091
Почему?
Аноним 12/06/16 Вск 20:34:44  768104
>>768079
Популярные они были во времена 1.6, сейчас все на RX
Аноним 12/06/16 Вск 20:48:44  768116
>>768092
Не слишком ли много вопросов на сегодня?
Аноним 12/06/16 Вск 20:50:45  768119
>>768116
Че сагаешь меня? Просто хочу знать чем это плохо (помимо самого асинктаска).
Аноним 12/06/16 Вск 21:16:45  768147
Retrofit (2.0.2) + gzip делали? Везде пишут, что при подсовывании okhttp, он сам разруливает и добавляет в accept-encoding gzip. Но логи говорят о том (logging-interceptor), что нихуя он не добавляет. Я забыл что-то включить, или все-таки надо собственный интерсептор для всего этого писать?
Аноним 12/06/16 Вск 22:03:22  768192
>>762039 (OP)
Аноны, у меня есть фрагмент с вьюпейджером, страницу вьюпейджера пишу в бандл, когда перехожу в другой фрагмент из этого и возвращаюсь вьюпейджер становится на первую страницу, при перевороте всё ок
Аноним 12/06/16 Вск 22:04:23  768195
>>768192
как собственно сделать, чтобы при возвращении из другого фрагмента там была та же страница, что и раньше?
Аноним 12/06/16 Вск 22:12:23  768200
>>768195
Делай через активити
Аноним 12/06/16 Вск 22:21:01  768207
>>768200
нету другого выхода?
Аноним 12/06/16 Вск 22:36:01  768218
>>768192
Если никто не ответит, я завтра вечером из интереса попробую тоже.
Аноним 12/06/16 Вск 23:47:02  768277
>>768192
А как ты заменяешь фрагменты? Если каждый раз делаешь новый фрагмент и реплейсишь, то конечно не будет ничего запоминаться. Попробуй вместо этого записывать фрагмент под конкретным тагом и в случае реплейса делать fragmentManager.findFragmentByTag() и делать новый только если старого не существует. Если не получится, то FragmentInteraction.replace делать fragmentinteraction.detach+attach.
Аноним 12/06/16 Вск 23:48:04  768281
>>768277
>то FragmentInteraction.replace делать fragmentinteraction.detach+attach.
то вместо FragmentInteraction.replace попробуй делать fragmentinteraction.detach+attach.
Аноним 12/06/16 Вск 23:53:13  768288
>>768277
при возврате делаю popBackStack()
Аноним 13/06/16 Пнд 10:25:59  768477
14658027600620.png (104Кб, 720x583)
14658027600631.png (105Кб, 606x516)
>>768147
> при подсовывании okhttp, он сам разруливает и добавляет в accept-encoding gzip.
> Но логи говорят о том (logging-interceptor), что нихуя он не добавляет
Ты куда-то не туда смотришь (или твои логи показывают не все).
Вот обычный OkHttp 3.2.0 и GitHub API - из запросе и в ответе прописывается gzip.
Аноним 13/06/16 Пнд 12:21:40  768518
>>768477
А с rx адаптером добавляет?
Аноним 13/06/16 Пнд 13:09:20  768547
14658125602870.png (137Кб, 839x743)
14658125602881.png (94Кб, 543x502)
>>768518
> А с rx адаптером добавляет?
Не понятно как это должно влиять, ведь это разные уровни абстракции.
Но в любом случае проверил - добавляет.
Аноним 13/06/16 Пнд 13:23:11  768554
как в сраном d.android.com поставить англ язык, и что бы он бляц автоматом не ставился в рус? как же меня бесит эта хуйня
Аноним 13/06/16 Пнд 13:28:46  768555
>>768554
Попробуй куки очисть и зайти заново на сайт, по идее он должен показать диалог с выбора языка по умолчанию.
Аноним 13/06/16 Пнд 13:53:41  768572
>>768079
>Самая популярная хуитка на андроидах
>асинктаск
лол
Аноним 13/06/16 Пнд 13:58:24  768581
>>768572
Нуу.. она популярна.
Аноним 13/06/16 Пнд 14:06:09  768589
>>768581
ахахаха
Аноним 13/06/16 Пнд 14:18:31  768595
Какие требования для миддла?
Аноним 13/06/16 Пнд 14:19:24  768596
>>768595
Знать и уметь асинктаск.
Аноним 13/06/16 Пнд 14:20:47  768597
>>768596
>асинктаск
ахахаха, лол
Аноним 13/06/16 Пнд 14:37:45  768605
14658178653080.jpg (44Кб, 604x604)
>>765863
> package tahreer.ru.passworder
Ты новенький?
Аноним 13/06/16 Пнд 15:45:45  768631
>>767794
700к сити, клиент-серверное приложение, 15к
Аноним 13/06/16 Пнд 15:52:53  768637
>>768192
мб сохранить текущую позицию вьюпейджера и засетать при резюме?
Аноним 13/06/16 Пнд 16:36:17  768652
>>768637
Ну я теперь храню страницы в переменной класса и подставляю её во вьюпейджер, вроде всё работает
Аноним 13/06/16 Пнд 17:09:46  768678
Во фрагменте, который setRetainInstance(true), качаю видосики с дропбокса с помощью dropboxAPI+rxjava. subscribeOn в новом потоке. Зачем кешировать обсервер, и отписывать/подписывать перед/после поворота? Запрос и без этого не прерывается. Ведь я правильно понимаю: тк объект фрагмента не уничтожается-->новый поток который мы вызвали тоже не прерывается. В onCompleted с UI нет никаких взаимодействий.
Поворот обрабатываю не в ручную офк.
Аноним 13/06/16 Пнд 17:24:03  768693
>>768678
Стоит в сервис с нотификашкой вынести, так как грохнет кто-то твою активити и видосик не скачается, ставлю 1 звезду.
Аноним 13/06/16 Пнд 19:40:17  768773
Сеньоры, это норм, что при тыкании моего приложения оно разрастается до 55-60мб, а при инициации gc в студии оно становится сначала 32, а потом опять при инициации 22, это мой быдлокод или всё ок?
Аноним 13/06/16 Пнд 19:43:16  768777
>>768773
не ок.
Аноним 13/06/16 Пнд 19:45:13  768778
>>768777
почему?
Аноним 13/06/16 Пнд 20:02:54  768787
>>768773
А мне кажется все ок, если ты конечно не ловишь OME, возможно стоит добавить всяких освобождений в onTrimMemory
Аноним 13/06/16 Пнд 20:25:16  768800
>>768773
Какое у тебя разрешение экрана и сколько всего памяти на устройстве?
Аноним 13/06/16 Пнд 20:27:53  768802
>>768800
1280x720
1 Гб
И да, в приложении много картинок, юзаю Picasso
Аноним 13/06/16 Пнд 20:48:05  768808
>>768802
В onDestroy (не очень много смысла) или onTrimMemory (а тут уже больше смысла, лови кейз TRIM_MEMORY_UI_HIDDEN) своей активити и чисти кеш картинок. http://stackoverflow.com/questions/22016382/invalidate-cache-in-picasso
Аноним 13/06/16 Пнд 21:14:48  768826
>>768808
спасибо, но я думаю пока не приложение не падает, оставлю так
Аноним 13/06/16 Пнд 21:24:19  768834
>>768826
>не приложение
Оговорки по Фрейду.)))....)
Аноним 13/06/16 Пнд 22:52:52  768869
Приветик. Я тут хочу написать приложение, но останавливает отсутствие вменяемой java-библиотеки для существенной части функционала. Конкретно - парсинг abc-нотации и генерация изображения с нотами. Нашел однако примерно то, что мне надо на js - https://github.com/paulrosen/abcjs . Эта библиотека делает все что мне нужно, но заточена она под веб, svg выплевывается в dom-элемент. Есть ли способы как-то засунуть все это в андроид-приложение? Т.е. загружаем библиотеку в какой-нить javax.script , выполняем, это все я себе еще более менее представляю, но вот как перехватить svg изображение и например передать во вьюху, м?
Аноним 14/06/16 Втр 00:20:48  768919
>>768869
WebView, там все удобно.
Аноним 14/06/16 Втр 00:24:36  768922
>>768919
Смешно.
Аноним 14/06/16 Втр 00:43:09  768934
14658541891950.jpg (106Кб, 600x1953)
>>768922
Кто тут шутит — пишешь html+js в ассетах, загружаешь в WebView и пишешь @JavascriptInterface
Аноним 14/06/16 Втр 01:05:00  768947
>>768934
Потом удивляешь, почему всё работает через жопу и жутко медленно.
Аноним 14/06/16 Втр 02:00:13  768958
Как сделать, чтобы при скролле вьюшки в коллапсинг туллбар лейауте становились прозрачными взависимости от положения скролла?
Аноним 14/06/16 Втр 07:30:26  769013
>>768958
У апбарлейаута есть листнер на скролл.
Аноним 14/06/16 Втр 09:25:32  769048
>>768958
коллапсинг тулбаре можно детектить отхождение, высчитывай процент и твори
Аноним 14/06/16 Втр 10:05:52  769075
>>769013
>>769048
А там на всех девайсах будет одинаковое значание в лисинерах?
Аноним 14/06/16 Втр 10:09:50  769078
>>769075
Нет, там оффсет отдается в пикселях.
Аноним 14/06/16 Втр 12:47:54  769147
>>768947
Ой все, у меня на трехлетнем теле летит приложение с такой вьюхой, и норм.
Аноним 14/06/16 Втр 14:49:50  769223
AccountManager еще используется или он как AsyncTask? Как вы вообще по-пацански делаете аутентификацию юзера, и сохранение токена?
Аноним 14/06/16 Втр 15:20:40  769253
>>769223
Я бы предложил OAuth2 и хранение токена в дефолтном KeyStore андроида.
Аноним 14/06/16 Втр 17:49:48  769386
>>769223
Конечно используется. И именно его и нужно использовать.
Аноним 14/06/16 Втр 18:25:15  769403
А можно сделать чтобы диалог (Dialog()) не блочил активити? В смысле если я нажал куда-то помимо окна диалога, ивент дошел бы до нижележащей активити.
Аноним 14/06/16 Втр 19:18:46  769440
>>768773
> Сеньоры
сеньеров полон тред
Аноним 14/06/16 Втр 21:54:33  769552
>>769403
делаю свою вьюшку в активити с полупрозрачным бэкграундом
Аноним 14/06/16 Втр 21:59:50  769554
Сап, делал я значит список с автоподрузкой и тут опана:
Caused by: rx.exceptions.OnErrorNotImplementedException: Only the original thread that created a view hierarchy can touch its views.
Код добавления элементов:
public static void fake_loadNewsUsingAdapter(int position, SimpleBindableAdapter<NewsItem> adapter, String lorem) {
/NewsItemObservableEmulator.getFakeNews(lorem)
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(Schedulers.io())
.flatMap(newsItems -> Observable.from(newsItems.getNews()))
.subscribe(newsItem -> adapter.add(new NewsItem(newsItem.getTitle(),
newsItem.getDescription())), e -> {e.printStackTrace(); adapter.setItemsLoading(false);},
() -> adapter.setItemsLoading(false));
/
NewsItemObservableEmulator.getFakeNews(lorem)
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(Schedulers.io())
.map(newsApiObject1 -> newsApiObject1.getNews())
.map(newsApiItems1 -> translateFromApiDataToNormal(newsApiItems1))
.subscribe(newsItems -> {adapter.addAll(newsItems); adapter.setItemsLoading(false);});
}

что то, что закомменчено, что то, что не закомменчено вызывает эту ошибку. Что собсна с ней делать ?
При этом если добавить в onError что-нибудь типа e -> e.printStackTrace(); то будет выскакивать такая ошибка только на первом элементе из "порции", да притом не со 100% шансом. Почему эта фигня вообще происходит и как ее исправить ? Подумываю вот увеличить расстояние до конца подруженной части списка после прохождения дальше которого инициируется подгрузка
Аноним 14/06/16 Втр 22:01:44  769555
>>769554
Пардон, звездочки бли зверско скушаны, очевидно перед NewItemObservableEmulator и после setItemsLoading(false)); должны стоять звездочки
Аноним 14/06/16 Втр 22:08:54  769559
>>769554
упс, то я дурак, .subscribeOn(AndroidSchedulers.mainThread()) нужно юзать , а не .observeOn(AndroidSchedulers.mainThread()) ;
Придумали же епт, названия
Аноним 14/06/16 Втр 22:19:56  769560
>>769559
> subscribeOn сетевой запрос на главный поток
Разберись с этими операторами полностью, ты опять делаешь не так.
Аноним 14/06/16 Втр 23:39:16  769606
>>769403
С точки зрения UX, так делать не стоит.
Аноним 15/06/16 Срд 09:20:36  769812
Сап, братишки, нужна ваша помощь.

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

Как это можно сделать?

Сейчас разбираюсь с драйв api, но как-то все мутно, не до конца понимаю как все работает. Получается, что я могу только создать файл в облаке, а потом побайтово скопировать содержимое своего файла туда, все правильно понял?
И можно это делать не только для .txt, а для любых форматов?
Аноним 15/06/16 Срд 09:40:54  769824
Аноны как сделать, чтобы кнопка меняла иконку после нажатия, а то сейчас я это в коде делаю
Аноним 15/06/16 Срд 09:58:35  769834
>>769812
Firebase storage для файлов, а ссылки на файлы хранишь в Firebase database.
Аноним 15/06/16 Срд 10:00:41  769839
>>769824
Toogle button как вариант.
Аноним 15/06/16 Срд 10:41:55  769862
Как гуглить туториал про просмотр картинок, как в вк или других приложениях, т.е. когда картинку можно смахнуть вверх или вниз и она вернется на свое место?
Аноним 15/06/16 Срд 10:54:58  769869
>>769862
Открываешь код вк или чего-то там и смотришь. Названия пакетов не обфусфируются полностью, если атм какая-то либа нагуглишь по ней, иначе посмотришь принцип.
Аноним 15/06/16 Срд 11:19:37  769876
>>769834
>Firebase sterage
Это ведь не бесплатно?

Через drive никак не получится?
Аноним 15/06/16 Срд 11:25:21  769882
>>769876
Я думаю тебе 1 гб бесплатной версии хватит.
Аноним 15/06/16 Срд 11:38:07  769892
>>769882
Боюсь, что может и не хватить много пользователей

Есть помимо офф сайта годные туторы как с этой firebase работать?
Аноним 15/06/16 Срд 11:48:22  769901
>>769834
Зачем использовать датабазу? Одного сторадж недостаточно?
Аноним 15/06/16 Срд 11:51:50  769904
>>769882
Расскажи там 1 GB на всех юзеров или на каждого?
Если на всех, то как там разруливать кому какие данные принадлежат?
Аноним 15/06/16 Срд 11:57:25  769907
>>769901
>>769904
Firebase storage не может в списки файлов, только доступ по названиям. Для этого у нужен database, чтобы запоминать, у какого юзера какие файлы есть.
Разруливание прав происходит через firebase auth и правила описываемые в storage.

5 GB на всех. Но если мало, то google drive офк.
Аноним 15/06/16 Срд 12:06:16  769912
>>769907
>5 GB на всех. Но если мало, то google drive офк.

И это возвращает меня к предыдущему вопросу:
>Получается, что я могу только создать файл в облаке, а потом побайтово скопировать содержимое своего файла туда, все правильно понял?
>И можно это делать не только для .txt, а для любых форматов?
Аноним 15/06/16 Срд 12:13:37  769916
>>769912
А как ты хотел? Ты скачиваешь файл побайтово и выгружаешь в облако тоже побайтово. Другое дело, что в sdk может быть обертка, в которую можно запихнуть io.File, и она сделает все сама.
Можно для любых форматов.
Аноним 15/06/16 Срд 12:31:11  769925
>>768947

На виндофоне, да ни к ночи будет он помянут, треть программ написаны на html + js, никаких лагов.
Аноним 15/06/16 Срд 12:42:06  769933
>>769916
А что лучше под это использовать? Google Drive Api for Android или Google Drive REST Api?
Аноним 15/06/16 Срд 12:59:22  769951
>>769925
Это там калькулятор даже на десктопе стартует по 10 сек.
Недавно увидел это в живую охуел, сам то на маке сижу.
Аноним 15/06/16 Срд 13:05:15  769958
>>769916
>Можно для любых форматов.

А как эти любые форматы запилить?
Файл создается через MetadataChangeSet.Builder(), там есть .setMimeType("") куда нужно пихнуть тип файла. Список типов вот https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_MIME-%D1%82%D0%B8%D0%BF%D0%BE%D0%B2 - он достаточно ограничен.

Можно это как-нибудь обойти?
Аноним 15/06/16 Срд 13:22:58  769978
>>769958
Есть такая штука
MimeTypeMap.getSingleton().getMimeTypeFromExtension

Если она вернет null, ты можешь попробовать задать application/x-binary.

>>769933
Ну, я бы в первую очередь все-таки попробовал Api for Android, чем самому писать все запросы.

Да и я вообще с Drive не работал.
Аноним 15/06/16 Срд 16:53:42  770129
Как у меня бомбит от того, что нет толковых туторов о том, как юзать этот сраный драйв апи.
Документация какая-то кривая, на стековерфлоу все жалуются на баги. Нахер так жить?
Аноним 15/06/16 Срд 18:25:10  770200
>>769560
хер его знает, ui не фризит, не ругается, сам был удивлен
Аноним 15/06/16 Срд 18:38:48  770212
Антош, у меня org.junit.Assert.fail прерывает тестирование и остальные тесты не проходят. Как сообщать в тесте о том что этот тест не прошел, но не прерывать все тестирование? JUnit 4.12
Аноним 15/06/16 Срд 18:44:02  770217
>>770212
test {
abortOnErrors = false
}
Аноним 15/06/16 Срд 18:53:20  770226
>>770217
Куда это пихать? Запихнул в build.gradle он говорит что "Gradle DSL method not found: 'test()'"
Аноним 15/06/16 Срд 19:13:21  770233
14660072021170.webm webm file (118Кб, 800x1280, 00:00:16)
Не анимирует последние of type виджеты внутри PreferenceFragment. На эмуляторе nexus7 api22 тоже. Что-то очевидное упускаю? В чем может быть дело?

SettingsActivity.java http://pastebin.com/7QKSmc3y
preferences.xml http://pastebin.com/kFJCcrwR
activity_settings.xml http://pastebin.com/rBg10mz3
Аноним 15/06/16 Срд 20:39:57  770280
>>770233
> android.preference.PreferenceFragment
v7, v14 тоже не работают? Да и в них вроде материал дизайн завезли.
Аноним 15/06/16 Срд 21:24:18  770322
>>770280
Спасибо, с v14 заработало (v7 не смотрел). А что не так со стандартным может быть, не представляешь?
Фрагменты НЕ нужны Аноним 15/06/16 Срд 21:26:50  770325
14660152100490.png (587Кб, 852x477)
https://www.youtube.com/watch?v=jl1HRiCaAP4

Эти ребята прямо про меня рассказывают, готов подписаться под каждым словом.

TL;DS
SOLID + Kotin + Reactive programming = Рулят
Аноним 15/06/16 Срд 22:01:30  770358
Аноны, почему может не вызываться onDestroy у фрагмента, после инициации gc, этого фрагмента уже нет на экране офк?
Аноним 15/06/16 Срд 22:08:05  770367
>>770325
Код где? К чему мне твой треп на пол часа.
Аноним 15/06/16 Срд 22:09:10  770369
>>770358
Он застрял во фрагмент менеджере. addToBackStack например. onDestoy вызывается не из-за сборщика мусора, его вручную вызывает фрагмент менеджер же, не?
Аноним 15/06/16 Срд 22:11:38  770373
Такс, котаны.
Есть foreground сервис в котором находится объект-БТконтроллер внутри которого крутится обмен данными с Bluetooth LE устройством.
В активити биндится сервис и таким образом через ссылку на сервис любые фрагменты, наследованные от BaseFragment получают ссылку на БТконтроллер.
Проблема в том, что эта сцука, БТконтроллер не зануляется при уничтожении нахуй, всего. И сервиса и активити.
Что с этим делать?
Аноним 15/06/16 Срд 22:43:36  770422
14660198170970.png (621Кб, 847x472)
>>770367
> Код где?
Какой тебе еще код?.. думаешь так просто "слез с фрагментов точеных, запрыгнул на flow дроченый".
Нет, няш, тут думать надо над чистой архитектурой и правильно разделять UI на custom views.

Еще кстати хорошая идея выноса чистого Java/Kotlin код в отдельный модуль без Android API зависимостей.

Вообще очевидные вещи раскатывают, один хрен года за 3 до этого доходишь сам.
Аноним 15/06/16 Срд 22:54:08  770431
>>770373
ЕЛКИ ПАЛКИ!
Ссылка на сервис была с модификатором static.
Аноним 15/06/16 Срд 23:24:05  770457
Сколько будет жить отдельный поток вызванный из приложения, если юзер закроет его нажимая кнопку назад, а не через swipe task? До тех пор пока не завершит свою работу? Или это нихуя не безопасно и система может грохнуть его в любой момент?
Аноним 15/06/16 Срд 23:45:04  770470
>>762039 (OP)
Какого хуя LeakCanary не работает? Просто ничего не происходит, юзал её месяца два назад, она постоянно брала дамп и анализировала его, щас нихуя
Аноним 15/06/16 Срд 23:58:44  770486
Имеет ли смысл искать альтернативу localbroadcast, если объемы передаваемых данных примерно такие: каждые 2 сек 2-3 интента суммарно с 60 байт extra. Всего 10 типов интентов?

Аноним 16/06/16 Чтв 00:07:17  770497
>>770486
ПРОФАЙЛЕРОМ померь
Аноним 16/06/16 Чтв 00:18:22  770507
>>770325
Говно рассказывают.

> SOLID + Kotin + Reactive programming = Рулят
Это и так очевидно.
Аноним 16/06/16 Чтв 00:31:06  770516
14660262667080.png (67Кб, 225x400)
Есть ли библиотеки с каким-либо новостным api? Нужно для тестового задания, в списке у каждой новости должны присутствовать дата, изображение, заголовок (примерно как на пике). При выборе новости - подробное описание, фото- и/или видео-галерея.
Уже собираюсь реализовывать через парсинг RSS. Вопрос только в том какой именно новостной сервис использовать, чтобы был весь вышеперечисленный контент. Что посоветуешь, Анон?
Аноним 16/06/16 Чтв 08:28:22  770668
14660549028510.png (114Кб, 489x930)
>>770507
> Kotin
> Это и так очевидно.
Не всем

Кстати, это "полный жизненный цикл фрагмента" (пикрил) еще на Google IO показывали.
https://www.youtube.com/watch?v=k3IT-IJ0J98 (╯°□°)╯︵ ┻━┻
Видео с IO дает как-раз лишний повод задуматься о том что фрагменты зачастую избыточны.
Аноним 16/06/16 Чтв 08:46:44  770685
>>770516
Retrofit + SimpleXMLConverter + http://pojo.sodhanalibrary.com (что-бы сгененировать JAVA классы из XML) + Picaso/Volley/Glide (для картинок)
Аноним 16/06/16 Чтв 12:05:39  770791
>>770685
Спасибо, но это и так понятно, а вопрос
>какой именно новостной сервис использовать, чтобы был весь вышеперечисленный контент.
Аноним 16/06/16 Чтв 12:19:30  770807
>>770791
Ну если ты в /pr/ пришул с таким вопросом, то очевидно что

http://www.gay.ru/news/rainbow/rss.xml
Аноним 16/06/16 Чтв 15:02:40  770976
>>770807
title, pubDate, description это не все что надо, должна же быть еще картинка, потом подробное описание и фото/видео галерея
Аноним 16/06/16 Чтв 15:18:48  770988
>>770976
Няшь, тебе сюда https://2ch.hk/b/
Аноним 16/06/16 Чтв 15:20:53  770991
>>770976
Создай сам, захости на firebase свой xml и не еби мозги с хуйней, никто тебе здесь не будет искать rss.
Аноним 16/06/16 Чтв 16:48:43  771083
https://youtrack.jetbrains.com/issue/KT-12015
Эй котлиноблядь, они там че объебались? Как я блять без бандлов буду?
Аноним 16/06/16 Чтв 16:55:34  771104
14660853349670.jpg (202Кб, 500x500)
Посоны, как такую вьюху запилить? Все пнгшки есть, но если их кидать даже на Relative Layout, то с кнопками, которые указывают по диагонали получается проеб
Аноним 16/06/16 Чтв 17:26:50  771150
>>771104
Рисуй на канвасе повернутые битмапки, обрабатывай onTouch всей вьюшки. Или сделай прямоугольные кнопки которые друг на друга накладываются, но это может привести к хуите.
Аноним 16/06/16 Чтв 17:31:43  771155
>>771150
Спасибо, анон. Я думал может есть способ попроще без изъебов, но видимо нет.
Аноним 16/06/16 Чтв 18:02:11  771192
>>771155
Увы.
Аноним 16/06/16 Чтв 18:15:52  771210
14660901521650.png (22Кб, 480x800)
14660901521651.png (86Кб, 680x494)
14660901521672.png (117Кб, 560x561)
>>771083
Ну так нафиг ты юзаешь EAP, у меня на 1.0.2-1 все OK
Будешь обзываться, не буду отвечать.

>>771104
На Android 4.1 (скорее всего) и выше можно что-то похоже сделать через: ViewGroup + View.setRotation
Код: http://pastebin.com/uHaUGcXs
Аноним 16/06/16 Чтв 18:27:29  771215
>>771210
Я использовал 1.0.2 это разве early?
Аноним 16/06/16 Чтв 18:55:43  771244
>>770991
кстати, а как в firebase просто сделать запрос за данными, без взякой хуйни типо подписка на изменения
Аноним 16/06/16 Чтв 18:56:13  771246
14660925735010.png (37Кб, 791x178)
>>771210
>>771192
Пиздец я даун, посоны, тут в 5 строк это все сделалось.
Аноним 16/06/16 Чтв 19:26:16  771270
>>771210
> Будешь обзываться, не буду отвечать.
Пиздец неженка, смотрите ка, на анонимной борде слегка его оскорбили.
Аноним 16/06/16 Чтв 20:46:31  771321
>>771246
Ну вот ты отрисовал с помощью поворотов, теперь лови клики. Ах да, твои нажатия не выглядят по человечески. Нет красивой анимации нажатия.
Аноним 16/06/16 Чтв 21:02:57  771344
>>771321
Я пока их еще не начал делать, но смотри как я думаю. Я по нажатию буду делать invalidate и запоминать координату нажатия, потом я по координате определю куда юзер ткнул и уже в onDraw буду подменять битмап на нужный в определенный момент, как-то так. А когда юзер уберет палец с экрана снова перерисую, только все битмапы одинаковыми будут. Как-то так.
Аноним 16/06/16 Чтв 21:05:46  771350
>>771344
Да, по другому никак, сделаешь xml аттрибуты для нажатой битмапки и не нажатой, будет норм.
Аноним 17/06/16 Птн 08:05:15  771729
Можно в студии быстро прыгнуть к android.R ресурсу? Типа курсор на android.R.layout.somelayout, ctrl+key -> открылся иксемель.
Аноним 17/06/16 Птн 08:42:06  771746
>>771244
Есть метод что-то типа requestSingle, который отписывается после первого вызова.

Я тебе про firebase hosting говорил, заливаешь xml/json/любое говно и выкачиваешь по прямой ссылке в приложение.
Аноним 17/06/16 Птн 08:44:01  771747
>>771729
На маке cmd+клик по имени ресурса. На винде возможно через ctrl.
Аноним 17/06/16 Птн 09:00:56  771753
>>771747
А, точно. Меня просто иногда кидает на сгенерированный R класс. Например v7.preference.R.layout.preference xml можно найти в ресурсах, но студия не понимает. Это как-то фиксится?
Аноним 17/06/16 Птн 09:42:42  771763
почему setImageBitmap(null) не работает на android 5.0+ ?
(память не вычищяется)
Аноним 17/06/16 Птн 10:25:07  771782
>>771763
Иди гугли "как работает Java GC"
Аноним 17/06/16 Птн 10:40:04  771800
>>771210
Ангел?
Аноним 17/06/16 Птн 11:00:58  771821
Писать на Qt на ведре не зашквар?
Maemo-dev ITT
Аноним 17/06/16 Птн 11:03:19  771826
>>771821
Писать под ведро вообще зашквар, независимо от того, как писать.
Аноним 17/06/16 Птн 12:13:43  771899
>>771826
Толстяк в треде, все в инкапсуляцию.
Аноним 17/06/16 Птн 13:36:16  771953
>>771782
да там вообще не вычищается, или что я там должен вычитать про GC что в лолипопе он не работает?
Аноним 17/06/16 Птн 13:47:42  771960
>>770325
что ты несёшь кретин? При чем тут SOLID?
Давай, расскажи мне про OCP,LSP,ISP.
Как у тебя это всё реализуется. Каких-то базвордов понахвотался, шёл бы ты отсюда.
PS А чё, Java+SOLID не рулит?
Аноним 17/06/16 Птн 13:49:44  771961
>>770422
Короче ты кретин.
Любое говно + SOLID рулит.
А ты дегенерат который котлину приписывает вещи которые были придуманы за 20 лет до него
Аноним 17/06/16 Птн 14:11:38  771969
14661618983670.gif (736Кб, 300x300)
>>771960 >>771961
любитель flow вернулся в тред Аноним 17/06/16 Птн 17:59:46  772199
Таки в итоге я допер, что при триггере onPause activity не рушится, но по какой-то неведомой причине умирают массово view-шки, прикрепленные flow. Решение как два пальца - брать и отлавливать при onPause все состояния дочек view, ждать onResume и после ВНЕЗАПНОЙ (и неадекватной) попытки KeyChanger-а пересоздать текущий view, передаем в нее лежащие в Activity данные. Ура, товарисщи, теперь проблем-то с Flow и не осталось :D
Аноним 17/06/16 Птн 18:04:24  772208
>>771899
Ни разу не толстота же.
Аноним 17/06/16 Птн 18:07:13  772212
>>772199
Ну раз пришел, ответь как на вопросы:
1) что там mvc/mpv/mvvm?
2) что там с поворотами?
3) есть ли там какой-то аналог биндинга (как в mvvm)?
Аноним 17/06/16 Птн 18:16:24  772220
>>772212
1) Я делаю по mvp все, и мне более чем нравится. Для mvvm извольте юзать data-binding или что-либо наподобие, ибо у этой либы цель вообще иная.
2) Не смотрел, но коли могу манипулировать State-ами вьюх, то и повороты обрабатывать не то чтобы сложно было. Если интересно - могу завтра попробовать и отписать.
3) см п1. Хочешь связывание - используй другие библиотеки, эта сделана не для того, чтобы биндить данные.
Аноним 17/06/16 Птн 18:34:59  772243
>>772212
P.S. Но только учти, что будет очень непривычно :)
Аноним 17/06/16 Птн 18:37:31  772247
>>772220
Кудани (на pastbin) пример идиоматичного презентера и вьющки
Аноним 17/06/16 Птн 18:39:16  772250
>>772247
Если не возражаешь - завтра, я просто уже посидел часиков 10 в кафе за компом и у меня рвотный рефлекс на создание вьюх ^_^
Аноним 17/06/16 Птн 18:41:34  772254
>>772250
OK, заодно и про повороты выясни :)
Аноним 17/06/16 Птн 18:54:30  772266
>>772254
заметано
Аноним 17/06/16 Птн 19:49:04  772319
14661821451220.jpg (69Кб, 600x600)
Погромисты, вы же понимаете, что рыночек с каждым годом будет решать все жестче, конкруенции будет все больше. Перспектива проработать до 40 за еду становится все реальнее, а после 40 вы будете никому не нужны. Тем временем ванька ерохин, который в 18 отучился, скажем, на юризда, в 40 будет уже примерно майором полиции с двумя фокусами в кредит, квартиркой от государства и еще одной в ипотеку, которую он будет в состоянии оплатить, не отдавая последний носок банку. Плюс, поездки за границу раз в год с семьей. Не будет ли у вас ощущения, что свернули вы не туда?
Аноним 17/06/16 Птн 20:04:42  772344
Андроиданы, в приложении нужна функция перевода с одного языка на другой. Где можно взять годный переводчик?
Бегло порылся в google.translate API, он вроде присобачивается только к сайтам для перевода оных. Есть какие-нибудь встраиваемые базы, которые можно использовать в своих приложениях? Онлайн/оффлайн не так важно, главное достаточная гибкость и уже не готовое отдельное приложение.
Аноним 17/06/16 Птн 20:10:00  772349
>>772319
Как порешает тогда и приходи.
Аноним 17/06/16 Птн 20:25:27  772367
>>772344
> он вроде присобачивается только к сайтам для перевода оных
https://cloud.google.com/translate/v2/translating-text-with-rest#translating-a-single-string
Аноним 17/06/16 Птн 20:38:25  772378
>>772319
да вот нихуя, приложения в цене только растут, пряморуких кодеров все меньше и меньше, спрос на услуги все больше и больше ( живу в ДС, опыт - год, работу предлагали трижды, сейчас на аутсорсе в веб-студии, средняя цена проекта ios + android + backend - 300-450к )
Аноним 17/06/16 Птн 20:38:35  772379
>>772367
Спасибо. Вероятно что-то пропустил, пойду перечитаю более вдумчиво.
Аноним 17/06/16 Птн 20:59:21  772398
>>771969
Я с ним отчасти согласен.
Ладно бы были трюки с делегатами, дак нихуя этого нету. А так однохуйственно что ваши вары/валы, что свойства класса из коробки.
Аноним 17/06/16 Птн 21:01:04  772400
>>772398
Да и багов однохуйственно
Аноним 17/06/16 Птн 21:02:49  772402
>>772319
Ну это относится ко всему ИТ.
Но когда вижу какие рахиты входят в ит то немного успокаиваюсь. Они никак не повлияют и не задемпингуют мой ценник, ибо они не могут сделать то что я.
Да и советую смотреть на индусов, они самые дешевые, но с ними работают один раз, первый и последний.
Аноним 17/06/16 Птн 21:03:49  772403
>>772400
Что?
Аноним 17/06/16 Птн 22:31:08  772490
Статья для новичков про архитектуру MVP и сохранение презентера при повороте экрана.
https://github.com/konmik/konmik.github.io/wiki/Introduction-to-Model-View-Presenter-on-Android
Аноним 17/06/16 Птн 23:09:30  772558
>>772490
Спасибо.
Аноним 18/06/16 Суб 02:48:09  772756
>>772490
Почему не по русски? Я не буду такое читать
Аноним 18/06/16 Суб 08:57:04  772796
Передавать 3 листа строк (~100 элементов, <100 символов) в интенте это оукей?
Аноним 18/06/16 Суб 09:58:53  772822
>>772756
:^)
>>772796
Пахнет неприятно, может быть лучше БД?
Аноним 18/06/16 Суб 10:06:38  772829
>>772822
Активити берет из бд, показывает элементы. Клик на элемент -> другая активити показывает выбранные первой из бд элементы в пейджере. Первая не следить за апдейтами бд, поэтому если во второй брать из бд, ей могут прийти другие данные.
Аноним 18/06/16 Суб 10:09:10  772831
>>772829
Как они будут другими, если у них айдишники одинаковые будут? Или у тебя там в фоне еще кто-то может выбранным данным что-то поменять, ну тогда здесь флоу какой-то не правильный, нельзя менять выбранные данные, если так пойдет то ты можешь получить выбранные и измененные данные, может какую-то блокировку на изменения вешать?
Аноним 18/06/16 Суб 12:54:39  772953
>>772756
Можно кстати перевести. В целом, статья годная, всё просто и по делу.
Аноним 18/06/16 Суб 12:58:17  772955
Котаны, подскажите как сделать такую вещь:
Есть StartActivity, оно запускается при старте приложения.
Если запущен сервис - то в oncreate или в onstart StartActivity произойдёт переход на MainActivity.
Как мне уничтожить к хуям StartActivity после перехода на MainActivity, чтобы юзер по нажатию на back button не попал обратно на MainActivity?
Аноним 18/06/16 Суб 12:59:11  772960
>>772955
После startActivity(new Intent(StartActivity.this, MainActivity.class) вызови StartActivity.this.finish();
Аноним 18/06/16 Суб 13:06:53  772965
>>772960
Вызов this.финиш после startactivity не помогает.
У меня StartActivity с флагом singleinstance, т.к. два инстанса мне не нужно.

Аноним 18/06/16 Суб 13:15:28  772974
>>772965
Такс! Это мой баг. Вызова finish действительно не было там, где он должен быть.
Аноним 18/06/16 Суб 14:51:38  773070
14662506981140.png (73Кб, 384x640)
Привет. Подскажите из-за чего после закрытия Activity при помощи кнопки back, из task manager'a эта активити открывается после второго нажатия.
По первому нажатию активити в такс менеджере подсвечивается, но ничего не происходит. По второму нажатию активити запускается.

Почему не по первому нажатию?
ОС: Android 6.
Аноним 18/06/16 Суб 15:08:21  773086
>>773070
На картинки явно не 6 андроид, а максимум 4
Аноним 18/06/16 Суб 15:13:32  773095
>>773086
Так вот в чем проблема! Проблема в картинке.
Аноним 18/06/16 Суб 16:23:54  773142
>>773095
Хоть я и проиграл, но иди нахуй шутник хуев.
Тащи давай флаги с которыми открываешь активности.
Аноним 18/06/16 Суб 16:29:54  773148
>>762039 (OP)
Хочу разрабатывать под ведро на питоне. Какие подводные камни?
Аноним 18/06/16 Суб 16:31:42  773150
>>773148
1) Хуй тебе, а не гайды;
2) Хуй тебе, а не производительность;
3) Хуй тебе, а не защита кода;
Аноним 18/06/16 Суб 16:42:47  773166
>>773142
> активности
Не надо так.
Аноним 18/06/16 Суб 16:43:32  773167
>>773148
Дополню коллегу:

4) Хуй тебе, а не вакансии
5) Хуй тебе, а не советы в этом треде
Аноним 18/06/16 Суб 16:46:51  773173
>>773150
>>773167
>1) Хуй тебе, а не гайды;
Ну, у kivy таки есть доки. Но в остальном да.
После питона у меня ява совсем не идёт, а в мобильную разработку хочется.
Аноним 18/06/16 Суб 16:51:59  773179
>>773173
Попробуй Хаскелл. https://github.com/neurocyte/android-haskell-activity/blob/master/src/HaskellActivity.hs
Аноним 18/06/16 Суб 16:55:12  773186
>>773179
Ох, лол, я уж лучше go подожду. Хотя за хаскель я в своё время брался, но не нашёл ему применения.
Аноним 18/06/16 Суб 16:58:33  773191
>>773179
>Haskell
Фу, только Lisp спасет ведро.
Аноним 18/06/16 Суб 17:01:38  773193
>>773191
Лисп - позапрошлый век, пролог - наше всё.
Аноним 18/06/16 Суб 17:05:45  773201
>>773193
Только APL
Аноним 18/06/16 Суб 17:10:29  773207
14662590296750.jpg (55Кб, 500x435)
>>773193
Снимаю шляпу.
Аноним 18/06/16 Суб 17:12:54  773209
>>773201
Ну хер знает. Обычно фортрана хватает, а покупать какую-то специальную клавиатуру и переходить на другой язык только потому, что он современнее - это хипстерство крайней степени.
Where We Stand and What’s Next Аноним 18/06/16 Суб 17:16:51  773210
14662594119420.png (626Кб, 795x444)
Раз такое дело, пора вбросить последние новости про Kоtlin

https://blog.jetbrains.com/kotlin/2016/06/kotlin-night-recordings/

https://www.youtube.com/watch?v=POZmfjRHdfE
Аноним 18/06/16 Суб 17:20:42  773213
14662596426000.jpg (80Кб, 960x720)
>>773209
Зачем клавиатуру, шорткатов понаделай. Или с тачпада можно.
Аноним 18/06/16 Суб 17:25:48  773215
>>773142
Флаги не использую, launchmode = "singleInstance", AppCompatActivity.
Аноним 18/06/16 Суб 17:29:12  773218
14662601521980.jpg (41Кб, 487x540)
Ананасы, сап. Как убрать вот эти белые пробелы?

вот код:
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginTop="0dp"
android:id="@+id/icon"
android:src="@drawable/lightblue"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textStyle="italic"
android:paddingTop="0dp"
android:paddingRight="50dp"
android:id="@+id/Itemname"
/>

что дописать?
Аноним 18/06/16 Суб 17:34:55  773230
>>773218
Ты покажи xml ячейки с этой хуйней, небось там паддинг.
Аноним 18/06/16 Суб 17:39:07  773232
14662607477360.jpg (20Кб, 321x276)
>>773230
http://pastebin.com/dRq6CN40

это весь код.

Прикрепил. паддинга нет.
Аноним 18/06/16 Суб 17:43:07  773235
>>773232
вылечил. вместо src заюзал background
Аноним 18/06/16 Суб 17:51:50  773245
Раз такое дело, пора вбросить тебе за щеку.
Аноним 18/06/16 Суб 17:52:07  773246
>>773210
>>773245
Аноним 18/06/16 Суб 17:58:42  773253
>>773235
Ты понимаешь что это неправильно? Сделай картинке wrap_content что бы не было белых полос, так у тебя картинка будет хуевится. И да, вместо fill_parent поставь match_parent, не тащи старье.
Аноним 18/06/16 Суб 17:59:00  773254
>>773245
Чо Вам так с него бомбит, он вроде мирный.
Аноним 18/06/16 Суб 18:00:19  773255
>>773235
>>773253
Или поставь scaleType="fitXY"
Аноним 18/06/16 Суб 18:01:16  773257
>>773255
это уже лушче
Аноним 18/06/16 Суб 18:13:18  773274
>>773254
Фанбои никому не нравятся.
Аноним 18/06/16 Суб 18:14:28  773277
>>773255
>>773257
Будут проблемы с производительностью на больших изображениях.
Вместо этого, лучше использовать fitCenter() или centerCrop() у Picasso/Glide.
Аноним 18/06/16 Суб 18:22:32  773292
>>773277
>лучше использовать fitCenter() или centerCrop()
Они разніе вещи делают. Что значит лучше?
Аноним 18/06/16 Суб 18:32:17  773303
>>773215
> singleInstance
Это и есть флаг. А он тебе нужен, или ты его просто как написал? У меня были проблемы с ним, когда я открывал хром табы и пытался перейти назад. Мне не давало и выкидывало обратно в хром.
Аноним 18/06/16 Суб 18:37:49  773308
>>773292
Я в курсе.
Значит, что не будет проблем с производительностью.
Аноним 18/06/16 Суб 18:48:32  773321
>>773213
Я на самом деле от математики далёк, так что мне ни APL, ни фортран не понадобятся никогда.
Аноним 18/06/16 Суб 18:55:10  773330
>>773303
Мне не хочется, чтобы активити в которой биндится сервис и производится всякая ресурсоёмкая залупа была создана в двух экземплярах, а это вполне возможно сделать пользователю.
При помощи singleInstance это исправляется.
Даже с launchmode="standard" ничего не меняется.
У меня кстати на MainActivity сделан переход с IntroActivity, которая в манифесте помечена как android.intent.action.MAIN.
Аноним 18/06/16 Суб 18:57:50  773332
>>773330
Заметил сейчас, что иногда MainActivity с первого прикосновения открывается из TaskManager. Но обычно с двух. Причем после первого прикосновения никаких методов никаких активити не вызывается. Со второго - как и положено onCreate и далее всё работает так, как и предполагалось.
Мистика какая-то. Уже выкидывал весь код из onCreate, из onDestroy, из OnBackPressed - не помогает. Не пойму где спрятался косяк.
Аноним 18/06/16 Суб 20:09:09  773410
Двачаны. Есть массив строк для листвью.
Для каждой строки есть картинка.
Проблема в том, что картинок приходится делать столько же, сколько и строк.

Но я хочу, например, не знать количество строк и циклом заполнить массив картинок. Куда писать цикл?

Думаю, код поможет понять мою идею.

В onCreate если пишу цикл for, то вылетает. если делаю Integer[]someName(){
}и return, то тоже вылетает.

Подскажите, как забить циклом картинок по количеству строк?
Аноним 18/06/16 Суб 20:09:25  773411
>>773410
проебал код
http://pastebin.com/tQ7tJ52F
Аноним 18/06/16 Суб 20:12:34  773419
>>773410
Если айдишники забивать, то никак.
Аноним 18/06/16 Суб 20:16:32  773421
>>773419
А какой есть ещё вариант?
Аноним 18/06/16 Суб 20:20:09  773423
>>773419
такой вариант сработает?
ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith)

и потом в цикле Integer=whoamWith;

Сработать должно?
Аноним 18/06/16 Суб 20:23:59  773426
>>773423
>>773410
Нахуй и впизду!
Что ты хочешь на выходе получить?
Аноним 18/06/16 Суб 20:24:41  773427
>>773426
чтобы было столько картинок, сколько строк
Аноним 18/06/16 Суб 20:33:39  773435
>>773410
>Но я хочу, например, не знать количество строк и циклом заполнить массив картинок. Куда писать цикл?
И как ты узнаешь размер массива картинок?
Я посмотрел код, и нихуя не понял. Что вообще за тупость происходит? Тебе нужно как-то раскрасить листвью что ли? Тогда используй recyclerview и itemdecorator. Не хочешь делать так, а хочешь просто сделать красивое чередование картинок? Сделай массив из все картинок, у тебя это будет
Integer[]imgid = {
R.drawable.lightblue,
R.drawable.gray,
R.drawable.blue,
}
и получай нужную картинку просто по imgid[position % imgid.length]
Аноним 18/06/16 Суб 20:59:59  773471
>>773308
Блять, ты долбоеб? Может у тебя еще суммирование лучше умножения так как быстрее?
Аноним 18/06/16 Суб 21:09:54  773482
14662733951180.png (54Кб, 678x445)
>>773410
Если ты хочешь избавиться от ручного заполнения массива imgid, то
1) переименовываешь нужные картинки в image_0.png, image_1.png и тд
2) В цикле вызываешь getIdentifier (возвращает ID ресурса по его имени) подставляя имена картинок, типа:
getResources(). getIdentifier("image_"+i+".png","drawable",getPackageName());

https://developer.android.com/reference/android/content/res/Resources.html#getIdentifier(java.lang.String,%20java.lang.String,%20java.lang.String)
Аноним 18/06/16 Суб 21:13:02  773485
>>773482
Если честно хуевый подход. Непонятно по имени ресурса что за картинка и тд.
Аноним 18/06/16 Суб 21:23:21  773495
>>773485
ну тогда называй картинки "опасные новости.png" "сверхопасные новости.png" и
в getIdentifier подставляй words.toLower()+".png"
Аноним 18/06/16 Суб 21:28:34  773500
>>773495
Не, спасибо. Нахуй ты такое говно советуешь? Тебя самого не ебут за такое?
Аноним 18/06/16 Суб 21:35:03  773508
14662749036500.jpg (10Кб, 320x300)
>>773500
Спасибо у меня все хорошо, держи подарок.
Аноним 18/06/16 Суб 21:37:54  773512
>>773508
Себе можешь забрать, как раз подойдет под размер твоего ануса, может говно в тред перестанет вылетать.
Аноним 18/06/16 Суб 22:23:33  773556
>>773427
>>773410
Какой вопрос

>>773500
Такой и ответ. Хуярь эти картинки как-нибудь сам.
Аноним 18/06/16 Суб 22:47:42  773580
>>773471
Ну, если при умножении у тебя всё будет виснуть, а сложение будет работать нормально, то да, сложение будет лучше.
Аноним 18/06/16 Суб 22:50:16  773588
>>773410
Я бы сделал два массива ресурсов.
Один с заголовками, другой с идшками картинок.
И будешь получать R.array.my_titles и R.array.my_images
Аноним 18/06/16 Суб 22:58:54  773598
Антон, где я проебался с разметкой, в этом ли трабол?
Как такое фиксится?
Аноним 18/06/16 Суб 22:59:19  773600
14662799591390.png (21Кб, 328x612)
>>773598
пикчефикс
Аноним 18/06/16 Суб 23:00:56  773601
>>773598
>>773600
Ну и где твоя разметка, даун?
Аноним 18/06/16 Суб 23:01:53  773603
>>773580
Пизди хуйню расти дибилом.
Аноним 18/06/16 Суб 23:01:53  773604
>>773600
> Решено?
Охуенный UI.
Аноним 18/06/16 Суб 23:02:29  773607
>>773600
Что у тебя с тулбаром?
Аноним 18/06/16 Суб 23:02:40  773608
>>773603
Твоё мнение очень важно для нас, школьник.
Аноним 18/06/16 Суб 23:03:01  773609
>>773607
Хуйня.
Аноним 18/06/16 Суб 23:03:48  773610
>>773608
Да успокойся уже и хватит советовать хуйню.
Аноним 18/06/16 Суб 23:04:24  773613
Ой я ебал, началось лето и это пиздец. Нестерпимое желание укатить из треда.
Аноним 18/06/16 Суб 23:04:53  773614
>>773610
Да говна пожуй, дурачок.
Аноним 18/06/16 Суб 23:05:23  773618
>>773614
Что говоришь? Твоих советов пожевать? Нет спасибо.
Аноним 18/06/16 Суб 23:06:12  773620
>>773613
Так бери и уёбывай, вместо того, чтобы плач Ярославны тут устраивать.
Скучать не будем.
Аноним 18/06/16 Суб 23:06:57  773621
>>773620
Ну конечно, вы тут ковровую бомбардировку говносоветами устраиваете и сами себя в нем топите.
Аноним 18/06/16 Суб 23:07:57  773623
>>773621
И один лишь ты в белом плаще стоишь красивый?
Аноним 18/06/16 Суб 23:09:05  773625
>>773623
Нет, нормальные люди в вашем метании говном просто не участвуют, я просто решил немного образумить.
Аноним 18/06/16 Суб 23:09:20  773626
>>773607
Уже пофиксил, спасибо, адекват. А то понабежало тут школоебов.
Аноним 18/06/16 Суб 23:10:05  773627
>>773626
Так ты его руками делал чтоль?
Аноним 18/06/16 Суб 23:11:08  773629
>>773625
> Двач
> нормальные люди
Аноним 18/06/16 Суб 23:11:44  773630
>>773627
А чем его еще делать?
Аноним 18/06/16 Суб 23:12:56  773632
>>773626
> Спрашиваешь, что не так с разметкой, не показывая разметку
> Кругом школоебы
Аноним 18/06/16 Суб 23:13:22  773634
>>773629
Понятно. Так на будущее, в нормальных тематиках сидят нормальные люди. Вообще удобнее форума не найти.
Но вот залетевшие школотроны из б засирают все, благо им в тематиках особо не интересно.
Аноним 18/06/16 Суб 23:13:38  773635
>>773632
Подумал, что тут очевидно всё, местные помогут хуй
Аноним 18/06/16 Суб 23:14:25  773636
>>773630
На скрине видно какой-то прозрачный лейаут.
Имею ввиду ты его пытался сам реализовать через лейауты или взял готовую вьюху - тулбар?
Аноним 18/06/16 Суб 23:14:29  773637
>>773634
> Двач
> Форум
Аноним 18/06/16 Суб 23:15:37  773639
>>773636
> реализовать через лейауты
> готовую вьюху - тулбар
Так это одно и то же ведь, не? Или что ты имеешь в виду?
Аноним 18/06/16 Суб 23:15:47  773640
>>773635
На самом деле очевидно, просто он дибил.
Если тулбар не привязать к апкомпатактивити то он так и выглядит. Правда пока не понял какого хера он у тебя прозрачный.
Аноним 18/06/16 Суб 23:17:31  773641
>>773639
Ладно, похуй, просто забей.
Юзай Toolbar и AppCompatActivity
Аноним 18/06/16 Суб 23:17:55  773642
>>773637
Анонимный форум, что тебе не нравится?
Аноним 18/06/16 Суб 23:57:21  773678
Стоит вас на минуту оставить и тред сразу скатывается в говно.
Аноним 18/06/16 Суб 23:58:03  773681
>>773678
Слава богу, ты вернулся!
Аноним 19/06/16 Вск 00:03:05  773693
>>773681
Ну а как иначе? Не могу же я вас бросить.
Аноним 19/06/16 Вск 07:39:54  773905
>>773435
Спасибо, друг. не знаю, кто в треде отписывался - это был не я. Твой совет помог. Прям то, что надо!

700 чаёв с меня
Аноним 19/06/16 Вск 09:16:17  773941
При обновлении приложения SQLite база не будет заново создана, если версия её не изменилась?
Аноним 19/06/16 Вск 09:53:37  773962
>>773941
Ты о чем вообще?
Если ты про sqliteopenhelper, то он никогда не ПЕРЕСОЗДАЕТ базу,
он может только ее проапдейтить
Аноним 19/06/16 Вск 10:09:53  773977
>>773941
Только если ты сам в онАпгрейд/онДаунгрейд такое не сказал делать.
Аноним 19/06/16 Вск 10:15:57  773981
Скажите, дизайнером в студии кто-нибудь реально пользуется? Вообще, что думаете про него?
Аноним 19/06/16 Вск 11:04:27  774010
>>773981
Что за дизайнер?
Аноним 19/06/16 Вск 11:05:41  774012
В архитектуре MVP где нужно размещать асинхронный код (AsyncTask):
1) Прямо в моделе и далее вызывать методы презентера по результату выполнения асинхронной задачи?
2) В презентере. В моделе при этом реализовать синхронный доступ к данным?
Аноним 19/06/16 Вск 11:06:05  774014
14663235652070.jpg (105Кб, 504x612)
>>774010
Аноним 19/06/16 Вск 11:09:38  774020
>>774014
90% верстаю мышкой.
Остальные 10% через XML.
При этом в custom view делаю так, чтобы в редакторе они отрисовывались точно также, как и в приложении.
Аноним 19/06/16 Вск 11:47:41  774042
14663260613290.jpg (11Кб, 485x124)
Сап, двач! Можно ли как-то в GridLayout сделать divider, подобные LinearLayout?

У меня есть три кнопки, между ними - пустошь. Вот пустошь в линеар можно забить либо бэкграундом, либо сделать android:divider и даже сделать divider_height и цвет.

Как сделать divider(или его подобие) в GridLayout?
Аноним 19/06/16 Вск 11:53:05  774045
Используй recyclerview с gridlayoutmanager, там декораторы можно любые ставить.
Аноним 19/06/16 Вск 11:53:21  774046
>>774042
>>774045
Аноним 19/06/16 Вск 12:14:22  774055
>>774042
А если у тебя три кнопки, то просто сделай LinearLayou с orientation: horizontal
Аноним 19/06/16 Вск 12:18:02  774057
>>774055
там ведь есть дивайдер, да?
Аноним 19/06/16 Вск 12:25:49  774059
14663283492550.jpg (22Кб, 400x338)
>>774057
Я никогда не использовал android:divider. Но если ты использовал его в LinearLayout и хочешь сделать что-то подобное в горизонтальном лэйауте, то очевидно,что нужно использовать тот же самый LinearLayout, просто с другим параметром ориентации (горизонтальная вместо вертикальной).
Аноним 19/06/16 Вск 12:35:14  774065
>>774059
Я ошибся. я юзал его в листвью
Аноним 19/06/16 Вск 12:42:44  774071
>>774065
Тогда попробуй обернуть кнопки в фреймлэйауты, ставь нужные маргины кнопкам внутри фреймлэйаута, а уже фреймлэйауты разукрась, как хочешь. Между фреймлэйаутами вроде не будет пустоты. А сами фрейм лэйауты запихни в горизонтальный линеарлэйаут. Можешь заменить фреймлэйауты на кардвью, если хочешь элевэйшн и красивые уголки, можешь заменить фреймлэйаут на релативлэйаут, если хочешь сделать дивайдеры какими-то особенными вьюшками.
Если хочешь какой-то простенький бэкграунд, типа однотонного цвета сзади, то обойдёшься без фреймлэйаутов, просто линеарлэйаут, оборачивающий кнопки, с нужным тебе бэкграундом.
Ну и вариант с ресайклервью с гридлэйаутом и статическим списком объектов и кастомным декоратором. Дохуя кода, сложная обработка кликов по кнопкам, но зато все дизайнопроблемы кладутся на совесть андроида.
Аноним 19/06/16 Вск 12:43:31  774073
>>774071
>с ресайклервью с гридлэйаутом
>с ресайклервью и гридлэйаутменеджером*
Аноним 19/06/16 Вск 12:54:37  774089
>>762039 (OP)
Хуя там подбородок у трапа
Аноним 19/06/16 Вск 13:02:34  774100
>>774012
Во времена android 1.6 писал и так и эдак, в любом случае с asynctask получалась полная лажа.
Хотя для моделей без asynctask было проще писать тесты.

В любой подходе mvc/mvp/mvvm юзать asynctask это устаревший подход.

Asynctask это api-костыль что внести в java 1.6 работу с асинхронными очередями команд как и handle/looper.
x) AsyncTask нельзя нормально зачейнить,
x) для них нужно порождать подклассы либо погружаться в колбек-хел,
x) ну и конечно там много бойлерплейта (особенно если пишешь в стиле java 1.6).

Используй RxJava, это сразу снимет большинство головной боли.
Там и асинхронность будет и тесты легко писать.
Аноним 19/06/16 Вск 13:08:23  774105
>>774100
Вот допустим, у меня сейчас есть проект, довольно большой, в нём я использую асинктаски для одной цели - конвертации изображений (из файловой системы или в виде массива байтов) в битмапы. Соответственно, в асинктаске тупо пять строчек кода декодирования BitmapFactory с нужными параметрами, плюс абстрактный коллбэк в UI, чтобы я реализовал его в нужном месте и сделал с битмапом необходимые действия. За несколько месяцев разработки не сталкивался ещё со случаем, когда этот механизм меня подвёл бы. RxJava не умею. Вопрос: стоит ли прямо сейчас попытаться заменить этот асинктаск на RxJava-аналог или я не получу никакой выгоды от этого?
Аноним 19/06/16 Вск 13:14:50  774128
>>774100
У меня задачка по-проще, думаю не стоит усложнять применяя всякие сторонние библиотеки.
Мне нужно выбрать через contentResolver некоторые данные по медиатеке пользователя.
Нашел AsyncQueryHandler - кажется это то, что надо.
Получается максимально простое взаимодействие с моделью:
//вызов из Presenter
model.getArtistsList(AsyncQueryHandler callback);

Аноним 19/06/16 Вск 13:18:25  774136
>>774128
А через Loader нельзя это сделать?
Аноним 19/06/16 Вск 13:18:53  774137
>>774105
Усложнение - это путь в никуда.
У меня тоже есть одно место, где используется AsyncTask - внутри Loader для загрузки данных из кэша и апдейта кэша. Работает мегастабильно, при том, что сделано очень просто.
Аноним 19/06/16 Вск 13:20:31  774139
>>774136
Хм, точно. Это можно сделать через CursorLoader.
Пока не знаю что из этих трёх способов лучше.
Вариант с AsyncQueryHandler выглядит самым компактным.
Аноним 19/06/16 Вск 13:28:52  774160
>>774139
Делай через Loader, пусть это и гряный код, пушо придётся имплементить коллбэки непосредственно во View, зато это рекомендуемый способ работы с БД.
Аноним 19/06/16 Вск 13:37:18  774170
>>774137
А зачем загружать данные (из сети) прямо внутри Loader'a?
Я всегда по-другому делаю: Loader загружает данные только из БД. Сервис получает данные из сети, сохраняет их через ContentResolver в БД. После этого, Loader автоматически получает notification, что данные были изменены и сам их перезагружает.
Аноним 19/06/16 Вск 13:39:27  774173
>>774170
Я думаю твой вариант хорош, когда загрузка данных из сети длится достаточно долго.
Кстати, а как правильно: в случае с MVP получать от модели уже ГОТОВЫЕ данные или что-то промежуточное, к примеру Cursor с некоторыми полями, что далее уже преобразуется в объект, который лежит внутри ListAdapter?
Аноним 19/06/16 Вск 13:42:55  774178
>>774173
У меня всегда адаптеры работают с Cursor'ами. Именно поэтому обновление данных так удобно и происходит (CursorLoader + ContentResolver).
А если ты будешь сохранять свои элементы как массив/список/что-то еще, то тебе самому нужно будет реализовывать механизм оповещений и обновлений.
Аноним 19/06/16 Вск 16:24:28  774444
Парни, глупый вопрос, конечно, но скажите: 10 активити в приложении - это не дохуя?
Может, для памяти плохо или ещё что?
Аноним 19/06/16 Вск 16:36:34  774471
>>774444
не дохуя
Аноним 19/06/16 Вск 16:44:34  774491
>>774444
От проекта зависит. Для хэллоуворлда 10 конечно дохуя. Для серьезного проекта уже нормально.
Аноним 19/06/16 Вск 17:10:30  774557
>>774444
А фрагментов сколько?
Аноним 19/06/16 Вск 17:41:49  774617
>>762039 (OP)
Как сделать полупрозрачный фрагмент с вьюпейджером, где будут картинки (т.е. обычная галерея). И ещё, как сделать transition анимацию из вьюпейджера в вьюпейджер? transition name вешал и на картинки во вьюпейджерах, и на сами вьюпейджеры, но че то не получается.
Аноним 19/06/16 Вск 18:34:44  774673
>>774617
> Как сделать полупрозрачный фрагмент с вьюпейджером
Так же, как и сделать полупрозрачный фрагмент без вьюпейджера.
> как сделать transition анимацию из вьюпейджера в вьюпейджер
Что?
Аноним 19/06/16 Вск 18:46:02  774684
>>774673
что что? Надо сделать анимацию перехода картинки, я делал это с двумя разными картинками не во вьюпейджерах, но как сделать это со вьюпейджерами хз
Аноним 19/06/16 Вск 18:47:40  774685
>>774684
>>774673
Как я понимаю, он хочет сделать анимаци перехода между фрагментами во вьюпейджере.
Аноним 19/06/16 Вск 19:04:01  774692
>>774685
есть фрагмент с информацией о чем-то, там в коллапсинг лейауте маленький вьюпейджер с картинками, по клику на картинку в этом маленьком вьюпейджере должен открываться фрагмент, но уже с большим вьюпейджером, с теми же картинками. И при открытие фрагмента должна происходить вот такая анимация https://guides.codepath.com/android/Shared-Element-Activity-Transition
Аноним 19/06/16 Вск 23:24:49  774892
>>774692
Это большая и сложная задача. За тебя её тут никто решать не будет. Гугли разные варианты, пробуй.

В любом случае, делать анимации под android - это боль. Что-то более-менее нормальное можно сделать только для api >= 21. И то, очень много проблем. На последнем IO был пример с похожим поведением, что тебе нужно.
Аноним 19/06/16 Вск 23:28:34  774894
>>774692
Проще выбить дизайнеру зубы. А то открывать в вьюпейджере фрагмент с вьюпейджером попросто хуйня.
Аноним 19/06/16 Вск 23:34:01  774896
>>762039 (OP)
Перекат
https://2ch.hk/pr/res/774895.html
https://2ch.hk/pr/res/774895.html
https://2ch.hk/pr/res/774895.html
https://2ch.hk/pr/res/774895.html
Аноним 20/06/16 Пнд 10:20:01  775035
>>774014
никогда не юзаю, я олдфаг?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 500 | 37 | 117
Назад Вверх Каталог Обновить

Топ тредов