Продолжаем играть в велосипеды-костыли на андроиде, ведь по другому нельзя. А мой личный опыт тем временем перевалил за пол года. Коротко о главном: 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. Хотя чего тут объяснять. 5) udacity - в треде очевидцы говорили что есть годный курс, но я лично не смотрел.
Книги, их никто не читает, но все советуют только одну 1) The Busy Coder’s Guide to Android Development
>>549114 (OP) >А мой личный опыт тем временем перевалил за пол года Какой ещё опыт, ты же необучаемый. Тебе уже рассказывал добрый анон, как нормально перекатываться.
Подскажите за анимацию, допустим я использую ImageSwitch, как мне сдЕлать анимацию между сменой картинок - хотябы прозрачностное исчезновение и появление???
>>549114 (OP) Аноны, недавно начал изучать разработку под андроид, наверное глупый влпрос. У меня есть фрагмент в tablayout на нем кнопка, нажимаешь на неё вызывается авторизация через VK SDK, а после неё нужно на этом же фрагменте, например, вывести список друзей, как это делается?
Кто-то уже спрашивал в прошлых тредах, но проблему я так и не решил: нужно сделать, чтобы верхняя панель оставалась на месте, а не уезжала вместе с остальными элементами от появления клавиатуры. Как это у вк в диалогах. Экшнбаром не получается. Или это делается более современными элементами типа тулбара?
Антуаны, расскажите своих кулсторей о том, как вы первый раз устраивались на работу. Я заебался с поисками уже. Как выйти из бесконечного цикла "не берут даже джуном т.к. нахуй никому не нужен без опыта (и похуй на уже сделанные свои приложения), которого не набраться без работы"?
>>549498 >Action Bar? Какой год сейчас? Делай тулбар, там поменять две строчки. Так и думал про тулбар. Просто пилю приложение пока только на свой телефон, а там апи 15
>>549668 если не делать parseInt, а просто сделать description.text(); то все работает. Но мне, блин, нужен именно int для расчетов. (Если честно, то не знаю как правильно смотреть ошибки в Logcat)
Ну что за хуйня этот SQLite, никак не создаётся хуйня с внешним ключом. Создал пустую базу, в ней из таблицы B есть foreign key на A, а из C на B и всё работает, в моей - ни в какую. Пересоздавал таблицы заново - всё равно никак - near "B": syntax error и всё такое. В интернетах только говорят, мол, перемещай вниз объявления внешнего ключа, но куда уж ниже? Я даже не знаю, откуда ждать помощи, может тут кто сталкивался.
>>549671 >Dagger2 Я так понимаю ты с ним работал? Я правильно понимаю что это по сути замена явного полиморфного присваивания? Т.е. если например в onCreate мы хотим создать адаптер для списка, то вместо adapter = new StubAdapter() или new NetworkAdapter() мы говорим getComponent.inject(this) и аннотируем adapter как @Inject и какой именно адаптер он здесь присвоит, нам не важно. А саму реализацию, мы указываем меняя внутри компонента один модуль на другой. Так?
В одном из приложений увидел вот такую прокручиваемую горизонтальную панель. Как реализовать такую же? Это группа button во фрагменте с присобаченным горизонтальным скроллом или самостоятельный вью элемент?
Есть какое то логичное объяснение тому факту что для работы TabWidget не хватает просто описания в лейауте? Серьезно? Подавай ему вызов setup, addTab. То что и так уже описано. Боже, какой пиздец творится в этом андроиде.
>>549754 Хер знает, но я бы такое делал на RecyclerView с LinearLayoutManager.HORIZONTAL >>549759 Тут тогда придется или самостоятельно адаптер прикручивать или совсем без него.
>>549752 Если это так, то к чему вся эта ебля. К тому же проеб про производительности за счет постоянных рефлекций с аннотациями то. не могу в DI, как и в Rx
>>549752 Ну да, в этом вся суть DI, сам пока на нем только хеллоуворлды делаю, поэтому и спрашивую, вдруг здесь есть те кто в продакшене использует прогрессивные технологии. У меня сейчас огромный проект 2012 года который наглядно выглядит как сборище антипаттернов частично вызванных отсутствием dependency injection и сильной связанности компонентов и вообще какой-либо вменяемой архиктуры.
>>549800 А где проеб производительности? В даггере рефлексия на минимуме, зато можно гораздо легче тестировать, кидать mock бины, уменьшается связность, легче работать параллельно без анальных мерджей превращающихся в настоящий ад.
>>549515 Сразу говори, что готов на испытательный срок без оклада. Там проявляешь свои лучшие качества по максимуму, худшие скрываешь. Работодатель принимает тебя если понравишься, а дальше становишься среднесотрудником.
>>549946 > на испытательный срок без оклада Не советую. Я бы такого не стал брать. Сразу представляю как он мне будет гит ломать кривыми мерджами и коммитами, как код реьвю затянется на пару недель, и придется выделять человека чтобы он с ним сидел и все за ним проверял. Хотя это все относится к нормальным вакансиям. И да, если есть свои приложения (само собой выше уровня туториала по андроиду) то это уже и так опыт. (всегда можно сказать что делал его на заказ и указывать это как фриланс)
>>549515 Ну я, например, сейчас в ведроид-школе учусь. Вполне неплохо, но работа врядли светит. В прошлый раз взяли 3-х человек из 15 учеников, и то через собеседование. А народ жесткий учится. Какая конкуренция на работу в ведроиде - не представляю
Напомните в чем преимущество фрагмента в ситуации: • Окно состоит из одного фрагмента. Фрагменты создается в onCreated активити и в нем вся логика, активити только для хостинга. • Повороты отключены в манифесте (только портретный режим)
Почему бы мне не сделать просто активити БЕЗ фрагмента?
>>550175 Я тут уже ругался пару месяцев назад. В активитях плохо работают лоадеры. Т.е. имеет место баг, точное описание искать надо. Фрагменты надежнее сообщают о закрытии активити через onDestroy или onDetach. А ещё их можно использовать для хранения ссылок на, например, асинктаски, если не хочется с лоадерами ебаться (то ещё неудобное говно).
>>550180 Тоже был интересный случай: Добавил несколько фрагментов в активити, а внутрь некоторых добавил еще фраментов (через childFragmentManager). Так после pause/resume некоторые лоадеры стали загружать данные в чужые фрагменты (те фрагменты перепутали кто какими лоадерам владее). Хотя везде были уникальные ID.
После этого я перестал извращаться и стараюсь делать UI проще. Да и лоадерами больше не пользуюсь, слишком они примитивные.
Киньте годный тутор по GridView. Вот как например сделать фиксированный размер ячеек? В ячейке находится текствью с паддингом 20дп, гридвью стоит как врап контент, но нихуя блядь, он уменьшает ячейки
Сап, аноны, спасайте. Хочу сделать поиск в приложении, через интернет (есть АПИ для получения результатов). В гугловском гайде написано, что надо юзать отдельное активити для показа результатов ( http://developer.android.com/guide/topics/search/search-dialog.html ). Можно ли обойтись без этого? Если мне нужно в этой же активити выдавать результаты. Как тогда всё реализовывать, если стандартный гайд не подходит?
>>550411 Да забей ты на этих мудаков. Гугл сам нихуя не понимает что делает, в каждом релизе все эти "гайдлайны" с ног на голову. Делай весь UI в фрагментах и будет тебе счастье.
>>550430 Ок, я вот нашел SearchView.OnQueryTextListener, он помогает работать с текстом прямо в этой активити. По методу onQueryTextSubmit я могу отправлять запрос, а как по результатам второго метода (с того же интерфейса) onQueryTextChange делать что-то похожее на пикрелейтед? Если есть апи, по которому могу веб запрос отправлять и список "вариантов" получать, как его отобразить? Во всём, что нашел (гугловских доках в том числе) - работа или с историей старых запросов, или с базой данных. Можно же получать это всё с онлайна, я уверен, только как? Может кто сталкивался. В гугле нихуя.
Анон, поясни ньюфагу. Контролы что есть практически в любом приложении (например, хедер, выдвигающаяся панель слева, обновление при свайпе вниз, круглая иконка в углу для добавления контента) - это дефолтные контролы и я могу их добавить в свое приложение, или это все нужно с нуля пилить.
>>550697 Запустил и сразу закрыл лол. Я такого тормозного говнища еще никогда не видел. Интерфейс просто натурально фризится каждые несколько секунд. Даже последняя VS и та летает. Есть какие-нибудь альтернативы андроид студии?
>>550778 Но ведь VS правда няшка по сравнению с ведростудией. Жрет просто в разы меньше памяти, не нужно ждать градл синков по 30 секунд. >>550786 Подключаешь либу как?
>>550797 Есть такой код: ValueAnimator colorAnim = ObjectAnimator.ofInt(RelativeLayout, "backgroundColor", RED, BLUE); colorAnim.setDuration(500); colorAnim.setEvaluator(new ArgbEvaluator()); colorAnim.setRepeatCount(ValueAnimator.INFINITE); colorAnim.setRepeatMode(ValueAnimator.REVERSE); colorAnim.start(); на что поменять RelativeLayout, чтобы background приложения менялся?
Хмм, наверное вопросы по дизайну сюда нельзя писать? /// В общем, как сделать, чтобы для разных устройств такой дизайн не пидорасился. Есть два текствью. Смотрим пик. Заместо красного и желтого две разные картинки хочу. Как такое реализовать? Можно конечно картинку в фш сделать для каждого устройства, но это ведь совсем пиздец. Хочу научиться программно реализовывать такие вещи
Пидорасится дизайн на разных устройствах. Какие есть основные принципы дизайна для предотвращения подобного? Например, textView на одном устройстве становится четко по центру, на другом - уже внизу.
>>551300 • Не пытайся позиционировать элементы в конкретных местах на экране. Используй списки: ViewPager, ScrollView, RecyclerView, HorizontalScrollView • Если уже приспичило выровнять используй layout_gravity • Смотри как это реализовано в стандартных приложения Android (Play Store, Inbox, Gmail, Calendar и тд). Не изобретай велосипеды.
Короче снес эту студию нахуй. Тормозное говно. Попробую eclipse поставить. Подскажите ньюфагу как такие меню лучше делать? Или просто кнопками? Я так понял что такие элементы на форме лучше делать отдельными фрагментами, да?
На карте нельзя одновременно показывать несколько InfoWindow, как добиться похожего результата (где-то рядом с маркерами Layout некий рисовать, с инфой, зависящей от маркера) ?
Если для моей программы пользователю необходимо закидывать файлы, то какую директорию правильно использовать для этого во внутренней памяти, и как в приложении получить путь к этой директории?
Приветствую андройдобогов! Мне понадобилось поотлаживать сайт с использованием живого устройства и удаленного отладчика, встроенного в Хром. Для этого Андройд нужно подключить по USB и подрубиться к нему через инспектор, как описано в этой доке https://developers.google.com/web/tools/setup/remote-debugging/remote-debugging
На Маке все заработало прекрасно, но проблема в том, что сайт на ASP и я большую часть времени сижу под Вин. А с Вин начались проблемы, драйвер устройства от производителя, как я понял из инструкции не поддерживает отладку, следовательно нужно ставить их драйвер, как описано здесь http://developer.android.com/tools/extras/oem-usb.html но этот драйвер не включает конкретно мое устройство, я попробовал отредактировать inf файл и включить его. Но тогда драйвер теряет контрольную сумму и подпись, и под Вин 8.1 с Secure Boot не поставиться.
В заключение сей тирады. Господа андройдобоги, разрабатывающие на Вин, вы действительно делаете все эти танцы с установкой гугловского драйвера или нужно копать в другую сторону? Или может есть какой-то список устройств, чей OEM драйвер поддерживает отладку?
Создал я в активити два фрагмента как табы. Как потом внутри одного из этих фрагментов взять что-то из другого? В активити их в паблик статики вогнать первая мысль, но может есть другой вариант? Как ты делаешь, анон, как " правильней"?
>>552025 1 не вариант. Нормальный прямой доступ к фрагменту из активити не запилии, только если заново пересоздвавать фрагмент. Постоянно будешь иллегалстейтэксепшоны ловить.
>>549515 через стажировки конечно. Я например вылез из этого говна через стартап одной большой компании. Ебашил за гроши пару месяцев, потом пошло поехало...
>>552038 Хорошо, как ты собираешься "из активити вызывать другой фрагмент"? Из активити невозможно понять в какой фазе лайфцайкла фрагмент. Поэтому если фрагмент еще не доавлен то будешь именно этот эксепшн ловить. Андроид вообще тупо сделали, не могли как в крузисе.
>>552042 Обычно если шлёшь сообщение из одного фрагмента во время работы, другой равноправный фрагмент находится в том же состоянии. И даже если нет: и чо? Почему получение фрагмента и вызов определённого тобою метода должен привести к исключению?
>>552045 Сначала ты говоришь, что есть проблема обращения активити-фрагмент, теперь - фрагмент-активити. Для такого можно навелосипедить простую очередь сообщений, которая очищается в onAttach. И то это справедливо только для retaininstance фрагментов, у которых очень ограниченнный юзкейс.
>>552046 >И то это справедливо только для retaininstance фрагментов, у которых очень ограниченнный юзкейс. Да? Насколько я знаю нет, в основном используют как раз retaininstance фрагменты. И при чем тут они кстати? onAttach вызывается в любом фрагменте.
>>552049 > Да? Насколько я знаю нет, в основном используют как раз retaininstance фрагменты. А вот и нет. В зависимости от задачи, конечно, но r-i фрагменты используются чаще всего для хранения, нежели для работы. > И при чем тут они кстати? onAttach вызывается в любом фрагменте. При том, что с обычными фрагментами ты работаешь уже после onAttach.
>>552051 >При том, что с обычными фрагментами ты работаешь уже после onAttach. А как ты из Activity это узнаешь? Могу дать реальный пример: у меня есть вьюпейджер с 2 фрагментами. Один фрагмент с картой. Когда актвити создается мне нужно поставить во фрагмент с картой маркер. Но если поставить маркер до onAttach то будет очевидный эксепшн (nullpointer или illegalstate). Поэтому велосипедить очередь сообщений в любом случае придется.
>>552057 Схуяли? Fragment mFragment = new MyFragment(); getFragmentManager().beginTransaction().add(myFragment).commit(); myFragment.isAdded(); //false
>>551963 Используй activity как хранилище данных. Первый фрагмент говорит activity.setData(). Другой фрагмент, когда он появится на экране вызывает activity.getData(). Таким образом у тебя фрагменты совершенно не зависят от друг-друга. Ну или вместо activity можно application использовать, если фрагменты в разных activity.
>>552533 1) ты будешь писать модульные тесты для presenter? 2) ты пишешь кросплатформенное приложение (android/ios на robovm)? если обо ответа нет, то MVP тебе не нужно.
Можешь активити/фрагмент представить к presenter. Но тогда старайся выносить весь UI код в кастомные View, а не хранить в активити.
Заебала каша из кода. Даже если пытаешься использовать фрагменты как презентер, все равно очень много говна. Но кастомные вьюхи у меня в основном всякая мелка хуйня, типа виджетов.
Слышал про Mortar от Square? Если да, хотелось бы мнение услышать. Я боюсь что если все делать на кастомных вью, то все плюсы плюсы ли? фрагментов исчезнут.
Нужно напедалить лист с кастомными вьюхами и функционалом отослать запрос и тд. Есть два варианта, один - педалить все в адаптере руками, там же листенеры и прочее, второй - захерачить свою вьюху. Что предпочтительнее? Своих вьюх еще не делал, много ли времени займет сделать спанейбл вьюху с всякими перделками и листенерами?
>>552541 Делай всё на активити - если связность виджетов сильная, никуда не денешься. Начнешь разделять - всё равно будет говнокод с перекрёстными ссылками. Если можешь разбить виджеты на несвязные(т.е. не используемые одновременно из одного куска кода) множества - распихивай по классам. И да - юзай спойлеры кода, структурируй/упорядочивай методы, где можно, чтобы читабельнее было и аутлайн для навигации.
>>551932 Тестирую через эмуль, либо при попытке закинуть файло в разные места через adb push пишет что файловая система рид-онли, либо в программе не может их считать (open failed: EACCES (Permission denied)). В манифесте пермишен на запись указан.
Ребятки, подскажите. Допустим мне нужно генерировать некоторое множество ImageView-ов, чтобы делать один длинный экран, который можно будет скроллить. При этом сколько этих ImageView будет, я смогу узнать только во время выполнения программы (когда сервер даст ответ). Как мне это дело проворачивать? Делать коллекцию в которой хранить элементы типа ImageView? А activity_main.xml как оформлять? Вьюшки же и там должны быть прописаны. ХАЛП!
Или альтернатива, как сделать параллакс-таймлайн, с картинками и текстом, без ИмеджВьювов?
>>552711 Премного благодарен, таки можно без добавления в хмл. >>552723 Вроде смотрел что это реализовывается через DrawerLayout, но спасибо за ответ. Он все равно полезен.
Лан, это опять я. >>552918 И опять с тупыми вопросами. Если у меня нет описания в хмл этих вьюшек, то в методе getView мне нужно использовать ImageView который я передаю в конструкторе?
И как задавать android:layout_below для элементов внутри RelativeLayout, программно, а не в xml?
И что предпочтительно для длинного экрана с картинками всё-таки, ListView с адаптером для ImageView, или ScrollView, в котором RelativeLayout, в котором ImageView
Гуглил много и упорно. На английском. Прошу помощи у вас, как у умных и прошаренных.
>>550346 Суть такова что гридвью растягивается на всю ширину экрана, даже если указать ширину ячеек фиксированной (напрямую или через паддинг) и соответственно растягивает ячейки.
Хочу, чтобы метод setText присваивал числовое значение для TextView. Пока писал -- разобрался, лол. Надо было число объявить не как int, а как Integer, а дальше присвоить chislo.toString()
Двач, помоги. Решил обмазаться андроид-разработкой, решил начать с официальных туториалов, но тут возникла проблема. На этом https://developer.android.com/training/basics/firstapp/building-ui.html этапе они предлагают редактировать activity_my.xml, но он совершенно по-другому устроен, плюс еще есть какой-то conent_my.xml, он по-моему больше подходит. Но если редактировать в одном, и не трогать другой, то получается две отдельных вьюхи, налипающих друг на друга. Если вообще убрать неиспользуемый xml-файл, то получается вообще без ничего, без вот этого меню вверху и названия, просто пустой проект. Почему создаются два xml? У гугла устаревшая документация?
>>553428 у гугла ебаная документация если ты хочешь научиться - скачай лучше книжку какую-нибудь или разбирайся методом тыка документация google - это просто для уточнения деталей, как что должно работать
Товарищи, будьте добры, помогите. Есть ImageView, поверх него надо TextView c разными шрифтами и стилями. И надо сделать тень, чтобы затемняла картинку, чтобы текст был читабельным. Стили и шрифты для TextView доступны через SpannableString и Html.fromHtml. С этим не беда вроде.
TextView с backgroundresource ебически растягивает изображение. Не подходит.
На данный момент есть ScrollableView с LinearView (vertical), в котором красиво расположились ImageView, именно как и надо. Теперь собсно вопрос, можно ли прямо здесь наложить TextView на ImageView? Или придется делать кучу RelativeView внутри LinearView(vertical), чтобы это реализовать?
И каким образом сделать тень на части ImageView? Или тень сзади TextView.
>>553454 Чёт в книжках как-то странновато всё, да и почти у всех всё через эклипс. Эх, ладно, буду сейчас через udacity смотреть гайды, там вроде как раз актуально всё и для умственно-отсталых.
Хер с ним, с Питоном. На стажировке пришлось изучать Delphi, лол. Современный Delphi оказывается много чего может. Один и тот же код можно запускать на 4 платформах - винда-мак-андроид-айось, и всё это нативно, а не в виртуальной машине.
Товарищи, подскажите. Есть у нас someTextView.setGravity(Gravity.CENTER | Gravity.CENTER_VERTICAL); и есть еще otherTextView. Используется FrameLayout. Как с помощью Gravity расположить другой TextView немного ниже первого? Сейчас еще с getAbsoluteGravity попытаюсь разобраться, но если знаете, подскажите пожалуйста.
>>553693 Мне нужен ImageView поверх которого 2-3 TextView. Задать TextView поверх ImageView можно с помощью фреймлейаута. Расположить один под другим с помощью велосипеда удалось.
>>553698 >Задать TextView поверх ImageView можно с помощью фреймлейаута И откуда вы только такие беретесь? Юзай RelativeLayout. Ну или хер с ним, если уж так любищь фреймлейауты, то что-то такое: <FrameLayout> <ImageView> <LinearLayout> <TextView/> <TextView/> </LinearLayout> </FrameLayout
>>553641 Почему возникла такая потребность? Если хочется вкатиться в андроид, то лучше с нуля начать на джаве. Если нужно портировать - то все равно многое придется подгонять под фреймворки - киви, например. Вроде можно еще через pyqt, но не пробовал. Всё это жутко некрасиво, неудобно, да и пока установишь и разберешься - можно с ума сойти. Документация скудная, примеров мало. Сборка - через buldozer или python-for-android. Плюс еще весьма непонятный подход доступа к девайс-апи, нужно юзать обертки через PyJNIus, plyer, а это тот еще гемор. Лучше забей на эту идею, слишком много подводных камней.
Статический список на 24 айтема, делать через листвью или линеарл лэйаут тоже пойдет? В первом случае будет задтруднительно одну хуитку сделать. Сильно ли будет тормозить второй вариант?
>>553929 Что за хуитка? Это важно, потому что я вообще не представляю случая, когда для 24 айтемов потребуется линеар лэйаут, фу бля, небось ещё и в хмл-ке захардкодишь эти 24 элемента, да?
>>549114 (OP) Есть RecyclerView, в него необходимо добавлять разные вьюхи, как это делается? Свитч в зависимости от элемента? Как это реализовано в плэй маркете?
Вот кто бы мог подумать, что пусть и не очень тривиальная, но вполне себе стандартная задача вызовет столько проблем.
Вкратце - нужно реализовать drag/zoom для RelativeLayout.
Ну ведь есть же такое, много где есть! В браузере любом - пальчиками раздвинул, содержимое зазумилось, и пальчиком по экрану туды-сюды водишь. Стандартное какбе поведение. И так случилось, что я пишу свое первое приложение (и нихуя андроид-студия не тормозит, под убунтой по крайней мере) и логика главного моего активити требует именно такого вот драг-зума. В общем там есть RelativeLayout, в который я из кода добавляю ряд ImageView c картинкой и присваиваю ему обработчик OnClick, который вызывает попап. Пока что у меня чисто прототип, но логика финальной аппликухи будет подчиняться именно этой схеме. И вот я принялся искать реализацию стандартного казалось бы поведения, гугль выдал мне целую кучу ссылок на StackOverflow, CodeProject, где-то даже на gitHub. И перепробовал я их за последнюю неделю ну, наверное, десяток какой. И всех, ВСЕХ их объеденяет единое общее свойство - из них ни один, сука, не работает.
Короче, пока что наибольшим достижением стало работающий в обоих направлениях ScrollView. То есть в блядском sdk нет встроенного двунаправленного, есть только два однонаправленных, которые можно вложить один в другой и через кастомный класс отправлять onTouchEvent ивенты из вложенного скролла в родителя: http://stackoverflow.com/questions/3866499/two-directional-scroll-view
Работает и правда вполне себе удовлетворительно, я бы даже сказал хорошо. Спокойно еложу пальчиком по экрану и содержимое вьюхи послушно следует за ним. И даже клик по картинке работает, исправно вызывает попап. Впрочем, не совсем исправно - присутствует непонятный и очень досадный баг, что клик вызывается корректно по горизонтали, но без учета сдвига по вертикали. То есть кликается по той области экрана, в которой ImageView находится, когда вертикальный скролл наверху экрана. Стоит сдвинуть чуть пониже, он все равно реагирует на изначальное положение.
Но это мелочи по сравнению всех предприятых мною попыток заставить работать pinch/zoom. Это просто какой-то пиздец. Оно на прикосновения либо не реагирует, либо реагирует с большой задержкой и через раз, а даже если и реагирует - масштаб меняет какими-то рывками. Вот, например, последний неработающий пример с гугля: https://gist.github.com/anorth/9845602
Вот что, блин, делать то? Как этот блядский андроид побороть? А то у меня уже бугурт, что говорится, а я ведь только начал.
Анончики, поясните мне за гуглплэй. Плата за аккаунт разработчика единоразовая - один раз заплатил и можешь сколько угодно приложений выкатывать до конца жизни? Можно ли выкатить в магазин простой хелловорлд или бесполезные приложения банят/не пропускают? Как они проверяют все эти юридические штуки, вот например, создам я загрузчик с флибусты - это же незаконно и мой аккаунт навсегда забанят или просто потребуют удалить приложуху? А с музыкой как, можно ли сделать аудиостриминг с ютуба или других открытых источников, или это тоже незаконно и банят? Как вообще можно во всем этом разобраться, просто гуглить и тщательно читать все лицензионные соглашения, патенты? Это ж пиздец как муторно.
Аноны, не работает механическая кнопка хоум в приложении. Т.е. На телефонах с наэкранными кнопками управления все Ок, а с встроенными в корпус - хоум тупо не реагирует. Чяднт?
Анон, накидай мне гейдов по созданию GUI на ведре (язык русский или английский), желательно таких, где объясняются фундаментальные принципы его работы, чтобы потом свои кастомные элементы с пониманием дела можно фигачить.
>>554919 Для меня проблема, я даже хелло ворлд толком не написал, как что-то поменяли. Ты можешь объяснить зачем это сделали и как с этим предполагается работать?
>>555269 Короче, теперь такой расклад, маня. Пишешь xml-разметку теперь не в активити, а в контенте, после текст-вьюхи с хелловорлдом. Чтобы убрать эту блядскую кнопку с почтой в джава-файле убрираешь инициализацию FloatActionButton fab и нижестоящий листенер. Пишешь код, который тебе нужно в публик класс майнактивити, как и раньше, больше там ничего не удаляй и не трогай. Также удаляешь в конце активити xml инициализацию id/fab. Всё заебца работает, брат жив.
Два чая, кофе или виски на выбор, этим достойным джентльменам!
Правильно ли я понял, что после выхода 1.4 вместо бланк активити - сделали что-то новое >обмазали они стандартный шаблон своими support.design виджетами. а на ее место пришла емпти активити?
И еще вопрос, как в итоге "правильнее", если так можно выразиться действовать дальше? Работать по предложенному шаблону как описал этот >>555370 анон или плюнуть и действовать по плану >>555343
Аноны, читаю из xml некий текстовый атрибут "хуй \n 123" в переменную String, но при выводе, символ перевода строки не обрабатывается и текст отображается так же с \n. Как реализовать чтение и вывод многострочного текста из xml?
>>555433 Да вообще без разницы, это не такое большое дело, чтобы возводить это в какие-то правильные/неправильные действия. Некоторым нужны бары и менюшки, некоторым нет. Одни могут допилить код и понять, чего от них хотят в туториалах, некоторые тупо следуют инструкциям и тупят при незначительном апдейте. Покопайся в структуре проекта, поделай хелловорлдов и скоро сам всё поймешь и не будешь создавать себе проблем из-за ерунды.
>>555633 Дело не в оперативке. Студия вообще показывает что занимает не больше 300мб. Она тупит потому что сама по себе является феноменальным куском говна на жаве. Кроме того в фонме работает куча говна вставленного туда гуглом. И вдобавок ко всей этой хуите, естественно же, ебанутый неоптимизированный gradle, который билдит простой проект пару минут и при этом вешает всю систему.
>>554902 Кстати, а может создать 1 акк для /pr/? Все приложения будут отсылаться владельцу акка, он их проверять и выкладывать? А мы получим ссылки на собственные приложения.
>>555774 Есть стиль кнопки для 4.х, она просто серым подсвечивается, а есть для 5.0 - риппл эффект по ней идет. Обновился телефон до 6.0 - кнопка без риппла, просто серым подсвечивается, как для 4.х версии ОС.
>>555771 Заподозрят какую-то приложуху - забанят весь акк. Алсо, в чем проблема заплатить 25 баксов и cамому играться сколько влезет? Даже ультранищеебы могут накопить столько с мамкиной пенсии.
>>554902 >Как они проверяют все эти юридические штуки Никак не проверяют и не модерируют. Там пиратского контента как говна. Еще одна причина почему я ненавижу обоссаный гугл и их ведро.
>>555841 Ну, возможно не так жестко, как в эпл, но думаю, проверяют, всё-таки не нахожу всяких пиратских штук, многие приложения типа стриминговых приложух, вк-клиентов так и выкладывают годами на сторонних сайтах апк-файлами, в сторе их нет. Всё равно как-то стремно пилить приложения, забанят еще, и потом никак не восстановишься, там же небось на карточки-адреса тоже бан накладывается.
>>555842 >не нахожу всяких пиратских штук, многие приложения типа стриминговых приложух, вк-клиентов нашел с десяток таких приложений за пару минут. Там никого не волнует происхождение контента, пока не придет жалоба
>>555853 >Заблокированный аккаунт разработчика из-за выкладывания приложения для чтения манги. >Разработчик написал приложение, в котором присутствуют картинки персонажей, авторским правом на которые он не обладает. Приложение заблокировали. >Разработчик сделал клон flappy bird и назвал его Flappy Flapper. Оно появилось в сторе, но потом его перенесли в подвешенное состояние. А после попытки перезалить то же приложение под другим именем — заблокировали оба. Чет обосрался. Там-же приложений манги и аниме десятки и никто их не банит годами. На главной в топе приложений постоянно красуются игры с майнкрафт-контентом. Короче, хуйня это все.
>>555842 Постепенно игра по выкладыванию приложений превратилась в рутину. Я почти перестал писать новый код, а только публиковал и публиковал приложения. Что нужно, чтобы уйти от Google и не получить блокировку за старые прегрешения? (Google неплохо умеет идентифицировать человека по компьютеру, банковским реквезитам, номеру телефона и фиг знает ещё чему. Был случай, когда у знакомого не проходила регистрация в маркете, когда я просто стоял рядом. Совпадение конечно, но...)
>>555853 Ну во всех описанных случаях авторы - виноваты сами. Особенно в первом, прямым текстом признался что пиратил контент а потом удивлялся что его банили. По второй статье - > На письма с просьбой пояснить причину бана ответили, что причина окончательная и обжалованию не подлежит. Также сказали, что при повторном обращении удалят весь аккаунт. - Ёбаный пиздец. не могу поверить что в гугле настолько всё плохо.
>>555866 Работал в компании которая выкладывала фейковые-приложения (обертка над сайтом + наша реклама). После выкладывания >4 таких приложений под один аккаунт, он сразу полностью банился.
Приходилось постоянно заводить новые аккаунты, но губ все равно их находил и банил в течение нескольких дней.
Поясните дебилу, что я не так сделал. Решился переводить Liberal Crime Squad на русский, перевел весь стрингс. Начал собирать приложение и выскочила такая хуйня.
Как мне наибьолее адекватно отделить получение данных с сервера, парсинг json, создание объектов для списка ОТ отображения, обработки событий от пользователя?
>>555875 Не понял что за приложения такие. >>555901 Так пишут в основном те, кто косячит и явно пиратит. Не верится что на ровном месте меня могут отхуесосить низачто.
Поясните по хардкору за публикацию приложений. Хочу выложить свою прогу аналог снапчата+телеграмм. Без рекламы. Без смс, без регистрации на номер телефона, бесплатно. Просто выложить в плэй. Какие подводные камни?
>>556798 > Так пишут в основном те, кто косячит и явно пиратит. Нет. Я не косячил и не пиратил, приложение просто удалили из-за копирайтов, причём даже не понятно каких. В приложении не было ничего чужого. На мой вопрос "за что" получил отписку с предупреждением, что в следующий раз акк забанят или типа того. Это их стандартный ответ. Я так и не выяснил, в чём причина даже и что я "спиратил" по их мнению.
1. Я так и не понял прелесть RX. Ну ок, я меняю шило в виде асинктасков на мыло в виде rx. И нигде не описано, че с жизненным циклом. Если я закидываю в observer анонимку, то я получаю замыкание, которое держит ссылку на активность, которую ее создала. Таким образом получаем ту же ситуацию, что и с нестатичным асинктаском, объявленным внутри активности. Гроб гроб кладбище утечки, нуллреференсы на вьюхах.
Пока навелосипедил себе асинктаски, объявленные вне активностей, и отдающие результат в EventBus IntentService со своей однопоточностью идет нахуй, асинктаски многопоточны с executeOnExecuter.
2. Если рассматривать ситуацию с асинктаском объявленным inner static в активности / фрагменте, то нормально ли кидать ссылку на активность слабой ссылкой? И в постэезекьюте уже проверять, жива ли ссылка на активность / фрагмент, или нет. Или можно попасть в ситуацию. Можно ли попасть в ситуацию, когда ссылка жива и onDestroy был уже вызван? GCшится ли активность сразу после уничтожения? Если да, то попасть в описанную ситуацию нельзя, ведь онпостэкзекьют выполняется на том же потоке, что и жизненный цикл активностей.
>>556134 >дефолтные ContentProvider Никогда не используйте ContentProvider, кроме случае когда нужно экспортировать данные из приложения и система требует это делать через ContentProvider
>>556855 > Можно ли попасть в ситуацию, когда ссылка жива и onDestroy был уже вызван? Запросто. > GCшится ли активность сразу после уничтожения? Она может хрен знает когда уничтожиться.
>>556855 > то я получаю замыкание, которое держит ссылку на активность, которую ее создала
Да но она разрывается, если ты вызовешь: 1) unsubscribe у созданной подписки либо 2) onComplete у обсервера
> не понял прелесть RX 1) stream (LINQ в C#) подобный синтаксис - ты можешь создать цепочку обработки данных, приклеивая одним Observable к другому 2) удобный формат получения множественных данных. Допустим ты перезаписал данные в базу, и у тебя "автоматически" они подгружаются в onNext. Для таких целей обычно променяют AsyncTaskLoader, там есть встроенный обсервер. 3) Удобно для кросплатформенных приложений (android/ios) на RoboVM (в iOS нет AsyncTask).
Поясните, пожалуйста, про камеру. Я так понял, можно сделать апп с камерой двумя способами - через создание объекта класса камера и через интент. В чем разница? Что используют ровные посоны, а что считается зашкваром для даунов?
http://pastebin.com/9sZTYPFk Хочу разделить верхнюю строчку RelativeLayout на половины. В RelativeLayout добавил LinearLayout, в нём задал веса. На превью всё правильно выглядит, а в программе - забивает на веса и просто всё в одну строчку, одно поверх второго пилит. ЧЯДНТ?
>>556800 Ну и выкладывай, хули, хоть с рекламой, платно, с смс. Код то твой, до дизайна не приебешься. Главное, чтобы не было всяких чужих изображений и ссылок.
Начал изучать андроид, с легкостью написал первые приложения, нравится даже больше, чем кодинг на питоне, гуй - вообще конфетка, разобрался с лэйаутами, вьюхами, всё просто и красиво. Какие подводые камни вообще у андроид-разработки, неужели это прекрасное занятие можно разлюбить?
Скачиваю картинку по url, ставлю её во вьюху через setImageBitmap, в зависимости от разрешения экрана она изменяет размер, то есть где маленькое разрешение она большая, а где большое разрешение она маленькая. Как исправить?
Gradle и 999999 ошибокАноним13/10/15 Втр 01:35:08#272№557364
Вообщем програмлю я с планшета (через AIDE). Так вот, при попытке подключения библиотек получаю дохе... много ошибок, и так при попытке подключения любой библиотеки...
Если кто сталкивался, помогите, как туда нормально библеотку внедрить то.
>>557432 Зависит от ширины же. Когда хотел сделать полностью скалируемый интерфейс знатно проебался с этими sdp из-за квадратных айпэдоподобных экранов. Пришлось верстать под один экран в пикселях, а потом в oncreate проходить по вьюгрупе и пересчитывать layout params под конкретный экран.
>>557222 До того как перейти на RxJava юзал кастомный CursorLoader (сделал из исходников CursorLoader). Он мог мог курсоры брать откуда угодно, но при этом правильно его закрывал и обсервер вешал на курсор.
>>557259 Когда >50% времени будет занимать не разработка, а реализация всяких извращений дизайнеров.
Вот какая хуйня, пацаны. Криейт фром пас выдаёт нулл. Соответственно не устанавливается нужная картинка в имейджвиеве. Облазил все стаковерфловы, нигде не нашел решения.
Можно конечно делать так kartinka.setImageResource(R.drawable.animalsimg3); но тогда код раздувается до размеров войны и мира. Я вообще хочу чтоб картинки загружались динамически в зависимости от кое-каких переменных, а не конкретно прописывать на каждом шаге программы какую картинку загружать и вообще подтирать жопу андроиду.
Почему Drawable.createFromPath("@drawable/animalsimg2"); выдаёт null??????
Так вот один чувак замутил такие вот анимации (ну и победил, да). Теперь, собственно, вопрос: что вообще он мог юзать для такого эффекта? Сначала думал, что FragmentActivity или там TabActivity, но эти анимации присутствуют вообще везде, даже не разных активити (например, анимация Messages->Auth). Таким образом, моя теория ломается.
Пробовал overridePendingTransition(R.animator.activity_switcher_back_follower, R.animator.activity_switcher_back_leader), написал анимаций, но это еще нужно прикрутить каким - то Gestures (желательно, определенным, конечно). Пришел к тому, что гестуры хороши для свайпов в основном, но никак не для такого поведения, как при TabActivity, например (проблематично, да и криво, наверное, обрабатывать свайп туда-сюда, чтобы получить эффект как на вэбм). А так да, вроде то, что нужно.
В общем уже всю голову съебал в мыслях по этому поводу, что скажите?
Аноны, а тут кто-то занимался приложениями в kiosk mode? Как это вообще делается правильно? Реально ли без рута, нужна ли стоковая прошивка? С меня как обычно нихуя.
>>557611 Братиш, не понял вообще что как, понимаешь мне нужно чтобы можно было в путь к файлу картинки вставить переменную. Вкратце - приложение в зависимости от двух переменных должно выдавать нагора картинку. Тобишь я в имени файла плюсую две своих переменных и оно находит картинку, все картинки я назвал как надо т.е. в зависимости от нужного момента. типа картинка 11 на шаге 1 вариант 1, картинка 36 на щаге 3 вариант 6. Позязя можешь еще подсказочку дать как так сделать? А я пока поищу примеры, если пойму отпишусь.
короче вот рабочий код твоего примера (если ты правда хранишь картинки в /drawable/) int resId = getResources().getIdentifier("animalsimg2", "drawable", getPackageName()) kartinka.setImageResource(resId);
>>557632 Я бы сказал что там две вьюшки, в одной фрагмент со список, в другой - подгружается что именно надо, либо чат, либо окно авторизации. Ну и кастомная обработка тача.
>>557863 Хотя нет херню сказал, скорее всего это ViewPager с PageTransformer. Но то что всё это одна активити это точно. Смена активити очень топорно происходит на старых андроидах.
Пришла в голову идея на мильон копеек, хочу запилить онлайн-сервис на андроид, знаю всего понихуя, с чего вкатиться в клиенто-серверное взаимодействие?
Если приложение для 4.0+ андроидов, есть ли варианты использовать векторные иконки (svg?) ? В чем прямой профит от этого, по сравнению с папками под разные разрешения (кроме "один раз добавил в проект, а не 5") ? Или, в принципе, всё равно?
>>557872 С пейджером идея, да. Один фрагмент -- один экран. В принципе, активити и нинужны при таком подходе вообще. Написать годный роутер на все кейсы прилы и профит. Тулбар везде (где он есть) анимируется несложно, ибо везде один. Главный вопрос как при всем этом раскладе будет вести себя gc интерфейса, чтоб ресурсы не текли особо. Но это уже другой разговор. Буду пробовать, короче. Спасибо, анонасик, с меня гист, если что годное выйдет (может, ещё кому пригодится тут).
>>558262 Svg еще удобнее если у тебя есть картинка, которую нужно растянуть на весь экран. С верктором тебе пофиг на размер экрана и плотность пикселей.
Через стороннюю либо делал svg заглушка для элементов GridView, пока основная картинка грузилась с вэба.
>>558287 Я про простые иконки всякие спрашивал. Так-то да, без вектора будет не очень смотреться.
Аноны, такой вопрос. Создал я програмно LinearLayout, в него напихал элементов. Когда и как я смогу узнать его размеры? Сразу после создания и прикрепления к другому лейауту выдаёт 0. Ситуация такова: есть фрагмент, в нем RL (RelativeLayout). Внутри - еще один RL, который я в коде заполняю и могу некоторые элементы убивать (Visibility = Gone), потом под него в главный RL засовываю тот самый LL (LinearLayout). И после - хочу изменить размер фрагмента (считай главного RL) чтоб его высота была как сумма вложенных в него лейаутов (заполненный RL и созданный LL). Всё сделал, кроме последнего - изменения высоты как суммы, ибо сумма второго 0, а первого не пересчитывается в зависимости от удаленных объектов.
>>558315 Ок, вроде работает, спасибо огромное. Меняется сразу только MeasuredHeight параметр, Height и LayoutParams.Height остаются такими же. Как я понял, второй и третий - параметры прорисовки, и позже станут такими же, как Measured (и, видимо, становятся, раз прорисовка нормальная). Т.е. юзать после layout.Measure(...) можно MeasuredHeight/Width спокойно, т.к. на деле всё такого же размера и будет?
>>558345 Это полезная вещь если нужно что-то сделать до/после measure/layout/draw. Но я хз на основание чего и как ты там высоты выставляешь.
Вообще по правильному, если где-то нужно расчитывать размеры вьюх не стандартно, то нужно делать свой ViewGroup и там уже расчитывать размеры, когда Android попросит.
>>558363 Ну смотри, есть карта, на ней маркеры магазинов. При нажатии на маркер на экран вылазит (до - находится под экраном) фрагмент с лейаутом. Изначально на лейауте - Название, адрес, телефон (это тоже лейаут). Если одного из значений в базе нет - текствью с ним удаляю (чтоб места пустого небыло). Потом программно добавляю список товаров (линеар лейауты один за другим добавляю в один линеарлейаут, потом его добавляю под лейаут с инфой). Вот при помощи .Measure(...) пересчитываю размеры двух лейаутов, из которых внешний вид состоит (инфа и товары), и меняю Height фрагмента на их сумму (ну и плюс паддинги-марджины). Всё работает. ЧЯДНТ?
>>549114 (OP) Аноны, вообщем делаю приложение, допустим есть некоторые записи, в них текст и картинки, всё получаю из запроса в виде json, нужно сделать, чтобы те записи, которые уже открывал брались из памяти. Можно ли это реализовать без БД?
Посоветуйте ньюфагу в андроиде. Писал раньше на дотнете, мс сиквел, мвц, для веба всякие свистоперделки на джаваскрипте. Сейчас хочу сделать мини-игорь под андроед, простой совсем, типа тетриса. Поставил андроид студию, сдк всякие, запилил юсб-дебаг, сейчас гоняю хеллоуворлд и играюсь с размерами кнопок. Пока вроде ничего сложного, висивиг-редактор, контейнерная модель там на иксемеле, код сзади на джаве.
Посоветуйте, чтоб я долго не гуглил и не ебался - есть набор прямоугольников разных цветов, нужно реализовать обработку событий на них (их можно двигать вертикально и горизонтально). Мне нужен объект вроде хтмловского канваса, или как-то по-другому можно делать? Знакомый советует вообще снести студию и делать на юнити-хуюнити, но я думаю, игра не стоит свеч.
>>558555 в соседней папки (это называется дисковый кэш).
На самом деле это не так уж и плохо, знаю моб. приложение с >100k скачиваний (работал в той же компании), которые так и хранило тысячи json файлов и картинки.
Как мне сделать так, чтобы активити делала свои дела, например, по изменению настроек в главном активити, сохраняла их, а потом удаляла себя и не создавала стек из несколько раз открытых двух активити?
тупо через интент + стартАктивити получается выше описанная проблема
Суп, андроидеры. Посоветуйте книгу по Java, чтоб потом на андроид-разработку переходить. Или сразу начинать учить андроид-разработку? А то Харди написал, сначала Java.
>>559818 Ну смотри, браток: при переходе на новое активити оно создается. Если переходить на предыдущее активити с помощью интента создастся третье активити. Но мне это не надо, надо чтобы это второе активити закрылось
>>549114 (OP) У меня есть активити в нем тулбар и контейнер для фрагмента, во фрагменте ресайклервью, как сделать, чтобы тулбар прятался при скроле? добавил это к тулбару app:layout_scrollFlags="scroll|enterAlways" И это к ресайлервью app:layout_behavior="@string/appbar_scrolling_view_behavior" Тулбар прячится, но ресайклервью не занимает его место, т.е так же скролиться, как будто тулбар на месте. Как исправить?
>>549559 Что именно интересует? Я например делаю некий провайдер, который имеет пару методов: load next previous.
load грузит первую партию, в которой тебе с сервера возрвращается pagination_key который ты далее и отсылаешь своему сервереу, за счет чего он решает какую инфу тебе отдавать. Чекаешь в адаптере текущую позицию и вызываешь next.
Котаны, как мне сделать View в виде индикатора со стрелкой, чтобы выполнялись эти условия: 1. Он не должен невъебенно грузить UI поток, так, чтобы скролл фрагментво лагал 2. хотябы 50 fps
<Toolbar> <RelativeLayout или ещё какой удобно android:layout_widthheight="match_parent"> <TextView с твоим тайтлом либо какое другое вью> </> </Toolbar>
Привет анон. Вставил карту памяти в свой телефон. Андроид 4. Карту видит но переместить туда приложения не могу. И в настройках такая шняга как на пик релейтед. Что делать ? Карту уже форматировал.
Привет, котаны. Использую такой способ для смены языка приложения: https://gist.github.com/anonymous/e57f1e9026047c738ad1 Т.е. выбор языка в настройках через ListPreference. Обнаружил, что этот способ не работает на Android 6. Как сейчас можно менять язык приложения?
>>560971 На Android 4.0.4 достаточно перезапустить приложение, грохнув его через диспетчер, а на Android 6 приходится делать так: грохнуть через диспетчер, открыть свойства приложения и нажать "остановить".
>>560971 а смысл менять язык приложения, если можно просто правильно скомпоновать ресурсы проекта и приложение автоматически запуститься на языке системы? или это для обкуренных наркоманов, которые вдруг захотят поиграть в энгри бердс на французском языке?
>>560936 Там где-то что-то надо поменять в текстовом файле каком-то и тогда они поменяются но это черевато многочисленными утопиями в храме игнир-батота
>>557218 А если вот я понадергал для приложения картинок с интернетов, то мне на аппсторе пизда, а вот на других сайтах, банчащих апкшками мне предъявят или нет?
>>560788 > индикатора со стрелкой Это какой? В любом случае не анимируй margin и padding, только translationX-Y, rotation, scale. Последние не вызывают перерасчет положений элементов в группах.
Как вы пишете на C++ под андроид? Мне нужно переписать ресурсоёмкий код на плюсах. Поделитесь работающим на данный момент гайдом. А то я уже заебался. Приложение крашится с ошибкой - не может найти мою либу. .so файл создается хуй знает где, в акп не запаковывается.
Ведраны, поясните, как реализовать удаление в fragmentpageradapter? Мне нужно, чтобы фрагмент удалялся, и пользователю автоматически показывался предыдущий (или следующий, похуй). Любые методы, предоставленные на стековерфлоу, не работают так, как надо - фрагмент делитится, но на его месте остаётся пустота, и при перелистывании она не исчезает. notifydatasetchanged вообще нихуя не делает.
>>562387 getCount - да, количество уменьшаю при удалении. getItem - по идее, если будет возвращать POSITION_NONE, это показывает пейджеру, что вьюхи нет. На практике - физически её и так нет, только на её месте пустой экран. Вопрос в том, что список фрагментов я пытался хранить отдельно, и при делите, удалять оттуда фрагмент, а затем пытаюсь в notifydatasetchanged
>>562512 Как земля. А дс2 не не дс2 не важно, на западного дядю за даллары можно хоть из магадана работать, а в русских компаниях везде хуй сосать будешь.
Котаны, как мне заставить работать native отладчик? Получаю ошибку: Error while starting native debug session: com.intellij.execution.process.ProcessNotCreatedException: Cannot run program "H:\Program Files\Android\Android Studio\bin\lldb\win\LLDBFrontend.exe": CreateProcess error=193, %1 íå ÿâëÿåòñÿ ïðèëîæåíèåì Win32 На stackoverflow искал, к примеру этот ответ: http://stackoverflow.com/questions/30713274/debug-native-code-in-android-studio не подходит, потому что пикрелейтед. С момента этого ответа поменялся интерфейс и хуй там что теперь найдешь: http://stackoverflow.com/questions/12638849/debug-native-code-in-android-library
Новичок в андроиде, поэтому нубский вопрос. У меня есть активити, в которой должно быть две кнопки и поле ввода информации. Стоит ли использовать фрагменты или можно так обойтись?
Нормально ли использовать android:confiChanges="orientation|screenSize"? Или это плохой вариант? Или как иначе не загружать данные заново в моём случае: у меня asynctask в нем скачиваются и парсятся данные, в postexecute прогрессбар меняется на основные вьюшки с данными
>>564043 Можно внутрь фрагмента засунуть и сделать в onCreate: setRetainInstance, тогда фрагмент не будет пересоздаваться, т.е. все, кроме onCreate и onDestroy будет вызываться.
>>563971 Наткнулся на http://droidparts.org/index.html Кто-нибудь обмазывался? По-моему няша, DI есть, пока нигде больше не встречал. А еще поддержка курсоров (это как я понял аналог Criteria API)
Котаны, поясните мне за java и android. Раньше кодил на питоне, но хочу обмазаться джавой. Например, напишу я логику со сторонними библиотеками, можно ли будет это без труда перенести на андроид и там уже допилить гуй? Алсо, немного принципы джавы и шарпа знаю, но насколько сложен будет переход с питона? И про библиотеки еще - где-то есть единый репозиторий, типа pip, или это тоже сущий гемор?
Намереваюсь попробовать андроид, потому что это ближе всего к десктопу, который сейчас мёртв. Насколько много времени занимает ебля с интерфейсом и самим апи по сравнению с собственно разработкой приложения?
>>565885 Сижу на Android Studio. Разработка интерфейса, кстати, легка и на удивление приятна. Сначала, конечно глаза разбегаются и нихуя в этой ебате не понятно, но когда воткнешь тему все становиться радужно и охуенно. API тоже прозрачно и понятно, собстно и сама IDE дает подсказочки по коду вовремя и охуенно.
Аноны, как сделать, чтобы при сворачивании, CollapsingToolbarLayout брал title из textview, которое находится в нём же, или как сделать, чтобы было похоже на это?
Анон, какая адекватная ЗП (зарплата) для Junior Android девелопера в Москве, Петербурге, любом другом мухосранске? Вакансий таких нет нигде впринципе, везде от года минимум. До скольки мне демпинговать, чтобы появился хотя бы шанс?
Двощ, а какое приложение может считаться "опытом работы" для работадателей? Естественно я не говорю о "нажми кнопку и появиться окошко" или самом простом калькуляторе.
Создал приложение для своего зажопинска по типу справочника, полностью оффлайнового: собственная бд объектов, поиск объектов по спискам, метки на оффлайн карте, избранные объекты и все такое, о самой структуре приложения я не говорю(всякие view pager с дин. фрагментами и т.д). Может это мне хоть как то помочь в будущем для трудоустройства или повышения шанса попасть на стажировку.
Анон, есть один ExpandableListView, как можно поменять анимацию открытия группы? В Stackoverflow советуют переделать все под ListView, но мне это не подходит, по задаче нужен именно ExpandableListView. Как можно без особых костылей сделать анимацию плавного открытия группы?
Такая проблема. Есть один свеженький эмулятор 23 версии и один обоссаный девайс 17 версии с неродной прошивкой. Есть одно приложение, которое работает на эмуляторе, но крашится на девайсе. Суть в том, что никак не могу заставить adb видеть этот девайс и не могу соответственно отдебажить традиционным путём. Какие предложите варианты дебага в подобном случае?
>>567584 Да, включил. Я вообще хз, на убунте его видно было, а на винде вообще никак, хотя тоже попытался гуглить. Может, конечно, сам ADB неправильный, но я вроде качал с оф.сайта и ничего н менял.
>>567609 Лол, заработало, я правда хз от чего. Пару месяцев назад попытался через гугл дрова, тогда мне девайс сказал, что не видит в этих дровах нужного ему и я забил. А сейчас я подключил, открыл диспетчер устройств, нашёл свой девайс и то ли нажал поиск драйвера в интернете то ли вообще ничего не нажал, но через пару минут устройство опозналось. А может, это было связано с тем, что у меня не было в этом сдк гугл драйверов, я как уже говорил, пробовал с ними пару месяцев назад, зафейлил и забил, а ещё через пару недель снёс зачем-то сдкшку и заново качать не стал. Спасибо, что хоть заставил меня посмотреть ещё раз в эту сторону, а то я уже начал через создание лог-файла ручками дебажить, лол.
Почему при смене текста в searchview я вызываю метод, и в нём доходит до .AddView(), но не выполняет это и дальше не идет, а при submit'е - всё работает?
Сап анонимусы. Помогите советом. Мне необходимо отправить файл на сервер, для отправки шлю POST запрос Retorfit'ом. Насколько я понимаю для отправки файла необходимо использовать Multipart запрос, в частности пометить аннотацией @Part поле с файлом. Проблема в том, что также мне в этом запросе необходимо передать поле (@Field), и использовать две аннотации к самому методу не выходит (@FormUrlEncoded и @Multipart). Как быть, анонимусы? Сразу скажу, джуниор я ещё тот.
Проблема - не адаптируется под разрешение, на FHD вообще съехавшая и неиграбельная без кнопок. Для тех, кто шарит, просьба пофиксите только без троянов плз, лол игрулю, она мне доставляла на старом смартфоне, сейчас на новом с FHD не могу поиграть.
>>568711 >тетрисы Ну и пидор, я вообще для тетриса специально эмуль ставлю денди и играю пиратский тетрис, где еще статистика на втором экране и человечки под корабейники танцуют
Анон, как мне разобраться с model-view-presenter в андроиде? Я вообще не понимаю статьи из гугла: там везде идет описание сути паттерна, и сразу тыкают в гитхаб. А такого, чтоб как в книжках, пошагово объясняли каждый класс - нету.
Коротко о главном:
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. Хотя чего тут объяснять.
5) udacity - в треде очевидцы говорили что есть годный курс, но я лично не смотрел.
Книги, их никто не читает, но все советуют только одну
1) The Busy Coder’s Guide to Android Development
Пред. тонет тут: https://2ch.hk/pr/res/537576.html