Ну нихуя ж себе, они релизнули вторую студию, теперь ждем бекпорта джавы 1.8.Предыдущий тред тут:https://2ch.hk/pr/res/704022.htmlКоротко о главном:1) Мобильная разработка - это весело.2) Android Studio & Java - легитимный набор, проверенно временем и поддерживается гуглом.А также о неглавном:3) PhoneGap/Ionic/Titanium/ReactNative - имя им javascript, принципы у них разные, первые три попытка в кроссплатформенность одного кода, ReactNative проповедует другой подход, а именно написание разного кода но на одном языке. Популярность у них разная как и размер комьюнити.4) Xamarin - мультиплатформенная разработка. Попытка серебряной пули на C#. Довольно популярный. Куплено Microsoft. Хз что будет дальше.5) RoboVM - идейный наследник ксамарина, а теперь уже и его часть но на Java. Менее популярен, так как моложе. Куплен Microsoft. Вот он точно RIP.Отдельного упоминания стоят:1) Kotlin - Java от JetBrains, новый и стильный язык, куча синтаксического сахара прилагается, есть стримы и делегаты. Хотите писать на котлине? Добро пожаловать в JetBrains и Avito.Где брать инфу:Интернет-ресурсы1) http://developer.android.com/index.htmlНаша библия. Документация/небольшие примеры/гайды. Но только на инглише, но это плюс. Минус в том, что это все таки документация с небольшими примерами и гайдами и искать там реализацию чего-то хоть немного сложного нету смысла. Раздел Training как раз для старта.2) http://stackoverflow.com/Пользуюсь чаще чем первым сайтом. Можно найти практически все.3) Есть два вполне вменяемых русскоязычных ресурса. Для старта подходят очень даже.http://startandroid.ru/иhttp://developer.alexanderklimov.ru/android/Второй еще и условно бесплатный. Главный плюс - это русский язык, простые гайдики, но переводы классов иногда заставляют фейспалмить.4) http://habrahabr.ru/ - редко но метко, можно найти годные статьи по каким-то реализациям, или переводы с developer.android. Хотя чего тут объяснять.5) https://www.udacity.com/ - в треде очевидцы говорили что есть годный курс, но я лично не смотрел.Книги, их никто не читает, но все советуют только одну1) The Busy Coder’s Guide to Android Development - в отличии от остальных книг она обновляется, а так как ведро не стоит на месте а хуярит семимильными шагами, то я бы и не советовал другие книги.А теперь, так как заебали уже всех, гайд для:>"Я хуярил на делфи 5 лет назад а теперь хочу вкатится в андроид":Чтоб быстро хоть как-то вникнуть в джаву берешь и гуглишь javarush или codingbat.com.Можно Эккеля "Философия java" почитать.Или Хорстманн "Java. Библиотека профессионала" до 7 главы.Что тебе нужно понять в самой жабе.Энтри лвл.1) ООП - сам принцип нужно именно понять, так как ооп язык.2) Типы данных. Примитивы и ссылочные.3) Структуры данных - Массивы/коллекции - без них никуда. Полезно почитать про алгоритмы работы коллекций и их сложности.4) Дженерик типы, они как раз юзаются в коллекциях.5) Классы/интерфейсы и все вытекающие.Уже можно быдлокодить потихоньку и учить андроид параллельно с тем что ниже.Дальше6) Потоки ввода/вывода (streams). Не путать с тредами(threads).7) Threads, особо не нужно вникать(в java.util.concurrent можно не лезть, в ведре все равно особо не пригодится), но нужно понять как работает многопоточка и что такое Runnable.8) Прочитать про паттерны что-то. Начать с listener, adapter, singleton, iterator так как на каждом шагу. Ну и по накатанной.Уже сделаешь что-то нормальное.Дальше.9) Работа с Sqlite, нужна будет в любом случае.10) Работа с json.Привет клиент-серверка.Пишите в треде что добавить.
Есть два вьюпейджера, один(вертикальный) находится в другом(горизонтальный)как настроить тоучлистенеры чтобы при скроле влево-вправо листался горизонтальный вьюпейджер, а при скроле вверх-вниз - горизонтальный ?и хотелось бы немного разяснений услышать про onInterceptTouchEventПомогите разобратсья плз.Уже наверное 4ый день бьюсь (Вертикальный вьюпейдер развернут через текст трансформпейдж. И ловится движение по горизонтали и меняются координаты(пикча).Можно ли в этом интеррупте вылавливать движения по горизонтали и отдавать их как то вьюпейджеру родителю(горизонтальный) ?
>>714037Да похуй всем на твои вложеные виьпейджеры, нагородил какой-то изврат, а мы должны разбираться.А мне вот надо делать новый пост про Kotlin, но мне лень :|
Как блять джаву быстро подтянуть, чтобы можно было после работы приходить и задрачивать. На работе пишу код на андройде, по джаве нихуя толком не умею делать, общий опыт программирования курсы пол года и все
>>714051Что ты там подтягивтаь собрался? Пиши свой бекенд на спринге, так подтянешь.
Выручайте братцы, как собрать этот мультидекс, получаю вот такую бяку, когда пытаюсь собрать проект под pre-Lollipop:Error:Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded (9 times)Error:Error converting bytecode to dex:Cause: java.lang.RuntimeException: Translation has been interruptedError:Execution failed for task ':app:transformClassesWithDexForProdDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2Как вылечить, отсыпать больше памяти, где?
>>714056я о спринге только слышал, написание кода у меня сейчаст это задрачивание людей на двачах, в жизни и стаковерфлоу. Я в ООП даже не могу нормально
>>714058Тогда как пишешь на андроиде? Говно какое-то? Тогда иди проходи курсы на курсере и юдасити для совсем днищ.
>>714059Курсам благодаря и пишу научился там всякой хуйне. Но юдасити годное только про разметки, про код вообще полную хуйню несут мне не нравится
>>714042покажите хотябы как регулировать тоучлистенер если во вьюхе есть другая вьюха
>>714057>OutOfMemoryException>это же очевидно как это решить нужно дать системе еще пару гигов памяти!!!!Как хорошо что есть куча индусов с такими же проблемами.
Устанавливаю андроид студию под линукс, гляньте что он хочет
>>714098Какая жаба стоит? Какой дистрибутив? И да, кажется он не может найти X Window System, скочай через свой менеджер пакетов.
>>714107Дебиан
>>714107Кеды юзаю, есть еще гном
>>714107ОпенЖДК
>>714114>>714113>>714110Вы че там охуели, или ты один человек?1) Поставь нормальную 8 с сайта оракла, могут быть траблы;2) У меня на убунте все было ок сразу, иди нахуй;3) Пошурши что за x11 такой, установи;
>>714116Да это я, кек
>>714098Прыщеблядки соснул :)
В тред врывается абсолютный НОЛЬ! И буду задавать вопросы. Есть 1 кнопка. Надо сделать из нее картинку. Но так чтоб без имэйджботтон. Как сделать ?
>>714141Нет, я не сосал, я покушать принес
>>714144android:backgroundsetBackground(...)
>>714144почему имеджбаттон нет?На любой или почти любой вью можно прописать onClick
>>714144Просто делаешь ImageView, а на него уже цепляй обработчик.
>>714150>>714149Я уже просто примотал к ней функций. И не уверен что смогу написать их снова.
>>714152Подумой, не нужно фиксироваться на Button, очень вероятно что все действия что ты к ней прицепил будут работать и с обычным View. не нужно себя ограничивать понапрасну. На краняк можешь прицепить Drawable через setCompoundDrawable
И никто не хочет сделать самое простое приложение по доставке. Типо новой почты без прибамбасов. Тупо чтоб вход и описание?
>>714157Сложно. Пойду погуглю. Спасибо.
>>714060А шапка тебе не подходит?
>>714158Заплачу!
>>714174Понятно что заплатишь, лол.
>>714051Твой пост просто надо в красную рамочу и сохранить.Что бы потом тыкать всяких "знаю наизусть java core, есть 5 приложений в GP, сделал 100 тестовых заданий"и при этом не могу устроится даже стажерами за еду.А такой долбоеб как ты, уже деньги получает за свой говнокод, не знаю даже джавы.
>>714152просто где объявляешь вью и кастинг на баттон делаешь, меняешь на имеджвью
>>714184да хуле я долбаеб я никогда кода не писал, пол года на курсы походил и все, это может они долбаебы)
Кто сделает за деньги приложение?
Подскажите пожалуйста, как ввести систему учетных записей. Чтоб по логину и паролю можно было только войти.
>>714367Войти куда? И где регистрироваться? И что вообще ты хочешь? Подробнее распиши, что ли
Люди, хочу управлять процессом закрытия приложения. Не чтоб нажал back и ждешь пока система соизволит, а чтоб ткнуть exit и все уверенно потухло (тушение своих сервисов я к этому приобщу). Гугл говорит в основном или "нахер оно тебе надо, пусть система все делает сама", или советуют finish, или killProcess. Первый вариант не устраивает оченьВторого пробовал достичь через static boolean exitOrder, который по нажатию задается, а потом во всех Activity в onResume { if(exitOrder) finish(); }. В результате оно выходит из всех в backStack, из корневого, процесс остается висеть, флажок, соответственно, тоже, и открыть прогу уже нельзя. Херня, корочеА после killProcess приложение считает, что ее насильственно убили, это как-то непорядок и надо ее восстановить (как я понял из гугла). Восстанавливает, и она вылетает по еще одной херне, но это уже другая история.Короче, что тут можно сделать?
>>714377Допустим, у сервисов есть флажки, которые говорят воскресать ему или нет. Может у Activity тоже что-то такое? Очень хочу, чтоб дохло по взмаху руки, и уже не вставало без команды
>>714377Зачем?
>>714367Используй Google OAuth (авторизация по гугл аккаунту телефона), в android это из коробки.
>>714144> В тред врывается абсолютный НОЛЬ! И буду задавать вопросы.> Есть 1 кнопка. Надо сделать из нее картинку. Но так чтоб без имэйджботтон. Как сделать ?В первую очередь ты ноль в умении формулировать вопросы. Уёбывай отсюда и не возвращайся, потому что как только ты научишься, тебе будет достаточно гугла для твоих энтрилевельных вопросов.
>>714184Откуда вообще такие проблемы с трудоустройством? Я сам не пытался ещё никогда, так что интересно будет послушать.
>>714166да подходит шапка, но нудно в реактивном темпе все это усвоить. Думал может еще кто что подскажет
Аноны, кто знает че и как ? Сохраняю объекты, что потом достать иъ и восстановить в listview но никак не получается это сделатьВот как сохраняю:http://pastebin.com/DSfFFyEDВот как достаю это:http://pastebin.com/gcH3MewBКак теперь построить listview заново?
>>714467Че это за говно? Нахуя ты в синглтон сохраняешь?
>>714468не в синглтон, смотри внимательнее
Вкатывайтесь в телеграм конфу, помощь 24/7.https://telegram.me/AndroidChan
>>714385На самом деле, такое у меня ТЗ. Но в целом, я не могу понять почему в том же ВК 2.7 это заросто сделали, как и в куче других приложений с кнопкой выхода, а мне, значит, система запрещает. Не может быть, чтобы это было нельзя сделать
>>714472Я напримре нигде не видел что бы так было. Расковыряй приложение где такое видел.
>>714473чем можно нормально расковырять приложение?
>>714473Opera mini 7.6.40234jasmine IM 5.5.1ВК 2.7.6Да, конечно, сейчас совсем не модно пилить кнопку выхода, так что нигде и нет. А с меня требуют поддержания этой старой традиции
>>714474Да куча тулзов, вот например:http://ibotpeaches.github.io/Apktool/
>>714467> никак не получается это сделатьНафиг ты этот код скинул, я так понимаю в нем ошибок нет?Как ты листвью изначально строишь?
>>714485adapter = new ListAdapter(getApplicationContext()); buttonsListView = (ListView) findViewById(R.id.customListView); buttonsListView.setAdapter(adapter);Вот так
>>714486Бля, а где дата из адаптера? Или она по дефолту строится?
>>714489>>714485>>714468Какие люди нервные, кошмар
>>714377Попробуй Activity.finishAffinity(...)
>>714489вот такhttp://pastebin.com/euUyXYtB
>>714492>MySingleton.getOurInstance().getButtonToNotifications()За такое убивают нахуй.
>>714500Да че ты доебалсяб либо говори как правильно делать либо не пизди.
>>714505Что правильно, ты лучше скажи что ты там вообще делаешь? Потому что лично мне понятно нихуя, какие-то кнопки в синглтоне, ты там крокодилом ставишься?>MySingleton.getOurInstance().getButtonToNotifications()Вот что это такое, какой у этого тип?>SpinnerAdapter внутри ListAdapterНет ты точно ебанутый, почитай как делать свой адаптер.
>>714032 (OP)Подскажите, реально ли разрабатывать под ведро на мелком ноуте типа http://ogo1.ru/market/noutbuki/158030-Lenovo-IdeaPad-100-14IBY-N3540?sample=денег вообще нет, разрабатывать очень хочется, осваивать там пока в метро еду, вот это все.
>>714510Динамическое создание кнопок и добавление их в увидомление делаю. Спиннер адаптер отдельно лежит. С чего ты вообще взял что он внутри
>>714511накатываешь линукс минт и можно делать небольше проекты, но лучше 4 гб оперативы
>>714511Ебать конские цены за это говно.
>>714515Ну так а сайт как называется?
>>714512Динамическое создание кнопок? Ты там реально объёбаный.
>>714517а хуле тебе не нравится?
>>714511> на мелком ноуте> 14''Я вообще на 13'' макбуке работаю 80% времени и мне норм.Память только прокачай до 4 хотябы
>>714517Если у него реально такая задача, то почему бы и нет? Ему, предположим, приходит конфиг с сервера, какие кнопки показывать с каким текстом и условный идентификатор того, что эта кнопка делает.
>>714032 (OP)ОП-хуй, куда лоли дел?
>>714525Ты на макбуке работаешь, а там днище.
>>714531Долбоёб в треде, все на Asus
>>714533хех
>>714032 (OP)пацаны хелпанитепри работе в студии на диске С создаются несколько файлов по 2 ГБ из-за чего система жутко тормозиткак это фиксить?знакомый разраб посоветовал юзать эмулятор genymotion, потому что дефолтный эмуль в студии у меня пизда как лагалкто пользуется этим и может пояснить за эту штуку?
>>715052и че при попытке написать просто ответ мне пишет, что капча невалидна?
>>715052SSDИ еще новый эмулятор вроде четкий. Ну мне так показалось.
>>714476> Да, конечно, сейчас совсем не модно пилить кнопку выхода, так что нигде и нет. А с меня требуют поддержания этой старой традицииТупо делай finish и всё. В тз ведь не сказано, чтобы процесс убивался?
>>715266Сказано... Чтобы убивалось и приложение и сервис
>>715267Это не равно убийству процесса. Делай finish и останавливай сервис, вот и всё.
>>715268Ну сервис я закрывать умею. Просто тут в чем разница. Можно нажать просто назад и получить свой finish. Приложение немного повисит, сервис останется жить и будет воскресать. А есть кнопка exit, которая должна оправдывать свое наличие, все тушить, чтоб убирать все бесследно
>>715269По кнопке ты делаешь finish + остановку сервиса, что тут непонятного-то?
>>715272Не, это понятно. Просто кнопка должна быть чуть убойнее, чтоб приложения след простывал
>>715273Да ты заебал, сделай уже system.exit(0)
>>715274пробовал
>>715273Блядь, от тебя этого никто не требует. Требуется закрытие приложения и серивиса. Никто в здравом уме не заставит тебя убивать процесс приложения, тем более в 2016.Выдумал блядь себе задачу и ебёт мозги всему треду теперь.
>>715277В здравом уме, ключевое слово
>>714530Не заметил.
Есть файл в вебе формата CSV.Представляет из себя простую таблицу с двумя столбцами из слов.Выглядит как-то так:кококо покпоккопко логорВопрос:как это парсить и занести в приложение? Оно должно само скачивать этот файл и заносить куда-нибудь (массив, стринг, это уже не важно).
>>715440Берешь и просто без задней мысли скачиваешь и парсишь.Гугли как скачивать файлы, парсить csv и д.р.
>>715440Тебе нужен: ICSVParser csvParser = CSVParserFabric.createCSVFileParserInstance();ICSVDocument doc = csvParser.parseFromURL("2ch.hk");
>>715440Кажется это работа для Kotlin-man.Вот так, легким движение руки, у тебя получается список из кортежей (ключ, значение):[(кококо, покпок), (копко, логор), (...), ...]
>>715455>>715459>>715479Спасибо, ананасы.Думаю, если я в тестовом задании на работу напишу на котлине, по голове меня не погладят
День добрый, аноны, нужны ваши советы по поводу реализации.По центру экрана будут две картинки, под ними - две стрелки для смены картинок.Можно как-то реализовать в центре CardView, сделав при этом две его половины кликабельными (чтоб каждая вела на свою отдельную активити или фрагмент, хз как лучше)?Как лучше реализовать эти стрелки? Это что-то вроде табов, только делается стрелками (при этом анимашку от табов было бы здорово подключить).И собственно, как в целом лучше? Сделать это все как-нибудь фрагментами или активити тоже пойдет?Проблема в том, что этих карточек у меня каждый раз должно быть случайное количество. Примерная схема на моем медскилзе в пейнте.
Как вы считаете, что имеет в виду работодатель под "возможность корректно завершить приложение"?Мне казалось, что простая кнопка назад с этим достаточно неплохо справляется.
>>715544Ну тут простой вьюпейджер, у него есть метод установки текущей страницы с анимацией перелистывания.
>>715547Может сервисы хуервисы по закрывать, ресурсы освободить какие.
>>715533Это тестовое задание на работу андроид девом? И ты пришел сюда с этим вопросом? Не удивлюсь, если тебя возьмут.
>>715568это часть задания.>Не удивлюсь, если тебя возьмут.Надеюсь, лол.
>>715544мб viewflipper
Анон,есть два стула.На одном Retrofit дроченный,на другом-дефолтная java-либа.В ближайшее время предстоит за кратчайший срок запилить клиент-серверное приложение,что посоветуете использовать?Какие подводные камни?
>>716118Retrofit, no exceptions.Самый быстрый и надежный способ. Проблемы возникнут если у твоего бекенда кривое апи, но это все преодолимо, куча вещей из коробки.
Аноны, кто работал с VK SDK, там есть готовое решение для работы с сообщениями в реальном времени, или необходимо самому подключаться к лонг пуллу и что то с ним делать?
Ну что, готовы на Swift переходить? :)
>>716157даже если так будет, то ой как нескоро
>>715544Тольо фрагментами, с активити будет пролаг при создании новой активити. Как сделать? Ну, лол, легко. У тебя где-то в БД или кэше хранится лист карточек и для каждой карточки у тебя свой фрагмент, при этом структура одна и та же, так? Значит крепишь к стрелкам коллбэк к активити с указанием позиции в листе соответствующего объекта, который описывает текущий фрагмент. А активити обрабатывает эту хуйню - реплейсит фрагмент на такой же, но с другими объектами, и при реплейсе вызывает нужную тебе анимацию, какую напишешь. Добавишь ещё проверку на первый-последний элемент, чтобы стрелки гасить.А что должно показываться при клике на половинки кардвью, я так и не понял. На всякий случай советую не тупить и написать онкликлистенеры для этих двух картинок, которые показываются, и там можно что угодно делать.
>>715547Сделай кнопку выход, которая будет Activity.finish() вызывать, ололо.
Слушайте, у меня ничего не наебнется, если я установлю Студию не в папку по дефолту, а в другую, которую сам создам? Как по канону лучше поступить
>>715796Слишком просто?
Анон, напомни. Версия SDK, на которой я пилю приложение и версия SDK у AVD обязательно должны совпадать?
>>716423Что ты подразумеваешь под версией SDK? Есть Sdk Tools, есть Platform-Tools, есть Build Tools. Могут быть разными ничего страшного.
Можно ли схитрожопить и заставить elevation работать на pre-Lolipop ?
>>716441>Что ты подразумеваешь под версией SDKВыбор, минимального SDK, когда нажимаю Create New Project и SDK Tools, когда в SDK менеджере качаю необходимые компоненты.У меня тут просто эмулятор не запускается никак, я уже заебался и не знаю, на что подумать
>>716442app:elevation?
>>716450Самое интересное, что создается и висит процесс emulator, но нихуя не запускается. После нескольких попыток, у меня уже 6 процессов emulator висит. Может, кто сталкивался или знает, как пофиксить? У меня тут интеловский проц. и интеловская видяха на ноуте
>>716461Ну из очевидных вариантов проверь включена ли виртуализация в биосе. Попробуй genymotion поставить если ничего неполучается с офф эмулятором
>>716471Виртуализацию уже чекнул - работает. Оф. эмулятор уже такой же кошерный, как и дженимоушн, да еще и фичи бесплатные, так что хочу именно его
>>716451Хах, а ты смешной.
>>716474Это не может быть проблемой, у тебя точно новый эмулятор? Я вот запускаю проект с минсдк 17 скомпиленый под 23 с таргетом на 22, на тулзах 23 на эмуляторе 24rc.
>>716483> target 22Лень с пермишенами ебаться?
>>716483>у тебя точно новый эмуляторДа, только-только Студию последнюю скачал.Ох, еще ни разу не было, чтобы все поставилось с нуля без пердолинга, сколько ставлю Студию.
>>714032 (OP)Зачем нужны retainfragment'ы если есть те же лоадеры из коробки, или они используются в принципиально разных вещах?
>>716492Лоaдеры хороши для операций чтения (immutаble):- их можно вызывать сколько угодно раз (при каждом повороте)- данные в них можно кэшироватьRetаin фрагменты нужны, когда у тебя "одноразовая, меняющая операция", типа создание поста на сайте.У нее есть начало, прогресс и фиксированный конец.Ты бы не хотел, что бы эта операция повторялась при каждом configChаnged (или кэшировалась).Так что их обычно это делают через retаin-frаgment + АsyncTask.
>>716485Мне за это не доплачивают, и времени не выделяют. Скажут сделать сделаю без проблем, только время + деньги.
>>716499понятно, спасибо
Почему хуево отображаются иконки?Каждая находится в папке, в которой 2 варианта xxhdpi и xxxhdpi. Отрисовываются через PrimaryDrawerItem.withIcon
>>716488Короче, спустя 2 часа таки пофиксил. Небольшие костыли, но все же.Короче, переключился на Dev канал обновлений, обновил студию до 2.1, обновил SDK и подтянул в SDK все обновления, включая Preview (правда, сколько бы я их не ставил, два обновления таки не отмечаются галочками. У всех так?)
>>716121Благодарствую
На чем писать и комилировать консольные эльфы для андроида?
и чё ниуого не появилось проблем с сегодняшним апдейтом?
>>716591 IAR ругется н синтаксис в библиотеках
>>716499Почему мне кажется, что ретаин фрагменты - самый дичайший костыль андроид сдк?
>>716513Ну видимо слишком низкого разрешения они.Да и они довольно легкие, пройдись инкскейповским векторизатором, получишь svg на выход.
>>716607Сынок, а ты хоть знаешь как нам приходилось выкручиваться до появления фрагментов.
>>716611Я так понял svg он не кушает
>>716513Что за мониторинг?
Антоны, помогите.Нужно написать простейшее приложение на андроиде - страничка логина, потом простейшая форма постинга с тремя элементами. Данные из формы отправляются на сервер, всплывает окошко с текстом и обратно на страничку постинга. Вообще никаких наворотов, все просто донельзя.Сервер spring mvc, spring security, уже написан.Тыкните носом в какой-то гайд для чтобы очень быстро въехать в тему, сгенерировать проект и накидать формочку.Пишу на яве, андроид мне не нужен, но так получилось что надо быстро сделать такую хрень.
ORM или sqlite или realm? кто чем пользуется?Если ORM: мне приходит json я его разбираю на модели и сохраняю в бд, то с sqlite я буду сразу в бд закидывать json? и при чтении разбирать данные?
сап андраныПростое приложение, один запрос, один json и листвью. Как к этому захуярить тесты? Как это вообще работает, что нужно тестировать, как это выглядит в андройде? Знаю только, что есть что-то типа JUnit и все. В гугле только либо assert 2+2 =4, либо какие-то там эти ваши фреймворки.Накидайте годных статей или может своими словами объясните, please
>>716798В прошлом треде, то же хотел определиться.С одной стороны ormlite не обновляется уже 3 года, с другой он делает все что мне надос приемлемой скоростью и там не надо ебаться с потоками/закрытием.Тк в realm еще и нет поддержки robovm, то решил так и остаться на ormlite.
>>716835Тебе UI тесты или unit?Я бы советовал делать интеграционные-UI тесты прям по юзкейсам.Ибо UI меняется редко, а внутри приложения постоянно что-то переписывают.В unit тестах нужно тестировать то что: 1) может содержать ошибки или велика вероятность того что сломается2) до конца не понятно как работает (стороннее апи)3) не понятно как правильно (размытые бизнес требования)4) редко переделывается (ты же не хочешь постоянно тесты переписывать)Чаще всего это "бизнес логика"
>>716798sqlite + cupboard
>>7167649-pinch гугли.
Как сделать long polling соединение с okHttp? Нихуя толкового не гуглится
>>716164Я вроде как понял тебя, но не очень представляю как сделать это коллбэками именно в плане кода.Можешь вкинуть какой-нибудь простой пример? Например, во фрагменте один текствью и все фрагменты будут банально отличаться по содержимому этого текствью.
>>716764Нахуя?>>716942Студия умеет импортировать svg в свой xml vector drawable формат.
На NDK скомпилировал простейший эльф:#include <stdlib.h>#include <stdio.h>#include <unistd.h>#define __lint__#define __symbolrename(x)int main(){ printf('%i',2); return 0;} закинул на флешку и попытался запусить через adb.выдает Segmentation Fault. Как это исправить?
>>716492Асинктаск через лодеры ты не сделаешь нормально, например, при повороте экрана лодер пересоздастся.
>>716451он самый
>>717070Архитектуры сравни, что они одинаковые
>>717511Разобрался уже дело было в переносе строки
>>717070Почему апострофы в printf?
>>717516в этом тоже
Я хочу перенести сайт на приложение, как сделать, чтобы сайт работал без интернета? Чтобы просто была база данных и все.
Есть какой-нибудь безболезненный путь заставить ведро svg есть?
>>717553Ведро не ест svg бля. Ты должен сконвертировать его в xml vector drawable, который ведро умеет рисовать.
Есть примеры реалиации ведения сессий у приложения?
https://robovm.com/robovm-winding-down/Таки придется перекатываться на Intel Multi-OS EngineСпасибо тебе Microsoft :\
Привет, котаны.Есть нестандартная задача:С сервера загружается список. Далее необходимо его закешировать и для каждого элемента списка произвести рассчеты, потом обновить эти элементы в списке и в кэше.Как бы наиболее красиво сделать обновление элементов в списке по мере продвижения рассчетов?
>>717664NotifyItemChanged у recyclerview.adapter
>>717667>>717664Ну и добавлю, что делаешь все через rxapiObservable.observeOn( computation ).map(items -> cache(items)).observeOn( mainThread ).map( items -> recyclerAdapter.setData(items) ).observeOn( computation ).flatMap(items -> Observable.create(... рассчеты для каждого), 4).subscribeOn( mainThread ).forEach( item -> recyclerAdapter.notifyItemChanged )Примерно так, но вероятней всего я напутал положение observeOn'ов.
>>717689Как это может выглядеть стандартными средствами?
>>717689Лишь бы выпендрица, нафиг там map, ты же не преобразовываешь данные?...
>>717720Да, есть же doOnNext.
Что-то не могу разобраться - у меня процессор не поддерживает интеловские технологии, не запускается эмулятор в android studio. Что делать?
>>717729Genymotion
Аноны, нужно ли как то изъебываться с запросами в сервисе? или просто можно все делать в обычном асинктаске?
>>717743С сырыми сервисами точно сейчас ебаться не стоит.Глянь на GCM NetworkManager (требует gapps) или Job Scheduler (Android 5.0)http://developer.android.com/intl/ru/training/performance/battery/network/action-app-traffic.html
>>717730Не работает. VirtualBox пишет VT-x is not available (VERR_VMX_NO_VMX).Есть еще какие-то варианты разработки под таким ноутбуком?
>>717760Ну я не пишу свой сервер, мне надо подключаться к лонг пуллу
>>717793При чем здесь сервер?Логн пул вообще хреновая идея в плане батареи, попробуй лучше пуши.
>>717795А как по твоему работает GCM?
>>717800Один гугловский лонгпул лучше чем 10.
>>717821Найс маневр.
Неужели что бы просто отправить какое то значение на сервер(логин например), надо создавать ретеин фрагмент?
>>717881Rx, или интент сервис.
>>717881>>717883Или AsyncTask, бгг
>>717830В Android N Dozen режет в фоне инет и стопает все программы.А в исключение там добавлены только Google Services.
>>717929И что же интересно будет с девайсами без сервисов? Я уверен можно будет попросить систему не убивать тебя и юзер даст разрешение.
>>717942> И что же интересно будет с девайсами без сервисов?Батарею будут держать дольше. GCM есть в исключение и этого достаточно (для пушей /JobScheduler).> юзер даст разрешениеМожет даст, а может нахуй пошлет и поставит приложение конкурента.
>>717964Мы говорим о девайсах без GCM. В плане с конекшоном мое приложение ни чем не будет отличаться от приложения конкурента.
>>717973> Мы говорим о девайсах без GCMЭто ты про CM (ну и конечно владельцы Android < 2.2)? Кому нужны эти дебилы странные люди, если на их телефонах даже нет Google Play.
>>717983Китайфоны и требы русскокитайского произовдства.
>>717986Они вероятней всего даже поставить твое приложение не смогут, ведь основной источник распространения - GP. Так стоит ли ебаться ради двух с половиной калек?
>>718018Тогда как ты объяснишь то, что всякие пейсбуки/вотсапы/вайберы/скайпы/телеграммы делают в обход GCM?
>>718067Вотсапп юзает gcm, по крайней мере его версия из гп. Фейсбуки скайпы телеграммы жрут батарею как ебанутые.
>>717644Ну пиздец. Хотя мы все это знали.мимо-ОП
То чувство, когда ты до сих пор пользуешься эклипсом, асинктасками, httpurlconnection и org.json.*... Когда этот тред успел превратиться в цирк хипстеров от мира андроид разработки? Год назад такой хуйни не было.
>>718304Ну джисоном и я пользуюсь, а вот ретрофит мне приятнее. И баттернайф. Вот думаю ещё в ретролямбде разобраться.
>>718306>И баттернайф.Мне батернайф кстати вообще не зашел, хотя я все остальное юзаю.Эти паблик вьюхи по всему проекту делают меня плакать, особенно в адаптерах.
>>718350> паблик package visible, а не паблик.
>>716837> нет поддержки robovmТак RoboVM ведь официально мертва со вчерашнего дня
Подскажите, как работать с пагинацией в RecyclerView. API отдаёт мне некие элементы постранично, то есть http://example.com/users?page=1 и так далее. Загрузить сразу все страницы — не вариант, их слишком много. Я думал, загружать данные постранично, но тут появляется другая проблема: данные (и их порядок) обновляются часто. То есть, то есть, пока пользователь смотрел первую страницу, а потом доскроллил до второй, данные могли измениться и загрузив лишь вторую страницу, мы получим дублирующиеся или неверные данные.
>>718412Ну меня это не сильно ебет, суть ты понял.
>>718439Не делать говно с страницами а делать идшники.
>>718459Это как? Типа что бы каждый итем был с айдишником, но как это поможет?
>>718467То что у тебя получилось с страницами проеб серверщика.Ты никак не сделаешь нормальное отображение страниц если они у тебя могут меняться пока ты их выводишь.Если брать в учет что порядок элементов не может меняться, то идшники тебя спасают. Правда было бы понятнее если бы ты объяснил бизнес логику этих элементов списка.Например у нас лист сообщений с датой, следовательно сортируются они по дате, и в середину листа новое сообщение никак не попадет, тогда на сервере делается методкоторый принимает последний ИД сообщение который у тебя есть, и количество новых элементов для подтягивания вторым аргументом. Но это вниз по списку, от новых к старым, нужен будет еще один метод вверх по списку.Ну в общем я вроде понятно объяснил.
Пацаны, как компилировать lk(tittle kernel) для MTK из винды?
>>718470Спасибо за ответ.> Ну в общем я вроде понятно объяснил.Честно говоря, не совсем тебя понял. Имеешь в виду, что если бы у нас были id и порядок элементов бы не менялся, а лишь добавлялись новые элементы? Таймлайн в Твиттере, кажется, такое API имеет. Тогда мы бы делали запросы типа "получить все новые твиты после id 1234" и "получить 20 твитов до твита с id 1234". Кажется, ты это имел в виду? Если да, то я думал тоже о таком, но в данном случае это не сработает: у API нет таких методов. Ну и порядок элементов меняется.> было бы понятнее если бы ты объяснил бизнес логику этих элементов спискаПопробую. Пусть для примера будет так: мне нужно отобразить список самых популярных игроков в какой-то онлайн-игре. Соответственно, я делаю запрос к API и получаю примерно такой json: http://pastebin.com/uucVg8DpУ каждого игрока есть свой уникальный id. Позиции игроков в топе меняются (часто меняются!). Так же иногда появляются новые игроки (но появляются они где-то в конце списка, что логично).
>>718457А в чем проблема-то? Ну станут у тебя вьюхи видимыми во всем пакете. И что?
>>718502Ниче.
>>718493>Кажется, ты это имел в виду? Да.Ну хуй его знает тогда. Коллизии будут в любом случае.Ну вот моя идея.Учитывая что это страницы, то у них всегда должен быть стандартный размер.Потому делаешь изначально лист в адаптере на размер страницы, и увеличиваешь этот лист при каждой подгрузке странницы.Дальше про наполнение этого листа.Подтянул ты первую страницу и выводишь, засовывая итемы в уже существующие ячейки листа.Подтягиваешь вторую, увеличиваешь размер лист, смотришь есть ли у тебя уже такие итемы на первой, если есть, то чистишь их в листе (оставляя их только на второй странице, так как вторая страница актуальнее по времени) но размер листа не меняешь, чтоб не запускать ебучую перерисовку так как размер страниц дефолтный.Также делаешь с третьей.При скроле вверх запрашиваешь данные страницы к которой идешь, и делаешь все также.В результате некоторые ячейки будут невалидными но только до скрола, и потом обновляться на валидные данные. Можешь вьебать свой нотификатор какой-то.Но в любом случае это страшний костылизм и лапшекод.
>>718517> При скроле вверх запрашиваешь данные страницы к которой идешь, и делаешь все также.Такая идея мне не приходила в голову.Я до этого думал при скроле вниз на страницу n запрашивать страницы с первой по n-ую. Кажется, твоё решение менее костыльное.Если бы у меня был ArrayAdaper или что-то похожее, то я пожалуй бы использовал твою идею. Однако, у меня адапер использует Cursor, который загружается ContentProvider'ом (т.е. я сначала складываю данные в БД, а потом показываю в recyclerView). Не уверен, что описанный тобой способ получится применить в таком случае. В любом случае, спасибо за подсказку.
>>718528Тебе в любом случае нужен лист, отказывайся от курсор адаптера, он работает только без доп логики, а тебе как раз она нужна. Просто парси курсор в лист и дальше с ним работай.
Как мне удалить рабочую версию приложения в маркете и запустить бета тестирование?Достаточно ли деактивировать текущую версию и залить бета версию под другим номером версии?
>>718653> Как мне удалить рабочую версию приложения в маркетеНикак.
>>718663Ну и фиг с ним тогда.
>>717770неужели нет ниодной живой андроид трубы?
>>717729Прекрасно и на AMD всё работает. Проблема не в этом
Есть у меня двумерный массив с данными:List<String[]> resultList = new ArrayList<String[]>();Данные в видеname lolnome popКак мне правильно занести это дело в базу данных?Стандартная SQLite.
>>718827https://developer.android.com/training/basics/data-storage/databases.html
>>718827Используй cupboard https://bitbucket.org/littlerobots/cupboard
Я совсем ньюфаг, поясните такую вещь. В моем универе среди студентов популярно приложение Расписашка, там можно с сайта универа скачать расписание, настраивать, обновлять и тд. Так вот. Как это реализовано? Что гуглить по этой теме? То есть могу ли я вот та же с какого-нибудь сайта ржд или почты России скачивать в свое приложение инфу?
Как только реализовать MVC на Android? Использую Otto для оповещений, есть синглтон для сетевых данных.В приложении один корневой активити, который управляет фрагментами. У фрагментов свои интерфейсы (нажатие/выбор в основном), все их отрабатывает корневой активити. При разработке под Андроид меня не покидает чувство что я что то не так желаю, что все очень хрупко и ненадежно.Как у вас устроены приложения? Как меняете тайтл у тулбара при изменении текущего фрагмента например?
Сложно ли реализовать приложение виджет?, который бы висел на экране блокировки и показывал оставшееся время до определенного события? В андроиде не шарю, пишу на крестах, могу читать джаву
>>719285Уведомлением можно. Или обоиной для локскрина сделать, правда не все смартфоны вроде умеют в отдельные обои для рабочего стола и для локскрина.
>>719257Ты можешь обрабатывать все клики и обработку в самом фрагменте, например прицепить MVP и фрагмент будет в роли View. По поводу тулбара, можешь его использовать прямо из фрагмента, допустим у HostActivity есть метод bindToolbar(Toolbar toolbar) который будет вызываться в onActivityCreated у фрагмента
Как записать массив с Bitmap в один ByteArrayOutputStream, и потом считать его обратно? ObjectOutputStream не поддерживает несериализуемые объекты.С другими подклассами стримов я могу записать все в кашу, но как потом это разделять при чтении?
>>719403Bitmap.compress. Или через Parcel. Совсем по-разному работают, зависит от того, чего ты хочешь достичь.
>>719403А, ну и через getPixels, конечно же.
>>719008Но ведь это говно
>>719257Я вот кстати тоже не пойму как правильно сделать в МВП оповещение про то что данные обновились. Допустим сервис все обновляет, но это надо иногда выводить на экран, как правильно делать? Нет ну понятно евентбас поможет, но это сродни готу в асемблере.
>>719428Сабим при создании активити/фрагмента на ивент определенного типа, ансабимся на дестрой. Смотрящий за моделью чейкает данные когда хочет и отсылает уведомления.
>>719456Тогда уже презентер подписываем но этот ивент. У нас же мвп.Да активити\фрагмент будет вью, иначе ебля с лайфсайклом.
>>719408ByteArrayOutputStream baos = new ByteArrayOutputStream();DataOutputStream dos = new DataOutputStream(baos);for (Bitmap photo : this.draftPhotos) { photo.compress(Bitmap.CompressFormat.PNG, 0, dos); photo.recycle();}dos.close();baos.close();byte[] bytes = baos.toByteArray();Записал допустим два фото, а при чтении через DataInputStream как понять где конец первого фото и начало второго?
>>719460На ивенты подписывается активити и шурудит обновления вью-фрагментов самостоятельно?
>>719463Для такого лучше использовать getPixels или Parcel.
>>719471Не активити или фрагмент, а презентер.
>>719428Просто нужно использовать ContentResolver и ContentProvider
>>719488Ой иди нахуй, вот к чему ты это спизданул?
Разве IntentService работает не в отдельном потоке? UI фризится, если работа onHandleIntent() работает слишком долго. Что я делаю не так?
>>719494В отдельном, хуй знает что ты там наговнякал.
>>719492> оповещение про то что данные обновилисьЧто значит к чему? Если получать данные из БД используя Loader и ContentResolver, то при любом изменении данных, курсор, привязанный к URI этих данных автоматически их получит
>>719456> Смотрящий за модельюКакой-то тюремный сленг
>>719480>а презентерКакой профит в MVP в сравнении с MVC?Мое mvc на андроиде мне не очень нравится.
>>719495> All requests are handled on a single worker thread -- they may take as long as necessary (and will not block the application's main loop), but only one request will be processed at a time. Точно в отдельном. Странно...
>>719498Нет, ты ошибаешься.
>>719507> Какой профит в MVP в сравнении с MVC?V и P связаны меньше, чем V и CГораздо удобнее тестировать
>>719510Поправка, совсем не связаны.
>>719508Ведро хуево работает со многими потоками кстати, но я думаю для интентсервисом они додумались сделать какой-то шедулер.
>>719509Нет, не ошибаюсь. У меня два приложения именно так работают, лол.Собственно, это основное преимущество использования SQLite + ContentProvider. Если ты будешь использовать какой-нибудь Realm, то всю эту логику тебе придётся реализовывать самостоятельно
>>719514Ошибаешься, раз ты решил умничать, теперь моя очередь.У реалма кстати есть оповещения.
>>719514>использования SQLite + ContentProviderВот эти ребята, можно по развернутей на пальцах?
>>719515> ОшибаешьсяИ в чем же я ошибаюсь?> теперь моя очередьТы уже дважды написал, что я ошибаюсь, но так и не сказал в чём. Очень умно, да.> У реалма кстати есть оповещения. Я в курсе. Я и написал, что тебе самому их нужно ловить и делать обновление данных
>>719516Пиздец, вас в гугле забанили? Это стандартный набор же.
>>719517>Ты уже дважды написал, что я ошибаюсь, но так и не сказал в чём. Очень умно, да.Контент провайдер не нужен, и можно сделать контент провайдер без уведомлений.>>719517> Я и написал, что тебе самому их нужно ловить и делать обновление данныхА курсор тебе ловить не нужно? Менять его в том же курсор адаптере не нужно?
>>719519> А курсор тебе ловить не нужно? Менять его в том же курсор адаптере не нужно? Loaders именно для этого и придуманы> Контент провайдер не нуженНу ок, раз не нужен, то думай сам, как же узнать об обновлении данных.> можно сделать контент провайдер без уведомленийТипа, если программист не в состоянии правильно реализовать методы query() и insert(), то это проблема КонтентПровайдера, а не программиста?
>>719520>Типа, если программист не в состоянии правильно реализовать методы query() и insert(), то это проблема КонтентПровайдера, а не программиста?Нет, проблема программиста в том что он не знает нахуй нужен контент провайдер.
>>719516https://developer.android.com/guide/topics/providers/content-providers.html
>>719520>Loaders именно для этого и придуманыНет, придуманы для этого курсорлоадеры, не более. И в реалме это быстро делаеться.
>>719523Ты какой-то странный.> — Я вот не пойму как правильно сделать оповещение про то что данные обновились> — Используй ContentProvider и Loaders, тогда тебе не нужно будет об этом беспокоиться> — Ты ошибаешься! КонтентПровайдер не нужен! Ты даже не знаешь, зачем он нужен!
>>719533>— Ты ошибаешься! КонтентПровайдер не нужен! Ты даже не знаешь, зачем он нужен!Так это правда.Нотификатор можно делать самому, без контент провайдера. В контентпровайдере ты его даже пишешь сам. Теперь вопрос, нахуй тебе контентпровайдер?
>>719414почему?
>>719650По определению.
>>719652>>719414Ты дебил.>>719650Забей на толстяка, прекрасная либа, если ненужны джоины.
>>719707> ненужны
>>719727Доебался так доебался
Андроноиды, подскажите пожалуйста по жизненному циклу активити мне.У меня есть основная активити и сервис, принимающий сообщенния и срущий нотификациями о сообщениях пользователю. Клик на нотификацию инициирует запуск дополнительной активити, показывающей АлертДиалог с содержимым сообщения. Из АлертДиалога этого можно запускать основную активити. Если нотификация прилетает когда основная активити была закэширована (бандл с состоянием непустой) - вызов основной активити через интент (startActivity(new Intent(this, MainActivity.class))) форсирует создание нвого экземпляра активити, в котором бандл с состоянием пуст. Причём если закрыть эту активити - приложение само восстанавливает закэшированную активити.Можно ли как-то форсировать восстановление закэшированного экземпляра активити из кода?
>>719749Активити ушло в бэкграунд и находится в стеке? Если да, то нужно указать в манифесте тип singleTop для этой активити и кажется еще какой-то флаг укзаать при создании интента, но возможно я ошибаюсь и флаг не потребуется. Тогда потребуется ловить в активити onNewIntent.
>>719759> и находится в стекеЯ нубоват и смутно представляю что есть стек в ведре. Имеется в виду, выгружена она из памяти или нет? Вроде как выгружена. Если приложение попробовать запустить просто кликом на иконку - активити восстановит своё состояние, записанное в бандл.
>>719761Погуглил. Судя по http://developer.android.com/intl/ru/guide/components/tasks-and-back-stack.html моя активити уже не в стеке.
>>719652и что по твоему не говно?
Посоветуйте хороший перехватчик\инспектор пакетов. В идеале чтобы можно было задавать автоматическую подмену данных в пакете с конкретными заголовками.
>>719894Fiddler сам использовал.Слышал еще Charles есть, на Хабре статейка была.
>>719894OkHttp.interceptors
2 студия не хочет видеть майкрософтовский эмулятор андроида. Студиевский не могу из-за хайпер-в использовать, а он мне нужен дял кое-чего другого.
>>7199421) запускаешь эмулятор вручную2) смотришь его локальный ip3) вызываешь команду adb connect <ip>
Есть surfaceview и camera. Если surfaceview загнать за свой контейнер через отрицательный марджин топ или установки высоты больше высоты контейнера, то превью все равно вписывается только в видимую область.Так поступать нужно, вопрос в том, как избежать распидорасивание изображения.Данная ситуация на API 16, на 21 и выше все норм. На других проверить возможности нет.
Отчего у андрюши такой API уебищный?Решил вкатиться и вот страдаю теперь.1) Какой - то дикий оверинжениринг (для сравнения - жизненный цикл приложения альтернативной платформыhttp://i.stack.imgur.com/Jn6MZ.png)2) Свистопляска в названиях аргументов у функций (savedInstanceState в одном месте, outState в другом)3) Какие - то костыли в виде Fragment (по кр мере таково восприятие при текущем уровне понимания предмета) и вообще дикая свалка в иерархии объектов.4) Начинаешь разбираться почему onSaveInstanceState() не работает - на стековерфлоу находишь ответы, в которых рекомендуют поколдовать со стилями. И эти ответы получают позитивные отклики - т/е объективно не совсем бред.5) Всратые конфетные релизы и непонятные проблемы когда демка из уроков двухлетней давности перестает работать6) Вроде и механизм обмена сообщениями есть и тут же до кучи callback-ов и все в перемешку.Почему так, Ананас?
>>720000Швабода, опенсорс индусы
>>719984Решил проблему, использовав textureview.
Не могу загрузить активити с imageView, постоянно вылетает ошибка java.lang.OutOfMemoryErrorКартинки добавляляю через drawable в xmlРазмер картинком не больше 2048 пикселейБ а вес не больше 400 кб в чем может быть проблема и как поченить?
Веб макака приветствует тя. Нужно запилить минимальное приложение в котором понадобится всего то по клику на карте поставить метку (мапс api), пара запросов на сервак и до блютуза добраться, хотелось бы не вылезать за пределы жс, т.к. оно и на иос нужно будет. Анон, скажи че юзать ? Кордова, реакт нейтив, или на джаве писать ? Где меньше ебли короч.
>>7200292048 в высоту/ширину? Тогда 2048*2048 = 16 мб на картинку в профиле argb_8888
>>720031Kotlin + Intel MultiOS Engine
>>714032 (OP)Господа, расскажите, есть ли годный способ писать на Python под Андроид? Я в курсе про Kivy, но у меня вопрос - получится ли на питоне без проблем вызывать системные штуки - типа записи звука или работа со шторкой?
>>720033 картинки где-то 2048*2000 размер их окло 400 килобайт, я ничего про профиль не понял. Можешь яснее обяснить
>>720031На джаве бы писать не хотелось т.к. ни строчки на ней не писал
>>72003616 мб - разжатая картинка, 400 кб - сжатая. Размер сжатой картинки влияет лишь на вес апк и скорость ее разжатия.
>>720036Ты гуманитарий или просто тупой школьник?Иди учи матчасть:http://lmgtfy.com/?q=%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5+%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9+%D0%B2+%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8+%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0
>>720035Используй наиболее сильные и проверенные временем инструменты: Java
>>720031>Веб макакаОчевидна кордова.
>>720053Достаточно посмотреть пример PhoneGap:https://www.google.ru/url?sa=t&source=web&rct=j&url=https://play.google.com/store/apps/details%3Fid%3Dcom.camden.phonegapmega%26referrer%3Dutm_source%253Dgoogle%2526utm_medium%253Dorganic%2526utm_term%253Dphonegap%2Bmega%2Bgoogle%2Bplay%26pcampaignid%3DAPPU_1_u7YUV9PSNaWk6ASh-pzoAg&ved=0ahUKEwiTnLGK_ZfMAhUlEpoKHSE9By0Q8oQBCBowAA&usg=AFQjCNEp1bnNaPmNuMNjAe6P5jIqGQBctw&sig2=XLVtuHOlRtJpJJwg7xQtBgЧтобы убедиться, что всё это тормозящая хуйня.
>>719984SurfaceView устаревшее говно, намеренно сделанное через жопу. Если у тебя нет цели поддерживать версии ведра ниже 4.0, переходи на TextureView.
>>720044это конечно охуительный совет, но как это сейчас поможет мне в моей проблеме?
>>720066В какой конкретно папке лежит картинка?Какое разрешение экрана у твоего смартфона?
>>720069все картинки лежат в папке drawable, вылетает на всех смартфонах не зависимо от разрешения
>>720073Назови все смартфоны. Проблема скорее всего от того, что картинка скейлится. Перемести её в drawable-nodpi.А вообще я не понимаю, зачем тебе такие большие картинки в приложении.
>>720074Samsung s4, s5, htc m8, lenovo хуй знает какой. Много смартфонов короче плюс еще эмулятор. А картинки больше для экранов с выскоим dpi. Как в эту папку переместить ? ее создать надо ил и она где-то лежит, если лежит то где?
>>720075Создать. А лучше вообще через assets грузить, если в этом есть реальная необходимость.
Подскажите плагин для студии, чтобы генерил уменьшенные версии картинок xdpi hdpi и т.д. с указанного файла.
Проблема есть одна, подскажете?Короче, задание у меня такое: рисовать жестами линии на гугловых картах. Сначала решил попробовать на чем попроще - сделал кастомный ImageView, перегрузил в нем onDraw. Где-то там есть OnTouchListener, который по нажатию меняет флажок на режим рисования, по движению зовет метод drawPoint(x,y) (который делает invalidate, и если флажок, то рисуется точка по координатам), а отпускающие события возвращают из режима рисования. Ладно, хрен с тем, что результат не сохраняется (с этим разберусь еще), главное что что-то да рисуется и точка/фигура двигается за пальцем. Значит работает.Вернулся к картам. Написал, значит, CustomMapFragment extends SupportMapFragment, в нем View basicView (карта) и WrapperLayout wrapperLayout (extends FrameLayout - обертка, которой можно манипулировать как View, т.к. гугловым фрагментом манипулировать нормально нельзя). И такой код в onCreateView:basicView= super.onCreateView(inflater,container,savedInstanceState);wrapperLayout= new WrapperLayout(getActivity() );wrapperLayout.addView(basicView);return wrapperLayout;Все, листнер этой хрени присобачить можно, события в карту передавать тоже, рисование полигона жестами приделал. Но полигон рисуется после сбора всех точек и передачи их карте, а мне нужно плавное рисование линии, пока я эти точки собираю. Переопределяю onDraw, как это делал с ImageView, пишу там то же самое, добиваюсь того, чтобы вызов onDraw таки происходил. Итого, вызов происходит, но при том же коде что и раньше, ничего не рисуется. Код onDraw такой, кстати:paint.setColor(Color.parseColor("#0000ff"));paint.setStrokeWidth(10);super.onDraw(canvas);if(nowDrawing) canvas.drawRect(drawPointX-50,drawPointY-50,drawPointX+50,drawPointY+50,paint);onDraw принадлежит WrapperLayout. Есть мысли, что оно даже рисуется, но на более нижнем слое, а верхний с картой все перекрывает, но не могу это проверить. Допустим, если закомментить super.onDraw(canvas), все полотно view должно было становиться белым, но нет, по прежнему карта видна.Гуглю уже давно и что-то нихрена не нахожу.
>>720034>Intel MultiOS EngineОно живое вообще? Как оно там на ней?
>>720180Там на форуме некоторое возбуждение после закрытия robovm (видать новые клиенты пожаловали).По факту проект развивается, есть первый апдейт.Из минусов:1) Просто дохрена аннотаций. Пустой шаблон контролера на половину состоит из одних аннатаций и так везде.И не особо понятоно как с ними работать надо доки подробно читать2) Размер IPA больше чем у robovmИз плюсов:1) Поддержка Kotlin2) Поддержка на iOS andorid.database.sqlite.SqliteDatabase и курсоров (даже запустил поверх этого OrmLite на android connectionsource)3) ART - ahead of time компиляция4) Удобная сихронизация с XCode/storyboard, генерация java/objectc прослоекP.S.Что еще интересно: в этом видео https://www.youtube.com/watch?v=SrujAdCdAjE чувак говорит что возглавляет разработку.И на официальном форуме от Intel отвечают люди с русскими фамилиями.Может это как и Kotlin "отечественная" разработка?...
>>720034Мне нравится твоя самоирония.
Тут только программки пишут или и в выяснении gpio камеры могут помочь?
>>720353Тут спрашивают как вкатится в ведро.
>>720353Тут только срачи.
>>720000> Какие - то костыли в виде FragmentДа ну. Один из лучших архитектурных концептов андроида
>>720479Особенно retain фрагменты, ммм...
Как стартануть активити и очистить все старые активити в этой же таске? FLAG_ACTIVITY_CLEAR_TASK ничего не меняет, если юзать его вместе с ACTIVITY_NEW_TASK, то работает как надо, но появляется анимация перехода в новую таску, что не подходит.
>>720482О, спасибо за отсылку - похоже очень полезная штука, кажется, снимает часть головняка из пункта 1 и мои проблемы с разрывом bluetooth соединений.Знаю, что есть еще сервисы и шины сообщений, но я пока начинающий и пытаюсь осваивать примеры к sdk, в которых с решения попроще и которые, к слову, сделаны на отъебись.Но то что фрагменты не были задизайнены изначально, а появились только к версии 3 , говорит больше в пользу костыльности.Вообще, кажется этот оверинжениринг происходит от оптимизации - задачи освобождения памяти, нагрузки на батарею. Преждевременной или нет - сложно сказать в 200x годах все начиналось - но определенный сильный отпечаток чувствуется.До кучи - вспомнился еще пункт7) Какая-то маниакальная настойчивость в прописывании>super.method(..) в начале переопределения метода method() - не помню ни одного фреймворка, где это бы так форсировалось.
>>720504Это особенность джавы, а не апи ведра.
Народ, срочно выручайте, нужно сделать затемнение expandablelistview при expand-е группы всего, кроме экспэнднутой группы и ее деток. Ебусь сутки, выходит хуйня
>>720517ну и соответственно при коллапсе лист и все содержимое возвращает исходный цвет
Если я полунюфаг, есть ли возможность вкатиться в котлин и начать писать под Android? Есть ли какие-то уроки по написанию под андроид на Котлине? Надо ли знать Java?
>>720506ненене>super.method(..) если повсеместно требуется писать подобное в callback функциях - что-то не так в консерватории.
Бамп.
>>720612Вкатывание такое же как и в "Scala/Groovy/... под андроид"1) Учишь Android API2) Независимо учишь язык; переписываешь примеры на KotlinВот тебе Android API: http://developer.android.com/intl/ru/training/index.htmlВот материалы по Kotlin:https://kotlinlang.org - Основной сайтhttps://habrahabr.ru/hub/kotlin/ - HUB Habrahabrhttps://habrahabr.ru/post/279667/ - Ссылки на доклады и подкастыhttps://habrahabr.ru/post/278169/ - Интересная статья "Как себе выстрелить в ногу в Kotlin"http://kotlin.link - Сборник ссылок по Kotlin (на английском)https://www.reddit.com/r/Kotlin/ - Reddit (тут тоже можно узнать новости и ссылки на интересные статьи)Видео с Youtube:https://www.youtube.com/watch?v=HWyd1gYMkl0&list=PLVe-2wcL84b8pj7VOoa-6L9Q0sDjibdoFКонкретно под Android:https://www.youtube.com/watch?v=VU_L2_XGQ9shttps://www.youtube.com/watch?v=-BvN0X5tqjwЕде есть как минимум два на русском, но они не от разработчиков так что сам ищи.
>>720756https://www.youtube.com/playlist?list=PLVe-2wcL84b8pj7VOoa-6L9Q0sDjibdoFбыстро-фикс плейлиста на youtube
>>720756> 1 пикStream API> 2 пикШлёшь нахуй бобовую спецификацию и делаешь всё package-local/public> 3 пикА теперь перепишите через лямбды> 4 пикStream API
>>720766> 2016> Android> StreamСтримы только в Android N, который выйдет в Q3 2016> Шлёшь нахуй бобовую спецификацию и делаешь всё package-local/publicПлохая идея для неприватных классов, а вдруг придется логику сеттера менять ( o_O )
>>720770Стримы с лямбдами в джек енд джиле с обратной совместимостью до 2.3
>>720779Ты что-то напутал, там функционал уровня retrolambda.
>>7207561. def products = orders.products.flatten();2. class MyGroovyClass { final int a = 1; int b = 1; final def c = 1; def d = 1;}3. class MyActivity extends Activity{ def example() { def view = findById(R.id.button); view.onClickListener += { Log.d("TAG", "Item clicked"); } }}4. def example() { def os = ["Android", "iOS", null, "Windows Phone"]; os.grep{it}.sort {it.length()}.toUpperCase().forEach { println it}; }Java 0Kotlin 0Groovy 1
>>720784астериски проебались, кто шарит тот поймет.
>>720784Код понял, а почему котлин = 0?
>>714032 (OP)>udacityЧто хоть за годный курс, кто-то знает?Он напрямую гуглом предоставлен, или кем-то другим? мимо шлют мне на мыло всякую маркетинговую хрень
>>720788Еще больше сократили.
>>720779Стримы в Java это ебанный АД >>7155771) Периодическое отсутсвие методов перевода в стримы (из тех же паттернов)2) Гребанные чекед исключения3) Отсутствие блять метода takeWhile (только в Java 9.0 завезли). Да и вообще любых метод расширения этих стримов.4) Пляски с коллекторами и сплиттераторами
Есть psd файл с разрешением 1080*1920 480dpi. Когда пытаюсь верстать на такой же экран в андройд студио отступы и размеры картинок получаются намного больше, чем они изображены в psd. Размеры высчитываю здесь https://pixplicity.com/dp-px-converter/Что я делаю не так и как это исправить?
>>720884Чому 420, а не 480?
>>720911А в глаза ебусь. Ты превью какой девайс смотришь, нексус 5?
>>720911да его. Я не понимаю ка кэто правильно всерстать или макет неправильный вообще. Если не правильный то как объяснитть это дизайнерам?
>>720912>>720913
>>720817Проходил на юдасити курс по градл, понравилось. Сейчас там по libgdx прохожу.
Приглашаю начинающего или опытного Android-разработчика. Нужно запилить несложное приложение. Бюджет 10000 руб. [email protected]
>>720954[email protected]Примеры-примерчики:https://github.com/ru-nekit-android/Clean-Architecture-MVP
Посоны, поясните какие перспективы у андроид-девелопингы, много ли ваканский и тд. Думаю вкатиться.
>>720977Ваще забей, рынок перенасыщён, разработка под ведро это что-то уровня пэхапэ.
>>720980Та так о всём говорят - перенасыщен. Я конечно понимаю что сейчас везде многие вкатываются, но всё-равно готов учить и осваивать. Вот и интересуюсь нет ли полной задницы чтоб не огорчиться. Сейчас собственно учу пэхапэ, по учебе надо несколько проектов сделать(в т.ч. дипломный). Ну и думаю что учить для себя. Веб в целом мне нравится, но хотел за андроид уточнить.
https://github.com/google/ageraНу грац ребята, нам новый rx подогнали, теперь более запутанный но оффициальный.#гуглидинахуй #гуглумри #гугллучшесделаймвп
>>720981Раз нравится, то учи.
>>720985Вакансии есть?Реально найти работу джуном?
>>720986Есть, реально.
>>720980Пиздец, просто разрабы под ведро есть разные.
>>715052Юзай дженимоушн, намного быстрее тупого стандартного эмулятора.Можно развернуть его вообще на другой машине, если проблемы с оперативной памятью, но у меня даже на ноуте с 4гб проблем пока нет.
>>720984что это вообще за пиздос ?!
>>721006Это гугл детка
Установил Android Studio. Такая вот ошибка происходит во время загрузки доп. компонентов. Пытался пробовать снова, но все равно та же ошибка. Это критично? Можно пропускать?
>>721038Проверь свободное место на диске. Хорошо если там реально несколько гигабайт будет - с запасом так.У меня по кр мере в начале знакомства постоянные неадекватные сообщения (привет говнокодерам из гугла и джет брейнс) были на этапе инсталляции и даже запуска эмулятора.
>>720756Вопрос был именно надо ли нуфагу вкатываться в андроид через джаву или можно с нулевыми практически знаниями вкатиться в котлин?
>>721044c местом на диске все окв общем погуглил проблему, отключил брандмауэр, перезагрузил и запустил от имени администратора, все установилось без ошибок
Хочу имейдж вью в навигейшнвью задатьheight = wrap_contentwidth = match_parentсмысл в том чтоб картинка отскейлилась по ширине.В результате высота становится нихуя не врапконтент.Что не находил на стековерфлов не работает.
>>720984Видели. Пиздос. > #гугллучшесделаймвп Так сделал же уже
>>721080Сначала нужно выучить XML — на нём в андроиде все разметки, хоть на джаве, хоть на котлине.
>>720984Стоит еще почитать первый и единственный issue у этого велосипеда: https://github.com/google/agera/issues/20Показательно
Как для notification сделать largeIcon, чтобы она нормально рисовалась? Какие размеры нужны, или ее генерить как-то надо? Эта херня в студии вообще бесполезная и не понимаю зачем вообще нужна. Оно то растягивается и урезается, то наоборот слишком маленькое. Толкового ничего так и не нагуглил
>>721257Ну а после?
>>721255>Так сделал же уже Где?
>>721261Честно мой инглиш так себе, я заебался понимать что они там пишут.Из прочитанного "нахуй оно надо?""ну хуй знает"и еще один ответ"оно вроде как будет лагать, но пруфов не будет"
>>721313Стандарт андроид-разработки сейчас - это джава. Котлин - модная штучка, по которой мало учебного материала и почти нет вакансий.
>>721376> "нахуй оно надо?"> "ну хуй знает"Ты уловил суть.
Аноны, как найти где течет память?
>>721468Использовать профайлер памяти?Так сразу тебе никто не скажет, для начала определись, что именно у тебя утекает.
>>721468Начни с коллекций ). Попробуй выделить точкни инвариантности по отношению к добавлению/удалению в коллекцию и добавить туда проверок.Используй инструментальные средства http://developer.android.com/tools/performance/comparison.htmlХотя по мне, нет ничего лучше jvisualvm с его оперативной статистикой использования объектов с показом данных в дельта-режиме. Так -то если отталкиваться от https://karussell.wordpress.com/2011/04/10/viewing-hprof-from-android-with-jvisualvm/ - можно сравнить три дампа взятых за продолжительный период - по идее можно выделить тренд.Впрочем, возможен эвристический анализ и по одному дампу с помощью MemoryAnalyzer.
>>721575Это, конечно, если куча протекает )
>>721577А что еще может протекать?Давайте посремся на тему того что в джаве нет утечек, а есть в пустую занятые ресурсы
>>721624out of heap memory под java.nio, память выделенная в jni, стек )
>>721697>стекЭто как?>out of heapНу опять же это потому что ты где-то зажал ссылку не? И сборщик его не удалил.>в jniНу ладно, но жавовскими профайлерами это разве можно выявить? И это не не в джаве проблема, так что несчитово.
>>721713stackoverflow - другое имяhttp://www.evanjones.ca/java-bytebuffer-leak.htmlсчитово, например, если естьnative acquire()native release()но контракт использования не выполнен.
>>721734>stackoverflow - другое имяТак это не значит что у тебя стек течет, это значит что у тебя стек уперся в кучу, или наоборот. Видимо кто-то где-то решил сделать рекурсию без выхода, или объекты в кучу не влезают и попадают в область выделенную для стека.
анончики, что если я хочу протестировать приложение на физическом устройстве, но я нищеброд с MTC 982Tхочу установить OEM Driver, но не знаю какая модель, фирма фирма, я так понял, Huawei
>>721746Cмотри в суть вещи. Есть ресурс - память под стек, который из-за неправильно написанного кода источается. Если буквально - утекают стековые фреймы.stack over flow.
>>721773Ох уж эти виндоус-проблемы.Не тупи анончик, GOOGLE тебе уже дала единственно-нужный драйвер:0) На телефоне включаешь "Отладка по USB"1) Скачивашь через Android SDK "Google USB driver" (он там где-то внизу списка компонентов)2) Подключаешь своей говно-девайс к компьютеру3) Открываешь "список устройств" и находишь там неопознаный девай4) Открываешь меню выбора драйвера и там "указать путь к дровам" (или что-то похожее)5) Выбираешь путь к папке с Google USB Driver.Он где-то внутри папки SDK/extras/google/usb.6) Дальше если надо, в списке выбираешь "Google ADB Complex" (или что-то похожее)
>>714057Такая же проблема, как решил?
>>721861У меня например на nexus 5 достаточно этого драйвера, а для HTC One нужно ставить свое говно.
>>722394На работе все тестовые девайсы (хуавеи/леновы/самсунги/соньки),только через одни этот драйвер настраивал.HTC у нас нет, но я сильно сомневаюсь что там по другому.
>>721773на 4pda хоть чекал?http://4pda.ru/forum/index.php?s=&showtopic=576453&view=findpost&p=32107251
Есть rest сервер, нужно сделать систему авторизации на андроид устройстве. Какую систему на сервере выбрать - httpSessions, OAuth2, JWT?Дайте какой-нибудь гайд как запилить систему аутентификации на устройстве.
>>722465Google OAuth:1) на андроиде "из коробки" (есть java API)2) пользователю не придется запоминать новые пароли
>>721861сделал по твоему гайду, не сработало, но все равно спасибо>>722412спасибо, аночикскачал самый последний драйвер и установилсейчас тестю приложение
Посоны, посоветуйте задачек нубских позязя (или ресурс с ними по возрастающей сложности)
>>723043http://acm.timus.ru/?locale=ru
анон я тут игру делаю Кароч если слово и оно на буквы рассыпается и буквы по всему экрану ты их потом перетягиваешь в окно и если правильный порядок то ты выиграл.Кароч вот фрейм в который я объекты должен закинуть а объекты в цикле создаются. TextView это одна буква считай. [CODE]RelativeLayout.LayoutParams frameLP = new RelativeLayout.LayoutParams(300, 300); frameLP.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE); frameForLetters.setLayoutParams(frameLP); Random random = new Random(); for (int i = 0; i < 3; i++) { TextView textView = new TextView(getActivity()); textView.setX(random.nextInt(size.x - 200)); textView.setY(random.nextInt(size.y - 200)); textView.setText(i + ""); textView.setBackgroundColor(getResources().getColor(R.color.colorPrimary)); textView.setTextSize(50); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); textView.setLayoutParams(lp); textView.setOnTouchListener(touchListener); frameFor.addView(textView); }[/CODE]Есть охуительный точ лисенер которым я двигаю объекты.[CODE]View.OnTouchListener touchListener = new View.OnTouchListener() { float dX, dY; @Override public boolean onTouch(View view, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: dX = view.getX() - event.getRawX(); dY = view.getY() - event.getRawY(); break; case MotionEvent.ACTION_MOVE: view.animate() .x(event.getRawX() + dX) .y(event.getRawY() + dY) .setDuration(0) .start(); break; default: return false; } return true; } };[/CODE] Я знаю координаты объекта ну и наверное его ширину высоту. В принципе путем охуительных алгоритмов и геометрии все это можно захуярить но мне лень. мб есть другой путь? Пик рилейтед.
>>723148либо уноси это pastebin, либо иди нахуй
>>723271сорян. я не виноват что ебучая вакаба не может мне в [CODE] обернуть[CODE]ТЕСТ[/CODE]
Нужен хелп, кто работал с google-fit пожалуйста, ответьтеhttp://stackoverflow.com/questions/36696697/google-fit-distance-and-speed-using-sensors-apihttp://stackoverflow.com/questions/36707701/workout-calorie-calculation-using-google-fit
Возможно ли непрерывное распознование голоса? Поставить на час и пускай пишет те слова, которые распознал.
>>714032 (OP)Суп, аноны. Нужна помощь.Как в андроиде проверяется наличие активного соединения с интернетом? Путем опроса ConnectivityManager'а методами getActiveNetwork/getActiveNetworkInfo или есть ещё способы? Если первое, то как можно зарегистрировать у этого менеджера свою?Объясняю, зачем мне это нужно.Есть планшет, на нем интернет вручную поднимается с помощью pppd (с мобилы через отг, потому что я не осилил DUN на ебучем bluedroid), затем утилитой ndc создается сеть, в которую добавляется интерфейс ppp0, и делается активным. В результате интернет работает во многих приложениях кроме тех, что, по всей видимости, запрашивают информацию об активной сети. Они выдают ошибку об отсутствии подключения.
Поцоны, оцените тестовое задание для https://career.ru/vacancy/16687881http://pastebin.com/u3ZYacvxhttp://pastebin.com/VcszSRKUВ таком виде пойдёт? Я никогда не работал разработчиком и не знаю общепринятых стандартов. Везде откуда звонят по отправленным резюме спрашивают "какие ФРЕЙМВОРКИ вы знаете", может какой-нибудь Spring for Android засунуть,?
>>723500> new Thread -> runOnUiThreadЭто даже хуже, чем асинктаск. Лучше на него переделай хотя бы.
>>723549-Чем хуже?-Чем асинктаск.Пояснил бы почему хуже.
Билдили ффмпег с x264 и фильтрами под андроид?
>>723549Асинктаск почему плох?
>>723549А как тру? Через handler-ы? И что в runOnUiThread крамольного?
>>723559Без контекста ничем.>>723560Если ты используешь runOnUi, то вероятней всего у тебя есть ссылка на контекст неявная. А это значит гроб гроб кладбище утекающие активности.
>>723500>стажер, работа 20 часов в неделю>опыт работы от 1 до 3 летОни там совсем охренели?
>>723624они ещё и денег не платят, а только >Компенсация расходов на питание и проездНичего не имею против стажировки, но с адекватными требованиями.
дайте ссылку на отстойный подкаст на русском, что тут кидали
>>723630Гугли apptractor androiddev.
Котаны, есть вопрос.Один малознакомый чувак, узнав что я могу в программирование, попросил слепить для него приложение для андроида. Еще в начале недели о разработке под андроид я не знал вообще ничего, но установив студию и почитав мануалы определил что уйдет на написание этой пороги около месяца (если уделять этому два-три часа в день).Вопрос: какая адекватная цена разработки такого несложного приложения?
>>723676>около месяцаЗначит два месяца.>уделять этому два-три часа в деньЕсли по 6 часов в день.30-50к, в зависимости от твоей наглости.
>>723676300 р в час за то что нихуя еще не знаешь 2 часа 30 дней = 18 косых, скинь до 15
А у меня все еще эмулятор с сдк не работает.
>>723680>>723681Благодарю. Я и думал назвать сумму в районе 20-30к.
>>723486Бамп вопросу
>>723549так трушнее? http://pastebin.com/EcQeBH32>>723626насколько я понял от того, кто там стажировался — платят 70000 за полный рабочий день, наверное половину за 20 часов в неделю. Питание и проезд компенсируют помимо этого. Если не платят, то, конечно, хуй я туда пойду.
>>723727А нафига ты первый редирект руками обрабатываешь?
>>723568> Без контекста ничем.Контекст ненужон. Если очень нужен — можно передать контекст приложения, его всегда должно хватить.
>>723758По хорошему, все редиректы надо вручную обрабатывать.
>>723816По хороше надо пользоваться нормальными библиотеками, а не> This implementation doesn't follow redirects from HTTPS to HTTP or vice versa.http://developer.android.com/intl/ru/reference/java/net/HttpURLConnection.html> так трушнее?Разницы никакой, ведь GetHtmlTextTask "inner класс" и так же захватывает ссылку на активити.
>>723812> контекст приложения, его всегда должно хватить. А потом удивляются, почему память течёт.
>>723939Ну если у тебя память от контекста апликухи течет то ты явно даун.
>>723939Поясни подробнее, контекст приложения ведь никогда не разрушается.
>>723952Та он придурок.
>>723966Ну может быть и так, хотя тезис что "от использования контекста-приложения бывают утечки", помню еще со времен андроида 1.6Возможно это связано с тем, что загруженные Drawable кэшируются внутри Resourceshttp://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.1.1_r1/android/content/res/Resources.java/#115, но там все ссылки WeakReference
Платиновый вопрос. А есть ли тут серьезные бизнесмены, которые зарабатывают на своих подделках? Пишите прохладные
>>723985*поделкахПроклятый свайп
>>723989--- Успех разрабочкика уровня /b/Я за пол-года заработал и вывел на инапах 100$ (меньше вывести нельзя), потом еще около 50$ и приложения заблокировал Google за "эротику".
>>723982Нельзя юзать активити контекст где попало.Апликейшн контекст всегда синг энтити.
Долгое время писал под WinPhone 8, ну и UWP. Писал относительно простенькие приложения. Продал Люмию и купил топовый андроид. Шарпы знаю относительно хорошо, с java не сталкивался никогда. Вопрос: решил что буду теперь писать под андрюшу и xamarin мне не особо понравился, что можно почитать по java, чтобы быстро вникнуть и писать уже на любимую андрюшу? хелп анончики
>>724045Начинай сразу с Kotlin, он ближе к C# и даже местами круче (а скоро еще добавят async/await).Вот смотри реп батл C# vs Kotlin на dotNext конференцииhttps://www.youtube.com/watch?v=jDrCvq0yo7g
>>724053не хочу начинать kotlin только потому что планирую в ближайшие полгода устроиться android прогером. Тем более слышал что котлин медленный местами + гугл не планирует его внедрять полностью вместо джавы (сравниваю свифт в ios)
>>723966>>723952>>724033>>723941Открой документацию и почитай сам: https://developer.android.com/reference/android/content/ContextWrapper.html#getApplicationContext() > This generally should only be used if you need a Context whose lifecycle is separate from the current context, that is tied to the lifetime of the process rather than the current component. > If used from the Context returned here, the receiver is being registered with the global state associated with your application. Thus it will never be unregistered for you. This is necessary if the receiver is associated with static data, not a particular component. However using the ApplicationContext elsewhere can easily lead to serious leaks if you forget to unregister, unbind, etc. Ну или сюда загляните: https://stackoverflow.com/questions/7298731/
>>724045Если хорошо знаешь шарпы, то лучше начать с ксамарина. В джаву и нативные приложения вкатываться — это процесс небыстрый.> xamarin мне не особо понравилсяТак и должно быть, ведь он говно.> что можно почитать по java, чтобы быстро вникнуть и писать уже на любимую андрюшу?Официальную документацию. Или хуйню из шапки.
>>724156Юзать активити контекст еще чреватее. Захочешь ты синглтон сделать, какой контекст заюзаешь, а? Активити? Вот и дибил.А вообще почитаю еще, как юзание апликейшн контекста который внезапно сингл инстанс должен вызывать мемори лики. Каким хуем то?
>>724180Я разве говорил, что нужно везде использовать Activity, даун?Это вон тут >>723812 утверждалось, что "апп контекста хватит всем"
>>724163>Или хуйню из шапки.>Эккель>Хорстманн >хуйню из шапки>Официальную документацию.
>>724198Но я так и не понял откуда будет мемори лик, если ссылаешься на сингл энтити.Пускай это хуевый паттерн, но лик то откуда?
>>724064> Тем более слышаА я слышал, что твоя мамаша сосет у краснолюда пруфов конечно не будет.
>>724202Я так понял если хранить ссылки на что-то внутри кастомного Applicatoin.В общем эта хуйная переоценена ну или действитель надо быть дауном, в iOS есть статический метод на получение UIApplication и живут с этим как-то без утечек.другой анон
>>724012Интересно, а за фуррятинку заблочат?
>>723148>игра на андроидокомпонентахШТОООАААА?
>>724156Там про бродкаст ресиверы рассказывается, однако нет смысла регистрировать ресивер, нужный активити, внутри приложения. А вот в ситуациях, когда контекст вызывает утечку, хранить ссылку на аппликуху для простого обращеня к ресурсам, получения системных данных и тому подобного — отличное решение, не имеющее никаких недостатков.
>>724375Также для любого синглтона в твеом приложении.Смысл юзать активити контекст есть только в адаптерах.
>>714032 (OP)как же хочется сладости ><
>>724392В асинктасках тоже, например.
>>724392А вот в адаптерах как раз таки нет смысла. Более того, в адаптерах даже контекст активити нет смысла держать, а если держишь — то это проёб по архитектуре. Но проёб допустимый.
>>724413Из апликейшн контекста ты не можешь инфлейтить.
>>724413Лист адаптер как работает маня?
>>724421Внимательно прочитай, я говорю, что контекст аппликухи не нужен в любом случае.>>724422И как же он работает?
>>724423Да но внезапно нужен контекст активити.>>724422Инфлейтами.Также то что ты говоришь проеб архитектуры, ты сам не понимаешь что говоришь на самом деле.Контекст божественный класс который дает тебе доступ ко всему. Ресурсы, любые менеджеры и тд. Как ты вынесешь всю работу из адаптера и тем самым вынесешь активити контекст?
>>724426> Да но внезапно нужен контекст активити.Нет.> Инфлейтами.И зачем для этого адаптеру ссылка на контекст акиивити?
>>724427Что бы стили и тема была та же. А то потом удивляются хули вьюшки как говно и текст не того цвета.
>>724481А схуяли бы им не быть нормальными?
>>724427Там же вроде как есть баг, что из апликейшнконтекста инфлейтитт с ошибкой.
>>724528Да ёбаный в рот, третий раз говорю, не нужно никакого контекста приложения. Достаточно контекста parent метода getView в момент получения вьюхи.
>>724600Ты вообше долбоеб? На момент первых прорисовок нету вьюхи.Потому сука и суют контекст в адаптеры, чтоб инфлейтить эту ебаную вьюху. А если засунуть в конструктор апликейшн контекст то вроде бы как раз и будет экепшн. Я правда его так давно ловил что и не помню всех ньюансов. Потому я и сказал что для ебучих адаптеров нужен активити контекст, но кто-то возможно ты спизданул что-то про кривую архитектуру.Заебал нахуй, со своим ресайлервью вообще ополоумели. Если от тебя заинкапсулировали реализацию и ты неебешь что откуда берется то иди ты нахуй.
>>724614Хм, пойду поищу в своих проектах адаптеры.Точно помню, что контекст активити когда-то убрал за ненадобностью.
>>724614http://d.android.com/intl/ru/reference/android/widget/Adapter.html#getView(int,%20android.view.View,%20android.view.ViewGroup)http://d.android.com/intl/ru/reference/android/support/v7/widget/RecyclerView.Adapter.html#onCreateViewHolder(android.view.ViewGroup,%20int)"ViewGroup parent" есть и на момент первой прорисовки, из него можно взять контекст и в ListView/GridView и в RecyclerView
>>724614> Ты вообше долбоеб? На момент первых прорисовок нету вьюхи.parent есть всегда, учи матчасть.> Заебал нахуй, со своим ресайлервью вообще ополоумели.Я про ListView говорю.
Таблица на GridLayout(столбцы растягиваются по columnWeight). Cтолбы ужимаются, а сами баттоны в них растягиваются по ширине столбца и, я так понимаю, на маленьком экране(меньше, чем 4.7 дюйма) размер столбца становится меньше минимального размера баттона, поэтому верстка плывет. Как сделать ужатие самих баттонов вместе со столбцами? Подскажите, куда копать, пожалуйста.Вертикальное сжатие кнопок тоже интересует, т.к. на последнем скрине кнопки уходят вниз.
>>724737Хуй знает, что там с гридом, но есть замечательный percent relativelayout.
>>724746спасибо за наводочку
Как сделать ширину Spinner Dropdown размером в самый широкий item?
>>724856android:layout_width:"wrap_content", не?
>>724865Нет. Ему этот атрибут до пизды.
>>724856>>724865>>724870Такс, анончики. Я налажал. У меня Spinner в режиме Dialog. Как в этом режиме сделать ширину списка под самый широкий итем?
>>724871Что ещё за режим Dialog блядь
>>724871Тебе же дали ответ выше. Wrap content используй для листа
Аноны, я уже себе весь мозг выебал. Как получить блядский список друзей в facebook. Пробовал "me/friends" он возвращает только количество друзей и данные тех из них кто пользуется моим приложением никтоА /me/taggable_friends вместо id у юзеров возвращает левую хрень. Это вообще возможно сделать?
>>725119А погуглить? me/firends вернет только тех его друзяшек которые уже в твоей приложухе. А чистый список, дл яинвайтов например, получить низя, нужно вызывать пейсбучный диалог. Еще можно оформить приложуху как игру, тогда можно использовать invitable_friends, и показывать их в своем ui.
>>725108>>724865Да не работает это!>>725002http://developer.android.com/reference/android/widget/Spinner.html#attr_android:spinnerMode
>>725196Теперь понял. Вполне возможно, что это нельзя одной строчкой сделать, придётся самому реализовывать.
>>725209Причем даже через кастомный адаптер не удалось.
>>725189Нифига, invitable_friends сорт оф taggable_friends
>>725597В целом в api у fb, какой то пиздец твориться. То нельзя, туда не пустим, ко ко ко это ради юзеров. Мудилы блять.
Привет. Энетрпрайзный примат в теме. Дохуя стажа в яваЕЕ. В основном бакенды. Стеки редхата и оракла. Как быстро и непринужденно перекатиться в мобильный девелопмент. Учебников ява за 21 день не предлагать лол. Ибо подозреваю что яву я знаю всяко лучше чем 80% местных посетителей, как и груви со скалой. Короче реквестирую быстрый вкат в мобильный дев для энтерпрайзомакак?
>>725733Гуглишь тестовые задания@Вкатываешься
>>725597>Нифига, invitable_friends сорт оф taggable_friendsС чего ты взял? Мне это возвращает весь список друзей кто еще не в приложухе.
>>725772Я о том что idшки юзеров получить для загрузки данных профиля невозможно используя invitable_friends
>>725774Лол, а нахуя тебе их идентификаторы?
>>725776Задание тестовое делаю. С контактом все влет получилось, а от пейсбука меня трясет уже. Дальше списка друзей никак не продвинуться. А надо всего лишь дату рождения, телефон (если есть), пикчу и имя.
>>725779Даже если ты получишь айдишник друга юзера хуй ты инфу с него достанешь. Те кто давал тестовое в курсе что после graph api 2.0 многое пошло по пизде? А то мне на полном серьйозе хотели показать "мол раньше все работало ща покажу, чо воняешь" - и прямо на месте обсирались.
>>725785Там еще предлагают мыла юзеров парсить, такое чувство что они тз для задания лет 10 не меняли. Хотя там 5е ведро в требованиях и вся хуйня.
https://www.dropbox.com/s/ao57yihcgmbfnpy/Android_test.pdf?dl=0 Вот можно заценить задание.
>>725733Если у тебя дохуя стажа в проге, перед глазами шапка, и ты спрашиваешь как вкатится, то у меня для тебя плохие новости.
>>725790>>725785Хотя я кажется обосрался, имея адйишник ты что-т о вытащишь, но только то что совсем в публичном доступе лежит.
>>725791Ну я думаю тебе стоит им аргументированно объяснить, что ничего больше чем имя/фотку ты от фейсбука получить не сможешь.
>>725805Угу, так и сделаю.
>>725796Ебать дебил. Ты сам шапку то читал?Там кроме ссылки на сайт гугля по андроиду нихуя нет
>>725761Чот нихуя. Надо какой то учебник хотя бы. Эти лайоты и прочая хуйня не имеет ничего общего с ejb jpa jta jms с которыми я работаю сейчас
>>725844Советую тебе Алексея Климова, ну и официальные туториалы.Чет странно что ты за столько лет гуглом не овладел
>>725843И чем же тебя сайт гугла не устроил?
>>725843Я ее писал если что.Никак не пойму что тебе не нравится. В офф источнике помимо документации есть примеры и гайды, русские ресурсы так вообще изложили все попорядку и у них туевая куча уроков.Что ты ожидаешь получить в ответ "посоны как вкатится"? Ты должен быть достаточно сведущ в проге чтоб понимать, единственный способ вкатится писать что-то.>>725852В шапке внезапно это все есть.
Почему они не переходят на Go?
>>725863А нахуй го уперлось?
>>725863Каким образом ебанашка? Давай перепиши все что есть на Go.
>>725863go не нужен же
>>725863> GoХуита для хипстеров. Ещё бы на вайтспейс предложил перейти.
>>726030Питон штоле?
>>718653Еблан, просто залей новую версию в beta-раздел :3
Ребят, где можно найти тестовые задания на андроиде?
>>726210В этом треде например: >>725791Ты тот чувак у которого дохуя опыта в энтерпрайзе, да?
>>726240Нет, я хуй прочитавший HeadFirst.
>>726257Собственно и задания ищу средняковые.
Антоны, я приложение по вечерам пилил и закинул в googleplay. Сейчас посмотрел там почти 900 инсталов и всего около 90 активных. Нигде не рекламировал но думаю это и так понятно. Посмотри, может посоветуешь чего.https://play.google.com/store/apps/details?id=com.kota.randommovie.application
>>726267Дизайн говно, код наверное тоже (раз не показываешь).Ты бы вставил аналитику (типа google/flurry), ибо активные пользователи в GP иногда завышаются.Да и вообще это не те кто им пользуются, а кто поставил и забыл удалить.
>>726267Братан, названия разные, непорядок.Алсо было очень интересно почитать про Дмитрия Евдокимова, ну просто пиздец как, очень увлекательно, базарю.
>>725791а не охуеют они там?
>>726271Спасибо. А что можно с дизайном сделать? Как вообще прокачать построение интерфейсов?>>726347А что не так, вроде норм задание для джуна.
>>726351ХЗ, у меня тоже хреново с дизайном, но я отдаю себе в этом отчем.Поэтому я иду на FL (или freelance.ru) и делаю заказ на материал-дизайн интерфейса.Потом выбираю оптимального исполнителя по цене/качеству.
Посоны поделитесь историями удачи и счастья- как вы замутили прогу какую-то и она взлетела.
>>726494ехал в тралике, увидел как бабка разгадывает кроссворд, запилил апп, не взлетело
зачем все пишут "m" перед началом имени переменной, такого пиздеца никогда не встречал
>>726501Кек
>>726494Дело было в 2012, сделал несколько говнопрог, залил в гуглплей, в итоге у каждой сейчас по несколько миллионов установок а мне вообще похуй, стало лень ими заниматься в том же 2012.
>>726521>зачем все пишут "m" перед началом имени переменной, такого пиздеца никогда не встречалПодражание Android SDK, загляни туда.
>>726547ну а какой смысл в этом, что это значит?
>>726557mXXX от слова member (класса).У каждой команды есть определенные конвенции, их надо придерживаться.А насчет того что все пишут, это не правда - я не пишу (в конструкторе пользуюсь this.XXX = XXX)
>>726544Что у тебя за проги такие?
>>726572Говно всякое же, серьёзно. Уровня "очиститель андроид батареи виджет".
>>714032 (OP)ПЕРЕКАТhttps://2ch.hk/pr/res/726626.html
>>714032 (OP)ПЕРЕКАТhttps://2ch.hk/pr/res/726626.htmlhttps://2ch.hk/pr/res/726626.htmlhttps://2ch.hk/pr/res/726626.htmlhttps://2ch.hk/pr/res/726626.html
>>726521m - non-public non-static переменная.
>>726561а mm - memberMember? Что за mumbling?Казалось бы венгерская нотация осталась в 90х, ан нет нашлись форсеры сраные.
Пробелы или табы?Блок с новой строки?{}Или с той же? {}
>>726823ctrl+shift+LИдея всё сделает за тебя как надо.
>>727075Не пользуюсь идеей, наверняка это "как надо" можно настроить так, как мне захочется.
>>714032 (OP)Андроиданы, тут такое дело.Завтра утром я иду на собеседование на другую работу. А я очень давно этим не занимался, года три точно, да и волнался раньше на них жутко, просто из-за стрессовой обстановки.Какие сейчас вопросы задают? Чего ожидать? Что по быстрому освежить.
>>726823Пробелы. Code Style на что? Там все расписано и объяснено.Скобки - это однозначно египетские скобки. Это вообще впитывается с первым Hello World на яве.
>>741017> Пробелы. Code Style на что? Там все расписано и объяснено.Не слышал о таком, не гуглится. Поясни давай.> Скобки - это однозначно египетские скобки. Это вообще впитывается с первым Hello World на яве.Какая разница, как был написан первый хэллоуворлд на джаве?
>>741066>не гуглитсяТы дурак?https://google.github.io/styleguide/javaguide.htmlhttp://www.oracle.com/technetwork/java/codeconvtoc-136057.html>Какая разницаБольшая.
>>741152> Ты дурак?А ты мне сказал, какой надо гуглить? Ты мне 2 в ответ кинул, которые ещё и противоречат друг другу. Ни то, ни другое не называется "Code Style".> http://www.oracle.com/technetwork/java/codeconvtoc-136057.htmlFour spaces should be used as the unit of indentation. The exact construction of the indentation (spaces vs. tabs) is unspecified. Tabs must be set exactly every 8 spaces (not 4).Нет определённого общего соглашения, что пробелы можно, а табы — нет, у всех оно разное.> Большая.Классная аргументация. Если бы хэллоу ворлд был бы написан одной строкой, ты бы оформлял код одной строкой по сей день?
>>741205Поехавший, по запросу Java Code Style гугл выдает первую ссылку. Оттуда же:2.3.1 Whitespace characters Aside from the line terminator sequence, the ASCII horizontal space character (0x20) is the only whitespace character that appears anywhere in a source file. This implies that:All other whitespace characters in string and character literals are escaped.Tab characters are not used for indentation.Braces follow the Kernighan and Ritchie style ("Egyptian brackets") for nonempty blocks and block-like constructs:No line break before the opening brace.Line break after the opening brace.Line break before the closing brace.Line break after the closing brace if that brace terminates a statement or the body of a method, constructor or named class. For example, there is no line break after the brace if it is followed by else or a comma.
>>741419> Поехавший, по запросу Java Code Style гугл выдает первую ссылку.Первая ссылка не называется Code Style, как ты её начально назвал. Вторая тоже, кстати. Если пробелы — общепринятый стандарт, то есть электронный нормативный документ, имеющий конкретное название. И если ты мне хочешь о нём сообщить, то называй его точно, а не какое-то абстрактное название, по которому я нахожу овер 9000 таких "рекомендаций по оформлению".Ты мне кинул 2 ссылки в прошлом посте. В одной сказано, что табы нельзя, в другой — что табы можно. Догадываешься уже, что ты облажался?
>>741511>одна не указывает точного стандарта в этом вопросе, вторая его уточняетОчевидноЕсли бы ты не был дауном, желающим доебаться из-за мелочи, то из поисковой выдачи и того, что я написал, легко бы сделал правильный вывод о том, какие документы тебе нужны.Долбоеб.
>>741566Ясно, упорно 2 раза пропустил один и тот же аргумент, да ещё и перешёл на оскорбления. Слив засчитан.> Если бы ты не был дауном, желающим доебаться из-за мелочиЭто вообще ни разу не мелочь. Если есть общий нормативный документ, ты дашь его точное название. А дело в том, что такого документа просто не существует.
>>741671Где я, блядь, давал ТОЧНОЕ НАЗВАНИЕ ДОКУМЕНТА? Покажи мне. Ткни, блядь, пальцем.Это общепринятое, блядь, словосочетание, тупой ты мудак. Синоним Programming Style.Какой аргумент я пропустил?Еще раз: один документ не дает точной спецификации по КОНКРЕТНОМУ пункту. Второй этот пункт уточняет и полностью, блядь, регламентирует.
>>741802> Это общепринятое, блядь, словосочетание, тупой ты мудак. Синоним Programming Style.Общепринятое сочетание, по которому с одинаковой успешностью гуглится рекомендация от гугла и вопрос на стэковерфлоу "как надо оформлять код????" с длинным дискассом ни о чём.> Какой аргумент я пропустил?Что документа два и они друг другу противоречат.> Еще раз:Первый раз, видимо, был монологом в твоей голове?> один документ не дает точной спецификации по КОНКРЕТНОМУ пункту. Второй этот пункт уточняет и полностью, блядь, регламентируетОдин документ говорит что можно и так и так, второй — онли пробелы. Причём второй дан всего-лишь гуглом, это их гуглостайл, который в принципе не может быть единственно верным.