Мой опыт работы с ZennoDroid: многопоток, восстановление данных, прокси, настройки эмулятора.

  • Автор темы Автор темы cr3c
  • Дата начала Дата начала

cr3c

Client
Регистрация
02.07.2018
Сообщения
57
Реакции
7
Баллы
8
Всем привет!

Не всегда сайт или его функционал доступны в веб интерфейсе. Когда мне нужно было реализовать функционал на андроид приложении - мой выбор пал на Zennodroid.

Пока я довольствовался 1 потоком, то все работало хорошо. Однако, когда появилась потребность в многопотоке, то пришлось провести ряд экспериментов.

С чем я столкнулся при работе с многопотоком?

Я создал примерно 10 эмуляторов. Однако всегда выбирался один и тот же эмулятор, где постоянно нужно было подставлять имя эмулятора "Запуск устройства".

115316


Для этого я реализовал взаимодействие с экшеном "Работа с листом". Туда были записаны все имена устройств. Одна строчка - одно имя. И логика была следующая: берем и удаляем одну строчку. Перемещаем ее в низ, чтобы не было повторов. Таким образом все запущенные эмуляторы будут внизу строчки. Тут рекомендую исходить от того сколько вам потоков нужно. Я всегда советую делать с запасом 5-10 штук.

Удалось разогнать свое железо максимум до 20 потоков. Дальше программа начала подвисать. Zennodroid сам по себе тяжелый и кушает много ресурсов. Эмулятор же может зависнуть и не реагировать. Для того, чтобы обезопасить себя от этого риса я всегда использую "Условие прерывание потока".


115320


Про настройку эмулятора:

115323

115322


Для удобства я переименовываю все эмуляторы в понятные значения от 1 до 30.

Рекомендую всегда выбирайть разрешение "Мобильный". Были момент, когда выходили обновления приложения и оно переставало работать в режиме "Планшет","Супер широкий экран". Также я столкнулся с следующей проблемой: я создал много эмуляторов с разрешением "мобильный", но по какой-то причине разрешение у всех было разное, а не как в настройках 720*1280*240dpi. Решение было вставить кубик с указанием разрешения экрана в начале проекта перед запуском.

По поводу производительности рекомендую смотреть исключительно по железу.

Вот так вот выглядит многопоток рабочий :ba:

115329


Где красный контур-сработал тайм аут выполнения. Бывает проще сбросит в проекте на тайм аут, чем прописать проверки на существование элемента. В данном случае работает чекер аккаунтов на информацию.

Про восстановление данных приложения:

При многопотоке не все приложения восстанавливают ваши данные. Мне пришлось реализовывать оплату через банковские приложения, которые не восстанавливают данные, а выбрасывают на авторизацию по смс. Как я ни шаманил , ничего не получалось. Выбор пал на Яндекс Пей или Яндекс Деньги.

Яндекс Деньги без проблем восстанавливают данные в отличие от Яндекс Пей, который порой выкидывает на авторизацию по почте и паролю без смс. Это можно изменить в настройках кошелька. В банковских приложениях подобной функции нет. Я пошел дальше и установил на всех эмуляторах приложения от Тинькова, Сбера и вводил данные авторизации вручную. Но всегда при многопотоке при входе в приложение был сброс и требовалось ввести смс. Если вас удовлетворяет один поток и все работает, то можно использовать любые банковские приложения.

Про прокси:

Вот такая ошибка появляется время от времени при обрыве связи или плохом прокси. И даже если нажать на кнопку "Обновить страницу", то она не обновляется. Для этого я всегда ставлю тайм-аут выполнения проекта.

С мобильными проксями у меня не задалось сразу. Не прогруз в приложении и ошибка с интернетом появлялась постоянно. Запустил ipv4 - ошибка осталась, но стала появляться реже. Все приложения разные - рекомендую делать тесты.

115330


Иногда приложение отказывается восстанавливать данные, хотя еще вчера ты с ними работал. Я решаю эту проблему полным удаление эмуляторов и созданием новых.

P.S Как реализовать многопоток самих данных, когда восстанавливаешь данные приложения? Сначала ты их сохраняешь. Я также сохраняю пути в текстовик, чтобы брать первые данные приложения и перемещать его в конец с удалением строчки из текстовика.

Всем хорошей работы. Краткое рассказал о том, с какими проблемами я столкнулся при работе с ZennoDroid. Буду рад ответить на ваши вопросы.
 
Номер конкурса статей
  1. Двадцатый конкурс статей

Вложения

  • 1701964164552.png
    1701964164552.png
    73,5 KB · Просмотры: 179
Последнее редактирование модератором:
  • Спасибо
Реакции: cr3c
Сейчас это вроде разные системы. Яндекс деньги это теперь Юмани и к яндексу мало отношения имеет.
День добрый,да все правильно.Цель стояла :найти платежку под автоматизацию.
 

Похожие темы

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)