• Опубликуют ли коробочное решение App store и Play market?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    В маркете нельзя опубликовать два приложения с одинаковым Package name, соответственно, вам нужно будет позаботится о том, чтобы ваши покупатели могли его поменять в исходниках, и сбилдить свой вариант приложения со своей подписью.
    И еще, существует риск, что Гугл заблокирует аккаунт одного из клиентов, или ваш, в будущем, за какое нибудь, любое нарушение. А остальные аккаунты засветит как "связанные" (алгоритм определения связанных аккаунтов не известен) и тоже заблокирует. Со всеми вытекающими последствиями.
    Ответ написан
  • Что выбирать в заявке на доступ к разрешениям в Google Play Console?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    У меня для вас плохие новости. Если вашего кейса нет в этом списке, то это означает, что Гугл не хочет, чтобы существовали такие приложения. Под ваш случай больше всего подходит "резервное копирование", но как видим, в Гугле специально подчеркивают, что такое копиирование должно быть разовым, и не может выполняться постоянно.
    Я считаю, что вам лучше отказаться от идеи продвижения этого приложения через Google Play, а лучше вообще не выпускать такое приложение в мир, иначе в будущем вы можете обнаружить, что ваш аккаунт разработчика заблокирован.
    Ответ написан
    2 комментария
  • Как понять такой код на Java c лямбда?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Разница в том, что при использовании
    checked.setOnClickListener(this::onClick);
    фрагмент может не имплементировать View.OnClickListener, потому что слушателем является не он, а анонимный класс, сгенерированный лямбдой. Если же фрагмент у вас всё равно имплементирует View.OnClickListener, то лямбда совсем не к месту, и избыточна.
    Ответ написан
    Комментировать
  • Где найти информацию о костомизации стиля XML в android OS?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Это зависит от того, насколько сильно вы хотите его изменить.
    Можно просто поменять стиль, а можно наследоваться от класса ProgressBar и переписать нужные методы.
    О том как менять и наследовать стили можно прочитать например на developer.android.com:
    https://developer.android.com/guide/topics/ui/look...
    Ответ написан
    Комментировать
  • Разрешено ли продавать реальные (не цифровые) вещи через приложения Google Play, AppStrore?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    В Google play тоже нельзя

    Система оплаты контента Google Play не поддерживается для следующих видов товаров и услуг:

    • Розничные товары. Например, продукты, одежду, товары для дома и электронные устройства.
    • Платные услуги. Сюда относится перевозка пассажиров и грузов, клининг, доставка еды, авиабилеты, билеты на мероприятия и т. д.
    • Членство (разовое и возобновляемое). Например, в спортивных клубах, а также в клубах, предлагающих аксессуары, одежду или другие аналогичные товары. Сюда же относится участие в программах лояльности.
    • Разовое перечисление средств. Сюда относятся ссуды, онлайн-аукционы и пожертвования.
    • Онлайн-платежи. Например, оплата задолженности по кредиту или счетов за коммунальные услуги.

    Но:
    Обратите внимание, что Google Pay API можно использовать в приложениях для продажи физических товаров и услуг. Подробную информацию вы найдете на сайте для разработчиков.


    Источник
    Ответ написан
    Комментировать
  • Как можно правильно реализовать лайк/дизлайк в новостной сайте?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    IP адрес не годится в качестве идентификатора пользователя, он может измениться, он может быть выдан другому пользователю. Запись в куках (в кэше) тоже не годится, у пользователя может быть несколько компьютеров, пользователь может предоставить доступ со своего компьютера другому пользователю, в конце концов это может быть общедоступный компьютер. Если у вас на сайте предполагается система своих лайков, не привязанная к какой либо соцсети. То нужно делать авторизацию, присваивать пользователям идентификаторы, и регистрировать лайки по ним.
    В качестве счетчика лайков, логично будет хранить не просто счетчик у новости, а писать отдельную таблицу: id новости, id пользователя, лайк, дизлайк. Когда пользователь ставит лайк - искать его id + id новости, в этой таблице, и если есть, то ставить единицу либо в поле лайк, либо дизлайк.
    Для счетчика под новостью брать сумму лайков, дизлайков по id новости.
    Ответ написан
    Комментировать
  • Как получить значение из XML без CDATA?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Ну, очевидно же, что у вас у тега "description" получается дочерний тег "p" значит его надо извлекать отдельно. С остальными HTML тегами выйдет та же беда.
    Ответ написан
    Комментировать
  • Android. Как организовать выбор стилей в приложении?

    @WaterSmith Автор вопроса
    Android-разработчик. Java, Kotlin
    styleValues = new ArrayList<>();
        Field[] styleFields = R.style.class.getDeclaredFields();
        for (int i=0; i<styleFields.length; i++){
            Field styleField = styleFields[i];
            String styleName = styleField.getName();
            if (styleName.startsWith("AppTheme")){
                try {
                    ContentValues styleValue = new ContentValues();
                    styleValue.put("style",styleFields[i].getInt(styleName));
                    styleValue.put("name",R.string.class.getField(styleName+"Name").getInt(styleName+"Name"));
                    styleValues.add(styleValue);
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                } catch (NoSuchFieldException e) {
                    e.printStackTrace();
                }
            }
        }
    Ответ написан
    Комментировать
  • Как организовать хлебные крошки для объекта из нескольких разделов?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    ИМХО, хлебные крошки должны показывать путь, по которому пришел пользователь, а не по которому он "мог бы еще прийти", из этих соображений более приемлем вариант 2, но сухое "еще 3" все равно не нравится.
    Ответ написан
  • Как называется когда один объект низкого уровня оборачивается в другой класс как свойство?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Фасад? Правда Фасад может и несколько объектов оборачивать.
    Ответ написан