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

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

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

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

88 Кб, 1456x671

Разработка под Android тред №11 # OP 22 Янв, 21:41 #632324 В конец треда | Веб

Грядет время перемен...
В будущем, возможно, добавится карта библиотек.

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

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

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

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

Где брать инфу:
Интернет-ресурсы
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.
Можно эккеля "философия java" почитать.

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

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

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

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

Ответы>>632331>>632396>>634597>>634878>>642363>>642369>>647625>>657134>>657140

22 Янв, 21:45 #2 #632331

>>632324 (OP)
>javarush
И сразу нахуй.

Ответы>>632332

22 Янв, 21:45 #3 #632332

>>632331
Тебя нахуй, они пока эккеля прочитают джава сдохнет уже.

Ответы>>632335

22 Янв, 21:50 #4 #632335

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

Ответы>>632339>>643490

22 Янв, 21:52 #5 #632339

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

Ответы>>632359

22 Янв, 22:05 #6 #632359

>>632339
Зачем придумывать велосипед? Энтри левел и дальше пусть идет нахуй в java тред и смотрит оп пост. После этого есть доки и "Busy Coder’s Guide".

В поисках старых индусских велосипедов можно посмотреть http://www.androidhive.info

Ответы>>632365>>632370

22 Янв, 22:08 #7 #632365

>>632359
Ну я попытался описать те пункты с джавы которые в ведре нужны. Хотя бы какой-то минимум.

Ответы>>632383

22 Янв, 22:10 #8 #632370

>>632359
В поисках старых индусских велосипедов можно посмотреть http://www.androidhive.info
В основном попадаю на такие сайты через гугл, и сайтов таких довольно дохера еще и блогов всяких, но поклацаю на досуге посмотрю.

22 Янв, 22:19 #9 #632383

>>632365
>Хотя бы какой-то минимум.
Хорстманн до 7 главы. Codingbat.com. Джавараш до 10 уровня.

Дальше тренинг курс от гугла, считать котиков у климова. Всё. Можно писать всё что угодно обмазываюсь гуглом и SO.

Ответы>>632391>>632421

22 Янв, 22:23 #10 #632391

>>632383
Для тех кто хочет вкатиться в гейдев есть отличная статья по созданию клона Flappy bird. https://habrahabr.ru/post/243471/

22 Янв, 22:24 #11 #632396

>>632324 (OP)
> 10) Почитать про json.
Охуенная концовка, какой дегенерат это писал?...

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

Вообще интерсно сколько опыта у ОПа, такое писать?

Ответы>>632421

22 Янв, 22:28 #12 #632403

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

Ответы>>632406

22 Янв, 22:30 #13 #632406

>>632403
У тебя так бомбит от своей ничтожности, что боюсь
считать тебя адекватным посетителем не приходится.

22 Янв, 22:39 #14 #632421

>>632383
Хорстман норм, джавараш тоже.
Codingbat.com не слышал даже.
Добавлю в след шапке если не забуду.

Вот котики мне совсем не понравились кстати, стартандроид как-то лучше заходил.

>>632396
>Охуенная концовка, какой дегенерат это писал?...
А работа с SQL тебя не смутила? Или то что из всей теории тредов я про ранейбл вспомнил?
Поверхностно накидал самое необходимое.
Json в заключении чтоб писали уже клиент серверку, думаю при прочтении инфы по джейсону найдут и инфу по парсингу и прочему.

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

>Вообще интерсно сколько опыта у ОПа, такое писать?
Около года.

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

А вообще иди на хуй.

Ответы>>632433>>632467

22 Янв, 22:46 #15 #632433

>>632421
Из книг на русском неплохо заходил Харди Б., Филлипс Б. Программирование под Android.

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

Ответы>>632445

22 Янв, 22:53 #16 #632445

>>632433
>Из минусов: 2013 год.
Собственно потому не вариант. Из книг только активная подписка The Busy Coder’s Guide вменяемая, уж больно часто в ведре что-то меняют.

22 Янв, 23:15 #17 #632467

>>632421
> Около года.

> Джун (в лучшем случае)
> Учит других программированию

Ответы>>632472>>632552

22 Янв, 23:25 #18 #632472

>>632467
Поведай нам, О Великий Знаток, что такого надо сделать в ведроиде что бы не считаться джуном? Ковыряться в JNI? Знать подводные камни компонент? А может еще лучше писать так что бы не сталкиваться с ними? Мы внимаем, молви же!

Ответы>>632474

22 Янв, 23:28 #19 #632474

>>632472
KOTLIN

Ответы>>632476

22 Янв, 23:35 #20 #632476

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

Ответы>>632585

328 Кб, 1280x800

23 Янв, 00:57 #21 #632517

Антоши, есть один эдиттекст, к которому прикручен выпадающий список (фильтр).
Мне нужно, чтобы при выборе элемента из списка происходило событие, и не происходило при вводе текста.
Как это реализовать?

Ответы>>632555>>632609

23 Янв, 04:17 #22 #632552

>>632467
А где тут обучение проги? Обычный гайд как вкатится. И да мне виднее я год назад вкатился, то по чему учился ты скорее всего устарело.
Но все же мог более адекватно сказать что не так, я лично нихуя не понял чего ты доебался-то.

23 Янв, 04:38 #23 #632555

>>632517
Используй haskell

23 Янв, 08:33 #24 #632585

>>632476
>хипстопараша
>динамично развивающиеся языки

Ответы>>632606>>632650>>632659

23 Янв, 10:15 #25 #632606

>>632585
А котлин так сильно развиватеся? Я думал выпутилии пилять понемногу.

Ответы>>632618

23 Янв, 10:19 #26 #632609

>>632517
Какое событие? Какой список (ListView, RecyclerView)?
Нифига не понятно что ты хочешь.

>при выборе элемента из списка происходило событие
setOnItemClickListener (либо setOnItemSelectedListener)

23 Янв, 10:40 #27 #632618

>>632606
Текущий статус: 1.0 beta 4

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

Но если изменения происходят у них есть помощник-миграции.

23 Янв, 11:13 #28 #632638

Lenovo s60-a стал умирать. При включении загрузка останавливается на изображении логотипа.

Factory reset вернул телефон к жизни, но буквально на день/два.

Собственно, можно ли как-то достать лог ошибок? Кто-то сталкивался с подобным?

Ответы>>633847>>643654

23 Янв, 11:32 #29 #632650

>>632585
Динамично развивающиеся в плане количества сахара. В отличии от жавы.

Ответы>>632659

23 Янв, 11:37 #30 #632652

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

Ответы>>632700

66 Кб, 620x620

23 Янв, 11:49 #31 #632659

>>632585
>>632650
Новый логотип треда

Ответы>>632698>>632701

23 Янв, 13:05 #32 #632698

>>632659
Вот какие зеленные делают такую хуйню? Почему стримы на жабе не юзаются?

Ответы>>632708

23 Янв, 13:07 #33 #632700

>>632652
Я не думаю что простая либа такое умеет, это скорее уже к градлу.
Хотя с даггером пока не приходилось работать.

Ответы>>632717

23 Янв, 13:08 #34 #632701

>>632659
ЗАРПЛАТА НАЧИСЛЯЕТСЯ ПРОПОРЦИОНАЛЬНО КОЛИЧЕСТВУ НАПИСАННОГО ГОДА
@
СЫЧЕВ, KOTLIN - 15К
@
ЕРОХИН, JAVA - 150К

Ответы>>632702>>632706>>632708

23 Янв, 13:09 #35 #632702

>>632701
*кода

23 Янв, 13:28 #36 #632706

>>632701
@
НАЧАЛЬНИК НАПИСАЛ ВСЕ САМ НА CLOURE
@
УВОЛИЛ ОБОИХ К ХУЯМ

23 Янв, 13:31 #37 #632708

>>632698
Очевидно что Android-разработчики, Java 8 то еще не завезли.

>>632701
из Индии капчуешь?

Ответы>>632720

23 Янв, 13:52 #38 #632713

А если я с нуля вкатываюсь в ведроид, то лучше начать через путь ксамарина или нейтив на джаве?

Ответы>>632715>>632718

23 Янв, 13:56 #39 #632715

>>632713
Ньюфагам нравиться когда их обоссывают?

Ответы>>632716

23 Янв, 13:57 #40 #632716

>>632715
Не бей лучше обоссы.

23 Янв, 14:01 #41 #632717

>>632700
Да ясно что либа там не причем, я про систему сборки то и спрашивал, прогвард этим не занимается?

23 Янв, 14:04 #42 #632718

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

23 Янв, 14:06 #43 #632720

>>632708
>Очевидно что Android-разработчики, Java 8 то еще не завезли.
Тред по скале видел? Такая же картинка с этим же джавакодом.

Ответы>>632727

23 Янв, 14:20 #44 #632727

>>632720
Ну так я ее от туда и взял, только переделал чуток.
Да и для Android она более актуальна.

Ответы>>632848

23 Янв, 17:42 #45 #632848

>>632727
> Да и для Android она более актуальна.
Она вообще не актуальна.

4 Кб, 321x90

6 Кб, 300x303

23 Янв, 18:45 #46 #632915

Обновление IntelliJ вышло.

Ответы>>632922>>632973

23 Янв, 18:53 #47 #632922

>>632915
>IntelliJ
Нахуя?

Ответы>>632946

23 Янв, 19:20 #48 #632946

>>632922
Родина дала им IntelliJ IDEA, нет они жрут говно в виде андроид студии, где в бетах второй версии рекламируют фичи которыми я пользовался в ИДЕЕ еще два года назад.

Ответы>>632956>>633004

23 Янв, 19:30 #49 #632956

>>632946
>где в бетах второй версии рекламируют фичи которыми я пользовался в ИДЕЕ
Например? Я обратил внимание только на чисто ведроидовские фичи.

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

Ответы>>632976

736 Кб, 320x211

23 Янв, 19:45 #50 #632973

>>632915
Can you feel that buddy?

It the KOTLIN.

23 Янв, 19:52 #51 #632976

>>632956
Зачеркивание депрекатед для минсдк апи функций, артифакты, короче зайди в список нововведений андроид студии и сам смотри, все перечисленные там фичи давно есть в идее.
>все уже настроено
Путь до JDK и андроид SDK не так уж сложно выбрать вручную.

Ответы>>633086

23 Янв, 21:22 #52 #633001

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

Ответы>>633284

23 Янв, 21:26 #53 #633004

>>632946
Зачем это говно, когда есть эклипс?

Ответы>>633027>>633089

23 Янв, 21:55 #54 #633027

>>633004
Толсто.

Ответы>>633028

23 Янв, 21:57 #55 #633028

>>633027
Вовсе нет.

23 Янв, 23:15 #56 #633086

>>632976
Путь до джедека и сдк ты и так выбирашь в студии.

23 Янв, 23:18 #57 #633089

>>633004
Говно из говна потому что.

23 Янв, 23:34 #58 #633098

test

76 Кб, 640x446

19 Кб, 921x117

61 Кб, 693x242

24 Янв, 12:27 #59 #633284

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

К примеру (чисто функцианальная задача):
Взять тред и вывести список наиболее частых слов.

Тебе на вход (из API) поступает поток постов
-> разбиваешь текст поста на список слов
-> отфильтровываешь только валидные слова
-> групируешь слова в группы [слово, кол-во повторений]
-> сортируешь группы по "кол-ву повторений" слова

На скриншотах пример реализации в спомощью RxJava + Retrofit + Kotlin.

Ответы>>633287>>633311>>633316>>635123

44 Кб, 355x613

24 Янв, 12:31 #60 #633287

>>633284
А вот собственно и результат для https://2ch.hk/pr/res/619370.html (М)

Ответы>>633313

24 Янв, 13:16 #61 #633311

>>633284
Прикинул как третий скрин выглядит на джаве и обосрался.

24 Янв, 13:19 #62 #633313

>>633287
Что-то никак не пойму, на какой иде ты пишешь? Виртуалка от ксамарина, все на котлине. Какой-то франкенштейн из иде.

Ответы>>633314>>633346

24 Янв, 13:23 #63 #633314

>>633313
По подсветке у него очевидная идея.

Ответы>>633346

24 Янв, 13:34 #64 #633316

>>633284
Какая же дрисня, блядь, и это у вас называется сахаром?

24 Янв, 14:24 #65 #633346

>>633313 >>633314
Это Android Studio 1.5 (еще стоит IDEA для десктопных/web Java/Kotlin проектов
и RoboVM Studio для кросплатформенных приложений).

Так как стандартный эмуль не очень, приходится юзать сторонние.
Альтернатива только всякие проекты поверх VirtualBox.
Выбрал Xamarin Android Player, тк все равно на работе под Xamarin разрабатываю.

Ответы>>633354

24 Янв, 14:40 #66 #633354

>>633346
Новый эмулятор (который в превью версии) довольно быстрый, да у меня и старый на маке не лагал вроде бы.

Ответы>>633361>>633413

24 Янв, 14:41 #67 #633356

Кто-то пользуется ByteBuffer'ами? Нужно ли менять порядок байтов если я работаю с HttpUrlConnection, или там всегда будет нормальный порядок, а не интеловский?

Ответы>>633432

24 Янв, 14:46 #68 #633361

>>633354
H A X M
A
X
M

Выкинь нахуй своё говно ~2013 года (сужу по лоурез скринам) и купи нормальную пеку, пока за 20-30 к нормальный собрать ещё можно.

Ответы>>633378>>633413

24 Янв, 15:03 #69 #633378

>>633361
Но скрины не мои, у меня действительно мак 2013, но ретинка же. Да и HAXM рабоатет.

Ответы>>633404

24 Янв, 15:26 #70 #633404

>>633378
Как же маковское сглаживание шрифтов уёбищно выглядит на лоудпи экране.

Ответы>>633463

24 Янв, 15:36 #71 #633413

>>633361
Проблема стандартно эмулятора не в скорости, на air он не тормозит (спасибо haxm).
Его минус что он постоянно зависает и падает.
Напротив всякие Genimotion и XAP работают просто офигенно стабильно и так же быстро.

>>633354
Насчет нового (из AS 2.0) у меня хреновые предчуствия тк он работает на том же базе (qemu).
(не ну когда выйдет стабильная версия конечно попробую).

Често говоря, я от Google ждал СИМУЛЯТОРА как для iOS, вот это было бы круто.
И это обидно тк наработки у них есть (ARC https://developer.chrome.com/apps/getstarted_arc ).

Ответы>>633468

24 Янв, 16:02 #72 #633432

>>633356
Можно по подробнее, как ты с ним работаешь?
Так-то по умолчанию порядок всегда BIG_ENDIAN (об этом и в java доках написано)

Ответы>>633472

24 Янв, 17:25 #73 #633463

>>633404
Это проблемы маковской жавы. С интелиж 1.5 у них нормальное сглаживание сделанное JetBrains.

Ответы>>633720

24 Янв, 17:26 #74 #633468

>>633413
Я редко дергаю стандартный эмулятор, только если гугловские сервисы или новую прошивку. Поэтому не сталкивался с вылетами и еще какой херней.

24 Янв, 17:29 #75 #633472

>>633432
Ну я особо не работаю, просто инетерсно, когда
это может потребоваться, вот например для получения локального айпишника, в случае если нативный порядок не BIG_ENDIAN, нужно биты повернуть. А дефолтный в буфере конечно BIG_ENDIAN, просто может оно лучше работает если использовать нативный порядок в отличии от дефолтного, а самом деле я отказался от ByteBuffer, потому что он там только больше сущностей создает и заменил на byte[]. Вот на интеловских процессорах точно должен быть LITTLE_ENDIAN.

25 Янв, 02:25 #76 #633720

>>633463
Так на студии тоже, или нет?

25 Янв, 03:03 #77 #633732

У начинающего ведроеба возник вопрос. Знакомый иос дебилопер (хейтер ведра) сказал, что чуть ли не половину суммарного времени, затраченного на написание проекта, ты его адаптируешь под некродевайсы (апи<19), т.к. производителям проще клепать девайсы-одногодки, а не обновлять старые,а некроведер все еще овер дохуя(а именно, ~35% устройств работает на апи 19 и выше)
По этому он перекатился на гейос, где аппл насильно всех посадили на хуй апдейты, и он пишет один код, который охватывает 99,(9)% процентов устройств.
Прошу знающего анона подтвердить, либо опровергнуть сие суждение. Сам ещё ньюфаг в этих делах.

Ответы>>633851>>633855>>633859>>633860>>633992>>643501

25 Янв, 04:02 #78 #633742

Анончик, объясни по хардкору, что за пермишшн такой BROADCAST_STICKY и нахуя он нужен? С моими знаниями ангельского я никак въехать не могу

Ответы>>633860

25 Янв, 08:08 #79 #633813

Таки шапка есть, но вопрос будет. Если я хочу параллельно развиваться и в Java, и в Android дева, мне что надо для такого читать (я полунуфаг, темы из шапки гуглю и смотрю примеры + задачки решаю. После этого какую книгу взять по джаве, чтобы и в её сторону развиваться (в дальнейшем скалу хочу потрогать))?

25 Янв, 08:38 #80 #633825

Господа, в качестве Иде для джавы подойдет Нетбинс?

Ответы>>633851

25 Янв, 09:32 #81 #633847

>>632638
Почему ты спрашиваешь это здесь?

Ответы>>643498

25 Янв, 09:43 #82 #633851

>>633732
Это когда ты можешь бросать интенты типа ACTION_BATTERY_CHANGED
http://developer.android.com/training/monitoring-device-state/battery-monitoring.html

Когда ты подписываешься на такой sticky-интент, через метод
Intent prevIntent = context.registerReceiver(new MyReceiver());
Тебе (в prevIntent) сразу возвращается предыдущий отравленный итент, но для этого системе надо
выделять память что бы хранить твои интенты. Поэтому это по умолчанию отключено.

Хотя ты можешь особо не париться, в API 21 методы sendStickyBroadcast(...) стали Deprecated

>>633825
это не джава тред да подойдет

Ответы>>633860>>636539

25 Янв, 09:48 #83 #633855

>>633732
Все так, кроме того что люди сами переходят на новые версии на гейоси, железа то хуй да нихуя для апдейта.

25 Янв, 09:53 #84 #633859

>>633732
На самом деле не все так критично, и не половину времени.
Овердохуя компат библиотек есть. Вот только постоянно приходится смотреть не появилась ли новая.
Но гуглы выпускают все новые компат и саппорт либы, и работать становится проще.

25 Янв, 09:53 #85 #633860

>>633742
>>633851

>>633732
Сейчас если ты обмажешься support-* библиотеками и поставишь API > 14,
то можешь особо не париться про разные версии.

Но могу возникнуть проблемы если ты:
1) Используешь скрытые API - оно может не работать или работать сильно по разному
2) Нестандартно работаешь с WebView (типа запуск своего JS) - до 4.4 был вебкит, после chromium
3) Используешь консольные linux приложения (через Runtime.exec()) - нет никакой гарантии что они вообще есть в системе

Ответы>>633866

25 Янв, 10:01 #86 #633866

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

Ответы>>633870

25 Янв, 10:03 #87 #633867

Но ведь на джаве разрабатывают под айос, как это не жава тред?
И да, можно ли разрабатывать под айос без смартфона-айфона?

Ответы>>633871

25 Янв, 10:07 #88 #633870

>>633866
Примеры приведи (мне для общего развития)

Ответы>>633872

25 Янв, 10:08 #89 #633871

>>633867
Што? Есть отдельные стандартной жавы тред, есть тред по веб жаве и андроидовскому тред. Под айос на жаве ты только с робовм разработаешь.

25 Янв, 10:10 #90 #633872

>>633870
Элевэйшон, риппл, ртл, документ. Слова из сам листа на английсеом.

Ответы>>633876

25 Янв, 10:18 #91 #633876

>>633872
Блин чувак сожалею, что тебе приходиться работать с такими дизами которые не понимают
что эти эффекты для lollipop (сам помнится в начале с такими сталкивался)

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

Ответы>>633878

25 Янв, 10:25 #92 #633878

>>633876
Так я знаю, и они знают. Просто приходится делать разные папки для разной хуйни.

25 Янв, 13:34 #93 #633992

Автор поста >>633732
Всем спасибо за ответы

25 Янв, 17:11 #94 #634094

Есть какой-нибудь гайд по общепринятому наилучшему использованию активти+фрагмент?

Ответы>>634106

25 Янв, 17:22 #95 #634106

>>634094
Ох ананас, если бы они был, в программирование не существует единого-правильного подхода.

Но базовые вещи можешь почитать тут:
http://d.android.com/guide/components/activities.html
http://d.android.com/guide/components/fragments.html

Так то даже у фрагментов есть альтернатива:
https://www.youtube.com/watch?v=RPRl8fgBiNA

Ответы>>634118>>634171

25 Янв, 17:36 #96 #634118

>>634106
Да понятно что нет серебряной пули, я просто вот хотел сделать MVP, но примеры какие-то серенькие.

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

Алсо: Операции - Activity, это что-то на уровне активность или даже выше.

Ответы>>634142

25 Янв, 17:40 #97 #634121

Таки шапка есть, но вопрос будет. Если я хочу параллельно развиваться и в Java, и в Android дева, мне что надо для такого читать (я полунуфаг, темы из шапки гуглю и смотрю примеры + задачки решаю. После этого какую книгу взять по джаве, чтобы и в её сторону развиваться (в дальнейшем скалу хочу потрогать))?

Ответы>>634137

25 Янв, 17:55 #98 #634137

>>634121
>После этого какую книгу взять по джаве, чтобы и в её сторону развиваться (в дальнейшем скалу хочу потрогать))?
Если ты про бэкенд то там все намного хуже чем на ведре. У нас тут одно сдк и не так много вариантов, там же технологий жопой жуй.
С такими вопросами в соответствующий тред иди. Шапка только по Java SE и нужным ее элементам, а тебе нужна Java EE.

25 Янв, 18:00 #99 #634142

>>634118
А какой в этом астральный смысл?
Я бы посоветовал не усложнять задачу (KISS). Если ты не собираешься писать
модульные тесты на Presenter и Model, может тебе и MVP не нужен?

===========================================================
Приведу пример реальной задачи где может пригодится MVP
===========================================================
"Требуется кросс-платформенная программа на RoboVM для Android/iOS"

Вот тут и встает конкретная проблема: как переиспользовать максимум кода/логики
между Android (Activity/Fragment) и iOS (UIViewController)?

Деваться некуда, я беру MVP (MVVM не катит, нет поддержки на уровне платформ).
View - java-интерфейс, от которого я наследую Activity и UIViewController
Model - это асинхронные сервисы на RxJava (в общем не суть)
Presener - просто класс которые забирает из View введенные данные и дергает
методы сервисов, а так-же обновляет View (View у него только в виде ссылки)

В этом случае в Activity и UIViewController я не помещаю никакой логике, только реагирование
на запросы презентера.

Ответы>>634147>>634148

25 Янв, 18:04 #100 #634147

>>634142
Вот всегда меня сбивало то что активити по сути своей контроллер. А тут ты его в вью втулил.
Как ты вообще собираешься работать с презентером без контекста? Как вообще все это описать ровно?
В общем сложно понять и нужно смотреть.

мимо-год-разработки-заебали-архитектуры-на-словах

Ответы>>634148>>634164

25 Янв, 18:05 #101 #634148

>>634147
>>634142
Да заебало просто говнокодить.

Ответы>>634151

25 Янв, 18:06 #102 #634151

>>634148
Двачую, но нужен нормальный гайд и много опыта. В андроиде все это не прозрачно.

Ответы>>634154

25 Янв, 18:11 #103 #634154

>>634151
Ну вот я наклепал 2 клиентсерверки, музыкальный плеер с вконтактиком. А все равно чувствую что получается не очень хорошо.

Ответы>>634163>>634164

25 Янв, 18:20 #104 #634163

>>634154
У тебя сколько опыта?
Или ты чувак с котлином и 4 годами опыта?

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

Ответы>>634166

25 Янв, 18:21 #105 #634164

>>634147
>Вот всегда меня сбивало то что активити по сути своей контроллер
А это вопрос точки зрения (и наличия или отсутствия логики в активити).
iOS программисты как узнали что активити разрушаются при повороте, так в один
голос давай заливать что это View.

Мне кажется, на самом деле активити и НЕ контролер и НЕ вью, это View+Controller (как в ios, или Form в WinForm).
И чем она в итоге будет, зависит только от тебя username :)

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

А вообще главное что надо запомнить: SOLID, KISS, DRY (и другие основополагающие принципы).

25 Янв, 18:22 #106 #634166

>>634163
Ну вот полтора года, все сам с нуля на дядю конечно же.

Ответы>>634168

25 Янв, 18:29 #107 #634168

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

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

Ответы>>634172>>634183

25 Янв, 18:35 #108 #634171

>>634106
Да ну его найхуй с его английским. Вообще нихуя не понятно, лучше бы написали статейку.

25 Янв, 18:35 #109 #634172

>>634168
Кто ругается на фрагменты и лоадеры? Я вот использую свой ContentProvider и Rx в ретэйнутом фрагменте.

Ответы>>634174

25 Янв, 18:37 #110 #634174

>>634172
>Кто ругается на фрагменты и лоадеры?
Всякие Джейки Вартоны которые сделали для ведра кучу полезностей.

>свой ContentProvider
В каком смысле свой?
>и Rx в ретэйнутом фрагменте
Нужно будет на Rx переходить пробовать.
На работе почему-то не особо любят всякие фичи.

Ответы>>634177

25 Янв, 18:40 #111 #634177

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

Ответы>>634185

25 Янв, 18:48 #112 #634183

>>634168
>Работа с бд через контентпровайдер и курсор-лоадеры
Можно свой SuperCursolLoader написать, слегка переделав исходники
стандартного CursorLoader и тебе не придется больше использовать провайдер.
Сможешь просто колбек передавать или еще что угодно.

Да и вообще ContentProvider были введены в Android для передачи данных
между отдельными процессами. Юзать их в рамках одного процесса - это ненужное
усложнение программы.

Ответы>>634191>>634193

25 Янв, 18:49 #113 #634185

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

К примеру сделать алпикуху на фрагментах с асинктасками и лоадерами, а потом переделать на Rx с мортаром и фловом. Это две разных апликухи на выходе. Или же, делать оповещение через евентБас или через обычные локальные ресиверы/или прокидывать листенеры?
В результате я не ебу за что браться.

Ответы>>634193

25 Янв, 18:52 #114 #634191

>>634183
>Да и вообще ContentProvider были введены в Android для передачи данных
между отдельными процессами. Юзать их в рамках одного процесса - это ненужное
усложнение программы.
Знаю, и мне этот бойлерплейт не понравился совсем.

>Можно свой SuperCursolLoader написать, слегка переделав исходники
стандартного CursorLoader и тебе не придется больше использовать провайдер.
Спасибо попробую, как раз в проекте к этому подошел.
>Сможешь просто колбек передавать или еще что угодно.
Вот тут немного не вкурил каким образом. Как я подпишусь своим СуперКурсорЛоадером на изменение данных в бд?

Ответы>>634194

25 Янв, 18:54 #115 #634193

>>634183
Мне не нравится курсорлоадер, какой-то хуевый он, я хочу получать нотификации и уже тогда сам решу как мне обновить данные.
>>634185
Брр асинк таски, интересно сколько людей знают что по дефолту они работают в одном треде по очереди? Мне басы не нравятся так как слишком неразборчиво получается и как мне кажется оверхед. Зато люблю ресиверы, вот сейчас думаю засунуть ресивер в ретэйн фрагмент, пусть дрочит rx, там столько то возможностей появится.

Ответы>>634202

25 Янв, 18:55 #116 #634194

>>634191
Так же как и до этого (через URI в курсоре я полагаю)
http://developer.android.com/reference/android/database/Cursor.html#setNotificationUri(android.content.ContentResolver, android.net.Uri)

Ответы>>634204

25 Янв, 19:01 #117 #634202

>>634193
>Брр асинк таски
Я асинтаски не юзаю и никогда по сути в проектах не юзал, просто к примеру сказал, для асинхронки андроид-болтс юзал.

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

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

Ответы>>634213

25 Янв, 19:05 #118 #634204

>>634194 retCursor.setNotificationUri(getContext().getContentResolver(), uri);

getContext().getContentResolver().notifyChange(uri, null);
Да понял, что-то втыканул.

25 Янв, 19:05 #119 #634205

Ладно, отвлечемся от вкуса фламастеров инструментов.
Вводная:
Пиздецки большая вьюшка фрагмента, штук 8 кнопок, ViewPager, дочерний MapFragment, горизонтальный RecyclerView.
Вопрос:
Как все это сделать так что бы не загнуться. Пока разбил на логические блоки, соответсвенно для каждого блока два метода, первый для инициализации, второй для перерисовке при изменении данных. Насколько хуево, альтернативы?

Ответы>>634216

25 Янв, 19:14 #120 #634213

>>634202
>Мне почему-то казались они затратными
Есть LocalBroadcastManager

>да и хуй поймешь куда что летит.
Енджои ин AKKA (модный тренд однако)

Ответы>>634264

25 Янв, 19:17 #121 #634216

>>634205
Ну блин бьешь на фрагменты, суешь их в FragmentStatePagerAdapter.
Будет тормозить, приход, обсудим.

Ответы>>634228

25 Янв, 19:30 #122 #634228

>>634216
Нет, там не так, там вертикальная вьюшка и в ней вью пэйджер. Оно не тормозит, прсот оможет можно как-т оне так калечно сделать? Хотя из не калечного только байндинг получается есть.

Ответы>>634234

25 Янв, 19:33 #123 #634234

>>634228
> вертикальная вьюшка и в ней вью пэйджер
большой ублюдок.jpg
вертикальная вьюшка - это RecyclerView?

25 Янв, 20:02 #124 #634264

>>634213
>Енджои ин AKKA (модный тренд однако)
Akka.io? Первый раз слышу. Перед тем как я инфу начал задрачивать, можешь описать в нескольких словах что и как и нахуя?

Ответы>>634288

25 Янв, 20:12 #125 #634276

Котаны, есть проблема.
Когда ставлю в манифесте android:launchMode="singleInstance" для main activity, то в диспетчере задач приложение не отображается на устройствах ниже, чем Android 6.0.1.
Как это пофиксить?

Ответы>>634288

25 Янв, 20:26 #126 #634288

>>634264
Антошь не стоит вскрывать, это суровый java/scala энетрпрайз. И на твое счастье не работает на Android.
Кратно: программа состоит из блоков которые общаются друг-с-другом пересылкой сообщений
(локально или через сеть). Позволяет легко маштабировать приложение на кластеры.

>>634276
Чего то ты не договариваешь. У меня везде нормально отображается и в 5.0 и 4.2.2.
Что ты подразумеваешь под "диспетчером задач"?

Ответы>>634301>>634328

599 Кб, 720x1280

25 Янв, 20:37 #127 #634301

>>634288
Имею ввиду вот эту хуйню, что на пике.
Как это правильно называется?

Когда убираю singleInstance - отображается.
Ставлю singleInstance - не отображается.

Ответы>>634304>>634308>>637773

25 Янв, 20:41 #128 #634304

>>634301
Это кстати не главная активити.

Ответы>>634308

25 Янв, 20:44 #129 #634308

>>634301
>>634304
Там сделано так: Запускается главная активити, далее, если нужно пользователя перенаправляют на брифинг или на форму авторизации Вконтакте (если он не авторизован), далее на single instance активити, где вся движуха происходит.

Ответы>>634598

25 Янв, 21:09 #130 #634328

>>634288
>Антошь не стоит вскрывать
Ну собственно вопрос остался открытым, каким образом сделать ресиверы и пересылки на них читабельными?

Ответы>>634339

25 Янв, 21:21 #131 #634339

>>634328
А в чем проблема с пересылками? Класс ресивера, который не будет дергать активити, если оно запаузено, или скидывает в сабскрипшен с буферами, опять же там можешь через Rx раскидать куда надо., когда надо. Модешь сделать фабрику мессаджей, которая будет тебе выдавать интент по заданным параметрам, заведи константы для типов.

Ответы>>634345

25 Янв, 21:27 #132 #634344

Объясните популярно, что такое КОНТЕКСТЫ, и зачем они нужны? Зачем, например, знать контекст методу LayoutInflater'у? Зачем нужны getApplicationContext() и getBaseContext()?

Учу по учебнику, автор хуячит их в свои методах в качестве аргументов (например, в singleton'ах), но еще не использует, дайте спойлер, для чего в будущем это делается.

Ответы>>634361>>634380>>634383

25 Янв, 21:29 #133 #634345

>>634339
Не, я немного не об этом. Например ресивер повешали в активити, на этот ресивер высылают что-то из третьего по счеты активити с нестед фрагментами. В результате оно все ок отсылает, но читабельность страдает сильно.

25 Янв, 21:54 #134 #634361

>>634344
двачую вопрос.

я примерно понял, что контекст это супер-класс для всех активити и прочих, что он может получить доступ ко всему (точно ко всему?) приложению и обрабатывать запросы вроде "получить ресурс из string.xml". и у меня вытекают от этого вопросы:

1) является ли контекст последней инстанцией, с которой взаимодействует сама система девайса?
2) зачем указывать context в создании контролов (view)? получается, что new Button(Activity.this) создает инстанс кнопки внутри активити? А если использовать
getApplicationContext() - он создаст кнопку во всем приложении и ее можно подключать в любое активити?
3)Activity.this указывает на созданный инстанс моего Activity?
Можно ли иначе, вызвав функцию getContext()? И у меня, кстати, сама по себе getContext() не работает, такой функции похоже вообще нет.

Ответы>>634369>>634380>>634388

25 Янв, 22:03 #135 #634369

>>634361
>1) является ли контекст последней инстанцией, с которой взаимодействует сама система девайса?
Я не понял что ты написал, но через контекст ты работаешь с системой ведра. Контекст включает в себя все менеджеры и прочее.

>2) зачем указывать context в создании контролов (view)? получается, что new Button(Activity.this) создает инстанс кнопки внутри активити? А если использовать
Ты не можешь инфлейтить на контекст, только на активити, в другом случае получишь краш. Помню ух и заебала меня эта штука в адаптерах.

>3)Activity.this указывает на созданный инстанс моего Activity?
Ну это больше джава и область видимости слова this.
>Можно ли иначе, вызвав функцию getContext()? И у меня, кстати, сама по себе getContext() не работает, такой функции похоже вообще нет.
Это не функция а метод в активити, фрагментах и т.д.

Ответы>>634372

25 Янв, 22:07 #136 #634372

>>634369
Спасибо за ответ. Я как раз и имел ввиду, то что ты первым пунктом написал, что система ведра обращается к контексту и наоборот.

А что такое "инфлейтить"? И еще раз прости за вопрос: сама суть new Button(this) в том, что создается кнопка, определенная в активити? Или как понимать данную строку?

Ответы>>634382

25 Янв, 22:13 #137 #634380

>>634344 >>634361
>контекст это супер-класс для всех активити
У активити родителький класс ContextWrapper, он просто имитирует контекст делегирую запросы.

>зачем указывать context в создании контролов (view)
Для простоты представь, что контекст это API для доступа ко всем ресурсам из APK.

Когда ты передаешь активити в "new Button(...)", ресурсы перегружаются с учетом темы (theme) этой активити

Ответы>>634384

25 Янв, 22:16 #138 #634382

>>634372
>что система ведра обращается к контексту и наоборот
Не думаю что именно так, скорее контекст имеет в себе все эти модули с которыми работает ведро. Т.е. не с самим контекстом, а с внутренними элементами.
>А что такое "инфлейтить"? И еще раз прости за вопрос: сама суть new Button(this) в том, что создается кнопка, определенная в активити? Или как понимать данную строку?
Настолько отвык от создания вьюх в коде.
Инфлейт это создания вьюхи из xml. Но мне кажется если передать в баттон обычный контекст, то ты тоже получишь эрор.

Ответы>>634385

25 Янв, 22:18 #139 #634383

>>634344
Контекст — объект, обеспечивающий простой доступ к каким-либо ресурсам, сервисам и т.д. Созданием контекстов занимается Instrumentation, больше тебе знать не надо.
Application Context - самый "изначальный " контекст а если быть точнее, обёртка над ним.
Контексты можно оборачивать, чтобы применить изменения к контексту. Для этого существует ContextWrapper. Application, Activity и Service — примеры таких обёрток. Для получения "обёрнутого" контекста как раз используется getBaseContext.

25 Янв, 22:18 #140 #634384

>>634380
>Когда ты передаешь активити в "new Button(...)", ресурсы перегружаются с учетом темы (theme) этой активити

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

Ответы>>634409

25 Янв, 22:19 #141 #634385

>>634382
>Но мне кажется если передать в баттон обычный контекст
Вообще-то нет, ты можешь и Application передавать в "new Button()"
View все равно откуда ресурсы (картинки, тексты) забирать.

Ответы>>634387

25 Янв, 22:24 #142 #634387

>>634385
Может быть, но с инфлейтом была точно трабла. Запрашивало именно активити.
Так давно это было, а иде запускать впадлу. Поищу может статейку найду.

25 Янв, 22:24 #143 #634388

>>634361
> является ли контекст последней инстанцией, с которой взаимодействует сама система девайса?
С контекстом система вообще не взаимодействует. Она взаимодействует с серверами типа WindowManager, ActivityManager и т.д. Со стороны приложения контекст уже может работать с ними.
> зачем указывать context в создании контролов (view)? получается, что new Button(Activity.this) создает инстанс кнопки внутри активити? А если использовать getApplicationContext() - он создаст кнопку во всем приложении и ее можно подключать в любое активити?
Вьюхи "связаны" с WindowManager, контекст здесь нужен для применения стилей и получения ресурсов.
> Activity.this указывает на созданный инстанс моего Activity? Можно ли иначе, вызвав функцию getContext()? И у меня, кстати, сама по себе getContext() не работает, такой функции похоже вообще нет.
Тут не понял ничего.

Ответы>>634392

25 Янв, 22:31 #144 #634392

>>634388
>Тут не понял ничего.
Он запутался как получать контекст.
getContext нету в активити. Есть два других.
И он спрашивает еще в чем разница между this и Activity.this.
Ни в чем. последние два идентичны, просто this иногда может пониматся как анонимный класс например.
Есть активити контекст и апликейшн контекст.
Все остальное обертки над ними.
И только с активити контекста можно инфлейтить, если не ошибся.

Ответы>>634397

25 Янв, 22:33 #145 #634393

ебать вы охуенные ребята. спасибо за помощь.

25 Янв, 22:36 #146 #634397

>>634392
> Есть активити контекст и апликейшн контекст.
Нет, не так. Есть куча ContextImpl. Над одним обёртка - Activity, над другим - Application. Такого, что один контекст где-то является Activity, а где-то Service, не бывает.

Ответы>>634469

25 Янв, 22:51 #147 #634409

>>634384
Если для каждой активити задаешь отдельную тему с разным textColorPrimary
<item name="android:textColorPrimary">...</item>
и будешь создавать кнопку из кода передавая активити, у тебя будет везде разный цвет.

Если ты передашь Application, то к кнопке примениться какой-то стандартный-системный стиль.

25 Янв, 23:45 #148 #634469

>>634397
Та ты заебал, открыл блять документацию и задрачиваешь меня уточнениями.
>активити контекст и апликейшн контекст
Вот тут и имелись ввиду твои враперы для контекста.
Да и говорили только про активити и вызовы контекста из него, так что и сервис тут не при чем.

26 Янв, 03:55 #149 #634549

Анон, помоги. Есть друг, который изучает JS, я изучаю Android. Хотели запилить какой-то учебный проект вместе. Это реально? Или жс и андроид нигде не соприкасаются, что бы покодить с ним вместе?

Ответы>>634581>>634589

26 Янв, 08:13 #150 #634581

>>634549
>Анон, помоги. Есть друг, который изучает JS, я изучаю Android. Хотели запилить какой-то учебный проект вместе. Это реально? Или жс и андроид нигде не соприкасаются, что бы покодить с ним вместе?

На JS можно, но пртложения такие сильо тормозят.

26 Янв, 09:09 #151 #634589

>>634549
шапку читай, жуеба.

26 Янв, 09:38 #152 #634597

>>632324 (OP)
Почему нет треда про Swift под аппл?

Ответы>>634610

26 Янв, 09:39 #153 #634598

>>634308
Скинь манифест

Ответы>>639524

26 Янв, 10:12 #154 #634610

>>634597
А туда ли ты зашел, петушек? https://2ch.hk/pr/res/630631.html (М)

94 Кб, 500x303

26 Янв, 12:31 #155 #634673

Бампану послединй раз

Провожу исследование "можно ли портировать часть Android API на обычную Java".
Это нужно чтобы запускать Android приложения на WP10 (вместо проекта Astoria)
и просто на Window/OS X/Linux без эмуляторов (к примеру для быстрой отладки).

Может быть кто нибудь захочет присоединится?
Или просто мысли свои по этому выразить.

P.S.
Я знаю что у Google есть расширение к хрому которое примерно это же делает.

Ответы>>634677>>634720>>634726

101 Кб, 500x303

26 Янв, 12:32 #156 #634677

>>634673
быстрофикс картинки зря что-ли фотошопил

26 Янв, 13:47 #157 #634720

>>634673
Windows phone умирает.

26 Янв, 14:00 #158 #634726

>>634673
Гибриды нежизнеспособны.
Dixi.

26 Янв, 16:28 #159 #634878

>>632324 (OP)
Наконец о Xamarin годно сказано

26 Янв, 20:02 #160 #635123

>>633284
А как в мейнстриме с этим? Можно выебнуться на собеседовании/использовать на работе?

Ответы>>635182>>635251

26 Янв, 20:07 #161 #635127

В каких источниках про то, как годно сделать нотификейшны можно прочитать? А то я ужасы про всякие сервисы в тредах видел, неужели всё через задницу?

Ответы>>635176>>635186

26 Янв, 21:02 #162 #635172

.

26 Янв, 21:05 #163 #635176

>>635127
Тебе нотификации нужны или пушуведомления?
Просто нотификацию показать можно строчек за 5.

А вот с пушами придётся потрудиться.

Ответы>>635197

26 Янв, 21:10 #164 #635182

>>635123
Сам понимаешь не очень, язык ещё в бете, правда следующий релиз уже RC.
Swift вон уже больше года в продакшене (версия 2 уже вышла),
а все никак не пересядут.

Я на нём переписывать на работе один проект с xamarin ,а для себя только на котлине пишу

Ответы>>635185

26 Янв, 21:14 #165 #635185

>>635182
чем xamarin не устроил?

Ответы>>635207

26 Янв, 21:15 #166 #635186

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

26 Янв, 21:23 #167 #635196

Друзья, разбираюсь в потоках и работе в фоне. Заодно пытаюсь написать программу, которая:
1) Создает CDlowder объект-наследник Thread. В run() указано, что бы он через каждую секунду отправлял данные в LogCat.
2) Поток запускается через нажатие кнопки button, через buttonCancel - останавливается и пишет в textView информацию.

И у меня тут не получается ничего. Запускаю приложение, а поток не работает в фоне и гуй не дает ничего нажать до остановки потока.

В догонку еще вопросы:
1) Как лучше всего останавливать потоки?
2) Читал на стаковерфлоу, что Thread лучше не использовать, а юзать ASyncTast, вместо Handler. В чем там разница? И как принято у разработчиков менять состояние гуя через потоки?

Сам код: http://pastebin.com/9Wa5c6BG

Ответы>>635214

26 Янв, 21:25 #168 #635197

>>635176
Пуши, да. А что за "просто нотификации" тогда?

Ответы>>635211

26 Янв, 21:39 #169 #635207

>>635185
• APK минимум 15 MB, уменьшить нельзя тк Xamarin не может сжимать DLL (по объективным причинам).
Против 2.5 MB у RoboVM (и это без обфускации).
• Неродной рантайм для обеих систем (Android, iOS).
В RoboVM у меня хотя бы на Android нет прослоек.
• Continuous Integration на Xamarin работает только с Business подиской ($999)
• Слабенькая IDE (Xamarin Studio).
Для Kotlin/RoboVM я использую IntelliJ IDEA.

Ответы>>635241>>635248

26 Янв, 21:41 #170 #635211

>>635197
http://developer.android.com/intl/ru/training/notify-user/build-notification.html
Создаешь объект Notification, передаешь его в метод notify() класса NotificationManager

Ответы>>635257

26 Янв, 21:45 #171 #635214

>>635196
Анонас, почему документацию не читаешь?
Вызывать надо cDlowder.start(), а не cDlowder.run()

Ответы>>635221

26 Янв, 21:55 #172 #635221

>>635214
Спасибо. А как останавливать потоки?

Ответы>>635251

26 Янв, 22:09 #173 #635241

>>635207
>Xamarin не может сжимать DLL
Как это не может когда Link All линкует все подряд и убирает из dll неиспользуемый код. Размер апк конечно больше получается чем у Native но не намного. Сейчас на нынешних устройствах это не критично.

> Неродной рантайм для обеих систем (Android, iOS).
И? Лично видел как на огромных нативных проектах пишут свои гарбадж коллекторы. Если не заметил в ios xamarin фигачит бинарник который подтягивает твои dll.
В андроиде согласен 2 параллельных рантайма убираются за 2000$, что нихуево.

>Continuous Integration на Xamarin работает только с Business подиской ($999)

Я например на Business и сижу. Плачу не я, а фирма. Если же ты фрилансер, то есть кряки.

>Слабенькая IDE (Xamarin Studio)
Да, слабенькая. но опять же смотри выше. Я пишу в VS с Resharper

И это все?

Ответы>>635313

26 Янв, 22:12 #174 #635248

>>635207
ах, да, и проект какой? Это важно. Поскольку Xamarin решает хорошо бизнес-задачи. Если мелкие утилитки, программки, мелкие сервисы или сильно платформозависимые приложения - конечно Xamarin это не выбор. Но для всего остального.... Да и на UpWork проектов на Xamarin полно. С RoboVm не встречал...

21 Кб, 386x246

26 Янв, 22:14 #175 #635251

>>635221
Через interrupt() можно, ты только в цикл добавь выход из него.

>>635123
Работа это конечно хорошо, но глядя на >>634958 (OP) задумываешься, а стоит ли зацикливаться на одном языке?

Ответы>>635266

sage 26 Янв, 22:20 #176 #635257

>>635211
Ок, а что чаще юзают - нотификейшны и пуши? Т.е. нотификейшны легко добавить, а с пушами в чем проблема? И то, и то работает при закрытом приложении?
У меня суть такая: юезр делает заказ, и через какое-то время он появляется на складе. И в этот момент надо его уведомить. Кто что посоветует?

Ответы>>635268

26 Янв, 22:32 #177 #635266

>>635251
> Через interrupt() можно, ты только в цикл добавь выход из него.
Сразу добавлю, что throw InterruptedExeption сбрысывает isInterrupted текущего треда в false.
Довольно важное замечание ебанутого поведения джавы.

26 Янв, 22:35 #178 #635268

>>635257
> юезр делает заказ, и через какое-то время он появляется на складе. И в этот момент надо его уведомить. Кто что посоветует?
1. Через алармменеджер раз в пол дня проверяешь наличие заказа в сервисе. Показываешь нотификацию через Notification.
2. Если есть доступ к бэкэнду, то пуши. Приложение не будет ебать батарею и получит данные только тогда, когда этого захочет сервер. Ловишь пуш в сервисе, показываешь нотификацию через Notification, либо указываешь параметры показа в самом теле пуш сообщения.
https://developers.google.com/cloud-messaging/

Ответы>>635310

26 Янв, 22:58 #179 #635310

>>635268
К бэкэнду есть доступ. Тогда я буду ловить эти КлаудМесэджи через GcmListenerService.onMessageReceived, и всё? Или какие-то подводные камни, в виде сложной реализации или еще чего-то?

Ответы>>635326

26 Янв, 23:00 #180 #635313

>>635241
Забыл упомянуть, Xamarin приложения дольше запускается даже на топовых девайсах

> Как это не может когда Link All линкует все подряд и
Я про то что Xamarin вообще не сжимает DLL помещая их в APK (сжимал бы, apk были бы в 2-3 раза меньше)
> Размер апк конечно больше получается чем у Native но не намного
2.5 MB против 15 MB это НЕ немного
> Сейчас на нынешних устройствах это не критично.
Устройства бывают разные и не у всех S6.
> И? Лично видел как на огромных нативных проектах пишут свои гарбадж коллекторы
Тут спорить не о чем, нативный код для платформы всегда лучше.
> Если же ты фрилансер, то есть кряки.
Хорошая у тебя компания, раз может по штуке баксов выделять на разработчика.
Нет актуальных кряков для ios (они вечно под устаревшие версии)
> Я пишу в VS с Resharper
Мне удобно на макбуке работать, что бы сториборды сразу править в Xcode
> проект какой?
Менеджер "данных" CRUD с криптографией, бэкенд синхронизацией, нативным дизайном

Ответы>>635336

26 Янв, 23:05 #181 #635326

>>635310
> Или какие-то подводные камни
В твоем случае нет, можешь ловить спокойно.

Ответы>>635334

26 Янв, 23:11 #182 #635334

>>635326
Спасибо большое. Если у кого-то еще есть мнения, буду рад послушать.

26 Янв, 23:14 #183 #635336

>>635313
а, ну у нас разное workflow

Да Xamarin дольше запускается. Но мы используем это время с пользой - показываем рекламный баннер на сплешскрине. Нам размер не критичен. 15-50МБ однохуйственно. Пишем в основном на топовые девайсы - xhdpi, xxhdpi xxxhdpi, Retina короче.
На контору 3 лицухи - 2 ios 1 android. Когда покупали - предоставили скидку 20%, да и курс весной был божеский.
В моем распоряжении 2 компа - MacMini и PC. У нас 1 сториборд описывающий сплэшскрин, все остальное xaml.

Менеджер "данных" 1-м сеньором пишется на ура.

Но мне интересно послушать о возможностях RoboVM. Какой там паттерн проектирования заложен, как UI пилить, как например подключить SDK Vkontakte или Фэйсбука на ios. Вот это все.

Ответы>>635423

27 Янв, 00:34 #184 #635423

>>635336
> Какой там паттерн проектирования заложен
Никакого. Как и в Xamarin если не использовать Xamarin Forms.

> как UI пилить
Через xml и storyboard. Лично я юзаю MVP (без фреймворков).

> как например подключить SDK Vkontakte
Как xcode проект

Ответы>>635430

27 Янв, 00:41 #185 #635430

>>635423
Нет ощущения что скатился до MVP с паттерна богов MVVM - если использовал его конечно, необязательно в Forms, через mvvmcross например.

И если юзал формсы не напрягает что теперь UI надо верстать 2 раза?

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

Ответы>>635441>>635590

27 Янв, 01:06 #186 #635441

>>635430
>что скатился до MVP с паттерна богов MVVM
Вас не смущает что они на 95% одинаковы?
Сириусли объясните мне эту критическую разницу то?
Что в презентере ты связываешь модель с вью, что в вьюмоделе.

Ответы>>635451

27 Янв, 01:11 #187 #635443

Я правильно понимаю что нужно первым делом разобраться в java?

Ответы>>635449

27 Янв, 01:25 #188 #635449

>>635443
иди нахуй

27 Янв, 01:27 #189 #635451

>>635441
Да вообще ни разу не одинаковы. в MVVM заложен механизм биндингов. Особый смак TwoWay биндинги. Вся фишка в них. В том что ты не пишешь кучу update методов и не завязан на событийную модель вообще никак, более того ты можешь вьюмодели отнести в другой проект и написать к ним тесты итд итд

Ответы>>635452

27 Янв, 01:29 #190 #635452

>>635451
Ну если нужны двунаправленные биндинги то в ведре это пока что невозможно. Если в последние пару месяцев не сделали.

Ответы>>635454

27 Янв, 01:33 #191 #635454

>>635452
Ну в Xamarin это тоже до недавнего времени было возможно только через фреймворк.

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

Ответы>>635461

27 Янв, 01:55 #192 #635461

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

Ответы>>635463

27 Янв, 02:07 #193 #635463

>>635461
Какой скрытый смысл разработки на ксамарине сугубо под ведро? В чем вообще профит?

Профит по деньгам очевиден, когда на нативных SDK проекты запланированы в совокупности длиннее 2 месяцев и нужно выпустить 2 приложения.
Условно Зп 1 кодеманки 2000$. Условно он за 1 месяц на Замарине сделает то что такой же кодеманки сделает за 2 на нэйтиве. Бизнес-лицуха на год 2000$.
4000$ и 1 месяц против 4000$ и двух месяцев. Ну а дальше начинается чистая экономия и похуй на то, что приложуха грузится на 5 сек дольше и её дольше будут загружать по 3G.

Я достаточно быстро адаптировал проект на формах под андроид, в то время когда он же уже был 100% выполнен под ios. Под ios мы его писали 6 месяцев, адаптация на ведро прошла за 2. Итог - мы фичевали фичи на ios и они автоматом попадали в недоделанный андроидный билд, любые правки в логике, сервисах и верстке автоматом пилились в ведро, основное время потратили тупо на оптимизации, внешний вид и на текста, которые бы подбирали размер шрифта под доступную область + осталась работа по прикручиванию VKSDK.

Ответы>>635572>>635574

27 Янв, 09:36 #194 #635572

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

27 Янв, 09:39 #195 #635574

>>635463
Тебя послушать так серебряная пуля.

105 Кб, 695x412

27 Янв, 09:50 #196 #635580

Каждый раз теряю ответы на свой вопрос.
Можно ли писать под андроид и эппл без андроидов и эппла?

Ответы>>635584

27 Янв, 10:06 #197 #635584

>>635580
Можно, но если на ведро тебе нужен будет один джениМоушн, то на на эпл скорее всего понадобится еще и виртуальная машина под Mac OS.
Вариант хуярить на кроссплатформе, но они платные и хз как там с эмуляторами девайсов.

27 Янв, 10:31 #198 #635590

>>635430
> через mvvmcross, mvvmlight
То еще г### и все равно (на Android/iOS) через код делается.
С MVP ощущаешь простоту, ибо никаких сторонних фреймворков, никаких спец. базовых классов и тд.

> UI надо верстать 2 раза
Нам нужен нативный-красивый дизайн, а не формы (разные макеты, разная верстка)

> Особенно важно когда нужно прототип
Вот у нас и был прототип на Xamarin, а теперь переделываем на продакшен решение.

Ответы>>635797

27 Янв, 15:45 #199 #635797

>>635590
https://itunes.apple.com/ru/app/smartmafia/id1013949031?mt=8

Это попадает под определение "нативный-красивый дизайн"?

Ответы>>635836

27 Янв, 16:26 #200 #635836

>>635797
Android: apk 51 MB
ресурсы максимум для xxhdpi
не совместим с Nexus 5X

iOS: ipa 80 MB.
Размеры кнопок разные (особенно нравиться "Начать").
Хочу ввести "Имя" в окне "Вход" клавиатура перекрывает поле
(кнопки перехода к следующему полю нет).

В общем не самые приятные впечатления оставляет.
Да и фильм говно

Ответы>>636038>>636103

27 Янв, 19:13 #201 #636038

>>635836

> не совместим с Nexus 5X
на ведро мы выложим через пару дней обнову. Будет Nexus 5X, да и вообще куча говна в виде багов уйдет

> Да и фильм говно
Фильм говно, и к нему мы отношения не имеем. Мы забрендились просто на месяц. Скоро вернем обратно приятный арт. Я был всеми руками против этого брендинга но не я решаю.

> Хочу ввести "Имя" в окне "Вход" клавиатура перекрывает поле
(кнопки перехода к следующему полю нет).
iphone 4s? да, есть такое говно. Мы вообще 4-ки будем отцеплять

27 Янв, 19:29 #202 #636051

Как называется такая анимация: жмешь, например, на картинку в кардвью и открывается фрагмент или активити, куда эта картинка плавно переносится. Или сбросьте туториал на такую штуку.

Ответы>>636257

27 Янв, 20:12 #203 #636103

>>635836
>Размеры кнопок разные
Оптический обман зрения. В стилях одинаковые размеры стоят.

27 Янв, 22:39 #204 #636257

>>636051
http://www.androiddesignpatterns.com/2014/12/activity-fragment-transitions-in-android-lollipop-part1.html

28 Янв, 05:18 #205 #636539

>>633851

>Это когда ты можешь бросать интенты типа ACTION_BATTERY_CHANGED
Уже немного яснее, спасибо!
Чем больше читаю, тем больше понимаю, почему разработчику так нужен ингриш

28 Янв, 06:47 #206 #636547

Как же хочется под маком разрабатывать на Xamarin
>tfw no OC X

28 Янв, 10:04 #207 #636578

AndroidAnnotations юзаете?

28 Янв, 10:51 #208 #636596

Какая альтернатива асинктаскам кроме rx?

Ответы>>636607>>636632>>636635

28 Янв, 11:12 #209 #636607

>>636596
AsyncTaskLoader, CompletableFuture (есть какая-то либа для совместимости)

28 Янв, 11:56 #210 #636632

>>636596
Да кстати, а чем не устраивает RxJava?

У меня есть некоторый опыт юзания, могу объяснить если что-то непонятно по RX.

28 Янв, 12:00 #211 #636635

>>636596
Android-bolts еще норм.

66 Кб, 600x449

28 Янв, 12:48 #212 #636694

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

Ответы>>636708

28 Янв, 13:04 #213 #636708

>>636694
> Как он будет действовать, если он сработает, при открытом уже приложении
Так как из сервиса можно активности запускать только через NEW_TASK, то перекроет твои текущие окна.
Да и не лучше ли нотификации делать, вместо вызова целой активити?

Ответы>>636959

28 Янв, 15:19 #214 #636809

Я чет не понял, как мне скрестить PhoneGap и православную IDE, киньте мануал.

28 Янв, 17:43 #215 #636959

>>636708
Спасибо, понил. Нотификация не вариант, я должен перед рожей видеть, что событие настало.

28 Янв, 18:31 #216 #637009

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

Ответы>>637742

28 Янв, 19:18 #217 #637070

Ононы, сколько живет Intent? Могу я рассчитывать на то, что в результате всякой хуйни (повороты, low memory, запуск новых активити) Intent моего активити (вернее, интент активити, хостящего мой фрагмент) не изменится?

Грубо говоря, могу я пользоваться getArguments() в onCreate()? Может ли он потерять изначально переданные в активити данные?

Ответы>>637147

28 Янв, 20:19 #218 #637147

>>637070
Если ты про getIntent(), то нет тк интенты активити сериализуются на диску.
И сохраняются даже при вылетание приложений из памяти сохраняются.

getArguments() фрагмента храниться в Bundle активити, который тоже сериализуется на диск.

Ответы>>637153>>637242

28 Янв, 20:23 #219 #637153

>>637147
> то нет
В смысле что не изменится / не потеряется

Ответы>>637242

28 Янв, 21:58 #220 #637242

>>637153
>>637147
Спасибо, а то я думал их уже в Bundle savedInstanceState кидать.

28 Янв, 23:43 #221 #637309

Анончик, пилю кнопку с изображением внутри. Через андроид студио импортировал имидж ассет в мипмап, сделал вот так:

<ImageButton
android:id="@+id/facebook_button"
android:drawable="@mipmap/facebook_released"
android:layout_width="230px"
android:layout_height="230px" />

А изображения на кнопке все равно нихуя нет :ссс
Как решить проблему?

(соре, не нашел 11 тред сразу)

Ответы>>637348

28 Янв, 23:59 #222 #637328

Аноны, у кого есть подписка и свежая версия
The Busy Coder’s Guide? а то у меня за 2014, а может и древнее

29 Янв, 00:04 #223 #637337

Я хз профан, андроид ведь apk?

Есть проги редактирующие их?
Рекламку бы порезать в них

Ответы>>637348

29 Янв, 00:05 #224 #637338

Подскажите по асинктаску. Насколько правильно передавать в наследника контекст (или активити), что бы посредством него управлять состоянием гуя? Или надо по отдельности каждый изменяющийся вью передавать?

И почему нельзя создать объект AsyncTaskExtended(this) в onClick()?

Ответы>>637348

29 Янв, 00:25 #225 #637348

>>637309
нужно не
android:drawable="@mipmap/facebook_released"
, а (тк ImageButton это наследник ImageView)
android:src="/@mipmap/facebook_released"

>>637337
гугли apktools - http://ibotpeaches.github.io/Apktool/

>>637338
нихрена не понял, что ты хочешь

Ответы>>637350

29 Янв, 00:29 #226 #637350

>>637348
Есть AsyncTaskExtend, который наследуется от асинктаска. Он управляет состоянием вызвавшего его активити и делает свои действия в onProgressUpdate.

Так вот вопрос, я правильно понимаю: что бы управлять состоянием - нужно создать объект типа AsyncTaskExtend(Activity.this), а внутри класса описать уже нужные мне контролы и как они будут менятся во время работы асинктаска?

Ответы>>637352>>637480

29 Янв, 00:30 #227 #637352

>>637350
ой, в doInBackground() делает. фикс.

29 Янв, 01:15 #228 #637364

антоши, а можно ли как-то запускать музыкальный файл через медиаплеер, если его имя содержит пробелы?
типа mMediaPlayer = MediaPlayer.create(this, R.raw.08 Some track); ?

Ответы>>637369

29 Янв, 01:17 #229 #637369

>>637364
Почему бы не переименовать? Мне кажется R для такого файла не сгенерится.

Ответы>>637370

29 Янв, 01:19 #230 #637370

>>637369
а как тогда пишутся приложения типа медиаплееров? там по прямой ссылке доступ?

Ответы>>637373

29 Янв, 01:22 #231 #637373

>>637370
Конечно. В assets нельзя нихрена запихнуть потом. Достаются URI/path из базы и пошел проигрывать.

Ответы>>637375

29 Янв, 01:27 #232 #637375

>>637373
а по бд еще не подскажешь? у меня этого курса в универе почти не было, единственное что я вынес - это то что бд надо разделять и много столбцов это плохо.
пытаюсь осваивать SQLite. допустим есть простой список контактов с полями "имя", "фамилия", "телефон", "адрес" и куча-куча прочей информации. мне выходит надо создать одну базу данных, которая будет содержать эти 10-15 столбцов и заполнять? или все таки стоит разделять на подбазы.

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

Ответы>>637391

29 Янв, 02:05 #233 #637391

>>637375
Я сам БД со скрипом в универе сдал, но по моему скромному опыту преждевременная нормализация, а ты говоришь о ней, когда хочешь уменьшить количество столбцов в таблице, не нужно. И ты бы создавал не подбазы, а различные связанные (например по номеру телефона, или еще по какому уникальному ключу) таблицы в одно БД.
Из шапки жабо-треда:
5. Что насчет SQL?
Начни с малого: http://www.w3schools.com/sql/default.asp
Затем переходи к: http://www.sql-ex.ru/
В качестве чтива рекомендую: http://oreilly.com/catalog/sqlhks/chapter/

29 Янв, 02:21 #234 #637392

Господа, а как решают задачу проверки сайта раз в полдня? Я правильно понимаю, что надо создать сервис, который проверит раз и будет заданное время посредством Thread.sleep()?

Ответы>>637394

29 Янв, 02:31 #235 #637394

>>637392
AlarmManager.

Ответы>>637398

29 Янв, 02:36 #236 #637398

>>637394
А это разве не класс для реализации нотификаций? Или через него можно и сервис запускать раз в определенное время?

Ответы>>637412>>637541

29 Янв, 03:28 #237 #637412

>>637398
Можно.

29 Янв, 04:15 #238 #637427

Знаю C++, нужно разработать простенькую графическую игрушку под ведроид. Чем лучше воспользоваться? Ну, с джавой, думаю, тоже разобраться смогу, но желательно плюсы.

Ответы>>637541

29 Янв, 09:08 #239 #637480

>>637350
Какие нахуй контролы? Через коллбэки управляешь состоянием юая.

29 Янв, 11:59 #240 #637541

Пора бы в шапку добавить про разработку игор, а то из /gd частенько заходят >>637427.

Unity, Unreal, Cocos2Dx

>>637398
Туда пихается PendingIntent, а в него уже почти любой другой интент.

Ответы>>637585

29 Янв, 13:29 #241 #637585

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

Ответы>>637740

29 Янв, 17:01 #242 #637740

>>637585
Бери кокос, если хочешь плюсы, но это тоже "целый 3-д движок". Любое комплексное решение это куча не нужного тебе говна. Для небольшой игры подойдет libGDX.

29 Янв, 17:02 #243 #637742

>>637009
бамп

Ответы>>637750

29 Янв, 17:10 #244 #637750

>>637742
Открываешь google.play, смотришь в ТОПах что-нибудье просто что сможешь сделать.

Делаешь, выкладываешь в play, может кто и скачает. Люди любят конкуренцию.

Ответы>>637754

29 Янв, 17:20 #245 #637754

>>637750
Я хочу присосаться в какую-нибудь контору, а не быть фрилансером и надеяться, что "авось кто скачает". Вот хочу знать, на какой уровень ориентироваться. Чтобы знать, что если я не могу пока осилить вот эту ебалу, нужно еще потренироваться, а если могу, то можно уже идти обсираться на собеседованиях.
Алсо, если честно, мне лень доводить до ума мелкую хуйню типа шифра цезаря, делать дизайн, ебать шрифты и прочее, хочу в портфель сложить только код и незамысловатый интерфейс (или вовсе спиздить его на 99%).

Ответы>>637798

29 Янв, 17:50 #246 #637773

>>634301
Это называется Tasks stack. если я правильно понял

29 Янв, 18:17 #247 #637798

>>637754
Музыкальный плеер.

Ответы>>637803

29 Янв, 18:21 #248 #637803

>>637798
Спасибо, добавил в список.

29 Янв, 21:25 #249 #637995

Посоны, может тут кто-нибудь пояснить за блютуз на ведре? А именно за стек bluedroid.
Интересует PAN/NAP. Т.к. гугленье по этой теме не дало результатов, я пришел к выводу, что готовой утилитки (хотя бы что-то типа pand из bluez) для подключения к существующей/создания новой сети нет. Так ли это? Если да, то где искать документацию к этому ебучему блюдроиду?

Ответы>>638011

29 Янв, 21:39 #250 #638011

>>637995
Есть это https://source.android.com/devices/halref/bt__pan_8h_source.html
но нормальной документацией это трудно назвать.

29 Янв, 21:49 #251 #638025

Реально где-нибудь найти The Busy Coder's Guide to Android Development последней версии? Все интернеты перерыл. Неужели никто не выкладывает?

4 Кб, 128x128

29 Янв, 22:34 #252 #638068

Антоши, есть такой Джисон:

{
"a" : ["e","f"],
"b" : ["g","h"]
}

есть библиотека simple-json - https://code.google.com/archive/p/json-simple/ , которую я использую.

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

39 Кб, 797x655

36 Кб, 654x553

29 Янв, 23:09 #253 #638102

Сап.
В общем, есть такой вот фрагмент, который то ли работает, то ли не очень.
Под виртуальным андроидом 4 (14 API) всё запускается, всё работает.
Под реальным устройством с андроидом 5.1 (21 API, CyanogenMod) нихрена не запускается и выбивает NPE на строке 36 (то есть, navigationDrawer == null).
Почему так и что с этим делать?

Ответы>>638113>>638256

29 Янв, 23:24 #254 #638113

>>638102
А, нет, вру, на реальном устройстве API 22.

Ответы>>638128

29 Янв, 23:44 #255 #638123

Поясните пожалуйста как работают коллбеки. Сколько не смотрю - внятного объяснения не могу найти.

- Я правильно понимаю, что на коллбеках построен полиморфимз и вся работа с кнопками в частности?
- Если так, то как это работает? Кнопка в главном потоке постоянно отслеживает (как отслеживает, тоже своим потоком?) состояние и если оно изменилось - передает объект, имплементирующий метод действий?
- И если все так, то где это еще используется?

Ответы>>638126

29 Янв, 23:47 #256 #638126

>>638123
Причём тут полиморфизм вообще?
Коллбэк - это такой паттерн, в котором у объекта есть один или несколько листенеров, у которых этот объект при каких-то условиях вызывает какой-либо метод - то есть, коллбэк.

Ответы>>638135>>638160>>638186

29 Янв, 23:48 #257 #638128

>>638113
Может быть фрагмент не успел добавится в активити, вообще говно какое-то добавлять фрагменты через xml.

Ответы>>638134

29 Янв, 23:52 #258 #638134

>>638128
Но почему тогда он всегда стабильно успевает добавляться на четвёртом андроиде, но не на пятом? Кроме того интересно то, что до этого и на пятом всё нормально работало. А потом после небольших изменений в одной из зависимостей (которая с андроидом вообще ничего общего не имеет!) стало вот так.
А если не прописывать фрагмент через XML - то как тогда? Вот есть у меня этот самый NavigationDrawerFragment. Как мне его добавить в мой лейаут?

29 Янв, 23:54 #259 #638135

>>638126
А как обычно листенер реализуют?

Ответы>>638139

30 Янв, 00:00 #260 #638139

>>638135
Примерно так. http://pastebin.com/EPbit0uf
Но это с вплетением Java 8 для краткости.

Ответы>>638160

30 Янв, 00:08 #261 #638146

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

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

Ответы>>638207

31 Кб, 839x592

30 Янв, 00:16 #262 #638150

Аноны, недавно перекатился в android studio(до этого пару лет забил на робота) и вылезла такая хуйта как на пике, обновления не помогают, как лечить?

Ответы>>638206

30 Янв, 00:38 #263 #638157

Чопоны. Кто нибудь рассматривал http://metanit.com, как вариант обучению на андрея? Прочитал первые 2 главы, полет нормальный. Инфа актуальная и преподносится годно.

30 Янв, 00:45 #264 #638160

>>638126
>>638139

Так чем они тогда отличаются? и тот, и тот класстческий observer

Другой-анон

30 Янв, 01:22 #265 #638186

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

Ответы>>638223

30 Янв, 02:09 #266 #638197

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

Ответы>>638208

30 Янв, 02:41 #267 #638206

>>638150
Что там у тебя с джавой? Ты кэш старых версий чистил?

Ответы>>638212

30 Янв, 02:47 #268 #638207

>>638146
Retrofit, Picasso/UniversalImageLoader/Glide, Calligraphy, Gson/Jackson, Dagger2.
Еще крутые: RxAndroid, Retrolambda(это правда плагин), Fresco, Mortar, Flow, AndroidBolts, Butterknife (скоро будет нинужно).
Еще популярные: EventBus, greenDAO, ormLite, Realm.

Ответы>>638264>>638386>>638439

30 Янв, 02:50 #269 #638208

>>638197
>All requests are handled on a single worker thread -- they may take as long as necessary (and will not block the application's main loop), but only one request will be processed at a time.
Все верно.

30 Янв, 03:18 #270 #638212

>>638206

Стоит jdk и jre 8 версии + я так понимаю 32 битные версии jdk 7 и jre 6,7(находяться в паке programms x86, куда я так понимаю винда 32 битные проги ставит)

Насчет кэша не очень понял, гугл ответил только про temporary files в java control panel, с которой кстати такой же косяк, артефакты с надписями. Очистил, не помогло. Может проблема в каком нибудь стандартной гуй либе, которую испльзует java(не оч шарю в этом)?

Ответы>>638332

30 Янв, 04:42 #271 #638223

>>638186
> Коллбэк - это указатель на функцию, который вызывается в теле другой функции.
> Java

Ответы>>638234>>638444

30 Янв, 05:01 #272 #638234

>>638223
бля ну вы бы хоть пояснили че такое коллбек. а то с умным видом сидят и гринтекстят.

Ответы>>638446

30 Янв, 05:24 #273 #638240

Есть ли для андроида аналоги jimulabs.com или знаете где надыбать этот плагин без триала?

30 Янв, 08:58 #274 #638256

>>638102
Попробуй вместо getFragmentManager() (28 строка) вызывать getChildFragmentManager().

Ответы>>638448

30 Янв, 09:11 #275 #638264

>>638207
> RxAndroid
Ну что ты позоришься, нужно советовать RxJava

RxAndroid только добавлять шедулер для хендлера
(которые можно и самому написать без проблем).

Ответы>>638329

30 Янв, 12:10 #276 #638329

>>638264
Я не уверен что там только это. А так конечно да, без RxJava ничего не будет.

30 Янв, 12:13 #277 #638332

>>638212
Да я бы посоветовал стереть все джавы. А потом нормально накатить, если пользуешься rx то надо будет и 6 и 7, но 8 обязательно. Можешь еще превью студии скачать, с ней отдельная jre будет для шрифтов, хотя может это только на маки.

30 Янв, 13:46 #278 #638386

>>638207
>Butterknife
Что-то не зашел, все паблик должно быть и тд.
А почему не нужно будет? Гуглы сделали биндинг какой-то?

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

Ну и cupboard() вы забыли, лучше всяких орм.

Ответы>>638422>>638439

30 Янв, 14:54 #279 #638422

>>638386
Ну достаточно было package-private (без модификатора доступа). Вообще да, есть в бете: http://developer.android.com/intl/ru/tools/data-binding/guide.html

Про тимбер забыл чет.

30 Янв, 15:06 #280 #638426

Парни, ищу студента ведро-девелопера 2-4 курса из Киева. Для совместного проекта. Заинтересован ли кто-то?

Ответы>>638470

30 Янв, 15:16 #281 #638439

>>638207
>>638386

Спасиб антоши, пойду ковырять.
А с гуем как работаете? Деплоите на дейвайс и смотрите как все выглядит? Неужели нет годных утилит для предпросмотра, хотябы для анимаций?

30 Янв, 15:24 #282 #638444

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

30 Янв, 15:25 #283 #638446

>>638234
Прочитай про паттерн Observer.

30 Янв, 15:28 #284 #638448

>>638256
Для getChildFragmentManager() минимальное API - 17, а мне надо бы поддержку с 14.

Ответы>>638468

30 Янв, 15:31 #285 #638449

Как с работой, посоны? Совсем хуйню делать приходится или интересные проекты? Как платят?

30 Янв, 16:10 #286 #638468

>>638448
Ну так ты юзай support.Fragment

30 Янв, 16:16 #287 #638470

>>638426
А ну, что за проект? Деньги платят, или за идею? Анисимов?

Ответы>>638494

30 Янв, 16:41 #288 #638494

>>638470
Так я тебе и рассказал. Есть идеи для стартапа, ищу напарника для реализации.

30 Янв, 18:04 #289 #638575

Привет.
Использую VK SDK, приемущественно запрашиваю список аудиозаписей (из поиска, из альбомов, аудио друзей и т.п.)
Как бы мне кешировать всю эту ебулду? Или смысла не имеет?

Ответы>>638656

30 Янв, 19:03 #290 #638656

>>638575
Имеет, запросы не самые быстрые, в базу родименькую писать всю хуйню. Обновлять или в ручную, или в крайнем случае через 15 минут, типа ушел с экрана - вернулся и побежал запрос на синхронизацию.

30 Янв, 21:42 #291 #638831

Есть годны гайды по cocos2d конкретно для ведроида, а то везде гейос-гейос?

30 Янв, 23:04 #292 #638913

Как из фрагмента изменить что либо в активити(текст изменить к примеру) из которого и надулся фрагмент?

Ответы>>638923

30 Янв, 23:13 #293 #638923

>>638913
Эээ попробуй getActivity().findViewById(), но это как-то не красиво.

Ответы>>639122

15 Кб, 712x521

30 Янв, 23:52 #294 #638962

Пытаюсь сделать http запрос в андроиде
Создаю экземпляр HttpURLConnection.
Студия мне выкидывает методы для переопределения, пикрелейтед.
Не могу понять что писать в методе connect, похоже они все обновили, а документация осталась старая.
http://developer.android.com/intl/ru/reference/java/net/HttpURLConnection.html
Помогите, коданы, я в этой джаве недавно.

p.s. И почему он ругается на малформед урл?

Ответы>>638973>>638979

21 Кб, 395x85

31 Янв, 00:02 #295 #638973

>>638962
>http://developer.android.com/intl/ru/reference/java/net/HttpURLConnection.html
Тебе нужно обернуть выражение в try-catch

Ответы>>639036

31 Янв, 00:06 #296 #638979

>>638962
Потому что HttpUrlConnection — абстракция. Нужно работать с её реализацией, в андроиде такая есть.
new URL(...).openConnection().

Ответы>>639036

31 Янв, 00:27 #297 #638992

Думаю обновить апарат, а учитывая что мой телефон автоматически станет "рабочим" то хотелось бы всегда самое свежее ведро.
Думаю взять нексус 5х, но внутрений еврей говорит что отдавать больше половины зп за телефон ебанизм.
В результате глаза падают на бюджетное китайское говно.
Я понимаю что к разработке никоим образом, но все же, какое у вас отношение к выбору девайса?

Ответы>>639137>>639149

7 Кб, 750x150

31 Янв, 01:07 #298 #639036

>>638979
>>638973
Делаю вот так и в текствью пусто все равно

Ответы>>639149>>639161

31 Янв, 01:07 #299 #639037

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

Ответы>>639039>>639153

197 Кб, 700x466

31 Янв, 01:09 #300 #639039

>>639037
Типо вот этой хуйни, только под ведроид.

31 Янв, 08:51 #301 #639122

>>638923
так нельзя

Ответы>>639123

31 Янв, 08:59 #302 #639123

>>639122
add
точнее можно, ладно другой вопрос.
Как запустить метод в активити из фрагмента?

Ответы>>639124

31 Янв, 09:02 #303 #639124

>>639123
add
if(activity instanceof MainActivity){
((MainActivity) activity).startMethod;
}
есть такое решение, можно хотя бы пояснить что здесь происходит?

31 Янв, 09:33 #304 #639137

>>638992
Бери nexus 5x. Он не такой и дорогой. Хорошие вещи не дешевые.

Ответы>>639513

31 Янв, 10:50 #305 #639149

>>639036
Логи посмотри.

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

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

Если нужны новые прошивки на два года вперед по любому только 5X остается.
В принципе он как и личный телефон неплох купил еще по пред заказу

Ответы>>639513

31 Янв, 10:57 #306 #639153

>>639037
http://developer.android.com/intl/ru/reference/android/app/Notification.html#contentView

http://developer.android.com/intl/ru/reference/android/widget/RemoteViews.html

25 Кб, 733x142

31 Янв, 11:29 #307 #639161

>>639036
Вот пример с AsyncTask

P.S.
1) Не забудь добавить в манифест
<uses-permission android:name="android.permission.INTERNET" />
2) Смени http на https (yandex не дружит с http)

Ответы>>639187>>640068>>640110

31 Янв, 12:25 #308 #639187

>>639161
Ты зачем нуфага путаешь своим котлином, мм?

Ответы>>639193

31 Янв, 12:34 #309 #639193

>>639187
Да мне скучно прост

31 Янв, 18:25 #310 #639513

>>639137
>>639149
Еще подумаю, все же дороговат зараза.

Ответы>>639527

31 Янв, 18:36 #311 #639524

Поднимаю этот вопрос снова.

>Котаны, есть проблема.
Когда ставлю в манифесте android:launchMode="singleInstance" для main activity, то в диспетчере задач приложение не отображается на устройствах ниже, чем Android 6.0.1.
Как это пофиксить?
>>634598

Содержимое манифеста:
http://pastie.org/10702981

Ответы>>639542>>639622

31 Янв, 18:38 #312 #639527

>>639513
Очень печально, когда тратишь кучу времени на обход бага и потом оказывается, что такой баг только на этом китайском говне.
С nexus 5X у тебя будет на что ориентироваться.
Так то любое приложение никогда не будет работать одинаково везде.

Ответы>>639618

31 Янв, 18:53 #313 #639542

>>639524
noHistory у ui.BriefActivity это обязательно?

Ответы>>639589

31 Янв, 19:47 #314 #639589

>>639542
Да, по идеи эта активити показывается пользователю 1 раз при первом запуске приложения. И он не должен вернуться на неё через кнопку назад.

Ответы>>639622

31 Янв, 20:15 #315 #639618

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

Ответы>>639626

31 Янв, 20:16 #316 #639622

>>639589
>>639524
Решение проблемы: нельзя оставлять аттрибут android:label пустым.

31 Янв, 20:18 #317 #639626

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

Ответы>>639634

31 Янв, 20:25 #318 #639634

>>639626
Пока не приходилось с этим ебаться, но представляю себе.

1531 Кб, 1531x822

01 Фев, 02:47 #319 #639958

Аноны, как можно получить фото города по названию или его координатам? Пробовал с помощью гугловских апи, но он не возвращает фотореференс для городов, возвращает только для мест(ресторанов, музеев етц).
Пробовал с помощью фликр апи, там возвращаются совершенно рандомные фотки, крипота какая то. Откуда гугл берет фото, как на пикрелейтед?
Есть ещё panoramio, вроде как, тоже можно искать фото по координатам, и наверное, им пользуется гугл. Но я не могу понять, как пользоваться их апи http://www.panoramio.com/api/widget/reference.html#PhotoRequest класс PhotoRequest подходит, но есть ли у них rest апи?

01 Фев, 04:01 #320 #639967

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

Ответы>>639984

01 Фев, 07:58 #321 #639984

>>639967
В google play services есть модуль для этого.

01 Фев, 12:01 #322 #640068

>>639161
>котлин
>плебсу надо писать точки с запятой, а я пишу быстра))))))

Ответы>>640071

01 Фев, 12:10 #323 #640071

>>640068
В асинктасках особенно хорошо видно, что Android API приходится адаптироваться к убогому java 1.6 синтаксису.
В техже лямблах, это можно написать гораздо короче и код будет более гибким и понятным.

44 Кб, 544x499

01 Фев, 12:52 #324 #640110

>>639161
> fun

1170 Кб, 1081x608

823 Кб, 1024x567

301 Кб, 1600x900

Android TV плеер для RuTracker 01 Фев, 13:28 #325 #640137

Есть идея написать плеер для воспроизведения видео с торрент трекеров (в частности с rutracker) в режиме "стриминга".

ГЛАВНОЕ: приложение будет бесплатное и open source (исходники всего будут на github.com)

Приложение будет состоять из двух частей:

1) Android "плеер и каталог" адаптированный под телевизоры (управление пультом, размер экрана и тд).
Приложение будет написано на Kotlin, тк это современный и лаконичный язык.

2) Мини-сервервера, который будет выкачивать торрет и стримить видео.
Он нужен что бы не захламлять память (обычно ограниченную) на android устройстве.
Для кросплатформенности, сервер будет написан на ASP NET Core 5.0 (его плюс что он может работать без .NET/mono)

Сервер будет поставляться в нескольких вариантах:
2.1) Windows / Linux / OS X консольное приложение и которые будет хостить в себе мини-сайт.
У приложения будет простой UI для настройки (или конфиг-файл).
2.2) Настроенный docker контейнер, который можно будет в две команды развернуть на любом Linux сервере
2.3) Как часть Android приложения (в этом не уверен)

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

К ПРОЕКТУ ПРИГЛАШАЮТСЯ ВСЕ ЖЕЛАЮЩИЕ
Пока проект, это только идея и можно выразить свои мысли по нему может спереть, я за конкуренцию

FAQ
В: Почему стриминг с трекеров?
О: Трекеры это огромный каталог и HD фильмов (многих из которых нет в магазинах) и их сложно заблокировать правообладателям.

В: Зачем мне участвовать в этом пректе?
О: Можно будет набраться знаний по современным технологиям (ASP NET Core, Kotlin) и праславиться.

Ответы>>640142>>640150>>640225>>640233

01 Фев, 13:34 #326 #640142

>>640137
Возможно ли сделать стрим через DLNA?

Ответы>>640151

01 Фев, 13:40 #327 #640150

>>640137
>Он нужен что бы не захламлять память (обычно ограниченную) на android устройстве.
Зато вот на сервере нужна неограниченная память - каждый фильмец нужно загружать полностью, т.к. протокол торрента не гарантирует передачи данных по порядку (а наоборот).
>Для кросплатформенности, сервер будет написан на ASP NET Core 5.0 (его плюс что он может работать без .NET/mono)
Его минус в том что это кусок беты. Учитывая что даже виндовый дотнет проигрывает яве в перформансе - сомнительная затея.

Ответы>>640172>>640224

01 Фев, 13:41 #328 #640151

>>640142
Честно говоря не знаю (никогда не работал), пока идея была создавать ссылки вида https://???.mp4

Сейчас основная концепция:
"Удобный просмотра фильмом на стационаром телевизоре с Android TV"

С DLNA я так понимаю Android клиент вообще нужен, а это не совсем то чего хотелось бы.

01 Фев, 13:54 #329 #640172

>>640150
> Зато вот на сервере нужна неограниченная память
Где-то точно нужна будет не ограниченная память (если не удалять сразу после просмотра)
И уж лучше это будет на сервере чем на Android плеер с 8gb памяти
(плюс nexus player не поддерживать карты памяти)

> не гарантирует передачи данных по порядку
Как минимум отдельные файлы (серии) можно качать с разным приоритетом

> Его минус в том что это кусок беты
Так то он уже несколько месяцев RC1, скоро уже RC2, а там уже и релиз.
Сам работаю с CoreClr еще с первых бет, перевел все свои бэкенды на него с полного .NET - полет нормальный.

Ответы>>640189

01 Фев, 14:01 #330 #640189

>>640172
>Сам работаю с CoreClr еще с первых бет, перевел все свои бэкенды на него с полного .NET - полет нормальный.
Ок. А теперь скажу по другому - допустим что я бомж/гость, у которого в наличии нетбук с 2 гб оперативки (1,5 которых под системой и прочим) и мобильным говном вместо процессора. Хочу такой, значит, посмотреть кинцо на телеке пока следующая серия качается.
А дотнет мне такой - погоди-ка челик, у тебя оперативка/батарейка не бесконечные, ты уж выбирай - стул с хуями или никакой.
К чему я вообще всю эту еботу написал - не надо тащить это говно на десктоп.

Ответы>>640210

01 Фев, 14:15 #331 #640210

>>640189
> допустим что я бомж
Тогда скорее всего ты не являешься нашей "целевой аудиторией".
А вообще для этого случая есть пункт (2.3) "Как часть Android приложения".

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

Ответы>>640221

01 Фев, 14:24 #332 #640221

>>640210
>Тогда скорее всего ты не являешься нашей "целевой аудиторией".
Откидываешь 2/3 целевой аудитории андроеда?
>хотя вряд ли те кто пользуются торрентами, будет за что-то платить :)
Ну так все умные люди уже давно на f2p модель монетизации перешли. Хош жрать говно - не плати и смотри рекламу. Не хош - ну будь уж так любезе раскошелиться.
>А вообще для этого случая есть пункт (2.3) "Как часть Android приложения".
Втройне хуевая затея. Тебе нужно одновременно качать >мб/сек, декодировать видео и слать его на телек. Пользователя сборщик мусора очень быстро порадует.

01 Фев, 14:27 #333 #640224

>>640150
>дотнет проигрывает яве в перформансе
Можно немного proofs? На винде он разве не выигрывает по понятным причинам? А то у меня есть один знакомый латентный дотнетчик, работает на джаве, а когда один раз поделал что-то на дотнете сразу обосрался, но кончает радугой от C#, хочу его потралирвоать.

Ответы>>640251

01 Фев, 14:30 #334 #640225

>>640137
Ни черта не понял.
1) Приложение под Android TV, или android как пульт?
2) Сервер, который скачивает чанки, отдает чанки, которые стримятся. Что это за пиздец будет?

Я вообще не против принять участие, но что-то как-то все мутно.

Ответы>>640243

01 Фев, 14:38 #335 #640233

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

Ответы>>640252

01 Фев, 14:48 #336 #640243

>>640225
> 1) Приложение под Android TV, или android как пульт?
Есть такая приставка Android TV, у нее уже есть свой пульт.
Нужно для приставки (там стоит обычный Android 6.0) приложение написать.

> 2) Сервер, который скачивает чанки,
Сервер НЕ отдает чанки android клиенту, он выкачивает файл целиком и потому уже их стримит.
Android клиенту приходят HTTP ссылка уже на целиком скаченный файл.

> Я вообще не против принять участие
Попробуй прочитать еще раз описание

01 Фев, 14:55 #337 #640251

>>640224
В гугле пруфы. Правда графики - всегда говёная вещь если показывать их человеку крутящимуся в этой области, вот например реальные пруфы:
ШINDOWS
https://www.techempower.com/benchmarks/#section=data-r9&hw=peak&test=plaintext&s=1
Божественная бубунта:
https://www.techempower.com/benchmarks/#section=data-r11&hw=peak&test=plaintext&l=6g6

Ответы>>640355

01 Фев, 14:56 #338 #640252

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

При использование DLNA нам Android клиент не нужен.
Хотя у Android клиента есть преимущество:
1) проще первоначальная настройка
2) будет удобная навигация по файлам
3) просмотр описаний (взятых с трекеров) и управление закачкой

==========================================================
==========================================================
Вообще можно сделать два отдельных приложения:

1) Локальный сервер который стримет в DNLA (сдесь вообще не нужен Android) или через Android приложение.

2) Android приложение с навигаций/описание/управлением.

Ответы>>640359

83 Кб, 585x604

01 Фев, 16:28 #339 #640342

Есть тут студенты без опыта которые готовые за еду работать?
Украина.

Ответы>>640364>>640368>>640465>>640883>>640937

01 Фев, 16:47 #340 #640355

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

01 Фев, 16:51 #341 #640359

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

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

Ответы>>640387>>640403

01 Фев, 16:57 #342 #640364

>>640342
да

Ответы>>640400

01 Фев, 16:59 #343 #640368

>>640342
Чё за еда?

Ответы>>640400

01 Фев, 17:11 #344 #640387

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

В любом случае и для конкурентного продукта думаю найдется местечко.

> все крутилось локально на девайсе
А что делать с местом, на Google Nexus Player всего 8GB (из которых половина занимает система)?
В Google продуманные чуваки сидят, специально место урезали что бы только стриминг был.

Даже если как-то стримить "на лету", все равно нужна локальная базу "любимых" фильмов.

Ответы>>640478

01 Фев, 17:30 #345 #640400

>>640364
>>640368
Около 10 бачей за приложение, моя помощь с дизайном.
Я не сильно шарю в расценках, но мне сказали что это нормально для начинающего.

Ответы>>640548

01 Фев, 17:33 #346 #640403

>>640359
Кстати может, как пользователь, скажешь что тебе не хватает в Popcorn Time?

Ответы>>640478

01 Фев, 19:01 #347 #640465

>>640342
Готов, если будешь няшить под хвост.

Ответы>>640505

01 Фев, 19:15 #348 #640478

>>640403
Я его не юзал. Но шуму он наделал.
>>640387
> на Google Nexus Player всего 8GB (из которых половина занимает система)
Хранишь только те данные, которые тебе нужны в данный момент. Т.е. текущее место воспроизведения + 5 минут кэша. Это вопрос 500 мегабайт хорошего рипа.
> локальная базу "любимых" фильмов
Локальная база формируется только названием фильма и его магнет ссылкой, что требует аж 1 килобайт на фильм.

Ответы>>640490

01 Фев, 19:31 #349 #640490

>>640478
> Хранишь только те данные, которые тебе нужны в данный момент
А потом мы добавляем перемотку и вот уже совершенно не тривиальная техническая задача.
Или переключение между сериями будет "ой подождите нужно хотя бы 100 mb скачать, идите чайку попейте".

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

Если Popcorn Time заточен под стриминг, то с хранилищем у нас будет хоть какое-то конкурентное отличие.

Ответы>>640510

01 Фев, 20:01 #350 #640505

>>640465
а ты няшный?

01 Фев, 20:19 #351 #640510

>>640490
> ой подождите нужно хотя бы 100 mb скачать, идите чайку попейте
Ну а хули ты хотел? И рыбку съесть, и на хуй сесть?
Я еще раз говорю, локально пердолить сервер будут единицы, а свой собственный ты не окупишь.

И да, попкорн заточен под стриминг.

01 Фев, 21:08 #352 #640548

>>640400
Приложение уровня засунуть сайт в WebView? Альфред это ты?

Ответы>>640564

01 Фев, 21:22 #353 #640564

>>640548
Чего? В любом случае, это не Альфред.

Ответы>>640584

01 Фев, 21:34 #354 #640584

>>640564
Ну а что еще можно сделать за 10 бачей.

Ответы>>640589

01 Фев, 21:37 #355 #640589

>>640584
А сколько может требовать студент без опыта и толковой практики?

Ответы>>640622

01 Фев, 22:06 #356 #640622

>>640589
Ну если его там будут именно учить то нисколько. Но в данном случае его учить не будут.

Ответы>>640640

01 Фев, 22:20 #357 #640640

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

Ответы>>640668

01 Фев, 22:21 #358 #640641

Сид и думаю, как в резюме засунуть опыт работы год и 4 месяца например?
1 год и 4 месяца опыта? Звучит как пизда.

Ответы>>640731

01 Фев, 22:50 #359 #640668

>>640640
Ну я вот первую хуйню делал без опыта, но сделал, и получил вполне хорошие деньги.

01 Фев, 23:16 #360 #640702

Эй котлинофаг, ты тут? Как мне передать просто Runnable в thread(), сигнатурка не подходит, или это by-design и там обязательно должна быть лямбда?

http://pastebin.com/Z0u1JEzn

Ответы>>640761

01 Фев, 23:31 #361 #640731

>>640641
Округли до 3 года

02 Фев, 00:06 #362 #640761

>>640702
1) Там есть куча промежуточных параметров,
либо называй имя параметра для лямбы
1.1.1) thread(name = "TestThread3", block = { keker.invoke() }).start()
1.1.2) thread(name = "TestThread3", block = keker).start()
либо вставляй вне скобок
1.2.1) thread(name = "TestThread3") { keker.invoke() }.start()
1.2.2) thread(name = "TestThread3") { keker() }.start()

2) Таки да, есть перевод лямбд в функциональные интерфейсы, обратное не разрешается.
Функция thread просто хелпер для создания, если нужны именно runnable, создавай через конструктор:
Thread(kek, "TestThread4").start()

Ответы>>640979

02 Фев, 03:08 #363 #640883

>>640342
Напиши-ка на labamZ#biba1ANUSgmaie1$lPUNCTUMcqM"om

02 Фев, 10:42 #364 #640937

>>640342
Иди ты нахуй с таким разводом.
10 баксов бля.
Я лучше сам кому-то из треда 10 баксов дам если что-то нормальное напишут.
Работу он предлагает. Просто иди в задницу.

Ответы>>640940

02 Фев, 10:58 #365 #640940

>>640937
А сколько ты хочешь? пидор

02 Фев, 11:35 #366 #640952

Качаю андроид студио. ДЕСЯТЬ БАЧЕЙ, ДЕРЖИТЕСЬ.

02 Фев, 12:24 #367 #640979

>>640761
Спс, уже разобрался, я так понял метод thread не очень полезный, так как плодит постоянно анонимные классы, которые экстендяд треды.

02 Фев, 15:02 #368 #641134

Как изменить состояние тулбара из фрагмента, если тулбар определён в активити?

Ответы>>641141

sage 02 Фев, 15:11 #369 #641141

>>641134
Вызвать метод активити.

02 Фев, 15:40 #370 #641171

https://android.googlesource.com/platform/development/+/bbdfd7c347b4abc5094e890eb1fc2b48d9ff1d95/ndk/samples/native-activity
Поясните ньюфагу: как именно передается управление сишному коду в этом примере? Сишный код компилируется в .so, затем подгружается из жавы с помощью System.loadLibrary, после чего ищется функция с условленным именем (android_main) и вызывается? Так?

Ответы>>641178

02 Фев, 15:48 #371 #641178

>>641171
Мне кажется первым вызывается метод ANativeActivity_onCreate, так как собственно это Активити и указанно как лаунчер в манифесте.

Ответы>>641183>>641191

02 Фев, 15:51 #372 #641183

>>641178
А, действительно. Код по ссылке немного отличается от того, что у меня.

02 Фев, 16:01 #373 #641191

>>641178
Но это не так важно. Меня больше интересует, запускается сначала жвм и подгружает so или управление непосредственно передается эльфу?

Ответы>>641195

02 Фев, 16:05 #374 #641195

>>641191
Конечно сначала запустится JVM, точнее она никогда и не спит. А потом увидев какая хуйня метод main, которого нам никогда не увидеть подгрузит .so и сделает вызов в JNI

Ответы>>641202

02 Фев, 16:17 #375 #641202

>>641195
Других путей получения активити нет? М.б. есть какой-нибудь IPC API

Ответы>>641295

02 Фев, 18:23 #376 #641295

>>641202
Может быть дело происходит не в main, а в Context'е, там где есть доступ к ActivityManger'у и там он решат какие вызовы куда перeдовать и передает вызовы в JNI.

02 Фев, 22:46 #377 #641455

Как задать соотношение сторон 16/9 у imageview через xml?

Ответы>>641460

02 Фев, 23:00 #378 #641460

>>641455
PercentReplaytiveLayout свежей версии. width = 100%, apectRate = 177%

Ответы>>641461>>641490

02 Фев, 23:01 #379 #641461

>>641460
> PercentReplaytiveLayout
PercentRelativeLayout

02 Фев, 23:37 #380 #641490

>>641460
<android.support.percent.PercentRelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
android:id="@+id/image"
app:layout_widthPercent="100%"
app:layout_aspectRatio="178%"
android:adjustViewBounds="true"
android:src="/@drawable/moscow_1"/>
<TextView
android:layout_below="@+id/image"
android:id="@+id/info_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Moscow" />

</android.support.percent.PercentRelativeLayout>

Картинка не появляется, а если app:layout_widthPercent="100%" убрать и добавить
android:layout_width="match_parent", то размеры остаются такими же

Ответы>>641515

03 Фев, 00:26 #381 #641515

>>641490
теперь заработало, ебаная студия

116 Кб, 1440x1280

03 Фев, 13:56 #382 #641826

Сап, анчоусы.
Посоветуйте источник знаний. Посмотрел все курсы startandroid, devcolibri, metanit, и даже что-то понял.
Но все подобные курсы топчатся на самых азах. Подкиньте более углубленный курс.

Ответы>>641835>>641899

03 Фев, 14:09 #383 #641835

>>641826
http://d.android.com/training/index.html
https://google.com/io

Ответы>>641853

03 Фев, 14:36 #384 #641853

>>641835
Благодарочка

03 Фев, 15:24 #385 #641899

>>641826
Android Developers - https://www.youtube.com/channel/UCVHFbqXqoYvEWM1Ddxl0QDg
Google Developers - https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw

03 Фев, 18:12 #386 #642049

используют ли местные эксперты butter knife?

Ответы>>642090

03 Фев, 18:59 #387 #642090

>>642049
Нахуй это нужно, когда есть android-binding

03 Фев, 19:15 #388 #642100

используют ли местные эксперты butter knife?

Ответы>>642101>>642112

03 Фев, 19:15 #389 #642101

>>642100
лол норм лаг

03 Фев, 19:42 #390 #642112

>>642100
Нахуй это нужно, когда есть android-binding ;)

04 Фев, 04:20 #391 #642363

>>632324 (OP)
Пикрелейд андроид наяривает мороженку с говном? Весьма тонко.

363 Кб, 1456x982

04 Фев, 05:23 #392 #642369

>>632324 (OP)
СПЕШАЛ ФО ЗИС ТРЕД
Ориджинал контент.

15 Кб, 430x496

04 Фев, 11:51 #393 #642481

Антоши, есть диалог для установки времени - таймпикер, там можно задать с минутным шагом, но мне нужно, чтобы шаг был равен 10 минутам, как такое сделать?
И ещё вопрос: как для установщик даты - дейтпикера оставить только выбор месяца, без дня?
Благодарю.

Ответы>>642835>>642871

04 Фев, 11:57 #394 #642485

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

93 Кб, 796x495

04 Фев, 15:13 #395 #642596

анон, я не могу в архитектуру и не знаю где подчерпнуть знаний. Например когда испльзовать Activity а когда Fragment ну и так далее.
Я скачал приложение по доставке еды:
https://play.google.com/store/apps/details?id=com.eat24.app
и разобрал его. Так там 150 layout files 50 активити и блять чего только нет. smali хуй прочитаешь.
1)Где и как посмотреть на структуру проектов, понять как блять писать то нужно?

В одно конторе сказали что у меня есть критические ошибки в коде.
https://github.com/lectricas/fixedrec_android
вот мой говнокод.

2)Скажите, что там у меня не так.
Спасибо.

Ответы>>642651>>642653

04 Фев, 15:51 #396 #642651

>>642596
Что они успели посмотреть, просто осhе много кода что бы взять и так сказать где там ошибка.

Ну короче единого гайда нет, главное правило использовать фрагменты для UI предпочтительней чем активити, активити могут упростить разработку навигации.

04 Фев, 15:52 #397 #642653

>>642596
1) apktools + http://stackoverflow.com/a/5657474
2)
Леш, я что-то вообще не понимаю что твой код делает, где конкретно бизнес-логика/u]?
Тонный шаблонного кода, за которыми ни черта не разберешь (нет что-бы писать на Kotlin).
Тыкни меня хотя бы в то место где ты запросы к вэбу делаешь.

Ответы>>642658>>642666

04 Фев, 15:55 #398 #642658

>>642653
>apktools
ну так о ни даст этих смали

Ответы>>642669

04 Фев, 16:01 #399 #642666

>>642653
при чем здесь Kotlin вообще - хватит его форсить.
Как строить бизнес логику я не знаю.
Там же указаны название package-ей - тот что с вебом наверное называется sync.
И декомпилировать полностью не получится - лучше уж smali читать.

Ответы>>642683

04 Фев, 16:01 #400 #642669

>>642658
В смысле? apktools как раз вы выдаст тебе каталог со всем smalli.
Хотя с dex2jar можно apk просто распаковать и скормить ему classes.dex

Ответы>>642721

223 Кб, 612x746

04 Фев, 16:11 #401 #642677

например пикрилейтед - приложение похожее на мое.

https://play.google.com/store/apps/details?id=nl.sogeti.android.gpstracker&hl=ru
ссылка на маркет.

https://code.google.com/archive/p/open-gpstracker/source/default/source
исходники.
Хочется спросить нахуя так много файлов? Там еще есть по ТЫСЯЧЕ строк кода блять. А приложение делает всего нихуя. У меня гораздо скромней получилось еще и с синхронизацией и аккаут менеджерами всякими.
Так вот это называется бизнес логика или как?

Ответы>>642683>>642750

04 Фев, 16:15 #402 #642683

>>642666
> при чем здесь Kotlin вообще
Ты просто еще маленький и не понимаешь что писать меньше кода это лучше.

> Как строить бизнес логику я не знаю.
Ну ты хотя бы отдели ее остальных классов, что бы спагетти не получались.
Погугли SOLID и конкретно Dependency Inversion почитай "чистый код"

> вебом наверное называется sync
На самом деле не очень это очевидно.
Да и вообще зачем ты тащешь это старье (AbstractThreadedSyncAdapter) из Android 1.5
Есть же JobScheduler / GcmNetworkManager?

> лучше уж smali читать.
Ну ок, если для тебя smali понятнее чем *.class

>>642677
Дизайн из начал 2010, давно я такого не видел

Ответы>>642773>>642789

04 Фев, 16:30 #403 #642721

>>642669
и что делать со смали?

04 Фев, 16:45 #404 #642750

>>642677
Это называется "жява и её идеология".

04 Фев, 17:01 #405 #642773

>>642683
> Ты просто еще маленький и не понимаешь что писать меньше кода это лучше.
А по мне так он уже неплохо понимает, что нет смысла писать на языке, за который не платят.

Ответы>>642828

04 Фев, 17:15 #406 #642789

Вы уже 3 трэда перетираете kotlin может уже хватит?>>642683
Про solid и его последний принцип я прочитал. Как его применить к моему приложению? Дайте кто нибудь исходники же нихкя не понятно без них. Ну пишем мы интерфейс и что. К какой заднице его прикручивать? Мне нужно то всего одно прилежение которое точно написано по канонам что бы даинуть дальше

Ответы>>642817

04 Фев, 17:33 #407 #642817

>>642789
> solid и его последний принцип я прочитал
> Ну пишем мы интерфейс и что
чет не очень ты понял, иди книжек наверни по проектированию/паттернам, а то так и будешь даунить

Ответы>>643253

04 Фев, 17:44 #408 #642828

>>642773
Как же вы доебали. С разговорами о работе в соответствующие треды и /wrk съебите, это тред о разработке. Как программисту знание нового языка с новыми парадигмами никому не помешает, а так же точно не уйдет в минус если вы на собеседовании с умным ебалом расскажите про какие нибудь вакуумные nonnullable типы и чем это ахуенно.

15 Кб, 430x496

04 Фев, 17:52 #409 #642835

Антоши, ответьте на это, пожалуйста - >>642481

04 Фев, 18:21 #410 #642871

>>642481
Поищи в документации про этот таймеикер что нибудь. Если не получится установит интервал 10 мин то пиши свой пикер

128 Кб, 810x714

95 Кб, 619x717

102 Кб, 1078x710

04 Фев, 21:12 #411 #643186

Как залочить CollapsingToolbarLayout, чтобы не раскрывался, т.к. в данном примере вроде бы залочен, но тулбар как-то бажно раскрывается. Сначала не реагирует на движение пальца, а потом сам до конца раскрывается.

04 Фев, 21:52 #412 #643217

суп, аноны, у меня есть идея игры под ведро, которую я с другом хотел бы реализовать в течении этого года. Поскольку мои знания тяжело даже базовыми назвать (почти до конца выучил ява кор, но потом по некоторым обстоятельствам забросил) хочу спросить у анона список технологий, которые предстоит нам выучить. Суть игры: 2d или 2.5d игра с видом сверху, машина едет по прямой(типа раннера) попутно обьезжая преграды и расчленяя капотом, всякими обвесами и оружием зомбаков собирая счёт и монетки.

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

Ответы>>643234

04 Фев, 22:11 #413 #643228

Как сделать свой gson Deserializer с retrofit 2?
Пробую так:
Gson gson =
new GsonBuilder()
.registerTypeAdapter(City.class, new WeatherDeserializer())
.create();
return new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create(gson))
.client(CLIENT)
.build();

но случается StackOverflowError, что делать?

Ответы>>643233

04 Фев, 22:17 #414 #643233

>>643228
а почему ты не хочешь создать Model и подставить ее в new Gson.fromJson(Model.class...)?

Ответы>>643247>>643263

04 Фев, 22:18 #415 #643234

>>643217
пиши лучше на Unity - можно будет сразу захуячить под ios

Ответы>>643240>>643252

04 Фев, 22:22 #416 #643240

>>643234
посоветуешь ресурсы?

Ответы>>643260

04 Фев, 22:28 #417 #643247

>>643233
там много массивов и они друг в друге

04 Фев, 22:30 #418 #643252

>>643234
кстати что насчёт cocos2d?

04 Фев, 22:31 #419 #643253

>>642817
ну кароч я почитал и понял что фреймворк сам нам говорит какие шаблоны использовать. А точнее их там 4 что ли. Главный это MVVM, где Activity это ViewModel например. Все происходит при помощи отправки сообщений и широковещательной рассылки - это еще 2 шаблона. Content Provider это позднее связывание и на счет него я не до конца уверен - эти ебучие URI вообще мне не нравятся. ORM хоть тупой и медленный но зато сахар и не нужно писать кучу какой-то хуйни. Так вот, где тут должна хранится бизнес логика? Зачем мне наворачивать паттерны если они не нужны? В общем поясните

Ответы>>643319

04 Фев, 22:34 #420 #643260

>>643240
в общем ты еще школьник и тебе лучше начать с чего-то попроще. Попробуй поиграть в gmod с другом, полепить модельки и повеселится. Потом попробую наклепать что-нибудь на unity.
А вообще тебе в https://2ch.hk/gd/ (М)

Ответы>>643264

04 Фев, 22:36 #421 #643263

>>643233
а понял, я думал Deserializer надо подключать прямо к ретрофиту d ,bkltht

04 Фев, 22:39 #422 #643264

>>643260
спс, насчёт гарис мод не очень интересует, мне бы больше самому порисовать и покодить

04 Фев, 23:32 #423 #643319

>>643253
Сегодня ты узнал больше, чем за все свои 12 лет жизни.

Прочитай "Code Complete" и через полгода приходи осудим еще раз.

04 Фев, 23:38 #424 #643323

Посоны, в шапку также стоит добавить что поддержка 8 жабки под андроид вполне себе вырисовывается. Пруфы в интернетах имеются - google android openjdk 8

Ответы>>643327>>643339

04 Фев, 23:43 #425 #643327

>>643323
Это не поможет старым версиям, конечно рано или поздно 8 бы появилась и так, она и так на лолипопе, но легче от этого не становится, так что retrolambda наше все.

04 Фев, 23:58 #426 #643339

>>643323
Как будто от openjdk появятся нормальные лямбды, zip у стримов и что-то лучше @NotNull.

Можно сколько угодно заниматься самовнушением, но выход только один.

Ответы>>643341

05 Фев, 00:01 #427 #643341

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

Ответы>>643486

05 Фев, 00:56 #428 #643375

Как лучше с AndroiBinding быть, ебашить ObservableField или экстендить BaseObservable и дописывать к аксессорам хуйню?

Ответы>>643378

484 Кб, 1280x850

05 Фев, 01:01 #429 #643378

Отправил резюме на 8 вакансий и нихуя. Позвонили с одной, но мне контора не подошла, да и зп.

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

Ответы>>643380

05 Фев, 01:04 #430 #643380

>>643378
http://developer.android.com/intl/ru/tools/data-binding/guide.html
1) Observable Objects (A class implementing the Observable interface will allow the binding to attach a single listener to a bound object to listen for changes of all properties on that object.)
2) ObservableFields

И вот я думаю что лучше, похоже поля подходят для более простых объектов, иначе лучше ручками дописать.
Мам, где моя кодогенерация на аннотациях, ну маам!

Ответы>>643401

05 Фев, 01:39 #431 #643401

>>643380
Спасибо. Слишком сонный осилить сейчас.

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

05 Фев, 01:48 #432 #643411

Привет котаны. Сразу к делу:
Уточнение: Я ниразу не программист, но налабать привет_мир, наполовину скопипастив думаю осилю. Так что не нервничайте.
Есть один вопрос:
Мне надо посылать одной хуитке команды с лопаты и читать что она там говорит на лопату. Мой хитрый план.
Берем Qt и прочую муть. И вот эту фигню, сразу ссылка на пример использования: http://www.modbusdriver.com/doc/libmbusmaster/examples.html#example2
Лепим в QtCreator ебло и логику, собираем, отправляем на телефон и радуемся.
Запашет ли эта библиотека под андроидом? Кьют то запашет, инфа около соточки.

150 Кб, 1088x1920

05 Фев, 03:50 #433 #643423

первый опыт под адроид и вообще разработки UI, не кидайте в меня санными тряпками.

нужно сделать слайдшоу с двумя кнопками. сделал по демке http://developer.android.com/training/animation/screen-slide.html

но сейчас пришел к выводу, что OptionMenu + splitActionBarWhenNarrow -- днище, а не решение.

мне надо какой-то хитровыебанный лейаут и две кнопки? какой лейаут и как правильно выставить высоту? и еще бы titlebar убрать нахуй. анон помоги

Ответы>>643457>>652405

05 Фев, 08:03 #434 #643457

>>643423
Сделай кнопки при помощи linear и framelayout.
Сделай background selector, чтобы кнопка нажималась.
Это самое гибкое решение.

Ответы>>643481>>643576

05 Фев, 09:41 #435 #643481

>>643457
при помощи linear зачем юзать это ненужное баганое говно?

Ответы>>643655>>643657

05 Фев, 09:44 #436 #643486

>>643341
Ребят, а здесь правда тусуются только школьники и безработные студенты?

Ответы>>643513

05 Фев, 09:50 #437 #643490

>>632335
Двачую этого. Лучше java для детей, имхо

05 Фев, 09:54 #438 #643498

>>633847
Ну вы же погромизды... А ещё у меня чайник потек и у тугосери планшет не играет. Он его об стул ебнул. Подскажите, как починить? На что нажать, чтоб все заработало? А то в мастерских меня нахуй шлют, негодяи!

05 Фев, 10:04 #439 #643501

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

Ответы>>652410

05 Фев, 10:57 #440 #643513

>>643486
Конечно правда.

05 Фев, 11:15 #441 #643522

Подходит ли python для разработки приложение под андройд?

Ответы>>643660

05 Фев, 12:56 #442 #643576

>>643457
спасибо, попробую вечером

05 Фев, 14:30 #443 #643654

>>632638
Выкинуть это китайское говно и купить Pixel C.

05 Фев, 14:31 #444 #643655

>>643481
Научись писАть.

05 Фев, 14:32 #445 #643657

>>643481
Щито?

05 Фев, 14:37 #446 #643660

>>643522
Неочень

Ответы>>643687

05 Фев, 15:13 #447 #643687

>>643660
почему?

Ответы>>643985

05 Фев, 15:18 #448 #643694

Парни скиньте хороший гайдов,курсов,статей и т.д. по CORDOV'е чтобы начать сразу на практике.

05 Фев, 17:44 #449 #643881

Книгу из оп-поста скиньте, 45 баксов это для меня немного дорого.

Ответы>>645573

05 Фев, 19:42 #450 #643985

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

05 Фев, 20:34 #451 #644070

Какой уровень знания java core нужен?
Прочитал head 1st java, могу скомпилировать из сосноли но не знаю как работает ИДЕ. Стоит ли заморачиваться на всяких сборщиках проектов итд типа ant, maven итд? Или просто отдаться ИДЕ и хуй с ним? Хотел сделать каких-то проектов под десктоп для опыта, но сильно вникать не хочется.
Надо ли заморачиваться с gradle и всей экосистемой андроида? Как-то неприятно не понимать что происходит за сценами.

Ответы>>644303

53 Кб, 867x661

38 Кб, 400x400

KOTLIN обновился до версии RC 1 05 Фев, 20:43 #452 #644099

Господа открываем шампанское, Kotlin уже не beta, а самый настоящий Release Candidate.

Кто еще не приобщился советую не терять время, что бы к моменту релиза уже быть экспертом.

Ответы>>644222

05 Фев, 21:48 #453 #644222

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

Ответы>>644312

129 Кб, 480x800

135 Кб, 480x800

05 Фев, 21:59 #454 #644252

Как достичь такого эффекта? Верхняя часть остаётся прокручиваемой.

Ответы>>644297>>652412

05 Фев, 22:48 #455 #644297

>>644252
TabLayout?

Ответы>>644385

05 Фев, 22:50 #456 #644303

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

114 Кб, 766x514

05 Фев, 23:00 #457 #644312

>>644222
А ты не догадываешься почему , нытик?

Ответы>>644316

05 Фев, 23:09 #458 #644316

>>644312
Только за "fun" не буду даже смотреть в сторону этого языка.

Ответы>>644319>>644322

05 Фев, 23:11 #459 #644319

>>644316
Двачую. Вот реально, это такой пиздец. Можно было бы нормально def сделать например.

05 Фев, 23:13 #460 #644322

>>644316
А в чем проблема? Вас в детстве вчера fun обидел?

В Scala и Swift используется func и тут тоже самое.

Ответы>>644327

05 Фев, 23:18 #461 #644327

>>644322
> В Scala и Swift используется func и тут тоже самое.
Func — нормально. Fun — пиздец.

Ответы>>644353

05 Фев, 23:39 #462 #644353

>>644327
Аргументированно :facepalm:

06 Фев, 00:09 #463 #644385

>>644297
Нижняя часть текста "ПРАВИЛЬНО" и кнопка перехода.

Ответы>>644704

871 Кб, 2560x1920

06 Фев, 04:34 #464 #644677

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

Ответы>>644703

06 Фев, 08:16 #465 #644703

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

06 Фев, 08:22 #466 #644704

>>644385
Ну, у тебя сами вопросы лежат в вьюпейджере. В фрагменте вопроса ебись как хочешь с разметкой. Т.к. там переход на ПРАВИЛЬНО программный, то либо меняешь визиблы у ПРАВИЛЬНО и пунктов ответов, либо через ОбжектАниматор плавненько возишь вьюхи за / на экран.

27 Кб, 559x165

69 Кб, 601x177

06 Фев, 19:12 #467 #645194

Почему анимация конца ресайклвью начинается над тулбаром, а не под ним?

Ответы>>645254

06 Фев, 19:26 #468 #645203

Вопрос по RX:
Я с сервера первым запросом получаю некий список, потом для каждого элемента из списка мне нужно делать дополнительные запросы.
В итоге сейчас это выглядит так:
API.getStringObservableFromServer(URL)
.map(... парсим стрингу, получаем список объектов ...)
.flatMap(Observable::from)
.map(... из каждого объекта получаем другой список объектов ...)
.flatMap(Observable::from)
.flatMap(o -> API.getStringObservableFromServer(o.URL))
.map(... парсим полученную стрингу ...)

Проблема в следующем: этапы выполняются синхронно из-за чего у меня сжирается хуева куча памяти (каждый API.getStringObservableFromServer возвращает String размером в мегабайт). Можно ли добиться полной асинхронности между этапами, чтобы сборщик мусора мог убрать лишние строки?

Ответы>>645293

06 Фев, 20:02 #469 #645254

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

06 Фев, 20:36 #470 #645293

>>645203
От асинхронности обычно бывает только хуже (в неудачном случае у тебя все запросы одновременно выполняться).

По идее у тебя и так должна очищаться память у уже отработанных элементов.
Может у тебя утечка где-нибудь?

Ответы>>645304>>645323

06 Фев, 20:53 #471 #645304

>>645293
> .flatMap(o -> API.getStringObservableFromServer(o.URL))
> .map(... парсим полученную стрингу ...)

На последнем этапе у меня около флетмап выдает мне около сотни запросов всего. Сначала полностью выполняется flatMap, а потом уже map.
Мне по-хорошему наверное надо сунуть в flatMap - API.getStringObservableFromServer(o.URL).map(...), да?

Ответы>>645323

06 Фев, 21:17 #472 #645323

>>645304
>>645293
Понял в чем проблема.

Я использовал собственный пул потоков в 8 шт на subscribeOn и observeOn. В итоге в его очередь встали сначала сетевые запросы, потом обработка.
Поставил на сетевые запросы io(), в итоге получил 300 потоков в конце.
В итоге остановился на конфигурации - subscribeOn свой пул потоков для сетевых запросов, observeOn computation().

Ответы>>645351

06 Фев, 21:49 #473 #645351

>>645323
Была похожая проблема io шедулер + flatMap овердохуя потоков.

Нагуглил совет в таком случает использовать flatMap(..., N)
Второй параметр (N) ограничивает максимальное кол-во потоков.

06 Фев, 23:42 #474 #645573

>>643881
Бамп реквесту.

Ответы>>645806

07 Фев, 03:13 #475 #645794

Сап, ведрач. Я хуев поел с этим фейсбуком. Я, блядь, к ним в офис уже ездил, Цукербергу ебало бить, но вахтер не пустил (а он чот пиздец громила). Благо живу недалеко и домашний адрес вышеупомянутого Марка знаю. Если не решу проблему до конца недели - поеду к нему домой его пиздить, пруфов не будет, читайте прессу.
Однако, харкач, у тебя есть шанс спасти товарища Цукерберга от предварительной госпитализации. Для этого ты должен помочь мне решить ну очень нубскую проблему.

Есть одна кнопка, по нажатию на нее, если человек не залогинен, вылетает окошко фб. Если залогинен - то действие 2.
Вот код:
http://pastebin.com/R4n5hj8x

Соль в том, что сдкинитиалайс прописан еще в онкрейте, но почему-то не видится. Дефолтная логин-кнопка работает безотказно прямо как твоя мамка

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());

Ответы>>645905>>652419

07 Фев, 03:20 #476 #645806

>>645573
Иди лучше интернеты читай, чем клянчи на книгу, которую положишь на полку.

07 Фев, 08:20 #477 #645905

>>645794
> сдкинитиалайс прописан еще в онкрейте
В onCreate чего? Application? Activity? Ты в initialize передаешь id приложения (явно или неявно через ресурсы)?

Ответы>>645914

07 Фев, 08:38 #478 #645914

>>645905
Активити, офк. На счет айди приложения не уверен, эту часть не я писал.

Ответы>>645972

07 Фев, 09:44 #479 #645972

>>645914
Проверь в строках наличие facebook_app_id если инициализируешь FacebookSdk.sdkInitialize(getApplicationContext());
Если нет, то нужно передавать id вторым параметром.

Ответы>>646043

07 Фев, 12:12 #480 #646040

А еще твой initialize мог не успеть отработать, в него можно коллбек передать.

Ответы>>646045

07 Фев, 12:16 #481 #646042

Вообще чувак у фэйсбук из всех сдкашек лучшая документация, просто открой get started и по шагам пройдись.

Ответы>>646045>>652423

07 Фев, 12:16 #482 #646043

>>645972
Да я, на самом деле, еблан. Профиль-то не записал никуда. Кто-то добрый написал метод fetchProfile, который я впихнул и все заработало.

Ответы>>646057

07 Фев, 12:21 #483 #646045

>>646042
>>646040
Ошибка вообще была в онклике, профиль никуда не писался. Обнаружилось вообще только при построчном дебаге.

Ну вот, а я уже настроился в пол второго ночи ехать ебало бить :с

Ответы>>646057

07 Фев, 13:03 #484 #646057

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

Алсо чуваки что за фигня с плей сервисами. Нужно было включить аналитику, ну думаю хуле делов-то, два раза успешно встраивал, почему бы и на третий не получилось? Добавил все шняги в манифест, подключил грейдловский плагин сервисов, все ключики проверил в консольке. И тут БАЦ, пишет мол не хватает хуйни в манифесте. Хиты логаются локально, а дальше не идут. Смотрю на другом устройстве - всем все отправляется, но в логе все равно варнинг, мол не хватает хуйни в манифесте, у кого-нибудь было?

109 Кб, 688x451

07 Фев, 15:39 #485 #646188

Анон вот я нихуя не пойму. Стал копать проекты что бы понять как делать свои и наткнулся на какой-то пизец. Прикрилейтед -
SettingsActivity Телеграма.
https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/SettingsActivity.javaПочему так?
Почему он не использовал switch?
Кто такой DrKLO? Почему он один пишет телеграм блять? Почему он еще живет в рашке если пишет такие проекты?
Кароче поясните где блять в этом проекте "БИЗНЕС ЛОГИКА".
Какие шаблоны программирования он использовал и как разобраться в этой куче говна?

Ответы>>646235>>646476>>652424

07 Фев, 16:28 #486 #646235

>>646188
Телеграмм довольно говнистый в коде, не лучший проект)))

07 Фев, 20:16 #487 #646461

Нужен совет по авторским правам и публикации в ГП в общем, кто-нибудь может помочь?

Ответы>>646584

07 Фев, 20:25 #488 #646476

>>646188
На телеграм забей на самом деле, там гений граничит с долбоебством. Т.е. в любом из двух случаев не читабельною

Ответы>>652425

07 Фев, 21:13 #489 #646584

>>646461
Ну ты вопрос задай.

Ответы>>646934

08 Фев, 01:23 #490 #646741

Как делать activity transition в ресайклвью? Делаю лисенеры в onBindViewHolder, ресайклвью не загружается, ерроров нет, что делать?

08 Фев, 11:24 #491 #646916

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

74 Кб, 2058x855

08 Фев, 12:10 #492 #646934

>>646584
У меня небольшой обосрамс вышел с контентом, теперь боюсь выкладывать. Как они вообще проверяют музыку, пикчи? Бот как и на ютубе? Влияет ли на что то написаная в about инфа о лицензии? И последнее, если музыку не блочат на ютубе, какова вероятность что ее залочат на гп?

Ответы>>647187

08 Фев, 17:12 #493 #647187

>>646934
Выложи, заблочат так заблочат, акк банить не будут сразу.

11 Кб, 870x151

08 Фев, 21:28 #494 #647359

есть вот такой код:

ImageView ava = (ImageView) view.findViewById(R.id.avatarka);
ava.setImageURI(Uri.parse("https://pp.vk.me/c629127/v629127625/2038f/7n8YdB8cIUY.jpg"));

выдает вот такую ошибку:

I/System.out: resolveUri failed on bad bitmap uri: https://pp.vk.me/c629127/v629127625/2038f/7n8YdB8cIUY.jpg

ЧЯДНТ и как получить пикчу правильно ?

Ответы>>647379

08 Фев, 21:54 #495 #647379

>>647359
Заюзать Picasso.
Каким хуем оно тебе с ури подтянет картинку из интернета?

Ответы>>647385>>647407

08 Фев, 22:02 #496 #647385

>>647379
Хотел было написать про то, что гуглы могли бы и осилить написать imageView, умеющий грузить картинку себе из сети, ведь это одна из самых распространенных задач, но вспомнил, что они такой уже написали, грузящий через volley.

Ответы>>647400

08 Фев, 22:32 #497 #647400

>>647385
ИмейджВью это вьюха, она и не должна уметь грузить из интернета.
Есть же вроде стандартный какой-то имейджлоадер. Но я его даже не юзал никогда.

08 Фев, 22:44 #498 #647407

>>647379
Как правильно вытянуть картинку именно из вк? Я только учусь

Ответы>>647409>>652602

08 Фев, 22:48 #499 #647409

>>647407
Какая разница откуда? Просто прямую ссылку на картинку в пикасо вбей.

Ответы>>647423

08 Фев, 23:03 #500 #647423

>>647409
Я про пикасу не слышал даж. Дело в том что имейдж я получаю через вкАпи. Но спасибо за совет. Я погуглю.

09 Фев, 01:11 #501 #647509

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

09 Фев, 04:36 #502 #647625

>>632324 (OP)
ПЕРЕКАТ
https://2ch.hk/pr/res/647624.html (М)
https://2ch.hk/pr/res/647624.html (М)
https://2ch.hk/pr/res/647624.html (М)
https://2ch.hk/pr/res/647624.html (М)

13 Фев, 15:35 #503 #652405

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

13 Фев, 15:37 #504 #652410

>>643501
материал , к слову, удобен и хорош. Придрочиться и на конвейер

13 Фев, 15:38 #505 #652412

>>644252
фрагменты ?)

13 Фев, 15:42 #506 #652419

>>645794
чекни за вызов логина, он может быть не там, где нужно и как следствие - не триггериться

13 Фев, 15:43 #507 #652423

>>646042
дерьмо полное, нихуя не расписано за кастомные фб кнопки, в рот их ебал с их login манагером. Скушали у меня чуть ли не день времени на кастомизацию кнопки

13 Фев, 15:44 #508 #652424

>>646188
быстрее чем свич, вроде как

13 Фев, 15:45 #509 #652425

>>646476
ну, я вроде как помнится, читал тамошний код, не то чтобы совсем треш

13 Фев, 18:24 #510 #652602

>>647407
прочитать vk api

17 Фев, 01:01 #511 #657134

>>632324 (OP)
Чуваки , объясните нахуя нужеен RxJava, чем лучше EventBus. Только нормально, для дауна. Хули сейчас все с этой RxJava носятся

17 Фев, 01:04 #512 #657140

>>632324 (OP)
В Яндексе бля все на RxJava помешались, пиздец. Хули, нахуя, не пойму. Это же извращение пиздец

Тред утонул или удален.
Это копия, сохраненная 3 марта 2016 года.

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion