• Есть ли мануалы перехода на andoid6?

    artemgapchenko
    @artemgapchenko
    Вам нужно перейти на новую модель разрешений.
    Начиная с шестого Андроида, все разрешения (вернее не все, а только те, которые Google отнёс к "опасным") могут отменяться/добавляться пользователем после установки приложения, соответственно вам нужно будет написать код, который будет проверять наличие этих разрешений, и, если нужно, запрашивать их у пользователя.
    Ответ написан
    Комментировать
  • Что почитать по Gradle на русском языке?

    artemgapchenko
    @artemgapchenko
    Первое, что нам сказали на первой же паре в университете (названия предмета уже не помню, восемь лет назад дело было): "Самый важный для вас язык не C и не Python, а английский". Русская документация всегда будет в лучшем случае отставать от английской, а скорее всего просто будет переводиться мелкими клочками. Поэтому только оригинал, только хардкор.
    Вру. Никакой это не хардкор, освоить английский на уровне "Достаточно для чтения документации" можно очень быстро. Плюс это навык, который точно не устареет, в отличие от Gradle/Android/прочих технологий. Ну и если вы собираетесь переходить на Android, то английский вам точно нужен - подавляющее большинство свежих материалов выходят на английском, документация пишется на нём же, достойные учебники и большинство подкастов выходят на английском, даже известные русскоязычные разработчики, вроде того же Зинатуллина, пишут свои статьи не на русском. Изучайте.
    Ответ написан
    1 комментарий
  • Есть ли ресурсы где смогут конструктивно (и не очень) отозватся о написанном проекте?

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

    Я два с половиной года назад начинал разрабатывать приложения под Android. Был единственным в компании Android-разработчиком, поэтому пинать меня особо не кому было. Первое время меня это сильно напрягало, а потом я успокоился и понял, что научиться можно и самому, без помощи извне.

    Изучайте книги по выбранной тематике (неплохой способ выбрать хороший учебник - посмотреть отзывы на Amazon, там обычно очень подробно расписывают как плюсы, так и минусы), изучайте документацию по выбранной технологии, и пишите-пишите-пишите. Написали - посмотрели, проанализировали. Как оно работает, понятно ли структурирован код, можно ли будет его в последствии расширить? Нужно ли его вообще будет потом расширять, или же это компонент, который будет написан один раз, и потом не будет изменяться? Какие-то из рекомендаций, указанных в книгах/документации, окажутся вредными - вы и сами это впоследствии поймёте, наткнувшись на проблемы, вызванные этими рекомендациями.
    Подпишитесь в Твиттере на известных в вашей среде людей (тут я ничем помочь не могу, известных Android-программистов знаю, а по вебу помочь не смогу), они обычно подкидывают много интересной пищи для размышления.
    Поищите подкасты по выбранной технологии, начните смотреть видео с конференций, подпишитесь на Хабре на нужные топики.
    Ещё хороший способ понять чего не хватает - походить по собеседованиям (в вашей ситуации он, правда, слабо применим, так как город по вашим словам небольшой). Я таким образом нашёл несколько тем, в которых я "плаваю", и которые при этом очень нужны в реальной работе.
    На гитхабе можно найти хорошие проекты, посмотреть как они структурированы, как происходит работа над проектом, какова структура коммитов, и так далее.
    Ещё потенциально полезная тема - еженедельные дайджесты вроде такого, в которых расписываются текущие тенденции. Подпишитесь и читайте.

    Главное при этом - постоянно анализировать входящую информацию, учиться отделять зёрна от плевел, и тогда всё у вас получится.

    P.S. Ну и да, фриланс как способ постепенного совершенствования навыков тоже хорош. Начинайте с простых заданий - где-то что-то допилить, и потихоньку-полегоньку переходите на более сложные проекты.
    Ответ написан
    2 комментария
  • Единый элемент для вывода аудио/видео/фото?

    artemgapchenko
    @artemgapchenko
    Попробуйте ViewStub. В зависимости от того, какой файл пришёл с предыдущего экрана, будете инфлейтить разные макеты (для аудио/фото/видео) и работать с ними.
    Можно даже выделить три разных кастомных виджета, реализающих один общий интерфейс MediaFileHandler. В этом интерфейсе будет метод handleFile(File). При попадании на экран с выводом медиа вы инфлейтите соответствующий layout, содержащий ваш кастомный виджет, и вызываете у виджета handleFile().
    Ответ написан
    1 комментарий
  • Gingerbread, Ice Cream, Jelly Bean занимают по 90 с лишним процентов !!!?

    artemgapchenko
    @artemgapchenko
    Тут не имеется в виду, что, скажем, ICS занимает 94.8%. Таблицу следует читать как "ICS и все следующие за ней версии вместе набирают 94.8%". Хотите оценить объём устройств на конкретных версиях - вам на Android Dashboards.
    Вообще, приведенная вами таблица составлена для того, чтобы было проще понять, какой minSdkVersion ставить в проекте. Распределение устройств по конкретным версиям с этой точки зрения вам ничего не даст, гораздо интереснее смотреть на распределение "От X.Y.Z. и до последней версии".
    Ответ написан
    Комментировать
  • Почему на android 5 размер текста в Textview такой большой?

    artemgapchenko
    @artemgapchenko
    getResources().getDimension() возвращает значение в пикселях, а setTextSize(float size) по умолчанию трактует значение параметра как число scale-independent pixels, и умножает его на соответствующий коэффициент ещё раз. Используйте версию setTextSize(), в которой можно задавать используемый unit.
    tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.reader_main_text));
    Ответ написан
    1 комментарий
  • Книги по Kotlin?

    artemgapchenko
    @artemgapchenko
    Kotlin for Android Developers от Antonio Leiva.
    Летом должна выйти Kotlin in Action от Дмитрия Жемерова и Светланы Исаковой - она не про разработку под Android, а про Kotlin вообще.
    Ответ написан
    Комментировать
  • Как включить жест смахивания для возврата к предыдущей активности?

    artemgapchenko
    @artemgapchenko
    Короткий ответ: никак. Исходники Telegram я не смотрел, но подозреваю, что они там навешивают OnTouchListener, и сдвигают экран вправо-влево по свайпу, то есть этот жест релизован на уровне приложения, а не на уровне операционной системы.
    Ответ написан
    1 комментарий
  • Кого можно считать иконами/гуру/великими отцами Android-разработки?

    artemgapchenko
    @artemgapchenko
    Jake Wharton и Jesse Wilson - чуваки из Square, авторы кучи всяческих Android-библиотек (сходу из того, что придумали и сделали эти двое, могу вспомнить ButterKnife, OkHttp, Retrofit, Picasso и Dagger. LeakCanary тоже сделал разработчик из Square, но другой). Вообще, советую периодически посматривать на то, что появляется на гитхаб-аккаунте Square и у упомянутых выше людей.
    Mark Marphy, aka Commons Guy - автор трех с половиной тысяче страничного талмуда по программированию под Android, номер один на Stackoverflow по тегу android (у ближайшего конкурента примерно в пять раз меньше баллов по этому тегу) и также автор некоторого количества библиотек (из его творчества я, правда, ничего не вспомню).
    В рускоязычном сообществе есть имя, которое до гуру/великого отца не дотягивает, но на слуху появляется чаще всех - Артем Зинатуллин. Автор StorIO, основатель подкаста об Android-разработке под названием Context, большой любитель тестирования, RxJava и изучения разных подходов проектирования Android-приложений.
    Ответ написан
    Комментировать
  • Библиотека для рисования в Android приложении?

    artemgapchenko
    @artemgapchenko
    Я в своё время написал собственный компонент, базируясь на этой статье. Там ничего сложного нет.
    Ответ написан
    Комментировать
  • Как правильно использовать метод VKSdk.login?

    artemgapchenko
    @artemgapchenko
    Activity от VK подключить в манифесте не забыли?
    <activity android:name="com.vk.sdk.VKOpenAuthActivity" />
    
    <activity
        android:name="com.vk.sdk.VKServiceActivity"
        android:label="ServiceActivity"
        android:theme="@style/VK.Transparent" />
    Ответ написан
    3 комментария
  • Как учить android?

    artemgapchenko
    @artemgapchenko
    Начинаем вот с этой книги, а потом переключаемся на изучение официальной документации.
    Ответ написан
  • Какое железо выбрать для разработки под Google Android?

    artemgapchenko
    @artemgapchenko
    но вот смотрю, что многие кодеры предпочитают Apple

    Давно уже работаю под Ubuntu, которую устанавливаю на обычный писюк. Иногда работаю с ноутбуком, у меня Acer Aspire vn7-591g-598f, на котором стоит та же Ubuntu. Полёт отличный.
    Почему не понравился Мак. Многое из того, что я привык делать под Ubuntu шорткатами, на Маках либо делается другими шорткатами, либо вообще делается только мышкой.
    Почему понравился Мак. Очень продолжительное время работы от батареи - ни один из виденных мной ноутбуков даже близко не приближался к Маку. Но, так как я работаю в основном дома, где розеток полным-полно, мне работа от батареи не сильно важна.
    Ответ написан
    Комментировать
  • Почему Google забирает деньги из AdSense?

    artemgapchenko
    @artemgapchenko
    Почитайте документацию.
    TL;DR: сразу после клика на рекламу Google его засчитывает. По истечении какого-то времени происходит invalid click detection, вследствие которого Google убирает из статистики те клики, которые считает недействительными.
    В конце статьи приведены ссылка на описание способа предотвращения недействительных кликов.
    Ответ написан
    Комментировать
  • Забанит ли гугл за рекламу в приложении - клиенте для новостного сайта?

    artemgapchenko
    @artemgapchenko
    Это вам лучше связаться с владельцами новостного сайта, а не с Гуглом. Если какие-то действия в отношении вас и вашего приложения и будут предприниматься, то только после того, как владельцы жалобу накатают.
    Ответ написан
    Комментировать
  • Как сделать стауст бар?

    artemgapchenko
    @artemgapchenko
    Никак.
    Status Bar рисует операционная система, и из приложения вы изменить его никак не сможете. Разве что сделать свою собственную сборку Android.
    Ответ написан
    Комментировать
  • Какие книги есть по правильному написанию кода, по правильной структуре кода?

    artemgapchenko
    @artemgapchenko
    Ну и раз уж вы задали этот вопрос в разделе "Java", то можно ещё и "Java Code Conventions" полистать.
    Ответ написан
    Комментировать
  • Какая есть хорошая библиотека для удобного использования shared preferences в Android?

    artemgapchenko
    @artemgapchenko
    Что-то я не понял, а зачем тут библиотека вообще? Все методы, названия которых начинаются с 'put...', возвращают вам Editor, так что ваш код можно свести к
    getActivity()
        .getPreferences(Context.MODE_PRIVATE)
        .edit()
        .putInt(getString(R.string.saved_high_score), newHighScore)
        .commit();
    Ответ написан
  • Как обновить ListView при нажатии CheckBox который находится в Custom SimpleCursorAdapter?

    artemgapchenko
    @artemgapchenko
    Ошибка у вас наверняка состоит в том, что падает NullPointerException на обращении к dbHelper, который на момент обращения к нему не инициализирован, так как инициализируется он в onCreate(), который не вызовется, так как вы, почему-то, создаете новый instance класса MainActivity.
    Первое. Никогда не создавайте Activity, да и другие компоненты Андроид-приложения через конструкторы. Для создания компонентов есть механизм интентов.
    Второе. В адаптере есть прекрасный метод notifyDataSetChanged(), который оповещает AdapterView, работающий с этим адаптером, о том, что данные обновились и неплохо бы перерисовать себя. Выкиньте
    MainActivity ma = new MainActivity();
    ma.updateTodo(); // Ошибка

    и напишите там
    notifyDataSetChanged();

    P.S. У вас небольшая каша в голове. Советую почитать что-нибудь на тему Андроид-приложений. Начать можно с сайта Александра Климова или с книги "Программирование под Android. Для профессионалов" от Брайна Харди и Билла Филлипса (пусть название вас не смущает, там все подробно расписывается). Если есть английский на уровне чтения технической литературы (а он должен быть, вы как-никак программист), советую читать Харди-Филлипса в оригинале, и периодически заглядывать в официальную документацию, разделы "API Guides" и "Training".
    Ответ написан
    1 комментарий
  • Где хранить код?

    artemgapchenko
    @artemgapchenko
    Для хранения маленьких кусочков кода, которые можно будет использовать в новых проектах, использую pastebin.
    Ответ написан
    Комментировать