• Когда умрет Service?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    IntentService создан для того, чтобы умирать :)
    То есть суть такая - вы кидаете ему некую работу, которую делаете в onHandleIntent(); если приходят несколько интентов подряд, то всё это ставится в очередь и выполняется последовательно. Если задача завершилась(onHandleIntent завершился), а новых задач нет - сервис умирает до следующего раза.
    Если надо сохранять между задачами некоторый контекст - пишите свой аналог IntentService, который не будет завершаться. На developers.android.com есть подробная статья на эту тему.
    Ответ написан
    Комментировать
  • Откуда взять источник дополнительного заработка для веб разработчика работающего фулл тайм?

    @FoxInSox
    Научитесь играть на гитаре(если еще не умеете) и пойте песни в переходах метро. За вечер примерно тысячу рублей будете зарабатывать, итого в месяц ~30 тысяч рублей.
    Ответ написан
    1 комментарий
  • Как сделать масштабируемый ImageView, основываясь на размерах экрана?

    @lomikman
    есть специально библиотека от гугла которая позволяет задавать размеры в процентах
    www.androidauthority.com/using-the-android-percent...
    inthecheesefactory.com/blog/know-percent-support-l...
    Ответ написан
    Комментировать
  • Как поддерживать две версии приложения (платная и бесплатная)?

    @Tiberal
    Одна ветка, но разные product flavors в билде. Изменяете какие то куски кода для разных флейворов. Так можно в одном проекте поддерживать и демо и платную версию
    developer.android.com/intl/ru/tools/building/confi...
    тут расписано все
    Ответ написан
    4 комментария
  • Сложно ли адаптировать приложение Android под Wear-часы?

    @aol-nnov
    Для часов надо писать companion application. там какие-то апи есть для взаимодействия часов с телефоном.
    Твои вопросы слишком общие. Ты хотя бы посмотри, что гугл пишет на эту тему?
    Ответ написан
    Комментировать
  • Как отобразить страницу сайта в Activity на Android Studio?

    @Tiberal
    Такое чувство, что последнее время люди даже не пытаются гуглить.
    Ответ написан
    Комментировать
  • Не работает обработчик нажатий в RecyclerView?

    @georgeci
    Читаем внимательно:
    Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2
    ...
    at android.widget.TextView.setText(TextView.java:4176)
    at com.example.pro.appi.Main2Activity.onCreate(Main2Activity.java:133)

    Вы в Main2Activity присваиваете TextView.setText(#0x2) то есть передаёте число, метод setText c числовым параметром ищет строку в ресурсах. Не находит её и падает, выводя шикарный StackTrace.

    Вы должны примерно так:
    int number = 5;
    TextView.setText(Integer.toString(number))
    Ответ написан
    1 комментарий
  • Откуда Gradle знает о сторонних библиотеках?

    @georgeci
    Библиотеки (артефакты) в виде jar или aar файлов хранятся в специальных репозиториях. В build.gradle можно указать, в каком именно репозитории искать. По умолчанию gradle ищет их в JCenter, но можно указать и другие.

    buildscript {
        repositories {
            jcenter() // по умолчанию присутствует в файле
            mavenCentral() //указание на другой репозиторий
            maven { url 'https://maven.fabric.io/public' }     //указание на другой репозиторий
        }
    }


    Для своих библиотек можно использовать подобные сервисы или даже поднять свой собственный репозиторий.
    Ответ написан
    Комментировать
  • Можно ли использовать Upwork агентство как площадку для не-Upwork фрилансеров?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi

    1. https://www.upwork.com/legal/contractor-policies/

      8. AGENCY POLICIES
      Every person working on behalf of an agency must have their own account and profile. These profiles must be associated with their agency on Upwork. Sharing accounts is not permitted.


    2. https://support.upwork.com/hc/en-us/articles/21106...
      How do I apply on behalf of the agency as a whole?

      Although the Connects balance is shared by the whole agency, proposals are submitted on behalf of particular workers. You cannot “apply as an agency” without assigning the proposals to a person.



    нельзя
    Ответ написан
    1 комментарий
  • Где можно наблюдать стримы по программированию?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    У себя дома:
    Системное под венду:
    - открываете 8 вкладок с MSDN, 4 со stackoverflow и иногда их скроллите.
    Системное под Linux:
    - открываете 8 вкладок со stackoverflow и консольку с man + исходники ядра
    Математическое:
    - открываете что угодно, все равно ничего не увидите - все самое интересное делается на бумажке, которая у стримящего лежит рядом с клавиатурой
    Высокопроизводительные вычисления, HPC, Нadoop:
    -купите 128 мониторов для начала
    Прикладное:
    - ну, вы знаете толк в извращениях, если хотите смотреть, как одинэсник пишет очередной унылый запрос на три листа, чтобы удовлетворить бухгалтершу.
    Ответ написан
    Комментировать
  • Какие нужны знания java для разработки под андроид?

    java se на среднем уровне

    Так чего вы ждёте?Прямо сейчас и начинайте.
    В Android нет ничего мистического.Знания базового синтаксиса, основных конструкций,
    ООП, коллекций и начального представления о многопоточности - будет
    достаточно.
    Хорошая книга для начинающих(на ozon есть старое издание на русском)
    Курсы(English): Udacity
    (бесплатно, большая синяя кнопка внизу)
    Уроки(на русском):Startandroid
    Ответ написан
    Комментировать
  • Нужна ли кнопка "закрыть" в Android приложениях?

    @FoxInSox
    Не нужна. На всех телефонах есть кнопка home - она и есть "выход/закрыть". Другое дело что ваши пользователи могли привыкнуть к ней с 2011 года. Еще время от времени я встречаю гибридный выход: наличие в настройках включения/выключения этой кнопки.

    И как-то вы плохо искали, эту проблему начали обсуждать еще в том же 2011:
    https://www.quora.com/Why-dont-Android-apps-have-a...
    stackoverflow.com/questions/2033914/quitting-an-ap...

    Собственно что говорит один из разработчиков Android'а:
    Romain Guy: The user doesn't, the system handles this automatically. That's what the activity lifecycle (especially onPause/onStop/onDestroy) is for. No matter what you do, do not put a "quit" or "exit" application button. It is useless with Android's application model. This is also contrary to how core applications work.
    Ответ написан
    Комментировать
  • Когда стоит включать и выключать таймер почасовой оплаты на UpWork?

    opium
    @opium
    Просто люблю качественно работать
    бильте все что связано с работой
    Ответ написан
    Комментировать
  • Как сохранить точную позицию аккорда над словом в Textview?

    petermzg
    @petermzg
    Самый лучший программист
    Я бы написал custom view.
    В этом случае я буду точно знать все позиции.
    Ответ написан
    5 комментариев
  • Что именно значит ошибка?

    petermzg
    @petermzg
    Самый лучший программист
    Это значит, что состояние view вы можете обновлять только из потока в котором view создан. Как правило - основного.
    Передайте параметры в основной поток и из него обновите view
    Ответ написан
    Комментировать
  • Как подготовиться к собеседованию (Android разработка)?

    @FoxInSox
    Людей которые себя позиционируют junior разработчиками, но вместе с этим имеют опыт работы в другой сфере, часто проверяют на способность работы программистом в целом, а выбранная специализация(android, frontend, backend) уже второстепенно. Про тестеров могут возникнуть вопросы вроде "Может быть он хотел стать программистом, но не смог никуда устроится и стал тестером".

    Так что я бы на вашем месте готовился к вопросам по Java(коллекции, GC, ООП, работа с памятью и тд), вопросам по основным алгоритмам и структурам данных. И если вы идете в серьезную компанию, а не стартап какой попало, то я бы на вашем месте готовился усердно, т.к. вашими конкурентами будут 20-22-х летние студенты или выпускники, которые последние несколько лет учили все выше перечисленное ежедневно, и еще, наверняка, у них не пустой GitHub/StackOverflow и они гарантированно как минимум год готовы будут работать за опыт, что в вашем случае еще не факт.

    Если вы покажете себя как потенциально хороший программист, то вам простят не 100% знание Android'а.
    Ответ написан
    3 комментария
  • Как подготовиться к собеседованию (Android разработка)?

    @pavelkolodin
    Лучше всего готовиться к собеседованию шляясь по другим собеседованиям. Опыт собеседований специфический и приобретается только на собеседованиях. Хорошо жить в городе, где IT-компаний больше одной - всегда можно вторую использовать как тестовый полигон.
    Ответ написан
    Комментировать
  • Почему не стоит вызывать методы в конструкторе?

    @smozhaykin
    На самом деле вызывать не стоит только виртуальные методы. Т.к. если класс наследник его переопределит, то возникнет ситуация, когда метод работает до вызова конструктора класса-наследника. И если в этом методе используются какие-нибудь поля класса-наследника, они могут быть еще непроинициализированы.

    А так как в Java

    In Java, all non-static methods are by default "virtual functions." Only methods marked with the keyword final, which cannot be overridden, along with private methods, which are not inherited, are non-virtual.


    то в конструкторе не стоит вызывать любые публичные не final методы.

    Ниже C# код (т.к. работаю в основном с этим языком), иллюстрирующий это.

    void Main()
    {
    	new B("name");
    }
    
    class A
    {
        public A()
    	{
    	     Method();
    	}
    	
    	protected virtual void Method()
    	{
    	}
    }
    
    class B : A
    {
        private string Property { get; set; }
    	
    	public B(string value)
    	{
    	    Property = value;
    	}
    	
        protected override void Method()
    	{
    	    Console.WriteLine(Property.Length);
    	}
    }


    Результат: Object reference not set to an instance of an object.

    StackTrace
    at UserQuery.B.Method()
    at UserQuery.A..ctor()
    at UserQuery.B..ctor(String value)
    at UserQuery.Main()
    Ответ написан
    Комментировать
  • Подойдет ли для фриланса Python по Марку Лутцу?

    Akdmeh
    @Akdmeh
    PHP, Yii2, Music
    cypselusmurarius: в вашем случае это ОТЛИЧНО (в комменте вы написали, что вам 14)! И очень похвально, что вы интересуетесь технологиями.
    К сожалению, Лутц - это только теория. Типа: "вот есть велосипед. У него есть переднее и заднее колесо, у вас есть руль, которым можно задавать направление". Но прочитав подобный мануал, ездить вы вообще не научитесь. Хотя у Лутца есть неплохие примеры рабочих программ. В таком случае попытайтесь несколько раз внимательно читать примеры, и затем пытаться реализовать такой же функционал, но не просто переписывая код один в один, а немного его видоизменяя - на уровне переменных и тому подобного.
    Подумайте вот о чем: какую программу вы хотели бы написать? Может, показывать список друзей вконтакте и диалоги с ними? Или, может быть, какую-то простую игру? Или может сайт сделать? Или еще чего?
    Очень важно найти реальный проект, над которым вы будете работать и начать его реализовать. И в этот момент вы поймете, как ничтожны ваши знания, как многого вы не знаете. Тут вы начнете искать способы решения той или иной задачи. Прежде, чем обратиться сюда либо на форумы - попытайтесь максимально кратко сформулировать вашу задачу. К примеру: "задать другой цвет контуру треугольника в canvas" или что-то подобное. Когда четко понимаете, что нужно - пользуетесь поисковиком. Также неплохо продублировать вопрос на английском и перевести непонятные слова в словаре, чтобы понять суть ответа и применить его. Умные люди ведь сказали когда-то: "в правильно поставленном вопросе есть уже половина ответа".
    И только если ничего не нашли - обращаться уже сюда.

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