Сохранен 521
https://2ch.hk/pr/res/457759.html
Прошлые домены не функционирует! Используйте адрес ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Разработка под Android тред №1

 Аноним OP 02/04/15 Чтв 14:02:28 #1 №457759 
14279725484470.png
Учитывая, что яблоко ненужно разработка под яблоко и андроид нихуя не одно и то же, решил таки создать отдельный тред.
Коротко о главном:
1) Если ты учил джаву но не хочешь пилить тырпрайз до конца жизни - то добро пожаловать в андроид разработку.
2) Android Studio & Java - единственный легитимный набор.
3) Xamarin -для богатых и ебанутых виндовсопоклоников, медленно и невыгодно, но на шарпах.
4) PhoneGap - не пробовал но осуждаю, как и весь не-web на js.

Где брать инфу:
Интернет-ресурсы
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. Хотя чего тут объяснять.

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

Отдадим дань старому треду:
>Делимся своими графиками заработка, палим годные способы привлечения большей публики и выхода в топ100, бугуртим, быдлокодим, учимся, делаем первые шаги, лайкаем и оставляем приложениям отзывы за бесплатно.
Пред. тонет тут: https://2ch.hk/pr/res/434414.html
Аноним 02/04/15 Чтв 14:47:00 #2 №457777 
>>457759
> Android Studio
Я так и не понял, чем она лучше Idea
А если ничем, то зачем мне держать на винте 140 версий идеи?
Аноним 02/04/15 Чтв 15:54:31 #3 №457824 
>>457777
Это облегченная версия идеи с встроеным сдк менеджером.
Недавно перекатился и понравилось.
Аноним 02/04/15 Чтв 18:57:44 #4 №457935 
Полгода назад начал пытаться в андроид. Тогда посоветовали использовать эклипс, мол студио все еще сырая. Тогда не смог осилить курс из-за недостатка времени. Сейчас подписался на другой курс, там советуют использовать студию. Какая разница то между этими ide? Какая будет леге для новичка. Я для учебы явы использую эклипс, со студией никогда не работал.
Аноним 02/04/15 Чтв 19:01:29 #5 №457939 
>>457935
Android studio - это вариант Intellij Idea
идея лучше иклипса для джавы
Аноним 02/04/15 Чтв 19:16:45 #6 №457955 
>>457939
Ок, спасибо. Я кроме эклипса ничего больше не использовал. Но для моего уровня он вполне ок. Я все-равно только процентов 20 от функционала использую.
Аноним 02/04/15 Чтв 19:50:03 #7 №457983 
>>457955
Там лучше автокомплит
Это из тех 20%, которые ты используешь.
Аноним 02/04/15 Чтв 23:18:07 #8 №458114 
>>457983
Ок, скачаю на днях посмотрю. Я вообще к чему про студию вспомнил, потому что на курсах, что я сейчас начал смотреть они по-ходу используют студию. Если кому из анонов интересно вот эти курсы:
http://learndroid.e-legion.ru/

Это в ветке по яве анон посоветовал. Посмотрим как дальше дело пойдет. Они только на этой неделе начали.
Аноним 02/04/15 Чтв 23:23:05 #9 №458116 
>>458114
Там конечно магии никакой нет. За 10 уроков из среднего анона бога андроида не сделают, но просто как вводной курс вполне норм. Алсо, они я так понимаю фактически повтор информации делают, которая тут выложена
http://developer.android.com/training/index.html


Я пробовал проходить курс на курсере, но ниасилил из-за английского языка, тут на русском будут рассказывать, надеюсь понимая больше будет.
Аноним 03/04/15 Птн 00:20:20 #10 №458141 
>>458114
подписался, спасибо
до этого все курсы как-то мимо пропускал, вот, на этом попробую втянуться
Аноним 03/04/15 Птн 08:51:32 #11 №458225 
>>457777
Там есть приятные улучшения, которые позволяют экономить время. Со временем разберешься.
Аноним 03/04/15 Птн 08:54:13 #12 №458227 
>>458114
Когда увидел лектора, то проиграл.
Есть еще платный курс на udacity, но он advanced уровня, зато от людей из гугла, которые интересно рассказывают. В бесплатной версии сертификат не дадут.
Аноним 03/04/15 Птн 08:59:05 #13 №458231 
>>458227
>udacity
А сколько на удасити курс стоит? Меня больше смущает что там написано про 3 года опыта как пререквизит для этого класса.
Аноним 03/04/15 Птн 09:22:02 #14 №458241 
Аноны, я сейчас меж двух стульев - тырпрайз и ведро. В андроид берут, в тырпрайзе мозги ебут. Если вдруг случится что-то такое, что андроид в будущем ВСЁ (ну примерно как виндовс мобайл), сильно ли пригодятся джава-скиллы, приобретенные в андроиде, для переката в тырпрайз?
Аноним 03/04/15 Птн 09:30:49 #15 №458246 
>>458241
На любом другом мобильном устройстве - пригодятся, а в тырпрайзе - вряд ли. Тырпрайз огораживается от всех нас, чем дальше, тем больше. И правильно делает.
Аноним 03/04/15 Птн 11:43:54 #16 №458293 
>>458241
Я пробовал тырпрайз - скука беспросветная, очень на любителя, хоть и денежно.
>андроид в будущем ВСЁ
Скорее тырпрайз автоматизируется, и станет уделом макак за еду. А с политикой аппл, гейфон в РФ ещё долго будет оверпрайс для большинства. Хочешь не пролететь - учи несколько платформ.
Аноним 05/04/15 Вск 11:25:07 #17 №459208 
Как вообще с трактором через андроид разработку?
Возможно ли?
Аноним 05/04/15 Вск 13:29:44 #18 №459239 
>>458231
За сколько сам пройдешь - столько и длится.
Хочешь сертификат - плати деньги и делай только финальный проект. И да, если на Java хотябы несколько месяцев опыта нет, нихуя ты не напишешь.
Аноним 05/04/15 Вск 13:31:57 #19 №459241 
>>458241
Разработка под Android достаточно сложна, ты приобретешь хорошие навыки в параллельном программировании и в проектировании архитектуры. Ты будешь ценным спецом.
> В андроид берут
Каков твой уровень знаний? Как прошел? Пили подробности (есть сертификаты? приложения в маркете?)
Аноним 05/04/15 Вск 14:29:44 #20 №459263 
>>459241
Вот ладно, параллельное программирование - но вот в чем заключается проектирование архитектуры в ведроиде?
Аноним 05/04/15 Вск 15:32:06 #21 №459282 
>>459263
Странный вопрос, ты никогда программ не писал?
Аноним 05/04/15 Вск 16:45:11 #22 №459318 
Итак, джава макака вкатывается в тред. Тоже начинаю учить андроид. В данный момент работаю джуном джава кодером на тырпрайзе. Не знаю, что тут все пиздят про скуку - для джуниора очень интересно. Каждый день узнаётся куча новых штук.
Аноним 05/04/15 Вск 17:07:16 #23 №459325 
>>459282
Да нет, просто когда ты пишешь любое приложение, не только под ведроид - ты планируешь его архитектуру.
Или ты имел ввиду сравнение с тырпрайзом на производстве, мол там ты - винтик, а ведроидное приложение чаще пишут 1-3 человека? Тогда - да, проектирования в ведре больше.
Аноним 05/04/15 Вск 17:15:15 #24 №459328 
>>459318
Не знаю, что там за охуенные знания джуна в тырпрайзе. "А вот эту зависмость можно внедрить так", "А вот тут можно не писать ссаный запрос к бд руками, а сделать это с помощью фреймворка X", "Для этой хуйни есть такой охуенный фреймворк"? На любителя.
Аноним 05/04/15 Вск 17:22:41 #25 №459333 
>>459318
>джуном джава кодером на тырпрайзе
Пили стори как устроился. Что вообще нужно знать джуниору и за сколько им можно стать? Сам я в свободное время пилю приложения под андроид, не бесплатно, но джаву знаю плохо, код мой ужасен. Почитал немного Философию джава и теперь вообще пиздец в унынии
Аноним 05/04/15 Вск 17:34:07 #26 №459338 
>>459333
>за сколько им можно стать?
У меня в универе началась джава в октябре прошлого года. Хоть как-то учить я её начал с февраля. До лета учил-учил-учил, потом нашёл у себя в городе контору, пошёл на стажировку, собеседование, и вот я уже джун. Сам читал библиотеку профессионала и клепал лабы в универе. Лекции и лабы дали очень много, после всего этого книга читалась очень быстро, очень много схватывалось.

Что нужно знать... как обычно: кор(ООП, многопоточность, equals/hashCode), по томкату могут спросить что-нибудь из его конфигурации, спринг, хибернейт, сервлет-апи, работа с json/xml (у меня был один из вопросов на сбс: преобразование элементов из json в xml), различные SQL команды (джоины, хранимые процедуры и т.п.). Могут попросить и код написать: советую прочитать книгу "Паттерны проектирования". Довольно таки годная, поможет твоему говнокоду реже проявляться. Ещё друг советовал "Совершенный код" прочитать, но руки никак не доходят.
Аноним 05/04/15 Вск 17:46:29 #27 №459344 
>>459338
>по томкату могут спросить что-нибудь из его конфигурации, спринг, хибернейт, сервлет-апи
Тебя спрашивали это и ты это знаешь?
Аноним 05/04/15 Вск 17:50:37 #28 №459349 
>>459344
>спринг, хибернейт,
Спрашивали
>сервлет-апи, tomcat conf
У друга спрашивали.
Знаю.
Аноним 05/04/15 Вск 17:58:25 #29 №459356 
>>459349
Теперь - знаешь, тогда - очень сомневаюсь.


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

Кстати, такой вопрос.
Допустим мне нужно запустить два асинктаска друг после друга(два запроса к серверу друг за дружкой), при этом всем асинктаски исполняют функционал который требует контекст. В один асинктаск запихивать не хочу так как эти таски юзаются еще и отдельно.
Аноним 05/04/15 Вск 18:07:03 #30 №459361 
>>459349
>спринг, хибернейт,
>сервлет-апи, tomcat conf
Где учился этому?
Аноним 05/04/15 Вск 18:07:18 #31 №459362 
Сколько вам лет-то?
В 26 уже я старенький для освоения профессии, да? Лет пять назад забросил кодинг, ну а теперь санкции-хуянкции и хоть снова кодь иди.
Аноним 05/04/15 Вск 18:09:54 #32 №459364 
>>459356
Про асинктаски подробнее.
Аноним 05/04/15 Вск 18:11:23 #33 №459366 
>>459356
Ты спросил что нужно знать, я написал что могут спросить. Что из этого учить выбирать тебе.

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

И в чём заключается вопрос? Сервер игнорит второй запрос, или что?

>>459361
>спринг, хибернейт,
Spring in action книга и переведённые на русский доки хибернейта. Легко гуглятся.

>сервлет-апи
Лабы, гугл и много практики.
>tomcat conf
Случайно наткнулся на доковский файл в гугле, где подробно были расписаны все конфигурационные файлы томката.

>>459362
В эту сферу вкатиться никогда не поздно.
Аноним 05/04/15 Вск 18:16:09 #34 №459371 
Перепост из мертвого.

Какой язык, фреймворки выбрать для сервера iOS/Android приложения? Скорее всего, RESTful.
Думал над Node.js, но на чём еще обычно пишут? Хочется попробовать и что-нибудь другое.
Аноним 05/04/15 Вск 18:17:51 #35 №459372 
>>459371
На джаве напиши.
Аноним 05/04/15 Вск 18:18:21 #36 №459373 
>>459366
>Ты спросил что нужно знать
Я другой анон.
>Что за стартап? Надеюсь не очередной чатик?
Нет, не чатик слава богу.
>Чего сам не пойдёшь? В конторе можно неплохо подняться как по скилу, так и по деньгам. А потом уже, когда будет и то и то, попробовать замутить стартап.
Опыта нихуя, как раз планирую подучиться немного на практике. А потом уже с проектом в плеймаркете и роботу найти легко.

>И в чём заключается вопрос? Сервер игнорит второй запрос, или что?
Ловит ожидаемый дедлок и оба треда засыпают.

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


Аноним 05/04/15 Вск 18:19:14 #37 №459375 
>>459371
Шарпы или жаба. Но тут лучше с хостингом разберись, на шарпы они дорогие.
Аноним 05/04/15 Вск 18:19:53 #38 №459377 
>>459373
>работу*
роботов не ищу.
Аноним 05/04/15 Вск 18:26:22 #39 №459381 
>>459371
Можешь попробовать на сокетах простоить сервер, юзая джаву.

>>459373
>А потом уже с проектом в плеймаркете и роботу найти легко.
Ну хз. Удачи тебе, что ли.

>Ловит ожидаемый дедлок и оба треда засыпают.
Сервер сам писал?
Аноним 05/04/15 Вск 18:29:24 #40 №459385 
>>459372>>459375>>459381
Собственно, как раз хотел Джаву попробовать.
Там столько всяких вкусностей, которых я вообще не знаю, свифты всякие, ухх, как представлю, что наоткрываю статей интересных во вкладках и начну поглощать этот единый организм...

А насчет хостинга - у Амазона вроде бы есть хорошие решения, или нет?
Аноним 05/04/15 Вск 18:30:27 #41 №459387 
>>459381
>Сервер сам писал?
Да сервер то тут при чем? У меня два треда работают с одним объектом (контекстом).

>Ну хз. Удачи тебе, что ли.
Не хз, а так оно и работает. Без приложух в плеймаркете совсем никак.
И спасибо.

Аноним 05/04/15 Вск 18:33:05 #42 №459390 
>>459387
Каким образом у тебя ловится дедлок, если одновременно с контекстом работает только один поток из двух?
Аноним 05/04/15 Вск 18:33:21 #43 №459391 
>>459387
Ты же написал, что второй вызывается после успешного выполнения первого.
Аноним 05/04/15 Вск 18:34:57 #44 №459392 
>>459385
> свифты
свинги, конечно же
Аноним 05/04/15 Вск 18:37:44 #45 №459393 
>>459392
> свинги
точнее, спринги
Аноним 05/04/15 Вск 18:38:06 #46 №459394 
>>459393
может, стринги?
Аноним 05/04/15 Вск 18:38:38 #47 №459396 
>>459394
Возможно.
Аноним 05/04/15 Вск 18:40:53 #48 №459397 
>>459391
Я и пытаюсь так сделать, но как это сделать на практике, в этом и вопрос.
>>459390
Как раз проблема в том, что нужно запускать таск сразу после выполнения первого, я хз как это сделать, обычный подход запускать что-то в постэкзекьюте накрылся медным тазом, так как второй поток тоже работает с контекстом.

Аноним 05/04/15 Вск 18:42:01 #49 №459398 
>>459397
Как в андроиде убиваются потоки я хз. Просто после валидации данных убивай первый поток и вызывай второй.
Аноним 05/04/15 Вск 18:50:30 #50 №459401 
>>459398
Сложно объяснить, просто ты с андроидом не работал.

Аноним 05/04/15 Вск 19:34:42 #51 №459436 
>>459397
> Как раз проблема в том, что нужно запускать таск сразу после выполнения первого, я хз как это сделать, обычный подход запускать что-то в постэкзекьюте накрылся медным тазом, так как второй поток тоже работает с контекстом.
Только что написал код, который запускает один асинктаск после окончания другого и, кажется, все работает как надо.
Вкратце, создал конструктор таска, который принимает контекст, в бэкграунде усыпил тред на пару сек, в пост экзекьют сделал тост, который берет контекст из таска и затем отправил коллбек в активити о том что первый таск завершился. Из коллбека вызвал экзекьют второго таска и все прошло без проблем.
По поводу коллбеков прочитай тут: http://stackoverflow.com/questions/9963691/android-asynctask-sending-callbacks-to-ui. Там всего-то надо написать и заимплементить интерфейс в пару строчек.
мимо-крокодил
Аноним 05/04/15 Вск 19:37:21 #52 №459443 
>>459436
Второй таск у тебя контекст тоже юзает?
Я вроде делал такой трюк с листенером, но все равно дедлок.
Отпиши, может я кривой.
Аноним 05/04/15 Вск 19:39:37 #53 №459445 
>>459436
Алсо, по логике, с помощью листенера метод выполняется все же в асинк таске, разве нет?
Аноним 05/04/15 Вск 20:08:38 #54 №459490 
>>459445
> с помощью листенера метод выполняется все же в асинк таске
Какой метод?
Я чет не понимаю трудности твоей проблемы.
Мы из активити или фрагмента создаем асинктаск [code]FirstAsyncTask firstAsyncTask = new FirstAsyncTask(this, this);[/code]Первый this — это контекст, второй — листенер. Когда таск заканчивает свою работу, у него из пост экзекьют посылается коллбек в нашу Активити. Затем из этого метода onTaskComplete() мы создаем второй таск, и передаем ему контекст (или по желанию передаем его из предыдущего таска). На каком этапе у тебя ошибки?
Аноним 05/04/15 Вск 22:06:40 #55 №459579 
>>459490
а ты специально хочешь писать костыли используя костыль вместо того что бы воспользоваться библиотеками как раз написанными для построения качественного и надёжного network transport слоя?
Аноним 05/04/15 Вск 22:27:02 #56 №459591 
>>457759
А чому droidscript забыли?
Кто-то делал на нем что-либо, интересует отрицательный опыт.
Аноним 06/04/15 Пнд 02:24:37 #57 №459692 
>>459579
Тут подробнее давай.
Аноним 06/04/15 Пнд 02:25:56 #58 №459695 
>>459591
Даже не смешно.
Аноним 06/04/15 Пнд 10:05:25 #59 №459756 
>>459692
ох ... какое же дно это тхред. если тут сразу начали советовать как правильно подкостылить костыль что бы работал ок вместо того что бы проблему решить
начнёмс.
если ты адекватный человек, то:
retrofit + okhttp
volley + okhttp
AndroidAsync (не пробовал но вроде автор ок)

если ты дегенерат, то:
androidannotations
loopj
robospice
asynctask
java thread + runnable
etc
Аноним 06/04/15 Пнд 10:57:03 #60 №459774 
Почему на Linux и винду нет программы Sketch или хотябы аналога, который понимает формат .sketch?
Посмотрите какие восхитительные шаблоны есть для него:
http://www.sketchappsources.com/free-source/659-android-l-ui-kit-sketch-freebie-resource.html
Аноним 06/04/15 Пнд 12:47:04 #61 №459813 
Перекатился месяц назад с яблок на андроид, в принципе с помощью документации и стэковерфольфа разобрался как запилить многие фичи для моего проектика, но возникли некоторые вопросы, дело в том что до этого джавой только баловался и назвать себя знатоком не могу. Собственно вопросы:

1) Есть некое activity (египетский стиль режет мне глаза и подпекает мой пердак, уж простите)
[code]
public class YobaActivity extends ActionBarActivity
{
// есть собственно объекты, ну допустим даже сенсор мэнэнджер
SensorManager mSensorManager;

// а дальше идут всякие методы например
public void yobaGetYourMamka()
{
// в котором мне нужно использовать mSensorManager
mSensorManager.unregisterListener(this) // например

// и очень часто у меня в этом месте происходил краш
// так как mSensorManager был nil. Поэтому данную
// проблему решал через костыль, а именно сохранял
// нужный инстанс в синглтоне и оттуда доставал в
// нужных местах. Собственно, как можно решить
// данную проблему по нормальному?
}
}
[/code]

2) Где можно посмотреть пример хорошей архитектуры какого-нибудь android проекта? Скажем так, хочется иметь какую-то точку опоры, чтобы для начала на нее ровняться.
Аноним 06/04/15 Пнд 13:29:08 #62 №459824 
>>459813
>2)
Держи учебный проект от гугла:
https://github.com/udacity/Sunshine-Version-2
Много нового увидишь там.
Аноним 06/04/15 Пнд 14:22:15 #63 №459843 
>>459824
Благодарю.
Аноним 06/04/15 Пнд 14:29:59 #64 №459848 
>>459756
Я анон с траблой, пиздец советчики пошли, либо с треда свали, либо нормально отвечай.
Аноним 06/04/15 Пнд 14:57:39 #65 №459866 
>>459848
О каком контексте речь ? О бъекте типа Context ?
Ты хочешь запускать один AsyncTask,по завершению другого, когда изначальное Activity/Fragment уже не в поле зрения ?
Аноним 06/04/15 Пнд 15:05:17 #66 №459873 
>>459866
>О бъекте типа Context ?
Да.
>Ты хочешь запускать один AsyncTask,по завершению другого, когда изначальное Activity/Fragment уже не в поле зрения ?
Когда запускаш асинктаск они уже как-бы не в поле зрения, потому контекст и нужно передавать. Первый запрос сохраняет инфу в бд, второй сразу после этого ее вытягивает, не спрашивай почему это утрированый пример. Я так понимаю что обычным асинктаском тут не обойтись.
Аноним 06/04/15 Пнд 15:10:09 #67 №459878 
>>459824
>>459843
Посмотри MainActivity, на первый взгляд хуйня написана.
Аноним 06/04/15 Пнд 15:19:51 #68 №459882 
>>459873
Если ты хочешь выполнять запросы в фоне, не зависимо от того, какое Activity/Fragment сейчас отображается, тебе нужен Service. Ты можешь в своей ситуации либо биндиться к нему, либо просто запустить его в отдельном потоке и получать от него данные/выполнять в нем работу как-то по-своему.
AsyncTask ты используешь не по назначению. Он нужен в ситуациях, вроде "юзер нажал кнопку, покрутился прогресс бар, отобразился результат".
Аноним 06/04/15 Пнд 15:24:00 #69 №459884 
Такой вопрос: как разгрузить форму поиска, чтобы запросы к серверу шли не чаще, чем n в секунду?
Аноним 06/04/15 Пнд 15:27:27 #70 №459886 
>>459884
1) Каждый вопрос помещаешь в очередь
2) Создаешь механизм, отправляющий обьекты из очереди на сервер раз в n секунд
Аноним 06/04/15 Пнд 15:34:45 #71 №459889 
>>459886
Угу. Тогда очередь не нужна, нужно хранить только 1 элемент (текст запроса).
Если я использую timerTask, который будет сам себя перезапускать и проверять, изменился ли текст запроса это нормальное решение? Что-то синхронизировать надо будет?
Аноним 06/04/15 Пнд 15:40:56 #72 №459895 
>>459878
В каком плане хуйня? Я объявляю инстанс класса, в моем случае SensorManager, инициализирую его, а потом в например в каком-нибудь listener или методе мне нужно либо получить его значение, либо выполнить некую функцию, а он внезапно nil, хоть и глобальный. Такая же хуйня возникала и с интерфейсными объектами, например в начале создаю кнопку:

Button yobaButton = (Button)findViewById(R.id.yoba_button);

в проекте есть момент, когда у меня вылазит AlertDialog в котором по нажатию на клавишу мой yobaButton должен стать enabled. Хуяк, краш, смотрю, пишет что мой yobaButton нулевой, сосните хуйца. Первая мысль была такая, что возможно сборщик мусора подчищает те инстансы, которые по его мнению не используются, у меня подобное было в яблоках. ЧЯДНТ?
Аноним 06/04/15 Пнд 15:53:06 #73 №459900 
>>459895
>В каком плане хуйня?
Это я про sunshine.
На самом же деле наоборот правильно: код менее запутанный получается.
Аноним 06/04/15 Пнд 15:53:59 #74 №459901 
>>459895
>Button yobaButton = (Button)findViewById(R.id.yoba_button);
В разметке его нет.
Чудес не бывает.
Аноним 06/04/15 Пнд 15:54:10 #75 №459902 
>>459895
1) ты объявляешь поля класса как НЕ static.
2) ты вообще учитываешь жизненный цикл Activity, или что ты там используешь ?
Аноним 06/04/15 Пнд 15:59:04 #76 №459904 
>>459901
В том то и дело, что в xml-ке он есть, это первое что я проверил, совпадает ли айдишник.

>>459902
1) Ок, надо будет перечитать за модификаторы полей.
2) Учитываю, правда я его еще не до конца вкурил, например я думал что OnCreate вызывается всего один раз при создании активити. В моем случае я в OnCreate инициализировал объекты.
Аноним 06/04/15 Пнд 17:49:56 #77 №459975 
>>459895
>мой yobaButton нулевой, сосните хуйца

Разбирайся в жизненном цикле приложения.

Скорее-всего, ты вызываешь findViewById до вызова метода SetContentView. При этом у тебя получается, что xml активити не распарсен, и иерархия вьюшек не создана. Следовательно, кнопку просто негде искать по id
Хехехе Аноним 06/04/15 Пнд 18:57:32 #78 №460018 
14283358526850.jpg
Привет, котаны. Поясните на пальцах про ContentProvider и его использование в своем приложениия, чтобы локально получать контент из БД?
Аноним 06/04/15 Пнд 19:40:21 #79 №460045 
Образовался стек вопросов:
1) Для запросов к серверу юзаются асинктаски, для подгрузки инфы с локальной бд - лоадеры. Я правильно понял?
2) Есть ли смысл вообще юзать контент провайдер если своей бд буду пользоватся только я(мое приложение)?
3) Если нужно вытаскивать из локальной бд список объектов с списками, единственный вариант запускать вытягивание курсорами? Орм пока что не хочу юзать.
4) Есть ли инсерт для списков, или нужно опять фором крутить и вставлять по одному?
Аноним 06/04/15 Пнд 19:46:22 #80 №460047 
Кто-нибудь писал что-нибудь с библиотекой osmdroid?
Аноним 06/04/15 Пнд 20:10:58 #81 №460069 
>>460047
Да, было дело. Она не грузит карты на некоторых устройствах без SD карты.
Используй google maps android api v2
Аноним 06/04/15 Пнд 20:27:42 #82 №460094 
>>460069
Нет мне нужен обязательно open street map, проблем с этим не было. Проблема в другом, в АndroidManifest поставил adjustResize, но когда всплывает экранная клавиатура карта не все равно не перерисовывается, поведение остается таким же если бы было adjustPan. Не знаю что делать с этим.
Аноним 06/04/15 Пнд 20:29:16 #83 №460097 
>>460094
Почему не можешь заменить на оф карты?
Аноним 06/04/15 Пнд 20:35:00 #84 №460104 
>>460097
У многих городов вместо карты у гугла серое пятно, очевидно же.
Аноним 06/04/15 Пнд 20:49:36 #85 №460122 
>>460045
Бамп.
Аноним 06/04/15 Пнд 21:02:10 #86 №460131 
>>460045
>4)
Посмотри как сделано здесь: https://github.com/udacity/Sunshine-Version-2
Там эталон того, как надо делать. Используется контент провайдер, БД, всякие лоадеры, курсорАдаптеры и т.д.
Аноним 06/04/15 Пнд 21:22:44 #87 №460144 
>>459756
Дурачок - а как вся эта хуерга кроме AndroidAsync связана с вопросом про 2 асинктаска?
Аноним 07/04/15 Втр 00:17:26 #88 №460265 
>>460144
напрямую связана. выполняешь один запрос. когда получаешь результат - запускаешь другой. нахуя асинктаски и чем они тут могут помоч - не понимаю. когда тут за треды тереть начали - это вообще лольный лол. вы бы блядь сначала разобрались как асинктаски работают.
стадо баранов.

>>459848
что тебе непонятно нахуй?

>>459884
Добавлять запросы в очередь. Разгружать очередь n раз в секунду. Создаёшь ранэйбл в который передаёшь свою очередь. желательно блокирующую. Достаёшь из очереди запрос и выполняешь его. Делаешь задержку на 1/n секунды. и всё это в цикле. Когда запросы зкаончаться и очередь блокирующая опустеет - она будет держать твой тред в ожидающем состоянии. как только ты в неё что то добавишь - всё начнётся сначала.
Ранэйбл запускаешь в тхреде.

>>460018
ContentProvider нужен для того что бы шарить данные. Локально он тебе не нужен за исключением нескольких ситуаций.

>>460045
1. неправильно. для запросов к серверу использую либы.
2. нету.
3. А как блядь еще?
4. почитай про транзакции есть еще булк инсерт но именно его тебе и надо заимплементить через транзакию.

Аноним 07/04/15 Втр 00:55:24 #89 №460275 
>>460265
>1. неправильно. для запросов к серверу использую либы.
Тогда попробую volley + okhttp
>2. нету
Как раз нашел SQLiteCursorLoader.java.
>3. А как блядь еще?
Ну хуй знает, эти форы с курсорами, в форах с курсорами показались слишком ебанутыми.
>4. почитай про транзакции
Почитаю спасибо.
>есть еще булк инсерт
Натыкался, но там пример был с этим ебанутым контент провайдером, потому и забил.

Пиздец просто, чувствуешь себя обезьяной в магазине техники.
Аноним 07/04/15 Втр 07:55:55 #90 №460307 
>>457759
>2) Android Studio & Java - единственный легитимный набор.
А как NDK пилить?
Аноним 07/04/15 Втр 08:38:23 #91 №460320 
>>460265
Очередь не нужна, блокирующая тоже.
Суть проблемы не понята.
Аноним 07/04/15 Втр 09:10:04 #92 №460329 
>>460320
Суть проблемы не объяснена нормально. Ответ дан. Суть ответа не понята.
Смеюсь с ваших потуг написать хоть как то работающее приложение. Если такие вопросы тут задают то страшно представить что у вас там в коде твориться.
Аноним 07/04/15 Втр 10:33:29 #93 №460355 
14283920095310.jpg
Думаю вкатиться по пикрилейтед. Читал кто? Годно?
Аноним 07/04/15 Втр 12:01:11 #94 №460386 
Retrofit - заебись просто библиотека, даже пример с оффсайта не работает. Годно сделали.

>java.lang.IllegalStateException: Could not execute method of the activity
Выпрыгивает при обращении к методу интерфейса. Все делал как по гайду. Гугл решений не обнаружил.
Аноним 07/04/15 Втр 12:06:34 #95 №460387 
Здесь 2 анона мучались с ограничением частоты запросов вконтакте API.
Накодил такое решение, работает:
https://gist.github.com/anonymous/327d1140ca8b5f6dafb9
Аноним 07/04/15 Втр 12:14:40 #96 №460392 
>>460387
Хуево работает. При быстром наборе поиск только по предыдущей поисковой фразе происходит.
Аноним 07/04/15 Втр 12:29:23 #97 №460401 
>>460386
А хуй его знает короче, дропаю это говно. Спасибо за говнолибу советчики.
Аноним 07/04/15 Втр 12:35:13 #98 №460405 
>>460387
Получается, что takeLast и clear должны выполняться атомарно.
Аноним 07/04/15 Втр 12:44:58 #99 №460409 
Блин, не работает как надо. Ввожу в поисковое поле "pain", а последний поисковой запрос "pa"
Код здесь:
https://gist.github.com/anonymous/c10f4751c1e08de65555
Получается, что между lifo.getLast и lifo.clear вызывается lifo.push в итоге весь мой поисковой запрос "pain" стирается.
Но почему, ведь там синхронизд проставлен?
Аноним 07/04/15 Втр 12:50:34 #100 №460418 
>>460401
Таки с колбеками все норм, а вот на прямую не вытягивает результат, хотя так даже лучше.
Аноним 07/04/15 Втр 13:37:37 #101 №460442 
>>460265
Вопрос был именно про асинктаски. То, что говно уже написано - не означает, что его использовать выгодно. Если проект простой - можно и руками запилить, если большой - руками пилить просто необходимо.
У меня в первом проекте данные вообще сохранялись тупо в файлик, а изменения в них фиксировались сервисом и активити с помощью велосипеда из интентов и ресиверов.
Аноним 07/04/15 Втр 13:40:00 #102 №460444 
Алсо, тем временем второй урок- вполне себе годнота, правда не совсем для начинающих
http://www.youtube.com/watch?v=cH9UxmZwGO4
Аноним 07/04/15 Втр 13:41:00 #103 №460445 
>>460444
А нормальных лекторов не нашли?
Аноним 07/04/15 Втр 13:42:38 #104 №460447 
>>460445
Да вот хз. Почему все мобайл-девелоперы такие всратые?
Аноним 07/04/15 Втр 13:47:40 #105 №460449 
>>460442
Вот ты, скажи, много ли я проебу в производительности и вообще по опыту для себя если буду юзать https://github.com/commonsguy/cwac-loaderex
Аноним 07/04/15 Втр 13:48:55 #106 №460451 
>>460447
Та он не то чтоб всратый прям, просто картавит по-черному.
Аноним 07/04/15 Втр 14:17:34 #107 №460456 
>>460449
Для опыта точно ничего особо не проебёшь. Да и в производительности врядли. Проблемы обычно бывают у хуесосов типа >>459756, которые видимо вылезли из тырпрайза, и на каждый чих суют решение из готовой либы
Аноним 07/04/15 Втр 14:18:51 #108 №460457 
>>460451
Вначале - да, дальше - норм. Но первый лектор - это был вообще пздц. Глядя на него, страшно становиться мобайл-девелопером.
Аноним 07/04/15 Втр 14:27:21 #109 №460462 
Мне кажется, или ровно проектировать андроид приложение сложнее чем писать бекенд на жабе?
Аноним 07/04/15 Втр 14:35:13 #110 №460465 
>>460307
Смищно
Аноним 07/04/15 Втр 20:26:30 #111 №460672 
>>460386
>>460401
просто ты еблан и твоего левела даже не хватает для того что бы подключить её, настроить и воспользоваться. асинктаски как раз для андройд программистов уровня тебя.

>>460442
потому что твои проекты уровня laba3.java и их создатель соответствующего уровня программист. соответственно.

>>460449
скажу я. либа говно. используй адекватные.

>>460456
два раза нипопал. энтерпрайзом в жизни не занимался. стронгли мобайл.
хуесос ты, судя по тому какие у тебя подходы к написанию проектов.
если ты не знаешь про те либы что я перечислял и не знаешь их авторов - ты скорее всего просто конченый ебанат который находится на уровне "поцаны а как запрос отправить, через он клик листнер или сервис?"и это кстати не может не радовать. ведь несмотря на обилие информации в интернете по разработке под ведро на данный момент, все равно есть часть ебанатов которые пишут проекты как ты. а значит цена на хороших специалистов не упадёт :)
Аноним 07/04/15 Втр 20:58:32 #112 №460685 
>>460672
>скажу я. либа говно. используй адекватные.
Тогда дай еще пару советов.
Запросы через retrofit понравились, довольно таки удобно и быстро. Но вот хз что взять для асинхронного выполнения всего остального.
Если асинктаски говно.
Нужен инструмент для работы с бд, т.е. получить инфу через запрос ретрофита и в коллбеке засунуть его в локальную бд, и потом себе работать с этой бд (выводить всякие подгружаемые листы и прочее). Делал асинктасками, но они говно, хочу переделать. Думал лоадером воспользоватся, но пиздячить контент провайдер когда он вроде как и не нужен не хочу бритва оккама же. А если та либа говно, то я и хз что делать.
Алсо, в поле зрения
Robospice - который ты же и обосрал, я пока не шибко понимаю в чем его хуевость.
RxJava - ретрофит под него вроде как подточен немного.
Ну и лоадеры через контент провайдер который я юзать не хочу.


>>460456
Ну тут хуй знает, нужно много инструментов знать.
Аноним 07/04/15 Втр 21:05:11 #113 №460687 
Сделайте уже наконец плагин для idea, чтобы генерить
findViewById....
Аноним 07/04/15 Втр 21:13:16 #114 №460695 
>>460687
про ButterKnife не слышал?
Аноним 07/04/15 Втр 21:14:49 #115 №460697 
>>460672
Эта илитка порвалась, несите новую!
Аноним 07/04/15 Втр 21:30:52 #116 №460711 
>>460685
Ну же советчики, мне еще работу делать.
Аноним 07/04/15 Втр 21:41:16 #117 №460717 
>>460685
>для асинхронного выполнения всего остального
https://github.com/BoltsFramework/Bolts-Android
сам пробовал, вроде ок.
робоспайс нахуй
RxJava - норм но Bolts проще

>Ну тут хуй знает, нужно много инструментов знать
не, пусть этот ебанат руками пишет)

>>460697
да да, ты крутой, порвал илитку и всех затралил.

460672-кун АО
Аноним 07/04/15 Втр 21:50:51 #118 №460720 
>>460717
Спасибо, пойду траить.
Пилю проект сам, мой первый опыт, но иногда критически не хватает инфы и советов от более опытных. Если бы ты кинул фейкомыло, был бы очень благодарен, вопросов много не задаю, да и те по-большому счету "как сделать правильнее" или посоветовать либу.
Аноним 07/04/15 Втр 21:52:13 #119 №460723 
>>460720
>по большому
фикс
Аноним 07/04/15 Втр 22:14:26 #120 №460736 
>>460720
мыла не будет, задавай тут.
Аноним 07/04/15 Втр 22:16:25 #121 №460738 
>>460736
Ну ок, и на этом спасибо.
Аноним 07/04/15 Втр 22:35:30 #122 №460743 
>>460717
>RxJava - норм но Bolts
оба прекрасно справляются с тем чтобы превратить весь код в асинхронный пиздец, где хуй знает что как выполняется
лучше избегать их пока не приспичит
Аноним 07/04/15 Втр 22:39:47 #123 №460745 
>>460743
>асинхронный пиздец
>android
ну за Болтс - я не согласен, те же асинк таски, только проще удобнее и надёжней
Аноним 07/04/15 Втр 22:53:18 #124 №460750 
>>460743
Ну а как по другому?
Аноним 07/04/15 Втр 23:41:19 #125 №460766 
>>460745
для частого использования асинктаски примерно такое же зло
Аноним 07/04/15 Втр 23:41:47 #126 №460767 
>>460750
что конкретно сделать-то надо?
Аноним 07/04/15 Втр 23:49:29 #127 №460771 
>>460767
Запросы к серверу, которые результат засовывают в бд, ну и работа с данными в бд, добавлять новые, выводить и тд. Обычный сервис-клиент.
Как уже посоветовали, планирую делать запросы через ретрофитс и все остальное через болтсы.

Аноним 07/04/15 Втр 23:52:45 #128 №460773 
>>460771
сервис тебе надо сделать
Аноним 08/04/15 Срд 00:04:48 #129 №460777 
>>460773
И правда.
Аноним 08/04/15 Срд 00:27:58 #130 №460785 
сукаблядь, ответьте про droidscript, чем он плох? Изимод жи, лишь за копилятор надо 400 рупей отдать.
Аноним 08/04/15 Срд 00:37:58 #131 №460787 
>>460773
лул, ну и зачем же, поведай давай всем. что бы не было больше вопросов, ответь сразу на все 4:
в каком месте ему нужен сервис?
что бы реквесты делать?
что бы в базу асинхронно добавлять?
ты дебил?
Аноним 08/04/15 Срд 00:41:08 #132 №460789 
>>460773
>>460787
Я запутался в полный пиздец.
Аноним 08/04/15 Срд 01:05:57 #133 №460797 
14284443575250.png
14284443575251.png
Посоны, это пиздец
Инсталлер SDK внезапно вылетает после нажатия клавиши next
В гугле ничего не помогло, все переменные выставлены, жава работает
Аноним 08/04/15 Срд 01:42:19 #134 №460805 
>>460717
Манька - ну ты ведь понимаешь, что твои диваннные потуги несколько отличаются от разработки сурьёзного приложения. И пока дети, наподобие тебя, играют с ретрофитами - суровые дядьки пишут всё руками, если ещё и не на крестах.
Аноним 08/04/15 Срд 03:46:52 #135 №460836 
>>460797
Запусти из консоли, поищи файл с логами, запусти от администратора
Аноним 08/04/15 Срд 03:58:20 #136 №460837 
>>460771
Ты какой-то Амаяк Акопян. Что ты мутишь вообще ? Отвечаешь загадочно, ничерта не понятно что ты хочешь, какие-то библиотечки прицепил, еще какую-то малафью, в асинк тасках запутался.
Для обмена данными по протоколу http есть встроенные средства джавы, если не http, то есть так же встроенные апи для сокетов.
Аноним 08/04/15 Срд 09:43:55 #137 №460880 
>>460805
ну это уже совсем толсто. вот это у тебя печёт. видать ты действительно ебанашка местная способная только на это.

>>460789
не слушай дебила и я думаю по совместительству того ебаната любителя hand job. делашеь запрос ретрофитом и потом если нужна асинхронность - пользуешь болтс.
Аноним 08/04/15 Срд 11:22:24 #138 №460923 
>>460837
Хуя там непонятного? Как работает обычное клиентсвкое приложение?
Я вытаскиваю инфу хттп запросами с сервера с рабтающими апи, засовываю в свою локальную бд, и оттуда уже с ней работаю.

>>460880
>делашеь запрос ретрофитом и потом если нужна асинхронность - пользуешь болтс.
Так и сделаю, спасибо.
Аноним 08/04/15 Срд 12:02:12 #139 №460933 
>>460923
ах да, для работы с бд советую cupboard. Мне очень нравится. Это не орм, но жысь очень упрощает.
Аноним 08/04/15 Срд 12:31:31 #140 №460941 
>>460933
>cupboard
На будущее возьму, но так и не понял как им делать bulkinsert().
Аноним 08/04/15 Срд 12:36:35 #141 №460944 
>>460941
Ну и еще нужно модель-класс создавать с полями как у таблиц, а так как я юзаю этот же класс для gson парсера то в итоге мне нужно свою бд делать с полями которые возвращают мне в запросе.
Аноним 08/04/15 Срд 12:36:46 #142 №460945 
>>460787
из сервиса надо делать синхронизацию локальной бд с сервером, чтобы жизненный цикл приложения не влиял на этот процесс
Аноним 08/04/15 Срд 12:37:32 #143 №460946 
>>460944
ты бы хотя б задачу озвучил
а то у меня от тебя ОВЕРИНЖЕНЕРИНГ
Аноним 08/04/15 Срд 12:44:30 #144 №460948 
>>460946
Что-то типа сервиса для кафешек с возможностью просмотра цен.
Аноним 08/04/15 Срд 13:14:34 #145 №460958 
>>460948
веб сайт надо было сделать
Аноним 08/04/15 Срд 13:17:04 #146 №460960 
>>460958
Ага.
Аноним 08/04/15 Срд 15:39:44 #147 №461007 
>>460944
непонял. ты же можешь для Gson использовать аннотацию @SerializedName
также можно прописать аннтоциями названия полей в таблице для cupboard. а сами переменные можешь назвать как хочешь.

>>460945
а кто сказал что нужна синхронизация локальной бд с серверной?

АО
Аноним 08/04/15 Срд 16:12:34 #148 №461019 
>>461007
>непонял. ты же можешь для Gson использовать аннотацию @SerializedName
>также можно прописать аннтоциями названия полей в таблице для cupboard. а сами переменные можешь назвать как хочешь.
Спасибо, не знал.
А булк инсерт можно как-то сделать? Через капбоард само собой.
Аноним 08/04/15 Срд 16:21:11 #149 №461024 
>>461019
я тебе советую использовать только SerializedName. А поля в таблице пусть зовуться как и переменные. Потому как если хочешь переименовывать нужно в капборде подрубать поддержку аннтоций (она встроена но на старых друлях как известно анотации процесятся медленно так что нахуй если у тебя мин сдк меньше 14)

по поводу вопроса:
cupboard().withDatabase(database).put(List)
не факт что там будет использоваться транзакция - смотри исходники если важно. если тебе нужно вставлять тоннами обьекты тогда советую просто использовать капборд для создания ContentValues из обьектов а уже записывать в базу стандартными средствами используя транзакции.
Аноним 08/04/15 Срд 16:25:02 #150 №461027 
>>461024
Ясно, спасибо.
Аноним 08/04/15 Срд 17:55:19 #151 №461049 
14285049199490.jpg
14285049199521.png
Привет, человеки.
Есть у меня приложение с navigation drawer.
Есть в меню пункт, по нажатию на который пользователю покажут список категорий в главном фрагменте.
При нажатии на категорию надо показать экран с подробной информацией.
Так вот, по канонам мне нужно перейти в новую activity (detail activity), но мне этого делать не хочется. Как сделать очевидную навигацию без detail activity?
Аноним 08/04/15 Срд 18:28:14 #152 №461087 
>>461024
Ебать я прихуеваю с болтсов, штука конечно охуенная, но я так понимаю что они не только для асинхронки созданы?
Единственное что не понял, где лучше вызывать onSuccess и onSuccessTask, но не критично.
Еще раз спасибо, жалко только не слишком много примеров использования, но изначальный гайд достаточно подробен.
Аноним 08/04/15 Срд 18:30:49 #153 №461089 
>>461049
Сделай фрагмент с детальной информацией. По клику на элемент делай его экземпляр, подменяй фрагмент с листом и вешай какой-нибудь onBackListener, чтобы вернутся взад.
Аноним 08/04/15 Срд 18:43:08 #154 №461102 
>>461089
Насколько пользователю будет очевидно, что для того, чтобы назад попасть надо нажать хардварную назад?
Аноним 08/04/15 Срд 18:44:51 #155 №461106 
>>461102
Ебни сверху кнопку "закрыть" или "ок".

>надо нажать хардварную назад
Хз, нов се попробуют.
Аноним 08/04/15 Срд 19:25:06 #156 №461153 
14285103068710.jpg
>>461106
Окей.
А вот еще вопрос:
Нужно мне фрагмент в контейнере поменять из другого фрагмента. Где собсна .replace(...) вызывать:
1) getActivity().getFragmentManager....replace
2) Сделать коллбек внутри активити и дернуть его из фрагмента?
Хуй знает, но кажется первый способ ведет к запутанному коду, а второе кажется странным.
Аноним 08/04/15 Срд 20:09:56 #157 №461173 
>>457935
Вроде студию уже релизнули, хули.
Аноним 08/04/15 Срд 21:19:46 #158 №461210 
Сколько работаю с ведроидом, не перестает покидать ощущение, что его писала наемная индусня: кучи говнокода, навязываемые для того, чтобы сделать элементарные вещи, бредовые асинктаски, бредовые фрагменты https://corner.squareup.com/2014/10/advocating-against-android-fragments.html и многое другое. Если взглянуть на настоящие гугелевые либы для жавы, типа гуавы, контраст очевиден. К счастью сторонние либы это во многом исправляют.
Аноним 08/04/15 Срд 21:34:07 #159 №461228 
>>461210
Есть аналоги для фрагментов шоль?
Аноним 08/04/15 Срд 21:44:50 #160 №461241 
>>461210
Тут 95% людей даже то, что есть не осилили.
Аноним 08/04/15 Срд 22:22:03 #161 №461260 
>>461210
и что?
Аноним 08/04/15 Срд 23:18:28 #162 №461289 
Вопрос по android bolts
А как спрятать эту стену текста? Т.е. в асинктасках я просто делал асинктаск в отдельном классе. А тут стартовать можно либо с метода который таск возвращает либо с Task.call().
В результате ебанутая стена текста, может можно где-то подглядеть как с ними работают в реальности?
Аноним 09/04/15 Чтв 10:21:46 #163 №461388 
как вы думаете, что лучше: делать игры или программы?
я после создания игры, думаю программы легче и лучше, ибо не так затратны по времени и деньгам
Аноним 09/04/15 Чтв 11:00:33 #164 №461413 
>>461388
Разные вещи, архитектура тоже разная.
Если совсем нубяра, то будет проще.
Аноним 09/04/15 Чтв 11:26:54 #165 №461428 
>>461153
Лучше второе. Фрагмент по идее не должен дергать другие фрагменты пусть это лучше делает активити. Прямым вызовом или интентом - по вкусу.
Аноним 09/04/15 Чтв 12:04:40 #166 №461446 
В Activity загружается options menu элементы ActionBar'a,
как мне в фрагменте заменить их на другие?
Мне нужно, чтобы searchView было подгружено из Activity, а не из фрагмента, т.к. по клику на searchView подключается фрагмент поиска, при закрытии происходит переход назад / на другой фрагмент.
Аноним 09/04/15 Чтв 12:51:59 #167 №461461 
>>461289
так и работают
Аноним 09/04/15 Чтв 14:18:57 #168 №461499 
>>461446
Решил проблему, объеденив 2 фрагмента.
Аноним 09/04/15 Чтв 17:12:21 #169 №461572 
Блядь.
Решил заюзать cupboard, но уже юзаю
https://github.com/jgilfelt/android-sqlite-asset-helper
Как результат onCreate & onUpdate мне недоступны.
Хуй знает что делать, так как в бд у меня метра два инфы.
Аноним 09/04/15 Чтв 17:19:16 #170 №461573 
>>461572
Хотя я долбоеб видимо не разобрался и поспешил с вопросом.
Аноним 09/04/15 Чтв 17:35:29 #171 №461576 
>>461572
Зачем сторонние либы юзаешь?
Аноним 09/04/15 Чтв 17:38:42 #172 №461578 
>>461576
https://github.com/jgilfelt/android-sqlite-asset-helper
Эту чтоб создать в приложении бд на основе той, которая в ассетсах.
cupboard - чтоб не пиздячить все руками. Но видимо придется.
Аноним 09/04/15 Чтв 18:02:01 #173 №461587 
>>461572
Уже разобрался.
Аноним 09/04/15 Чтв 18:43:54 #174 №461613 
>>461587
Таки не разобрался но уже ближе.
Ругается на поле с листом кастомных обжектов, хотя то под аннотацией @Ignore.
Не может конвертировать его, хотя нахуй оно вообще пытается это сделать я не понимаю.
Аноним 09/04/15 Чтв 19:08:57 #175 №461625 
>>461613
Я просто тупой дибил не могущий в чтение.
Аноним 10/04/15 Птн 00:00:34 #176 №461768 
http://developer-android.unlimited-translate.org/training/index-2.html
палю годноту
Аноним 10/04/15 Птн 00:38:12 #177 №461786 
>>461768
Это типа недоделали?
Аноним 10/04/15 Птн 07:45:46 #178 №461835 
>>461786
хоть что-то сделали
Аноним 10/04/15 Птн 10:56:17 #179 №461856 
двощ привет, руби-макака на связи. работаю в мухосранске на конторку по меркам города хорошую. тут меня хотят окунуть в чан с говномандройдом. типа переодически проскакивают заказы и их надо кому-то делать. что скажите, стоит обмазаться? с одной стороны и плюсы есть. больше всего напрягает, что и на рельсах пилить надо, да и в андройде ковыряться. чо делать то двощ?
Аноним 10/04/15 Птн 11:33:30 #180 №461870 
>>461856
Если совсем в падлу и очень простые заказы - то добро пожаловать в Cordova/PhoneGap. Там можно навелосипедить приложение на HTML со вставками быдлокода на JS. Если нужна мощная логика, то придется обмазываться явой.
Аноним 10/04/15 Птн 11:35:25 #181 №461871 
сучечки, про дроидскрипт напишите что-нибудь
Аноним 10/04/15 Птн 12:26:46 #182 №461890 
>>460355
Не читал, андроида не знаю, но нашёл критику. http://habrahabr.ru/post/250319/
Аноним 10/04/15 Птн 12:33:04 #183 №461896 
Хотел использовать в проекте Androidannotations, увидел тут вскукареки про нее. Есть критика по делу (я хочу знать, чего ожидать)?
Аноним 10/04/15 Птн 13:40:15 #184 №461924 
>>461896
либа - говнокод и фаршмак. для любой задачи есть годное специализированное решение. а эта либа компиляция говна.
Аноним 10/04/15 Птн 14:44:54 #185 №461956 
>>461924
Есть какие-нибудь решения, чтобы сократить количество говнокода для задания view event listeners (к примеру, связывать методы активити c событием view аннотацией)?
Аноним 10/04/15 Птн 15:29:52 #186 №461975 
>>461956
Нет. Ебись так. Вешай листенеры на все во время onCreate(). И забудь вообще про аннотации. Они пиздецки медленно пашут.
Аноним 10/04/15 Птн 15:44:58 #187 №461979 
>>461975
Во время разработки мне нужна максимальная производительность труда. Листенеры можно вручную переписать потом. По-хорошему, надо бы и вовсе писать прототипы на высокоуровневом языке, а не на жаве, но подноценнного сдк для чего-то иного нет. В таких условиях меня интересуют либы, которые убыстряют реализацию фич и которые можно вычистить, когда аппликуха в окончательном варианте пойдет в продакшон.
Аноним 10/04/15 Птн 15:52:49 #188 №461985 
>>461979
Кто тебе мешает делать абстракции на Яве? Фрагменты и активити тоже можно нехуйово абстрагировать. У меня сейчас проект по большей части на абстрактной хуйне и написан - чтобы запилить нечто новое нужно всего лишь сделать реализацию с двумя-тремя методами.
Аноним 10/04/15 Птн 16:07:54 #189 №461990 
>>461979
Научись пользоваться хоткеями в Android Studio.
Аноним 10/04/15 Птн 16:15:16 #190 №461994 
>>461979
Пиши на Scala. Там вроде есть проблемы с количеством методов в артефакте, но они решаются соответствующими тулзами.
Мимо-не-андроид-разработчик
Аноним 10/04/15 Птн 17:30:28 #191 №462044 
>>461975
аннотации работают норм начиная с api level 14

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

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

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

AO
Аноним 10/04/15 Птн 17:52:11 #192 №462060 
Как мне сделать чтобы 2 navigation drawer были 2 Listview, один над другим и все это внутри scrollview?
Т.е. листы без скролла. Может кто уже делал?
Алсо, постиг дзен выноса навигации в отдельный фрагмент. Это оказалось удобно.
Аноним 10/04/15 Птн 17:55:07 #193 №462062 
>>462060
Если не поняли - речь идет о выдвигающейся шторке слева.
Аноним 10/04/15 Птн 18:00:51 #194 №462067 
>>462060
А, стоп. Это мне уже не нужно.
Аноним 10/04/15 Птн 18:34:12 #195 №462096 
>>462044
Можно ли в cupboard множественный withSelection ебануть? Нужно вытянуть по двум полям.

Спасибо за либу, просто пиздецки классная, как и болтсы с ретрофитом.
Аноним 10/04/15 Птн 18:44:22 #196 №462104 
Блин, народ, как закрыть приложение и убрать из стека?
Поставил в активити такой бродкаст ресивер:
private BroadcastReceiver killAppReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
MainActivity.this.finish();
moveTaskToBack(true);
}
};
Из сервиса шлю интент для закрытия, а получаю - ИГРУ ТИПА ФЛАППИ БЕРД. Android 5.1.
Аноним 10/04/15 Птн 18:45:05 #197 №462105 
14286807058740.jpg
>>462104
Аноним 10/04/15 Птн 23:57:59 #198 №462232 
>>462096
непонял. там же можно "yoba1 = ? AND yoba2 = ?", "1","2". Почти как в обычном апи андройда.
Аноним 11/04/15 Суб 02:29:19 #199 №462276 
>>462104
Android сам управляет жизненным циклом приложения и ты не можешь его просто взять и "закрыть, выгрузив из стека". Юзер жмет домик когда хочет выйти, юзер сам может убить твоё приложение из списка недавно запущенных. Все остальное это хаки и будет работать НЕСТАБИЛЬНО на разных девайсах/версия андроида
Аноним 11/04/15 Суб 02:33:31 #200 №462278 
>>462276
но можно разместить завершающий код в onDestroy()
само-fix
Аноним 11/04/15 Суб 02:45:07 #201 №462280 
Насколько сложно/геморойно писать приложухи на плюсах, минимально контактируя с жабой?
крокодил-плюсоеб
Аноним 11/04/15 Суб 05:47:24 #202 №462301 
>>462278
onDestroy() даже не успеет вызваться, когда юзер смахнёт твоё приложение из стака
Аноним 11/04/15 Суб 05:48:10 #203 №462302 
>>462280
зависит от того, чё надо
а так, там просто JNI используется
можно написать какие-то врапперы для удобства
Аноним 11/04/15 Суб 09:03:16 #204 №462311 
>>462232
Понял, спасибо, в примерах для капбоарда не нашел.
Аноним 11/04/15 Суб 16:43:31 #205 №462462 
Мне нужно уничтожить активити, а потом перейти в следующее.
Допустим: Меню -> Пред настройки ->Игра -> Итоги. Вот что бы после того, как переходил из активити "игра" в активити "итоги", кнопкой назад я не смог бы вернуться в активти "игру".
Аноним 11/04/15 Суб 17:07:27 #206 №462467 
А что такое "активити" о котором вы так дохуя пиздите? Это типа view в MVC?
мимокрокодил
Аноним 11/04/15 Суб 18:53:54 #207 №462490 
>>462462
тебе нужно редактировать back stack, подробнее тут http://developer.android.com/guide/components/tasks-and-back-stack.html
Аноним 11/04/15 Суб 19:45:53 #208 №462516 
>>462490
Спасибо.
Аноним 11/04/15 Суб 22:41:41 #209 №462617 
>>462467
Загуглить не судьба?
Если тебе 18лвлов. Ведроид монетизация. Маня 12/04/15 Вск 04:03:52 #210 №462674 
14288006328810.jpg
Вообщем оплатил аккаунт разработчика для гугло плея.
Далее попытался регнуться в AdMob -> там меня послали нахуй (как бы 17лвл)

Вопрос такой: Антош, че делать? Есть ли другие сервисы для монетизации Android приложения и как там с возрастом?
Аноним 12/04/15 Вск 04:06:08 #211 №462675 
>>462674
Как бы голодал и копил 25$. И такой косяк. Антош
я знаю ты поможешь.
Аноним 12/04/15 Вск 04:09:19 #212 №462676 
>>462675
AdWords и AdSense - не предлагать ибо именно они и послали меня.
Аноним 12/04/15 Вск 08:47:54 #213 №462702 
>>462674
Сколько у тебя активных усьановок?
Захарченко Александр Рептилоидович 12/04/15 Вск 10:44:45 #214 №462734 
14288246853790.png
У меня сразу несколько вопросов в знающим ананасам, а именно:

У меня есть:
- pagerView который гоняет бесконечно много фрагментов.
- фрагмент футер с кнопкой.

1) Можно ли передать данные из текущего фрагмента PagerView в фрагмент кнопки?

2) Данные в приложение приходят с сервера, занимается получением первый фрагмент pageView, далее данные записывает в синглтон класс.
Стоит ли перенести получение данных в активити?

3) Где, в моём случае, лучше разместить shareButton - в фрагменте или активити?
Захарченко Александр Рептилоидович 12/04/15 Вск 11:19:32 #215 №462759 
И еще, у кого есть новые редакции книги "The Busy Coder’s Guide to Android Development" скиньте на фейкомыльцо [email protected] , а то в моём Донецке 45$ это 2 месяца работать
Аноним 12/04/15 Вск 12:11:49 #216 №462778 
>>462734
1)Да можно. Активити-хост реализует интерфейс MyActivityHost, в котором ты напишешь метод sendToButton(Object...args). Из хостящегося фрагмента вызываешь ((MyActivityHost)getParent()).sendToButton(one, two), предварительно проверив, что getParent() instanceof MyActivityHost

3) В Activity, т.к.она есть у всех хостящихся фрагментов
Аноним 12/04/15 Вск 12:12:11 #217 №462779 
>>462734
1)Да можно. Активити-хост реализует интерфейс MyActivityHost, в котором ты напишешь метод sendToButton(Object...args). Из хостящегося фрагмента вызываешь ((MyActivityHost)getParent()).sendToButton(one, two), предварительно проверив, что getParent() instanceof MyActivityHost

3) В Activity, т.к.она есть у всех хостящихся фрагментов
Аноним 12/04/15 Вск 12:16:20 #218 №462783 
>>462779
немного обосрался с дублированием
Аноним 12/04/15 Вск 15:52:01 #219 №462841 
Где искать заказы Android фрилансеру, раньше юзал "фрилансим", но они ввели плату за использование сайта и на этом все закончилось. Стал писать свой софт, первое время все было ок, но сейчас все скатилось в говно, идеи кончились. Где вы ищите заказы?
Аноним 12/04/15 Вск 20:12:36 #220 №462947 
А где вы храните свои sql запросы? Просто для того что бы ее заполнить у меня уходит много строк кода.
Аноним 12/04/15 Вск 22:43:17 #221 №463072 
Где можно почекать зарплаты мобайл девелоперов?
Мне тут сорока на хвосте принесла что я умру нищим, в то время как тырпрайз господа будут жрать икру с задниц шлюх.
Зарплаты джуна вообще везде очень похожи, а как дела дальше обстоят с более православными направлениями в тот же веб или бекенд?
Аноним 12/04/15 Вск 22:44:13 #222 №463078 
>>463072
>а как дела дальше обстоят в сравнении с более православными направлениями в тот же веб или бекенд?
фикс
Аноним 12/04/15 Вск 23:47:46 #223 №463143 
>>463072
На hh.ru, очевидно. Хз - сколько не смотрю ведроид (ДС-2) везде нужен сениор, и зп предлагают тырпрайзную 80-120.
На гей-оси вроде народ и побольше зарабатывает. Но главный плюс гейоси - намного меньшее количество разрабов, и легче вкатиться без опыта. Пару лет назад слышал охуительные истории о том, что на гейось брали вообще без всяких навыков прогания на obj-c - достаточно было знать на начальном уровне несколько других языков, и уметь писать джуновские проги.
Аноним 13/04/15 Пнд 02:29:06 #224 №463174 
>>463143
Подтверждают про эпплоговны, сам так и вкатился.
Аноним 13/04/15 Пнд 14:04:08 #225 №463291 
Призываю тех, кому удалось сделать скрывающийся при пролистывании ActionBar. Как это сделать?
Аноним 13/04/15 Пнд 14:05:33 #226 №463293 
>>463174
Пили стори. Давно вкатывался? Мак таки обязателен?
Аноним 13/04/15 Пнд 14:42:55 #227 №463300 
14289253758860.jpg
>>463291
Это оказалось несложно. Сначала просто вызывал hide() и show() у ActionBar, но из-за этого разметку колбасило.
По-этому я добавил в styles.xml:
<item name="windowActionBarOverlay">true</item>
Теперь ActionBar перекрывает содержимое Activity и казалось бы, что всё хорошо, но нет.
Теперь SwipeRefreshLayout прячется под ActionBar. Чоорт. Как это пофиксить?
Аноним 13/04/15 Пнд 15:09:57 #228 №463312 
>>463300
Решение простое:
int actionBarHeight = activity.getSupportActionBar().getHeight();
refreshLayout.setProgressViewOffset(false, actionBarHeight, actionBarHeight*2);
Аноним 13/04/15 Пнд 19:53:02 #229 №463416 
Аноны, подскажите как лучше реализовать:

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

На данный момент сделал через медиаплеер, который висит в фоне и выключается onDestroy активити.
Но я подозреваю что такой метод хуевый, ведь андроид может просто убить приложение?
Стоит ли копать в сторону Service? Как я понял, их приоритет жизни выше?
Аноним 13/04/15 Пнд 21:16:41 #230 №463470 
>>463416
Именно через сервис и делай.
Делаешь startForeground() в oncreate сервиса, ставишь обязательное notification с кнопками громкости и включением/выключением подкаста + кнопка убить приложение и сервис.
С сервисом из активити общайся через ServiceConnection - сможешь вызывать методы сервиса прямо напрямую, это удобно.
Кнопки и custom layout в notifications доступны только с Android 4.1!
Аноним 13/04/15 Пнд 21:18:49 #231 №463471 
Как прикошачить toolbar так, чтобы содержимое активити было ПОД ним? Т.е. чтобы он перекрыва содержимое.
Аноним 13/04/15 Пнд 22:46:27 #232 №463510 
>>463470
Спасибо, анончик.
Добра тебе
Аноним 14/04/15 Втр 00:03:25 #233 №463531 
Аноны, скажите, есть ли возможности устроиться в ведроид-разработку 30лвл-куну? Или все уже потеряно для старикана и проще сразу в окно выйти?
Когда-то учил кодинг, сейчас уже нихуя не помню, но вспоминаю. В частности яву задрачиваю, может через полгодика чего получаться начнет,лол.
Аноним 14/04/15 Втр 08:00:29 #234 №463589 
>>463531
Все реально, ищи курсы от гугла, получай сертификат.
Аноним 14/04/15 Втр 10:15:47 #235 №463643 
>>463589
Спасибо, анон, ты даешь мне надежду!!) А что, есть курсы по ведроиду от того самого?
Аноним 14/04/15 Втр 10:18:24 #236 №463648 
>>463293
Поддвачну. Тоже интересует.
Аноним 14/04/15 Втр 10:20:42 #237 №463652 
https://www.youtube.com/watch?v=huSymnTlxq8
И снова картавый долбоеб.
Идите нахуй блять.
Аноним 14/04/15 Втр 10:32:30 #238 №463656 
>>463652
То что картавит - похуй. Хоть вообще пускай все буквы алфавита проебывает. Главное чтобы полезные сведения давал и понятно для чайника.
Остальное похуй.
Аноним 14/04/15 Втр 11:36:10 #239 №463679 
14290005704650.png
>>463652
>пЕндинг интент
Аноним 14/04/15 Втр 14:24:24 #240 №463743 
>>463643
Есть. На инглише и за 200-400$.
Ищи на udacity.com
Аноним 14/04/15 Втр 17:26:08 #241 №463817 
>>463743
Пошла гуглить) если реально гуголь курсы дает, не пройти их - себя не уважать...
Аноним 14/04/15 Втр 17:26:33 #242 №463818 
>>463743
Благодарю!
Аноним 15/04/15 Срд 03:23:48 #243 №463986 
14290574286740.png
14290574286821.png
14290574286892.png
14290574286953.png
Рейт ми плиз
https://play.google.com/store/apps/details?id=net.vc9ufi.cvitok

У кого есть 7 или 10 дюймовые планшеты, сделайте пожалуйста скрины.
Аноним 15/04/15 Срд 07:27:33 #244 №464002 
Добрый день, нужен совет, может немного не к месту, но все же. Ситуация такая: живу в мухосранске, закончил универ(разработка по). Работаю .net разрабом(desktop, web, в общем всего понемногу). Параллельно изучают уже года 2 как андроид. В портфолио около 5 более менее нормальных приложений(3 последних - заказы с fl.ru). Это мне по душе, но у нас в мухосранске не востребованы android разработчики, по сию думаю свалить в дс2, дабы начать развиваться. В общем интересует инфа из первых уст: какова сейчас обстановка в дс2 с андроид-джунирами? Что требуется знать(не общие моменты, а какие-то нюансы)? На какую зп стоит рассчитывать в первое время? Вакансии бегло просмотрел, сложилось мнение что за 50-60 у джунов(полный рабочий день). Но фиг его знает, хотелось бы инфы из первых рук
Аноним 15/04/15 Срд 10:30:52 #245 №464046 
14290830521100.png
Аноны, а есть ли какой-то Code Convention для именования пакетов в андроиде?

Стоит ли разбивать их таким образом? Или слишком говнокод?
Аноним 15/04/15 Срд 10:46:05 #246 №464052 
14290839658350.png
14290839658361.png
14290839658382.png
14290839658433.png
>>463986
Держи, антон. Семидюймовка. Неплохая прога, кстати! Мне понравилось, красиво... единственное что у тебя в настройках Контролы не открываются.
Ну и по сути, программа бесполезная. Няшная, но... вряд ли много скачек сможет набрать, имхо.
Аноним 15/04/15 Срд 10:57:43 #247 №464053 
>>464046
нормал
Аноним 15/04/15 Срд 10:58:22 #248 №464054 
>>464052

Там нет контролов ) Надо убрать что б не смущали.
Спасибо за скрины
Аноним 15/04/15 Срд 11:11:51 #249 №464058 
>>464054
Агась) действительно лучше убрать...
Аноним 15/04/15 Срд 12:48:38 #250 №464081 
>>464052
Если генерировать из них обоины и фигачить на десктоп, то может быть, взлетит. Фон можно поменять.

Каждый день - новый цветок на десктоп.
Аноним 15/04/15 Срд 12:53:16 #251 №464084 
>>464081
Кстати вот да, два чаю этому. Правда ещё придётся ракурс продумать, с которого цветок лучше всего смотрится.
Аноним 15/04/15 Срд 13:37:11 #252 №464099 
>>464081
>>464084

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

С ракурсом по-моему просто - 30-60 градусов от горизонтальной плоскости.
Аноним 15/04/15 Срд 14:17:05 #253 №464112 
>>457759
>2) Android Studio & Java - единственный легитимный набор.
не пизди, на скале тоже можно писать, SBT & IntelliJ IDEA
довольно хардкорно, зато няшный язык
Аноним 15/04/15 Срд 16:11:51 #254 №464176 
Есть тут начинающие дизайнеры UI под андроид?
Надо придумать интерфейс поикрасивее. Скорее свежие идеи нужны. Одна активити, графика только векторная в xml.
Могу что-то небольшое написать в замен. Кому интересно - остааьте почту.
Аноним 16/04/15 Чтв 09:50:01 #255 №464528 
Сделал <view> с прозрачным градиентом на бэкграунде. Градиент задан в xml, цвета с альфой, типа 00FFFFFF. Но под градиентом не видно другие view, т.е. он не прозрачен. Почему?
Аноним 16/04/15 Чтв 11:28:36 #256 №464533 
Андроиданы, подскажите как лучше реализовать:

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

Как я понял, надо создавать сервис с BroadcastReceiver, но с какой периодичностью проверять есть ли на сервере обновления?
Аноним 16/04/15 Чтв 12:04:33 #257 №464539 
>>464533
ИМХО, лучше отдать решение на юзера. В настройках сделать возможность выбора времени обновления (по типу пушей в емайл-приложениях)
Аноним 16/04/15 Чтв 12:10:08 #258 №464540 
Есть listview, в каждом элементе две кнопки на которых висит таймер и грубо говоря они меняют цвета.
Все бы норм, но как сохранять состояния при скроле? Отказаться от холдера? Сейчас кстати попробую.
Аноним 16/04/15 Чтв 12:29:43 #259 №464550 
>>464540

Почему в итеме нельзя?
Аноним 16/04/15 Чтв 12:41:49 #260 №464554 
>>464550
Не понял.
Аноним 16/04/15 Чтв 12:49:38 #261 №464555 
>>464554

Ну в самом элементе завести поле состояния.
Аноним 16/04/15 Чтв 12:51:24 #262 №464556 
>>464555
Как вариант, но похоже на костыль.
Аноним 16/04/15 Чтв 12:51:27 #263 №464557 
>>464539
Действительно, спасибо
Аноним 16/04/15 Чтв 18:28:48 #264 №464654 
Програны, помогите. Ебаные пидоры возвращают JSON в котором одно поле иногда приходит как объект, а иногда как массив. Все это дело забирает и парсит связка robospice+retrofit+gson. Чтобы не ебаться, в модели это проблемное поле было объявлено как Object и написан геттер, который всегда возвращает масиив, вне зависимости от того, что пришло, масиив или объект. Теперь встала необходимость передавать экземпляр класса между фрагментами, для этого я попытался сделать класс Parcelable, но хуйтам, сраное поле с типом обжект не хотело передваться, тип поля я сменил с обжекта на кастомный, к которому тупо прикручен интерфейс парселабл. в итоге геттер перестал работать. Что делать? Как правильно парсить это проблемное поле?
Аноним 16/04/15 Чтв 20:26:09 #265 №464707 
>>464654
Зачем ты используешь одну и ту же модель для десериализации и логики?
Аноним 16/04/15 Чтв 21:05:32 #266 №464711 
>>464707
Пока мы не начали, сразу предупрежу что я стажер. Ну смотри, вот робоспайс вернул мне экземпляр этого класса и мне сразу же надо передать его в другой фрагмент, либо он мне вернул кучу экземпляров класса в массиве и я выбрал один и передал в другой фрагмент. Как тут поступить по-другому?
Аноним 16/04/15 Чтв 21:08:45 #267 №464712 
>>464540
Вопрос таки остаеться открытым.
Может ненужно юзать листвью для такой задачи?
Аноним 16/04/15 Чтв 22:51:40 #268 №464756 
Народ, такая задача есть: выполняю запрос к вконтакту, далее приходит ответ - список песен, в каждой песне длительность в секундах.
Далее я преобразую длительность в привычный всем нам вид: 3:34 или 1:3:34, если песня длится как минимум час. Проблема в том, что это самое преобразование работает медленно при большом колличестве песен. Тут и возникла мысль, а что если добавить все песни в список и потом в другом процессе запустить это преобразование и пускай оно там отдупляется. Так вот, как это правильнее организовать?
Аноним 16/04/15 Чтв 22:52:49 #269 №464757 
>>464756
Код для преобразования формата длительности трека: https://gist.github.com/anonymous/02e410dceacad2fe3d18
Аноним 16/04/15 Чтв 23:01:00 #270 №464759 
>>464528
Мб потому что нужно было делать View а не view
>>464654
Зачем тебе Parcelable ? Он нужен когда передаешь обьекты между процессами, а не внутри одного процесса. Внутри одного приложения передавай через поля, да как угодно.
Аноним 16/04/15 Чтв 23:01:56 #271 №464760 
>>464528
Мб потому что нужно было делать View а не view
>>464654
Зачем тебе Parcelable ? Он нужен когда передаешь обьекты между процессами, а не внутри одного процесса. Внутри одного приложения передавай через поля, да как угодно.
Аноним 16/04/15 Чтв 23:23:10 #272 №464766 
>>464760
Мне нужно передать объект в экстрасах интента на другое активити.
Аноним 16/04/15 Чтв 23:27:11 #273 №464767 
>>464757
Что за говно, содомит? Зачем ты часы, которые у тебя всегда будут равны нулю, берешь в кольцо вычетов?
А мысль про отдельный тред неплохая. Только вот ты уверен, что проблема в преобразовании этом? Профайлер запускал?
Аноним 17/04/15 Птн 10:59:58 #274 №464855 
Какие сайты почитать по андроиду, чтобы быть в курсе новинок и веяний? И вообще, расширить кругозор. Какие-нибудь годные обзоры приложений и тому подобное. По дизайну тоже. Кроме хабра, конечно же.
Аноним 17/04/15 Птн 11:14:06 #275 №464864 
>>464556

Можешь пояснить почему костыль? Вроде логично хранить состояние итема внутри него.
Там же уже хранятся состояния вроде значения его описания и все такое.
Анон виз проблем Аноним 17/04/15 Птн 15:16:15 #276 №464917 
Аноны, подскажите как решить проблему:

У меня есть сервис, который реализует интерфейс MediaPlayer.OnPreparedListener
и активити, которое реализует MediaController.MediaPlayerControl

Как можно уведомить активити о том, что в сервисе сработал метод onPrepared ?
Аноним 17/04/15 Птн 15:56:22 #277 №464945 
>>464917
я ньюфаг, но ведь вроде можно с помощью broadcast receiver
Аноним 17/04/15 Птн 19:33:53 #278 №464980 
Аноны, что полезного можно засунуть в прогу для закачки музыки из вк? Потоковое прослушивание, закачка, мои аудиозаписи уже есть.
Пишу приложение для резюме, в быдлятне сижу редко - поэтому то, что актуально - не знаю
Аноним 17/04/15 Птн 20:11:22 #279 №464983 
>>464980
Еще перед тем, как написать первую строчку кода своего приложения, ты должен был провести аналитику. Посмотреть аналоги, прикинуть кому и зачем твое говницо нужно, как оно будет выделяться на фоне кучи такого же говна и т.п. Сейчас, считай, ты уже проебался.
А вообще, нашел где спрашивать. Иди в свой контактик и спроси у тех, кто им пользуется.
Аноним 17/04/15 Птн 20:27:36 #280 №464989 
>>464983
>перед тем, как написать первую строчку кода своего приложения, ты должен был провести аналитику
Я говорю о дополнениях и улучшениях. Основной функционал был придуман изначально.
>зачем твое говницо нужно
>Пишу приложение для резюме

Аноним 17/04/15 Птн 20:35:23 #281 №464993 
>>464989
А не сильно ли просто, для резюме?
Аноним 17/04/15 Птн 20:36:05 #282 №464994 
14292921657090.png
Блять, когда смотрел 2 и 3 лекцию, думал: "Какие же всратые", но этот реально побил всех вместе взятых
Аноним 17/04/15 Птн 20:54:32 #283 №465001 
>>464980
Такие программы уже есть.
Аноним 17/04/15 Птн 20:55:01 #284 №465002 
>>464989
Так вот изначально и надо было продумывать все фичи, полностью.

>зачем твое говницо нужно
>Пишу приложение для резюме
Хуевый аргумент. Если это дженерик щит, ничем не выделяющийся на фоне аналогов, то он не нужен по определению, даже для резюме.
sageАноним 17/04/15 Птн 22:18:50 #285 №465041 
>>464994
на карандаш похож
Аноним 18/04/15 Суб 09:44:06 #286 №465205 
>>464980
Давай прототип, анон. Может подскажу чего. В контаче сижу редко, но хуй знает...
Кстати, а чому только контач? Гугломузыку, Грувшарк, ещё парочку музыкопомоек не думал прикрутить? Как раз для резюме самое то. Если разовьешь, можно и бабосы начинать брать.
Аноним 18/04/15 Суб 15:08:54 #287 №465266 
Есть активити в которой биндится сервис.
Использую navigation drawer.
В фрагменте используется сервис, вопрос - как мне оповестить фрагмент о том, что сервис забиндился и его можно юзать?
Вообщем-то можно запустить beginTransaction().replace только тогда, когда сервис приконектится.
Но что делать при повороте устройства?
Сохранить в savedInstanceState название открытого фрагмента и после коннекта сервиса сделать beginTransaction().replace?
Аноним 18/04/15 Суб 18:47:11 #288 №465311 
>>464994
а линк есть?
Аноним 18/04/15 Суб 20:47:01 #289 №465345 
Аноны, начал осваивать Android. Использую Android Studio в своих извращениях. Не могу понять, почему в эмуляторе устройства я не могу вводить кириллицу (имеется ввиду ввод текста, например, в EditText объекты)
Аноним 18/04/15 Суб 23:10:43 #290 №465381 
>>465345
Поставь Genymotion и плагин для студии. Исчезнут тормоза и глюки.
Аноним 18/04/15 Суб 23:18:06 #291 №465384 
Как поменять стандартный seekbar на material style. без использования сторонних либ?
Аноним 19/04/15 Вск 15:50:22 #292 №465518 
>>465311

https://www.youtube.com/user/elegionru/featured
Аноним 19/04/15 Вск 18:18:39 #293 №465567 
Анончики, такая ситуация. Хочу себе простенькое приложение для домашней бухгалтерии(готовые варианты изобилует кучей ненужной мне хероты). Сейчас это дело веду вот в такой вот эксель таблице - https://docs.google.com/spreadsheets/d/1dJQ84XlgZ1hMxHoJcQO051gDa7buPwcS9vuQob9YMMQ/edit?usp=sharing
Подумал что было бы еще круче запилить приложения где всего одно поле и две кнопки - поле ввода потраченной/заработанной суммы. Список статей расходов и кнопка добавить. После чего сумма сама улетает в нужную яйчейку экселя. В идеале вообще виджет на рабочем столе. Так вот в чем проблема - можно что-то подобное на андройде запилить на php/js/html ? Садится изучать яву как то слишком для такой цели, уж проще заплатить будет. Но хотелось бы самому запилить, на знакомых инструментах, дабы всегда мог что то выпилить или допилить.
Аноним 19/04/15 Вск 18:34:43 #294 №465575 
>>465567
Думаю js+html вполне хватит, но проебешься с установкой Cordova

Если неосилишь, могу запилить тебе такую бесплатно
Аноним 19/04/15 Вск 18:35:06 #295 №465576 
>>465575
Забыл уточнить:
Запилю на Java
Аноним 19/04/15 Вск 19:39:09 #296 №465597 
>>465575
Спасибо на даже как то неудобно у кого-то что то просить за просто так. За наводку спасибо, буду изучать, еще на какой то PhoneGap наткнулся. Да и самому все же проще - так как раз в пару месяцев какие то изменения или оптимизации в своей табличке пилю. Как эта еботня с курсом началась, так пришлось не мало голову поломать над тем, как сделать таблицу при том что платят в разных деньгах, которую быстро и удобно использовать, дабы видеть и реальный доход - ибо то что цифра сейчас больше чем пол года назад в 1.5 раза не значит что я могу себе в 1.5 раза больше позволить.
Аноним 19/04/15 Вск 19:41:10 #297 №465601 
>>465575
Лол, эта кордова даже под симбиан есть. Давненько упоминаний этой некрооси не видел.
Аноним 19/04/15 Вск 19:59:15 #298 №465608 
Сап, андроиданы. У меня проблема и хуй знает как ее решать. Вообщем пилю очередной видеоредактор на андроиде. Все бы ничего только заказчик хочет чтобы при соединении двух видео был переход с эффектами. Тоесть чтобы первое видео становилось прозрачным, или разъезжалось в стороны, или съезжало влево. А я реально не знаю как это делать и даже не знаю где искать инфу. Гугл молчит или дает какую-то ересь. Подскажите кто знает хотя бы где искать и что читать.
Аноним 19/04/15 Вск 20:45:59 #299 №465632 
>>464993
А что сложнее запилить для резюме? Не в гейдев ведь.
Аноним 19/04/15 Вск 23:01:07 #300 №465673 
14294736673230.jpg
Есть navigation drawer. Заменяю один фрагмент другим через replace и добавляю в BackStack.
В фрагменте А использую onSaveInstanceState для сохранения каки-то настроек. Когда открываю следующий фрагмент через replace и добавляю его в BackStack при смене ориентации ВНЕЗАПНО вызывается onSaveInstanceState у того, предыдущего фрагмента А. Какого хуя?
Аноним 19/04/15 Вск 23:02:40 #301 №465674 
>>465601
Я тебе больше скажу, на неё основан PhoneGap
Аноним 19/04/15 Вск 23:15:49 #302 №465680 
>>465673
Все правильно. При смене ориентации ведро грохает всю активити и передергивает её. Соответственно твой сток оно уже похерило. Лови такую хуйню на onSaveInstanceState в активити.
Аноним 19/04/15 Вск 23:17:37 #303 №465681 
>>465608
Для такой хуйни у тебя должен быть свой движ рендера. Готовых на ведро не знаю. Посмотри в сторону MLT может это гавно уже туда портанули.
Аноним 20/04/15 Пнд 08:29:12 #304 №465748 
>>465680
Зачем вызывать этот метод у фрагмента, который не видит пользователь?
Аноним 20/04/15 Пнд 19:36:22 #305 №465943 
На тебя сами выходят люди в дс? Просто вакансий почти нет на хх и джобе на джуна. Задачи какого уровня на гитхабе им надо?
Аноним 21/04/15 Втр 07:46:21 #306 №466119 
Вопрос скорее не к андроиду а к ооп в общем.
Есть два класса товаров. Они идентичны, но должны находиться в разных таблицах и выводяться как вместе так и поодиночке.
Суть в том что в выводе вместе я юзаю лист, потому сделал им отцовский абстрактный класс. Проблема собственно в том, что у меня получается два пустых блять класса все поля в абстрактном подтянул как и методы, реализация методов у них тоже одинакова.
Аноним 21/04/15 Втр 09:05:35 #307 №466130 
>>466119

в чем тогда отличие?
Аноним 21/04/15 Втр 10:42:35 #308 №466176 
>>466130
В том что я юзаю cupboard, и мне так удобнее создавать две разные таблицы под них.
Аноним 21/04/15 Втр 13:49:10 #309 №466260 
Андроиданы, подскажите как лучше сделать:

Есть активити в котором использую камеру, после снимка пытаюсь передать изображение в другое активити в итоге получаю TransactionTooLargeException

Каким же образом, тогда, передавать крупные изображения из одной активити в другую?
Аноним 21/04/15 Втр 14:02:48 #310 №466270 
>>466260

Сохранять и передавать URI
автообновление поля через заданный промежуток времени Аноним 21/04/15 Втр 17:36:55 #311 №466378 
здрасте. хочу сделать, чтобы текстовое поле обновлялось в зависимости от определённых обстоятельств.
пользуюсь вот такой конструкцией:

ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
Runnable updater = new Runnable() {
// [бла-бла-бла] };
scheduler.scheduleAtFixedRate(updater, 0, 1, SECONDS);

и тут проблема: оно работает, но только когда на телефоне вырубается экран по неактивности пользователя.
а я хочу чтобы работало всегда.
как поступить?
Аноним 21/04/15 Втр 18:02:21 #312 №466390 
>>466378

<uses-permission android:name="android.permission.WAKE_LOCK" />
Аноним 21/04/15 Втр 18:06:25 #313 №466394 
Пасаны, думаю обмазаться ксамарином, какие подводные камни?
Аноним 21/04/15 Втр 18:49:14 #314 №466414 
>>466394
Никаких, всё достаточно просто
Аноним 21/04/15 Втр 20:03:11 #315 №466453 
Короче, есть табвью с двумя фрагментами-страницами. Первая страница должна быть статичной, вторая изменяться относительно первой т.е. принимать с нее данные и перерисовываться заново. Но я так понимаю что табсы могут быть либо все статичными, либо все динамичными и перерисовываться при слайде. Посоветуйте что-то.

Алсо, передачу данных думаю сделать через преференсы, можна конечно передавать из первого фрагмента в активити и потом уже вытаскивать во второй в онкриейтвью, но с преферансами выглядит проще и удобнее.
Аноним 21/04/15 Втр 20:33:49 #316 №466474 
>>466453
Используй Holder класс, в котором храни нужные поля
Аноним 21/04/15 Втр 20:57:41 #317 №466489 
Есть в треде нищеебы, которые хотят купить подписку на https://commonsware.com/Android/ , но не хватает доларей?
Давайте купим в складчину?
Аноним 21/04/15 Втр 21:02:26 #318 №466492 
>>466474
Это ты про хранение? Везде же вроде как советуют через преференсы.

А что на счет самих табвьюх?
Аноним 21/04/15 Втр 21:02:50 #319 №466493 
>>466489
3к страниц, ебу дал?
Аноним 21/04/15 Втр 21:04:19 #320 №466494 
>>466453
Юзай интенты. Можно даже просто без екстра. Изменилось че-то - пошли интент. Во фрагменте поймай его и перерисуй как душе угодно.
Аноним 21/04/15 Втр 21:07:34 #321 №466496 
>>466494
Проблема в том, что для табвью создает экзепляр в единственном роде и не пересоздает. А если выбрать табвью которая всегда перерисовывает, то тогда та вкладка которая статическая будет тоже перерисовываться, можно и атк конечно, но что-то я ебал.
Аноним 21/04/15 Втр 21:09:50 #322 №466498 
>>466496
Какие-то у тебя всратые табы. Используй ViewPager.
Аноним 21/04/15 Втр 22:13:03 #323 №466520 
>>466498
>Используй ViewPager.
http://developer.android.com/training/implementing-navigation/lateral.html
>FragmentPagerAdapter
>FragmentStatePagerAdapter
Аноним 21/04/15 Втр 22:23:36 #324 №466525 
>>466453
Бамп.
Аноним 21/04/15 Втр 22:29:02 #325 №466526 
>>466270
Кто фрилансит под Android - передаете исходники заказчику?
Аноним 22/04/15 Срд 04:28:01 #326 №466608 
>>466390
проставил в манифест, не помогает.
алсо, оно даже после того, как экран гаснет, отрабатывает только один раз (надпись на экране не меняется, а должна меняться), а я хочу чтобы оно запускалось всегда через определённый промежуток времени.

кто решал подобные задачи?
тестирование Аноним 22/04/15 Срд 04:29:56 #327 №466609 
а на чём вы тестируете свои программы?
виртуалка в андроид студио работает ну очень медленно.
Аноним 22/04/15 Срд 05:11:11 #328 №466613 
14296686718460.jpg
А почему только одна книга в шапке и та за 45$? В моей хохляндии это пол зарплаты.
Господа, посоветуйте годную книгу по андроиду, уж очень я люблю их читать. Java Core уже освоил если что.
Аноним 22/04/15 Срд 09:14:37 #329 №466631 
>>466613
> А почему только одна книга в шапке и та за 45$? В моей хохляндии это пол зарплаты.
Используй торренты.
Аноним 22/04/15 Срд 11:42:59 #330 №466704 
>>466613
Это не просто книга, это подписка на все обновления и еще плюхи.
Аноним 22/04/15 Срд 11:45:16 #331 №466706 
>>466613
Know that feel, bro
Я тут предлогал анонам скинуться и купить её в складчину
Аноним 22/04/15 Срд 13:51:49 #332 №466784 
>>457759
Нужна программа, с нуля сам написать не могу. Есть легкий способ не меняя функционал программы изменить её интерфейс?
Аноним 22/04/15 Срд 13:53:08 #333 №466786 
>>466784
хуйца сосни
Аноним 22/04/15 Срд 14:52:56 #334 №466802 
14297035768410.jpg
>>466631
На торренте 4.7 версия, много отличий от платной 6.6 вресии? Кто знает может?

>>466704
Эти плюшки стоят того?
Аноним 22/04/15 Срд 17:45:03 #335 №466919 
Анонцы, такой вопрос.

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

Как лучше реализовать предпросмотр изображений?
Аноним 22/04/15 Срд 17:48:40 #336 №466922 
>>466919
чрез отдельный activity
Аноним 22/04/15 Срд 17:49:37 #337 №466923 
>>466609
на девайсах
или на genymotion
и мы не пользуемся android studio
Аноним 22/04/15 Срд 17:50:11 #338 №466924 
>>466526
да
Аноним 22/04/15 Срд 18:04:53 #339 №466938 
Суп двач, нубовый нуб вкатился в тред и просит совета. Есть две activity, нужно запускать вторую через 30 секунд после открытия приложения, то есть после старта первой активити.
Как?
Погуглил, но очень хуёво, и ничего не вышло. Помогите, ну плиииз :с
Аноним 22/04/15 Срд 18:07:41 #340 №466940 
>>466938
кароч пишешь такой в onCreate
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
открыть вторую активити
}
}, 30000);
Аноним 22/04/15 Срд 19:16:01 #341 №466980 
>>466940
спасибо!! щас попробую
Аноним 22/04/15 Срд 19:17:42 #342 №466981 
>>466923

А чем пользуетесь?
Аноним 22/04/15 Срд 19:25:00 #343 №466983 
>>466981
эклипсом ибаным
даже это говно лучше лагающих android studio/idea с тормозным gradle
Аноним 23/04/15 Чтв 01:28:25 #344 №467257 
>>466940
Вот за такой код убивают нахуй
Аноним 23/04/15 Чтв 07:56:30 #345 №467314 
>>466940
Ура, спасибо, всё работает, я пошел писать хуиту! Поначалу не понял как открыть активити, но щас ок
Аноним 23/04/15 Чтв 09:47:26 #346 №467358 
Привет всем. Пишу калькулятор, использую для вычислений Double. Проблема - маленький размер допустимых чисел, больше семи знаков до точки выдает число с E в конце. Что использовать вместо Double или как по другому решить проблему? Большая просьба помочь.
Аноним 23/04/15 Чтв 11:14:28 #347 №467426 
>>467358
Попробуй так:

double value = 0.00000228d;
DecimalFormat df = new DecimalFormat("#");
df.setMaximumFractionDigits(7);
System.out.println(df.format(value));
Аноним 23/04/15 Чтв 14:44:16 #348 №467564 
>>467257
шошта нета к?
то что надо handler вынести в поле класса чтобы иметь возможность уничтожить все сообщения - это в случае проблем думаю ясно будет
Аноним 23/04/15 Чтв 15:19:58 #349 №467587 
>>467564
Проблема в том, что если закрыть приложение, активити останется в памяти из-за сильной ссылки со стороны хэндлера, который пррдолжает ждать те самые 30 секунд. Ты скажешь, что 30 секунд это хуйня, но дело не в секундах, а в том, что это говнокод as is.
Аноним 23/04/15 Чтв 15:22:30 #350 №467590 
>>467587
И вообще зачастую не-статик хэндлеры внутри активити - плохая практика.
Аноним 23/04/15 Чтв 15:31:58 #351 №467594 
>>467590
ну об этом даже IDE скажет тебе лол
Аноним 23/04/15 Чтв 18:13:43 #352 №467695 
Анонцы, подскажите, начал вкатываться в андроид.
Нашел курсы Udacity, где 2 недели триала. По завершению курса надо сделать какой-то курсовой проект.
Теоретически можно успеть пройти курсы, сделать проект, получить аттестат и ниразу не заданатив за обучение, 200$ очень уж дохуя
sageАноним 24/04/15 Птн 10:11:36 #353 №467941 
>>467695
На кой хер тебе эти бумажки? Просто в резюме укажешь и всё.
Аноним 24/04/15 Птн 12:49:49 #354 №468079 
>>467587
@Override
public void onDestroy()
{
mHandler.removeCallbacks(mRunnable);
super.onDestroy();
}

Мам, я починил?
Аноним 24/04/15 Птн 13:27:14 #355 №468099 
>>468079
Неа. Нет никакой гарантии вызова onDestroy. И даже вызова onStop.
Аноним 24/04/15 Птн 13:47:37 #356 №468111 
>>468099
Опиши реальный пример, пожалуйста, как закрыть приложение без onDestroy? Это только если система порубит видимый процесс? А в этом случае она не порубит handler?
Аноним 24/04/15 Птн 15:23:17 #357 №468187 
>>468099
в случае если onDestroy не вызвался то приложение уже пизданулось со всеми твоими хэндлерами из памяти
Аноним 24/04/15 Птн 15:52:04 #358 №468220 
Аноны!
Пытался загрузить в код массив из строк (String[]) из xml (<string-array>). В документации написано, что, чтобы это сделать, нужно написать примерно следующее:

Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);

Но метод getResources() - никак не вызывается (пишет ошибку, не видит). Как с этим быть?
Аноним 24/04/15 Птн 15:54:36 #359 №468222 
>>468220
getResources() вызывается или по контексту, или статитечки из класса Resources: Resources.getResources().
Аноним 24/04/15 Птн 16:04:39 #360 №468230 
>>468222
В том то и дело, что статически я не могу его вызвать (Resources res = Resources.getResourses(); - не видит)
Пробовал вариант

Resources res = Resources.getSystem();
String[] mFacts = res.getStringArray(R.array.facts_array);

Но и это не работает! Пишет вот о таком исключении.

android.content.res.Resources$NotFoundException

Типа бла-бла, ресурс плохой, не найти и всё подобное. Хотя он у меня лежит в strings.xml и оформлено всё по правилам!

<resources>
<string name="app_name">Fun Facts</string>
<string-array name="facts_array">
<item>""</item>
<item>Ants stretch when they wake up in the morning.</item>
<item>Ostriches can run faster than horses.</item>
<item>Olympic gold medals are actually made mostly of silver.</item>
<item>You are born with 300 bones; by the time you are an adult you will have 206.</item>
<item>It takes about 8 minutes for light from the Sun to reach Earth.</item>
<item>Some bamboo plants can grow almost a meter in just one day.</item>
<item>The state of Florida is bigger than England.</item>
<item>Some penguins can leap 2-3 meters out of the water.</item>
<item>On average, it takes 66 days to form a new habit.</item>
<item>Mammoths still walked the earth when the Great Pyramid was being built.</item>
<item>Treehouse is not actually in a tree</item>
</string-array>

<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
</resources>
Аноним 24/04/15 Птн 16:12:29 #361 №468232 
>>468230
Я бы на твоём месте посмотрел в дебаггере, что находится в переменной res. Ещё бы проверил R класс на наличие соответствующей переменной с id, который указывается в ошибке.
Аноним 24/04/15 Птн 16:23:12 #362 №468237 
>>468232
В итоге вызвал по контексту, как вот тут...
http://stackoverflow.com/questions/4391720/how-can-i-get-a-resource-content-from-a-static-context
Аноним 24/04/15 Птн 16:24:52 #363 №468238 
>>468237
А где ты делаешь запрос к ресурсам, что не можешь местный контекст использовать? КМК, создавать отдельный класс тудо для контекста никрасива.
Аноним 24/04/15 Птн 16:26:21 #364 №468239 
>>468232
Вот эта фигня работает, а если отсылаем метод getApplicationContext() в качестве фактического параметра конструктора класса FunFacts, то опять фаталь экспешон... Хуета какая-то...
Аноним 24/04/15 Птн 16:28:27 #365 №468240 
>>468238
В отлельном java файле для класса (public class)FunFacts, внутри блока, класс ничего не расширяет и не наследует.
Аноним 24/04/15 Птн 17:15:14 #366 №468262 
>>468111
В любом случае это говнокод. Выходит если onDestroy вызовется мгновенно, вторая активити не откроется. А если лишь через некоторое время - откроется.
Зачем вообще ебаться со всем этим, когда есть AlarmManager?
>>468187
Он может вызваться через минуту после того, как ты активити закроешь, например.
Аноним 24/04/15 Птн 17:17:26 #367 №468263 
>>468111
А, забыл.
> Опиши реальный пример, пожалуйста, как закрыть приложение без onDestroy?
Так не бывает, но бывает так:
onCreate
onStart
onResume
...
onPause
проходит 30 секунд
onStop
проходит ещё минута
onDestroy

Это в ситуации, когда юзер реально закрыл активити.
Аноним 24/04/15 Птн 17:25:48 #368 №468267 
>>468263
>onPause
>проходит 30 секунд
>onStop
>проходит ещё минута
>onDestroy
Почему у меня такого никогда не было? Активити пропадает с экрана - мгновенный вызов onPause-onStop-onDestroy.
Аноним 24/04/15 Птн 17:29:49 #369 №468271 
>>468267
С этим непросто столкнуться, но возможно. На различном китаеговне такое сплошь и рядом. И порой такие проблемы очень критичны.
В конце концов, есть метод isFinishing, можно переопределять finish. Но полагаться на onStop и особенно на onDestroy - ни в коем случае.
Аноним 24/04/15 Птн 17:45:01 #370 №468286 
Немного фрустрации в тред. Как вы вообще на этом тормозном говне пишете? Созданию новый проект с пустой активити, так он минуту, навреное, его инициализирует потом, и билдит потом по полминуты пустой, чёрт возьми, проект с тремя кнопками. На xcode у меня за одно только время открытия такого нового проекта создастся темплейт с опенгл игрой, скомпилится, и в эмуляторе запустится.
Может я чего не так делаю и там есть скрытая настройка "не тормозить"?
Аноним 24/04/15 Птн 17:47:55 #371 №468291 
>>468286
*андроид студио
Аноним 24/04/15 Птн 18:00:57 #372 №468300 
>>468286
А на чём ты запускаешь?
Аноним 24/04/15 Птн 18:08:25 #373 №468307 
>>468300
Признаю, на маке. Последующие билды, вроде как, пошли чуть быстрее, но и 10 секунд многовато, да и работает абы как. Второй эмулятор мне зачем-то запускает сейчас, после нажатия stop и run заново. Я не знаю, почему и xcode, и vb просто работают, а у андроид опять всё не так?
Аноним 24/04/15 Птн 19:07:48 #374 №468359 
>>468307
eclipse быстрее, выше писал уже
Помогите с асинхронками Аноним 25/04/15 Суб 10:58:18 #375 №468593 
Посоны, третий день уже ебусь с AsyncTask, оно выдаёт ошибки вот такого вида:

E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
Process: myapps.[имя_приложения], PID: [процесс]
java.lang.RuntimeException: An error occured while executing doInBackground()
[...]
Caused by: java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.Void[]
at myapps.streamplayer.MainActivity$MyTask.doInBackground(MainActivity.java:149).
Номер строки 149 - это первая строка цитируемого куска кода.

Упростил до предела, изъял вообще всю деятельность, а оно всё равно вылетает с такими же ошибками.

[code] class MyTask extends AsyncTask<Void, Void, Void> {

@Override
protected void onPreExecute(Void unused) {

}

@Override
protected Void doInBackground(Void... unused) {
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}

@Override
protected void onPostExecute(Void unused) {

}
} [/code]

Запускаю вот так:
MyTask myTask = new MyTask();
[...]
myTask.execute();

Что я делаю не так?
Аноним 25/04/15 Суб 11:11:41 #376 №468596 
Мне нужно чтоб приложение понимало когда вырубаеться интернет на телефоне и переходило в режим сохранения данных на локальную бд, потом при появлении интернета данные начинали отсылаться.
Я так понимаю что нужно цеплять сервис? Я с ними еще не работал просто.
Аноним 25/04/15 Суб 16:11:59 #377 №468701 
>>468596
Ну же народ, помогите советом.
Аноним 25/04/15 Суб 17:19:35 #378 №468741 
>>468596

Наверняка есть интенты на подключение gprs/wifi. Слушай их в сервисе.
Аноним 25/04/15 Суб 17:50:17 #379 №468748 
>>458114
>http://learndroid.e-legion.ru/
Школа - хуита редкая, заргался, прошел первые 2 урока.
Второй чудак (да и первый) начинает нести какую-то пургу про бэкграунд-фореграунд, как-будто ньюфаг вообще понимает о чем речь. Нихуя никто нормально не объясняет, пересказ документации по сути
Ну и выглядят чуханами-красноглазиками-омегами какими-то, сразу программировать под андроид желание пропало
мимо-веб-хайлоад-альфа
Аноним 25/04/15 Суб 17:55:17 #380 №468750 
>>468748

По-моему вторая лекция как раз лучшая была. Наглядно и подробно.
Аноним 25/04/15 Суб 17:57:13 #381 №468751 
>>468750
Ну вот блять прямо сейчас смотрю
>Когда мы из одной активити стартуем еще одну активити, для нее создается отдельный таск, наша исходная активити остается в своем таске одна, а новая запускается в отдельном

И такая вся лекция, уши вянут
Аноним 25/04/15 Суб 17:59:33 #382 №468754 
> очевидно, что для параметров сингл таск и сингл инстанс активити существует в системе в единственном экземлпяре и она является корневой, самой нижней активити
17 минута второй лекции так-то
Аноним 25/04/15 Суб 18:02:30 #383 №468756 
>>468751
>>468754

Он до этого объяснял что это такое и зачем.
Аноним 25/04/15 Суб 18:04:33 #384 №468759 
>>468756
мне тебе надергать точно таких же цитат из объяснений?
он блять картавый аутист и просто физически не в состоянии что-то нормально рассказать
Аноним 25/04/15 Суб 18:08:26 #385 №468761 
>>468596
Тебе не нужен сервис. Сделай ресивер, чтоб получал интент на android.net.conn.CONNECTIVITY_CHANGE и там меняй какую-нибудь переменную, которая будет указывать, куда сохранять данные. Или, если ты быдло, при сохранении данных проверяй соединение и в случае его отсутствия сохраняль в локальное хранилище.
Аноним 25/04/15 Суб 18:09:19 #386 №468762 
>>468759

Зачем? Деньги тебе все равно не вернут.
Аноним 25/04/15 Суб 18:09:38 #387 №468763 
>>468759
А мне похуй, я всё понял и узнал немного важной теории. Можешь продолжать его оскорблять.
Аноним 25/04/15 Суб 18:31:06 #388 №468770 
>>468593
Что за параметр передаётся в onPreExecute?
Аноним 25/04/15 Суб 23:11:50 #389 №468827 
>>468761
Так а разве норм юзать ресивер если у меня несколько активити? На какой его вешать? Не может случится ли такое что андроид убьет старое активити с этим ресивером?
Аноним 26/04/15 Вск 00:22:10 #390 №468849 
>>468593
1)Очисти проект и пересобери с нуля
2)Убери onPreExecute
3)Почему между созданием MyTask и вызовом его execute() есть еще какой-то код ?
Аноним 26/04/15 Вск 00:27:44 #391 №468851 
>>468827
Отдельным классом бродкаст ресивер сделай и в активити объяви, я вообще не понял, о чём ты волнуешься. Ни на какую активити ресивер не вешается, методом registerReciever ты не пользуешься, он у тебя сразу зареган и получает бродкасты на всём протяжении существования процесса приложения.
Аноним 26/04/15 Вск 00:28:17 #392 №468852 
>>468851
>в активити объяви
тьфу ты, в манифесте
Аноним 26/04/15 Вск 00:31:36 #393 №468857 
>>468851
Спасибо. Просто с ресивером и сервисами еще не работал, вот и хз что делать.
Аноним 26/04/15 Вск 01:01:08 #394 №468872 
В android studio по умолчанию включена обфускация на реелиз?
Аноним 26/04/15 Вск 01:05:32 #395 №468874 
>>468872
Нужно в gradle proGuard настроить. Без этого вроде как ничего не будет.
Аноним 26/04/15 Вск 05:44:15 #396 №468911 
>>468593
А ты пробовал onPreExecute без аргументов вызвывать? Потому что в суперклассе-то он без аргументов, а иначе override бессмысленен. А с аргументов в preexecute твой код у меня даже не компилируется (на какие-то депрекейшны ругается)
Аноним 26/04/15 Вск 09:12:01 #397 №468932 
Как корректно остановить asynctask, когда пользователь закроет приложени?
Аноним 26/04/15 Вск 10:49:30 #398 №468941 
14300345707800.png
Как сверстать страницу введения так, чтобы она одинаково смотрелась и на планшетах и на смартфонах?
Аноним 26/04/15 Вск 16:27:18 #399 №469040 
Хочу сделать stream socket подключение с телефона к серверу и обмениваться байтиками. Есть ли какие-либо дефолтные способы сделать это с событиями, а не бесконечным лупом с блокирующим BufferedReader.readline() в нём? Чтобы как в ios: inputStream.scheduleInRunLoop() и потом eventHandler(stream, eventCode) в делегейте уже обрабатывает все подключения, эрроры, потери и окончания связи, полученные данные и т.д. А то не хочется городить свои костыли.
Аноним 26/04/15 Вск 18:09:21 #400 №469082 
Студия перестала видеть устройство и дженимоушен тоже, такое ощущение что что-то сломалось, ругаеться еще что нету модуля сдк.
Как откат сделать или еще что-то?
Аноним 26/04/15 Вск 18:37:22 #401 №469091 
>>468761
>там меняй какую-нибудь переменную, которая будет указывать, куда сохранять данные.
Решил сделать режимами, офлайн и онлайн. Где держать состояние? Синглтон создавать для этого? Или так в ресивере и держать?
Аноним 26/04/15 Вск 18:47:57 #402 №469098 
cupboard и proguard не хотят вместе работать, что делать?
Аноним 26/04/15 Вск 23:44:50 #403 №469273 
>>469091
Бампец.
АО ты гиде?
Аноним 27/04/15 Пнд 00:28:31 #404 №469285 
>>469273
Да, синглтон. Я привык делать отдельный класс со всеми глобальными статик переменными программы и работать с ним, и тебе советую.
Аноним 27/04/15 Пнд 00:38:41 #405 №469287 
>>469285
Но с таким же успехом можно хранить в преференсах.
Аноним 27/04/15 Пнд 00:41:45 #406 №469289 
>>469285
Алсо, на счет синглтона, ресивер в манифесте работает даже без запущенного приложения, как результат, если состояние измениться когда приложение не запущенно то данные не сохранятся в синглтоне так как его еще не существует, и в итоге я запускаю приложение, интернета нету, и я не знаю об этом.

Потому с преференсами мне кажется будет правильнее. Поправь если ошибаюсь.
Аноним 27/04/15 Пнд 00:48:49 #407 №469290 
>>469287
Можно. Только тогда вместо статик переменной ты будешь хранить статик название преференса. Да, это наверное, лучше, так как переменная названия преференса будет final. Но там просто эта реализация занимает больше кода и мне кажется, что это будет менее читабельно.
Я сейчас погуглил и увидел, что глобал переменные - плохо, но сам я никогда с описаными проблемами в android не сталкивался. Но я сам довольно ньюби, так что особо меня не слушай, я увидел вопрос, посоветовал, что знаю, а все эти заморочки уровня как лучше переменные хранить, сам не знаю.
Аноним 27/04/15 Пнд 00:49:30 #408 №469291 
>>469289
Ну да, преференсы нужны, ты прав.
Аноним 27/04/15 Пнд 00:52:56 #409 №469292 
>>469290
>>469291
Спасибо.
Аноним 27/04/15 Пнд 09:04:24 #410 №469360 
>>469290

не знаю правильно ли но я ключи преференсов храню в рес/стринг-преференс-кей
Аноним 27/04/15 Пнд 09:43:31 #411 №469369 
14301170120220.png
14301170120431.png
Ананасы, подскажите, в чём может быть проблема?
Вечно показывает стрелку, будто открыт Drawer Navigation

MainActivity: http://pastebin.com/ifHrM34E
main_layout: http://pastebin.com/428Xd535
Аноним 27/04/15 Пнд 09:51:50 #412 №469372 
>>469369
А, сука, Андроид Студия импортировала не тот Drawer, вопрос закрыт
Аноним 27/04/15 Пнд 10:04:49 #413 №469374 
Может я задам сейчас кучу наитупейших вопросов, но все же не гоните меня сразу. И так, хочу создать приложение под андроид - там есть возможность регистрироваться, постить фотографии, оставлять комментарии в профили и под фотографиями. Да, я понимаю что это сложно, это аналог соц. сети с урезанным функционалом, который я буду делать хренову тучу времени и его даже ни кто не скачает. Теперь вопросы: мне посоветовали учить SQLite и Джаву. Может есть какие-нибудь высокоуровневые библиотеки для этого всего?
Аноним 27/04/15 Пнд 10:13:15 #414 №469377 
>>469374
Высокоуровневый юнит для таких задач называется - наемный сотрудник. Ты физически не сможешь и одновременно заниматься раскруткой "соцсети" и программировать (а помимо программирования клиентского приложения еще и дизайн требуется, ну а про серверную часть твоей "соцсети" вообще разговор отдельный).
Аноним 27/04/15 Пнд 10:17:58 #415 №469378 
>>469374
Есть вот такая штука, но на ней далеко не уедешь
http://appinventor.mit.edu/explore/

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

Тебе, скорее, подойдет Java + какой-то серверный язык (Да или та же джава, там есть механизм сервлетов и всякие спринги) + MySQL, PostgreSQL или NoSQL, как душа пожелает, в общем
Аноним 27/04/15 Пнд 10:25:24 #416 №469380 
Спасибо. И так, мне нужно будет подучить джаву + серверный язык, а что учить для, именно андроида(со всякими управлениями кнопками, хмлМанифестами и т.д.)? То что в шапке треда подойдет? + как я понял бесплатного сервера не существует, я в общем -то не собираюсь использовать это как серьезное коммерческое решение, скорее я просто хочу побаловаться, можно как-то будет протестить, если я тот же апач на пек ебану с эмулятором - все будет так же как на реальном сервере?
Аноним 27/04/15 Пнд 10:30:25 #417 №469381 
>>469380

Я подозреваю тут на несколько лет баловства и два разных стека для изучения.
Аноним 27/04/15 Пнд 10:33:12 #418 №469386 
>>469380
+ Вопрос со всем не в тему, правоохранительные органы ни как не могут подать на меня в суд за контент который выкладывают пользователи?
>>469381
Ну, я шалун, лол думаю что я и так не занят ни чем по вечерам + это поможет мне в учебе в институте, ну, или помешает.
Аноним 27/04/15 Пнд 10:36:55 #419 №469387 
>>469386

Конечно могут.
Аноним 27/04/15 Пнд 10:44:05 #420 №469388 
>>469387
Это плохо, даже если у меня нет ни какой направленности соц-сети, то есть, она форомлена так, что на заднем плане сердечки, медвежата и бабочки, а пользователи постят несколько другие изображения и незамысловатые комментарии с фотографиями различных мест
Аноним 27/04/15 Пнд 11:01:37 #421 №469391 
>>469386
>>469388
Забаньте этого наркомана уже
Аноним 27/04/15 Пнд 11:04:39 #422 №469392 
>>469391
Я просто подумал что эта чатсть рынка свободна, но, блядь, не писать же серьезный бизнес-план под который дадут кредиты, нужно создать все самому, или хотя бы с несколькими друзьями + не о каких сео мечтать даже не приходится, в общем не надо меня банить, я и так сильно рискую, просто начав это делать.
Аноним 27/04/15 Пнд 11:10:10 #423 №469393 
>>469392
1) ты наркоман и не умеешь формулировать свои мысли, тебе нужен штат людей, которые из тебя будут клещами вытягивать "бизнес-план"
2) ты студент, и денег для оплаты труда, необходимого для всего того, что мы уже рассмотрели - а рассмотрели не все нюансы - у тебя нет.
3) такого не бывает, чтобы дунул с корешами и у вас появилась "соцсеть" - даже если толковые кореша, ты, наркоман, будешь им только мешать. Но скорее всего вы все наркоманы, в общем, не забивай себе голову, иди еще дунь, может отпустит от идеи "соцсети"
Аноним 27/04/15 Пнд 11:17:15 #424 №469397 
>>469393
Я и не писал что "дунуть с корешами", и все появится, вообще мне уже достаточно ответили и я укатываюсь. Тем более что мы поднимаем темы далекие от темы треда
Аноним 28/04/15 Втр 08:44:47 #425 №470020 
14301998879720.png
Аноны, у кого-то была такая хуйня?
Просто вылазит поверх всех экранов, ставил 3 антивируса, никто ничего не нашёл.
Приложений сторонних вообще не устанавливал, откуда это говно могло взяться?
Аноним 28/04/15 Втр 09:34:09 #426 №470037 
>>470020
Скачай эмулятор консоли на андроид или зайди через adb shell и через команду ps посмотри список процессов, может чего и найдёшь. Если погромизд, то можешь сделать простую программу с сервисом и посмотреть, что за пакет в форегроунде.
Аноним 28/04/15 Втр 11:41:57 #427 №470070 
14302105170300.png
Новая лекция, ананасы.
Судя по всему, ведет пират
http://learndroid.e-legion.ru/lessons/6
Аноним 28/04/15 Втр 13:41:20 #428 №470102 
Анонцы помогите, не пойму как реализовать:

Есть ViewPager, в нем 12 вкладок. Внутри 12 одинаковых фрагментов, в каждом фрагменте ListView.
Нужно сделать так, чтобы при пролистывании данные в списке фильтровались.

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

Я подозреваю, что надо каким-то образом создавать свой список для каждого фрагмента, но не пойму как
Аноним 28/04/15 Втр 13:48:05 #429 №470105 
Какие годные фреимворки юзаете? Какие мастхэв, а какие для души?
Аноним 28/04/15 Втр 19:43:06 #430 №470281 
>>470102
У тебя есть главная активити. На ней 12 фрагментов.
Можно кучей способов делать.
Если список есть в главной активити.
1)Из нее легко можно передать список в любой из фрагментов.
2)Из любого фрагмента можно вызвать гетАктивити и приводить тип явным преобразованием к МайАктивити где можно достать все паблик методы активити. Аналогичную штуку можно делать через интерфейс чтоб более ентерпрайзно было.
Если списка в активити нету, то он по-любому где-то хранится. Просто в конструкторе фрагмента вытаскиваешь данные из бд или чего либо и сортируешь, в листадаптер засовываешь уже отсортированые данные.
Аноним 28/04/15 Втр 20:56:12 #431 №470358 
Доставьте пожалуйста стрелку в material design, как на этом пике: https://2ch.hk/pr/src/457759/14301170120431.png
Искал - везде только для holo.
Аноним 28/04/15 Втр 21:46:20 #432 №470382 
Аноны, подскажите, как ебануть прячущийся ActionBar по скроллу ListView?
Пытался сделать используя последний видимый элемент, получается какая-то дёрганая хуйня
Аноним 28/04/15 Втр 21:47:08 #433 №470384 
>>470281
Эти 12 фрагментов в еще одном фрагменте.
Но идею я понял, спасибо!

Кстати, не знал что можно юзать методы активити из фрагмента, без колбэков
Аноним 28/04/15 Втр 22:48:52 #434 №470408 
Анон, задолбало делать хэллоу ворлды, скажи, что такое можно набыдлокодить до лета, чтобы скил поднять
Аноним 28/04/15 Втр 23:02:30 #435 №470421 
>>470408
Игру напиши простую, тетрис там.
Или тюнер гитарный
Мандельброта
Проекты на неделю может
Аноним 28/04/15 Втр 23:04:39 #436 №470422 
>>470408
Классика - клиент для сосача
Аноним 28/04/15 Втр 23:39:04 #437 №470438 
>>470384
Если не ошибаюсь, колбек как раз таки и выполнял бы методы активити, один хуй как делать.
Аноним 28/04/15 Втр 23:55:48 #438 №470448 
>2) Android Studio & Java - единственный легитимный набор.
А qt + qt creator чем не подойдет?
Аноним 28/04/15 Втр 23:59:44 #439 №470451 
>>470448
Ты бы еще Xamarin предложил
Аноним 29/04/15 Срд 01:06:12 #440 №470473 
>>470382
Помню, для такой хуйни пилил костылик. Был сложный листенер, который при скролле отслеживает перемещение центрального дочернего элемента, на основе этих данных расчитывалось реальное смещение в пикселях. Эти данные уже использовались в Атрейдес дальнейшем. Попробуй также с сделать.
Аноним 29/04/15 Срд 08:56:42 #441 №470526 
>>457759
> 3) Xamarin -для богатых и ебанутых виндовсопоклоников, медленно и невыгодно, но на шарпах.
Тут можно по подробнее? Я вообще-то думал обмазаться ксамарином в недалеком будущем.
И почему для богатых? Он же бесплатный вроде как. Платное там только ихнее облако для тестирования, которое нахуй никому не упало.
Аноним 29/04/15 Срд 09:08:23 #442 №470530 
>>470408
Клиент для сосача с push уведомлениями о новых постах треда на который подписалмсь.
Аноним 29/04/15 Срд 09:10:01 #443 №470531 
>>470526
Самый оптимальный вариант по объему кода - Scala.
Аноним 29/04/15 Срд 09:43:08 #444 №470541 
>>470473
Обычный гуглплеер так работает, если скролить через боковой бигунок, оно криво отображает анимацию. Думаю там сделанно также.

>>470530
>push уведомлениями
И как ты это делать планируешь?
Чтоб получить пуш через гуглмеседжинг нужно для начала ему запрос отправлять. А это уже работа ббекенда.
Аноним 29/04/15 Срд 11:26:37 #445 №470579 
14302959974160.png
Пытаюсь решить очередной вопрос мироздания: как представить допизды иерархической информации на девайсе, а точнее на 1 экране?

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

Еще одна хитрость: дерево имеет динамические элементы, к примеру, у каждого конечного элемента (текста) есть ветвления вроде "референсы на этот элемент", "куда мы ссылаемся", или даже какие-то обработчики вроде "найти сравнения". Можно даже пойти дальше - каждая строка - отдельный элемент и из него могут расти новые элементы, к примеру, нажал на "СССР" - вылез сниппет про него.

Собственно, вопросов 2:
1. как это сделать
2. чем это сделать? (создать свой адаптер и ебать обычный лист?)

Пример с вики вымышленный, сюда можно подставить что угодно, хоть коллекцию музыки, хоть сборник кулинарных рецептов. Не уверен что сюда, но создам отдельный тред если нет.
Аноним 29/04/15 Срд 11:28:02 #446 №470581 
>>470541
>И как ты это делать планируешь?
Так ГЦМ же только для разгрузки своего сервака, когда у тебя 10 000 000 активных юзеров.
Раз в минуту шли запрос и смотри на кол-во постов - появились новые - покажи уведомление.
Аноним 29/04/15 Срд 11:34:53 #447 №470584 
>>470382
Сейчас сделал так: https://gist.github.com/anonymous/779f6c8d874931fa6403
Просто скрываю toolbar без анимации. Главное функционал, анимацию позже прикручу.
Аноним 29/04/15 Срд 11:39:49 #448 №470586 
14302967893160.jpg
>>470473
Поделись костылем, хотет сделать для тулбара такую фигню.
Аноним 29/04/15 Срд 12:17:25 #449 №470602 
>>470020
Говно могло сидеть в заводской прошивке, или придти с чем-то "не левым", наверняка какую-то игрушку с маркета поставил. Или кто-то из семьи это сделал, например, зайдя на трояненый сайт.

В настройках разработчика поставить отображение процессов, когда гадость появится - поелозить быстро пальцем, в самом верхуй увидишь имя этой гадости. Далее, как уже сказали, через adb shell pm uninstall _имя_ эту гадость удоляем. Если оно системное, то придется перемонтировать системный раздел (нужен рут в adb)
Аноним 29/04/15 Срд 12:27:05 #450 №470605 
Посоветуйте либу для выполнения синхронных Http запросов.
Нужно делать запросы в БД, потом делать 10 запросов последовательно, далее снова с БД работать.
Аноним 29/04/15 Срд 13:00:43 #451 №470632 
>>470579
Посмотри ExpandableListView.
Аноним 29/04/15 Срд 15:16:15 #452 №470696 
>>470605
retrofit для http-запроса с коллбэками + android bolts для многопоточности с вменяемыми коллбэками.
Аноним 29/04/15 Срд 15:18:01 #453 №470698 
>>470581
Ну хуй знает, так сделать можно но звучит нехорошо, вешать сервис и самому слушать говноидея.
Аноним 29/04/15 Срд 15:57:59 #454 №470720 
>>470632
Он ведь одноуровневый? Сотни тысяч (суммарно) строк в него не сунуть?
(правда я не знаю, стоит ли совать сразу все 100к строк, или подгружать при кликах юзера)
Аноним 29/04/15 Срд 16:00:23 #455 №470723 
>>470720
Вроде бы можно сделать многоуровневый ExpandableListView. Псмотри решение здесь: http://stackoverflow.com/questions/17772348/multi-level-expandablelistview-in-android
Аноним 29/04/15 Срд 16:05:37 #456 №470725 
Как гуглить инфу про создание экрана - помощи по интерфейсу? Когда затемняется вся область экрана, выделаются отдельные элементы интерфейса и появляются подсказки - какой для чего?
Аноним 29/04/15 Срд 16:09:16 #457 №470726 
>>470725
Ухты! нашел:
https://github.com/amlcurran/ShowcaseView
Аноним 29/04/15 Срд 19:01:41 #458 №470818 
>>470531
Ты постом ошибся? При чем тут блять скала?
Аноним 29/04/15 Срд 19:14:16 #459 №470826 
Помогите, посоны, что-то нагуглить не могу. Можно ли как-то в спиннере выпадающем списке связать позицию с определенным значением? Типа будет список "Кошка, Собака, Мышь", если выбрали кошку - х=10, если собаку - x=25 и тд. Что-то лучше, чем последовательность if есть же?
Аноним 29/04/15 Срд 19:39:07 #460 №470842 
Аноны, завтра собеседование на позицию Андроид Джуна, посоветуйте к каким вопросам готовиться?
Что вообще обычно задают на таких собеседованиях?
Аноним 29/04/15 Срд 19:47:09 #461 №470847 
>>470842

лайфцикл активити. фрагменты, интеты
Аноним 29/04/15 Срд 20:08:14 #462 №470856 
Суп двач я решил писать вирусняк и всякий нехороший софт под android в этом треде будет мой блог.

_
Аноним 29/04/15 Срд 20:18:35 #463 №470862 
>>470847
Ну это же базовые знания, даже мои гопо-одногруппники знают ответы на эти вопросы
Аноним 29/04/15 Срд 21:28:11 #464 №470887 
>>470826
Map<String, Integer> или Map<Integer, Integer> если по номеру.
Аноним 29/04/15 Срд 21:28:40 #465 №470889 
>>470862
Чем абстрактный класс отличается от интерфейса.
Аноним 29/04/15 Срд 21:30:52 #466 №470891 
>>470889
Блять, ну тоже ж хуйня.

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

Есть ли такие коварные вопросы в андроиде? Я недавно вкатился в разработку
Аноним 29/04/15 Срд 21:33:07 #467 №470892 
>>470891
Где ты вакансию на джуна нашел? На hh одна только.
Аноним 29/04/15 Срд 21:43:17 #468 №470900 
Есть перспективы разработки приложений на андроид в делфях?
Аноним 29/04/15 Срд 21:43:55 #469 №470901 
>>470900
Есть инфа, что только для себя.
Аноним 29/04/15 Срд 21:44:21 #470 №470902 
>>470900
У делфи нет перспектив, прости.
Аноним 29/04/15 Срд 21:45:01 #471 №470904 
>>470891
Про адаптеры поясни.
Аноним 29/04/15 Срд 21:55:44 #472 №470909 
>>470904
А че про них пояснять? Есть BaseAdapter, исследуешься, мутишь вьюхолдер в getView и в продакшн.
Аноним 29/04/15 Срд 22:18:26 #473 №470920 
>>470909
> Значит ListAdapter вы не используете, ясно понятно
так мне ответили
Аноним 29/04/15 Срд 22:27:12 #474 №470925 
>>470920
Нинужен. Всегда удобней от базового наследоваться, больше контроля и возможностей к дальнейшему пердолингу.
Аноним 29/04/15 Срд 22:30:16 #475 №470928 
>>470925
Вот только собеседующие меня так не считали. К ним я не попал работать, а попал в тырпрайз, так что выяснить, кто прав не получилось.
Еще вопрос: есть REST сервис, отдаёт коллекцию объектов в JSON, опиши как будешь писать приложение, которое их получит и отобразит.
Аноним 29/04/15 Срд 22:38:10 #476 №470935 
>>470928
Здесь я собеседование и проебал.
Конкретно с рестом хз, но вангую запилить контент провайдер с бдшкой, сервис в который закидывать асинк таски.
Но думается мне, что на всякие контент провадеры можно забить, распарсенные объекты хранить в памяти, а грузить также асинктасками в сервисе.
Аноним 29/04/15 Срд 22:53:07 #477 №470955 
>>470935
Да всё нормально говоришь
На джуна прошел бы. Я на миддла собеседовался.
Гит знаешь? Мэйвен?
Аноним 29/04/15 Срд 22:55:07 #478 №470957 
>>470955
Гит из под гуев, лол.
Аноним 29/04/15 Срд 22:58:25 #479 №470959 
>>470957
Посмотри maven минимально, будет плюсом
Еще есть ant.
Это нужно, когда в комманде используются разные IDE
Паттерны какие использовал?
Аноним 29/04/15 Срд 22:59:50 #480 №470961 
>>470957
А нет, подожди, для Android ведь gradle используется в основном, его смотри, не maven
Аноним 30/04/15 Чтв 00:47:36 #481 №471012 
>>470961
Maven тоже все еще юзают. Не смотри. Ant
Аноним 30/04/15 Чтв 00:55:58 #482 №471014 
>>470928
Если сложная структура ответа - распарсю при помощи Gson в 2 строки, если очень простая - через встроенный парсер. Асинхронные хттп запросы - через либу loopj или если очень надо - urlconnection в асинктаске.
Хранить не надо, надо только отобразить- ну ок, отображаем значит.
Аноним 30/04/15 Чтв 00:59:08 #483 №471015 
>>471014
Наверное какой-то такой ответ от меня ждали)
Аноним 30/04/15 Чтв 03:48:04 #484 №471058 
>>471014
Чем гсон лучше штатного?
Аноним 30/04/15 Чтв 06:16:44 #485 №471061 
14303638043650.jpg
6 Мая на курсере стартует первый набор лекций для программирования под андроид. Курсы от университета Мэрилэнда. Это часть специализации "облачные приложения под андроид". Вот ссылка:

https://www.coursera.org/course/androidpart1

Домашка каждую неделю. В конце 5 недельного курса - небольшой проект. После каждой лекции набор тестов. Все на английском, есть английские субтитры. Программа бесплатная. За 50 бакинских можно получить бумажный сертификат об успешном прохождении, если пройдете. Длинна каждой недельной лекции час-два. Не помню точно. Курс не совсем для новичков, если нет базовых знаний в программировании, знаний явы и андроида то ничего хорошего не получится. Я пытался проходить осенью но забил из-за сложности и занятости. Тогда они рекламировали себя тем, что топ-10 студентов смогут подать свое резюме в HR-отдел Amazon. Плюс там была лекция от гостя, в которой они показывали как использовать Amazon API. Дерзайте кароч.

С критикой курсеры или этого курса на этот пост не отвечайте. Мое дело донести эту инфу до тех кому это интересно. Пишите сюда те кто планирует проходить, будем координироваться.
Аноним 30/04/15 Чтв 06:45:22 #486 №471066 
Подскажите как сделать красиво.

Есть лайаут с сикбаром и несколькими текствью. Используется много так что я сделал свой класс расширяющий LinearLayout. Сейчас мне надо сделать тоже самое для Preference и собираюсь расширять DialogPreference. Но там будет буквально все тоже.

Копипастить? Или кинуть мою готовую вьюху в новый лайаут и уже из него делать класс расширяющий DialogPreference?
Если второе то как передать атрибуты которые опишу в preferences.xml в мою вьюху?
Аноним 30/04/15 Чтв 08:13:43 #487 №471070 
>>470955
А нахуя нужно знать Мавен, когда вся андроид разработка перебралась на православный Gradle который в себе уже содержит сборщик Ant ?
Аноним 30/04/15 Чтв 08:23:57 #488 №471074 
>>471061
Планирую. Поправочка: если смогу достать 50 баков.
Аноним 30/04/15 Чтв 08:32:19 #489 №471075 
>>470579
Допизды - это сколько? Если на верхних уровнях инфы немного - можешь замутить NavigationDrawer - ActionBar - Табы. Внутри табов - уже списки. Но тут зависит от конкретной задачи, такой способ может просто быть не самым удобным. А вообще, на одном экране даже то, что на пике, в ведроиде представлять не стоит, ибо для маленьких экранов это в любом случае будет вырвиглазо-неудобно
Аноним 30/04/15 Чтв 09:17:06 #490 №471087 
>>471058
При помощи штатного можно описать структуру json документа при помощи классов?
Аноним 30/04/15 Чтв 09:29:31 #491 №471090 
>>471087
JSONArray
JSONObject

Вот такие классы есть, для работы с JSON, в принципе если данных немного, то можно распарсить их без проблем
Аноним 30/04/15 Чтв 09:30:02 #492 №471091 
>>471087
Описать не сможешь, но что тебе мешает ебануть POJO объект и его заполнять?
Аноним 30/04/15 Чтв 11:00:54 #493 №471117 
>>471091
Расскажи подробнее.
>>471090
Gson может вот так. Причем класс Albums можно сгенерить, если есть образец ответа в JSON и не писать вручную.
http://www.studytrails.com/java/json/java-google-json-parse-json-to-java.jsp
Аноним 30/04/15 Чтв 11:09:58 #494 №471121 
14303813982680.png
>>471075
Допизды - это до 4 000 000 000 элементов (реально конечно меньше), текстовый файлик с инфой весит до 100-150 метров (по разному). Если свернуть на один уровень, то примерно до 50 000 элементов остается. Следующий уровень свертки - от 10 до 100 элементов. Потому в табах делать первый уровень - плохая идея.

Аноним 30/04/15 Чтв 16:05:24 #495 №471204 
Анонцы поздравьте, прошел собеседование на позицию Андроид Джуна
Аноним 30/04/15 Чтв 16:08:55 #496 №471207 
>>471204
И кстати, это первое моё собеседование, на котором персонал вёл себя по-человечески и без высокомерия
Аноним 30/04/15 Чтв 16:10:44 #497 №471211 
>>471204
Поздравляю.

Как блять завставить апликуху послать запрос на сервер до того как она вырубиться любым из возможных вариантов. Ондестрой нихуя не пашет при закрытии через боковой свайп.
Аноним 30/04/15 Чтв 16:15:35 #498 №471220 
>>471211
Сделай IntentService, в OnDestroy активности стартуй и передавай что надо
Аноним 30/04/15 Чтв 16:26:43 #499 №471240 
>>471220
Ты уверен что при закрытии с диспетчера задач или как там оно называется срабатывает ондестрой? Оно либо не дебажится либо я хз.
Аноним 30/04/15 Чтв 16:52:18 #500 №471290 
>>471240
Ой, в onPause ебашь.
onPause 100% вызовется
Аноним 30/04/15 Чтв 17:13:08 #501 №471314 
14304031884730.png
>>470579
Аноним 30/04/15 Чтв 17:21:33 #502 №471327 
>>471211
> при закрытии через боковой свайп.
И не будет. Это убивает процесс, ты ничего не успеешь сделать.
Единственный вариант - фореграунд сервис.
Аноним 30/04/15 Чтв 17:35:03 #503 №471344 
>>471327
onPause же сработает
Аноним 30/04/15 Чтв 17:55:10 #504 №471354 
>>471314
Точно, пожалуй так и сделаю. Спасибо!
Осталось понять как такое сделать в ведре, но это уже детали.
Аноним 30/04/15 Чтв 18:24:08 #505 №471377 
>>471344
onPause не значит, что приложение закрывается.
Аноним 30/04/15 Чтв 18:50:54 #506 №471398 
>>471074
Не обязательно платить. Можно просто курс пройти и получить сертификат на почтовый ящик в виде пдф-файла. За 50 приглют отпечатанный на принтере с какими-нибудь печатями. От него толку никакого. Главное знания и практика.
Аноним 30/04/15 Чтв 19:02:33 #507 №471408 
>>471290
Думал делать через онПауз и онРезюм, но это будет хуево влиять на логику работы сервиса сервиса в смысле проекта.
>>471377
Двачую.
Как вообще с девайса дать понять бекенду что я не в онлайне?
Аноним 30/04/15 Чтв 22:58:59 #508 №471478 
>>471314
Всегда охуевал с тайлящегося скроллбара в макоси. Какой же он мерзкий.
Аноним 30/04/15 Чтв 23:00:45 #509 №471480 
>>471204
Расскажи что спрашивали.
Аноним 30/04/15 Чтв 23:20:58 #510 №471486 
>>471480
И сколько у тебя приложений в маркете на сколько строк кода.
Аноним 30/04/15 Чтв 23:26:23 #511 №471487 
>>471204
Давай рассказывай куда устроился, сколько зп, какой опыт был на момент прохождения интервью, где учился, сколько раз проходил интервью.
Аноним 02/05/15 Суб 02:48:37 #512 №471965 
Хоспади как же у меня бомбит от гугловых дев.тулзов.

Кроссплатформенный разработчик ИГОР (ios, android, wp), весь тулсет андроида - галимая забаженная свалка.

Google Play Game Services вообще ебанутые аутисты писали.

Спасибо Apple и MS что они не такие же тугосери.
Аноним 02/05/15 Суб 09:47:03 #513 №472023 
>>471965
Unity пробовал?
Аноним 02/05/15 Суб 10:05:30 #514 №472027 
Что про интуитовские лекции скажете?
https://www.youtube.com/watch?v=7__Z0Tjwcxw&list=PLDrmKwRSNx7JzAg2jBnSmMJA74dt2ijFw
Аноним 02/05/15 Суб 16:48:47 #515 №472228 
Господа, есть тут кодописатели под Юнити?
Аноним 03/05/15 Вск 15:04:06 #516 №472671 
>>472027
Устарели. Но полезные вещи ты для себя узнаешь.
Аноним 03/05/15 Вск 20:53:59 #517 №472859 
ПЕРЕКАТ
>>472857
>>472857
>>472857
>>472857
>>472857
>>472857
ПЕРЕКАТ
Аноним 03/05/15 Вск 20:58:48 #518 №472860 
>>470421
>>470422
>>470530

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

а с музыкой я совсем не знаком лол

клиент для сосача - это, конечно хорошо, но не думаю, что это можно закинуть в портфолио
Аноним 03/05/15 Вск 23:27:42 #519 №472934 
>>472023
На нём и пишу.
Аноним 04/05/15 Пнд 02:33:02 #520 №473040 
14306959828190.jpg
Антуаны, как называется фича, например в гугл маркете или телеграме, которая выползает при проведении пальца от левого края экрана.
я затупок походу. хочу себе такую же накодить
Аноним 05/05/15 Втр 22:04:12 #521 №474118 
>>473040
Dashchan
comments powered by Disqus