Задать вопрос
Ответы пользователя по тегу Android
  • Как обфуцировать SDK?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    consumer-rules.pro
    -keep class your.sdk.** { *; }

    ** - сохранять все классы глубже your.sdk
    {*;} - сохранять методы
    Ответ написан
    Комментировать
  • Разница в доходах AdMob на iOS и Android?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Не смотрю видео. Не монетизирую через AdMob. Не публикую в App Store.
    Просто анализирую статистику из разных источников.

    Попробуйте загуглить
    1) Ios vs Android доля рынка по странам
    2) Toп стран по покупкам в сторах
    3) На каждый год можно найти статьи сколько всего денежек потрачено в сторах

    Подключить здравый смысл. Андроид - все ищут бесплатные (с рекламой)
    Яблоко - программы в основном платные
    Ответ написан
    1 комментарий
  • Почему activity долго закрывается?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    На подобные вопросы ответить можете только Вы как автор программы.
    А помочь с поиском проблемных мест может стрикт моде у приложения
    if (BuildConfig.DEBUG) {
                StrictMode.enableDefaults();
                StrictMode.allowThreadDiskReads(); // 1
                StrictMode.allowThreadDiskWrites(); // 2
            }

    1 и 2 очень много сообщений без них. Тут начнет ругаться на сохранение и востановление стейта у активитей, чтение шаред преференс.

    Посмотрите в логах на что будет ругаться. Может вы чего на UI треде делаете при деструктизации
    Ответ написан
    Комментировать
  • Как исправить ошибку «exception occured while executing 'grant'» при использовании ADB?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Не совсем понимаю, что реально вы через это хотите сделать. В андроид многое дополнительно нельзя чисто юридически. Использование средств для людей с ограниченными возможностями в последней редакции ужесточили.
    Ответ написан
  • Почему андроид "подвешивает" VPN?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Это андроид. У него даже системные службы виснут. 24на7на365 тут нет как класса.
    Ответ написан
    2 комментария
  • Хочу заказать разработку приложения. Есть пару вопросов?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Первый вопрос к Вам
    У Вас уже есть аккаунты для публикации с гугл плей и аппсторе ?
    Или Вы знаете как решить проблему с оплатой их регистрации ?

    1) Будет отлично работать на всех платформах ?
    Зависит от того, какие зависимости придется подключить.
    Есть такой ресурс pub.dev (репозиторий готовых модулей)
    Официальные библиотеки (там где только код на Dart) имеют версии под 5 платформ
    Но например простейший встроенный броузер в приложение уже сплошное разочарование.
    Поддерживается только IOS и Android. И доступные методы урезаны до общего совместимого функционала.
    В общем если платформо зависимая вещь, то дай бог чтобы была реализация под яблоко и робота.
    Совсем специфичные - в версиях под одну платформу.

    И еще момент библиотеки в двух релизах сейчас. С нулсафети и старые. Автор может не переписать или под новые требования пока глючит.

    4) Приложение подразумевает взаимодействие пользователей друг с другом.
    Вопрос два к Вам а штат модераторов готовы набрать ? Законы всех стран с требованиями к таким приложениям изучили ? Сочетания смайликов которые являются жутким оскорблением ?
    Ответ написан
    Комментировать
  • Как принимать данные по Bluetooth?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Жалко. Поэтому словами.
    Есть фоновая служба. В ней сиглетон тред сервера.
    В сервере
    // создаём серверный сокет, он будет прослушивать порт на наличие запросов
    serverSocket = bluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord("RAWBT", SPP_UUID);

    // запускаем бесконечный цикл, внутри которого сокет будет слушать соединения и обрабатывать их
    // создаем клиентский сокет, метод accept() создаёт экземпляр Socket при новом подключении

    Далее в бесконечном цикле, пока верен флаг что работаем

    принять соединение, если количество открытых соединений не превысило лимит.
    стартует тред взаимодействия

    public abstract class Connection extends Thread {
    BluetoothSocket socket; // сокет, созданный при подключении пользователя
    final OnDocumentReceived mDelegate;
    }

    В конкретной реализации этого класса потребуются
    final ExecutorService executor = Executors.newSingleThreadExecutor();
    private DataOutputStream stream;
    private DataInputStream dataInputStream;

    Экзекутор для рассылки сообщений с прочитанными данными
    так как чтение идет из еще одного паралейного треда.

    В общем врядли ваши примеры были настолько сложными
    Я еще про часть самого окна терминала ничего не написал. А там тоже накрутить кода пришлось
    Ответ написан
    2 комментария
  • Можно ли писать андроид приложения на C#?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Java vs Kotlin - можно спорить, что лучше. Но это нативная разработка.
    Си шарп - кросплатформер.

    Поэтому выбор инструмента зависит от задачи. Серьезное приложение понятие большое.
    Я писал и пишу на яве. Но захотелось выйти за пределы одной платформы.
    Попробывал react native. Не понравилось. Пробую сейчас flutter (dart).
    К чему в результате хочу придти.
    Часть кода общая. Остальное в виде пакеджа и реализацией под конкретную платформу.
    Если еще осилю CPP , то это тоже будет почти общим с обертками над .so .dll
    Но учить до посинения.

    p.s. Сейчас попалось в статье разочаровавшегося ( по сути тот человек хотел сделать WebView приложение).
    Угу именна та часть, которую не реально обернуть для 5ти платформ (андроид иос макось винда линух)

    В каждом пакете Flutter может встретиться баг в коде Dart, или в коде Swift/Objective-C, или в коде Java/Kotlin. А то и в нескольких частях сразу. Его может сломать любое обновление Flutter, Dart, iOS или Android – а вместе с ним сломается и ваше приложение на одной или всех платформах. Если вы не владеет всеми тремя языками и всеми поддерживаемыми платформами, то, вероятно, не захотите искать и устранять проблемы самостоятельно.
    Ответ написан
    Комментировать
  • Как добавить пункт меню?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://github.com/YehiaAliYehia/Notes/blob/b4cc81...

    Студия исходники у Вас раскрасила как депрекайтед?
    Ответ написан
  • Как изменить название getPackageName?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://github.com/YehiaAliYehia/Notes/blob/b4cc81...

    https://github.com/YehiaAliYehia/Notes/blob/b4cc81...

    https://github.com/YehiaAliYehia/Notes/blob/b4cc81...

    Теория для понимания как протянулось название покаета для сборки

    https://docs.gradle.org/current/dsl/org.gradle.api...

    В строковый ресурс не стали городить цепочку и просто вбили еще раз
    может это не все. Глубже не копал
    Ответ написан
  • Бинд IP->MAC-адрес и проброс портов с Андроида на ПК?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Вашу задачу решают устройства по типу Hame 3G Wi-Fi Router. Клонов и аналогов много. Лучше поддерживающие OpenWRT. Цена у них от 10 долларов. Программу для андроида с желаемыми функциями нельзя публиковать.
    Даже если найдете, то работать надежно не будет. Андроид и функции сервера вещи не совместимые из-за архитектурных особенностей андроида.
    Ответ написан
    2 комментария
  • Почему не меняется иконка уведомления?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Отвечаю на вопрос "шо делоть"
    открываете
    https://developer.android.com/reference/androidx/c...
    жмете Ctrl(Cmd)+F
    печатаете Icon
    Если 7-я найдена подстрока не поможет, то не знаю

    зы аккуратнее с чужими иконками - акка разраба разрешено регистрировать 1 раз в жизни
    Ответ написан
    2 комментария
  • Может ли прошивка телефона андроид помочь от взлома,удаленного доступа к нему?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Обязательно качайте с сайта где "без регистрации и смс". Безопасность повыситься, если в ходе прошивки удастся получить кирпич. Никто теперь вас взломать не сможет.
    Вы хоть свою модель телефона написали. Или бай дефаулт считаете, что на все есть кастомные прошивки.
    Если уж такое желание возникло, то сперва выбирать, что хотите накатить, а потом уж покупать эту модель телефона.
    Ответ написан
  • Нехватка памяти при загрузке изображений из памяти устройства?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    FileChannel channel = escPosEmulator.randomAccessFile.getChannel();
    MappedByteBuffer map = channel.map(FileChannel.MapMode.READ_WRITE, buf.getRowBytes()* escPosEmulator.output_height , buf.getRowBytes()*height);
     buf.copyPixelsToBuffer(map);
     escPosEmulator.output_height += buf.getHeight();


    Есть у меня эмулятор. После того как он обработал команды и отрисовал буфер строки, я его сохраняю в файл.

    Когда обработка завершена
    if (escPosEmulator.output_height > 0) {
        Bitmap out = Bitmap.createBitmap(escPosEmulator.max_dots, escPosEmulator.output_height, Bitmap.Config.ARGB_8888);
        FileChannel channel = escPosEmulator.randomAccessFile.getChannel();
        MappedByteBuffer map = channel.map(FileChannel.MapMode.READ_WRITE, 0, out.getRowBytes() * out.getHeight());
        out.copyPixelsFromBuffer(map);
        channel.close();
                                       
     }


    получаю картинку обратно в память.
    В результате я работаю обычно с 32 пикселями в высоту.
    Суммарную высоту программно ограничил в 32 тысячи пикселей. А то потом штатные просмотровщики виснут.

    Это нативные функции java под андроидом. Поищите аналоги сишарпа для прямой работы с файлом и байтовым представлением битмапа .
    Ответ написан
    Комментировать
  • Как правильно, в android java, передать константу в другой класс?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    не надо так делать.
    прочитайте про .setOnClickListener
    в качестве параметра в него передается View
    Ответ написан
  • Как передавать id сессии к api на нативных мобильных приложениях?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Со стороны java и прочих ЯВУ работать с апи проще так
    на нужный урл отсылается структура данных (json,xml)
    в самой структуре есть поля для логина / тукена .
    в ответ структура с кодом исполнения (успех, код ошибки) и результат или поле с текстом ошибки.

    Так как данные ходят по https, то из трафика сложно вычленить логин и т.д.

    Со стороны PHP маленькая заморочка. Данные нужно доставать из голого потока (пусто в _POST, _GET), одна лишняя строка кода
    json_decode(file_get_contents('php://input'));
    Ответ написан
    Комментировать
  • Как сформировать путь к библиотеке из gitlab?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://jitpack.io/
    Вроде бы все расписано.
    Саму библиотеку даже не нужно специально описывать как для мавен.

    settings.gradle в корне
    include ':library'
    rootProject.name='How to make a library'

    library/build.gradle
    plugins {
    id 'com.android.library'
    }
    в общем обычный такой конфиг для либы, только он теперь лежит не рядом с проектом, а имплементиться.
    Ответ написан
    3 комментария
  • Знает ли кто примеры android приложений, дающих оплатить через vk pay?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    ну если такое найдете в плее, то молодец. А вот модерация его пока не заметила.
    По правилам стора, стороние платежные системы допустимы только для продажи физических товаров.
    Ну и кой чего другого. Например такси.
    Все услуги (функции приложений) предоставляемые в цифровом виде должны оплачиваться только через них.
    Там еще нужно уточнять . контент это или собственно лицензионно за пользование программой
    Ответ написан
  • Возможно ли управлять андроид устройством на пк через провод, без доступа к самому устройству?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Разбит тач - поможет мышка .
    Разбит экран- только цеплять другой.
    Без визуального отклика не реально сделать следующие шаги.
    Снять блок.
    Зайти в настройки и включить режим разработчика.
    Включить режим отладки.
    Дать разрешение конкретному ПК.
    Тут ещё кнопка,то слева, то справа рисуется.
    Ответ написан
    Комментировать