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

    Fotonick
    @Fotonick
    android-er (Навальный отменит налоги фрилансерам)
    Разработал ТикТок, в разы увеличил пользование смартфонами по всему миру, увеличил энергопотребление - нагадил природе. Не разрабатывай мобильные приложения, не совершай ошибку.
    Ответ написан
    Комментировать
  • С чего начать изучать мобильную разработку?

    Fotonick
    @Fotonick
    android-er (Навальный отменит налоги фрилансерам)
    Если решите под андроид, то берите курсы с обучением на языке kotlin. Процентов 80% вакансий уже требуют котлин, а через полгода будет 100.
    Можно изучать flutter (технология гугла для приложений и под андроид и под айфон), но это только если есть мак, так как без него не сможете проверить приложение под айфоны, а без этого и смысла нет эту технологию учить.
    Курсы есть у otus.ru, geekbrains, skill-branch.ru.
    Ответ написан
    Комментировать
  • Как сделать приложение популярным?

    Fotonick
    @Fotonick
    android-er (Навальный отменит налоги фрилансерам)
    ASO оптимизация. Название, описание, ключевые слова, иконка, скриншоты. Всё это может дать какой-то стабильный трафик. Но по-любому на первых строчках ключевых запросов находятся сильнейшие конкуренты с баблом и закупками пользователей и рекламой. Думаю бесплатно реально держаться в десятке по ключевому запросу, но первое место без вложений не возьмёшь.
    Ответ написан
    Комментировать
  • Соотношение скачиваний и удалений Google Play?

    Fotonick
    @Fotonick
    android-er (Навальный отменит налоги фрилансерам)
    Количество установок отображается уровнями

    1+ (1 - 5)
    5+ (6 - 10)
    10+ (11 - 50)
    50+ (51 - 100)
    100+ (101 - 500)
    500+ (501 - 1000)
    1000+ (1001 - 5000)
    5000+ (5001 - 10000)
    10000+ (10001 - 50000)
    50000+ (50001–100000)
    100000+ (100001–500000)
    500000+ (500001–1000000)
    1000000+ (1000001–5000000)
    5000000+ (5000001–10000000)
    10000000+ (10000001–50000000)
    50000000+ (50000001–100000000)
    100000000+ (100000001–500000000)
    500000000+ (500000001–1000000000)
    1000000000+ (1000000001–5000000000)
    Ответ написан
    2 комментария
  • Стоит ли продолжать после плохих оценок в PlayMarket?

    Fotonick
    @Fotonick
    android-er (Навальный отменит налоги фрилансерам)
    Приложение должно выполнять заявленные функции, не тупить и не вылетать. Желательно быть красивым по дизайну. Также желательно чтобы оно было как можно легче, иначе может оказаться первым кандидатом на удаление при нехватке места на смартфоне. Над количеством установок надо тоже работать - это ASO. Текстовая оптимизация названия, краткого описания, полного описания, выход на лидирующие позиции по поисковым запросам характерным для ваших конкурентов, тестирование и выбор наиболее эффективных вариантов иконки и скриншотов приложения. Ну и в любом случае среднее приложение теряет 90% пользователей к концу первого месяца, так что надо обеспечивать стабильный приток пользователей, так как это похоже на просеивание песка в поисках золотой крупинки (пользователь, который будет пользоваться вашим приложением постоянно). Также полезно в приложении реализовать уведомления (либо по какому-то внутреннему алгоритму, либо внешне отправкой уведомлений через консоль) - это помогает вернуть пользователей в приложение, напомнить им о нём. Гугл при сортировке приложений в поиске учитывает ежедневное удержание пользователей.
    Ответ написан
  • Как сейчас изучать дополненную реальность?

    Fotonick
    @Fotonick
    android-er (Навальный отменит налоги фрилансерам)
    Самые современные курсы на udacity.com Там поищите.
    Ответ написан
    Комментировать
  • Почему Collections.sort сортирует не одинаково?

    Fotonick
    @Fotonick Автор вопроса
    android-er (Навальный отменит налоги фрилансерам)
    После наводки Денис Загаевский переписал вот так
    Collections.sort(allLawyersList, new Comparator<OneLawyerClass>() {
                            @Override
                            public int compare(OneLawyerClass o1, OneLawyerClass o2) {
                                return Integer.parseInt(o1.getLawyerID()) < Integer.parseInt(o2.getLawyerID()) ? 1
                                        : (Integer.parseInt(o1.getLawyerID()) > Integer.parseInt(o2.getLawyerID()) ? -1 : 0);
                            }
                        });
    Ответ написан
  • Как исправить обработку кнопок?

    Fotonick
    @Fotonick Автор вопроса
    android-er (Навальный отменит налоги фрилансерам)
    Всё оказалось элементарно. Надо было просто в каждом обработчике кнопки перед вызовом callback извлечь нужный элемент из arraylist. И передавать в колбеке не position а сам oneAppClass

    oneAppClass = (OneAppClass) getItem(position);
    callbacks.onAppEdit(oneAppClass);

    Соответственно
    public interface Callbacks {
    void onAppAccept(OneAppClass oneAppClass);

    void onAppEdit(OneAppClass oneAppClass);

    void onAppDelete(OneAppClass oneAppClass);
    }

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

    Fotonick
    @Fotonick Автор вопроса
    android-er (Навальный отменит налоги фрилансерам)
    Вычитал ответ в английской сети. Когда на экране запущена полноэкранная реклама нужно нажать кнопку вызова списка недавних приложений (обычно удержание кнопки Home). Полноэкранная реклама будет в списке недавних приложений, при этом рядом с ней будет написано название приложения, которое эту рекламу вызывает. В моём случае это оказался контролер сна и будильник Sleep as android.
    Ответ написан
    Комментировать
  • Что не так с передачей строки между активностями?

    Fotonick
    @Fotonick Автор вопроса
    android-er (Навальный отменит налоги фрилансерам)
    Заработало вот так
    Bundle bundle = new Bundle();
    bundle.putString("headers", Headers);

    Intent intent = new Intent(LoginActivity.this, MyPageActivity.class);
    intent.putExtras(bundle);
    startActivity(intent);


    Bundle bundle=getIntent().getExtras();
    String headers2 = bundle.getString("headers");

    TextView outputView = (TextView) findViewById(R.id.responseView);
    outputView.setText(headers2);
    Ответ написан