Перейти к содержимому
Меню
  • Java SE
  • Android
  • Поиск
  • Java SE
  • Android

JAVA-HELP

Сайт для Java разработчиков

Библиотека для генерации капчи в Android

Капча — компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Википедия

Хотя капча в приложениях для мобильных ОС практически не нужна, я решил использовать ее в своем приложении при регистрации пользователя. Из всех библиотек для генерации капчи, более менее достойной мне показалась библиотека AndroidEasyCaptcha. Именно ее я и буду обозревать.

Библиотека может генерировать два вида капчи: текстовую и математическую. Прежде чем воспользоватся я сделал копию репозитория к себе для исправления некоторых ошибок. Вот ссылка на него: AndroidEasyCaptcha.

Создаем текстовую капчу
Captcha c = new TextCaptcha(5, TextOptions.NUMBERS_AND_LETTERS);
Drawable myCaptcha = c.getImage(); //получаем изображение

Проверяем правильность введнной капчи:

String captchaText = myEditText.getText().toString();
boolean correct = myCaptcha.checkAnswer(captchaText);

Отключаем проверку регистра  (данная функция доступна только в моем репозитории):

capcha.ignoreCase();

В интерфейсе TextOptions определены 5 констант:

UPPERCASE_ONLY — только символы в нижнем регистре.

LOWERCASE_ONLY – только символы в верхнем регистре.

NUMBERS_ONLY – только цифры.

LETTERS_ONLY – только слова.

NUMBERS_AND_LETTERS — слова и цифры в разных регистрах.

Внимание! В оригинальном репозитории работает только NUMBERS_AND_LETTERS. Остальные опции работают в моем репозитории.

Создаем математическую капчу
Captcha c = new TextCaptcha(400, 200, MathOptions.PLUS_MINUS_MULTIPLY);
Drawable myCaptcha = c.getImage(); //получаем изображение

Проверяем правильность введнной капчи:

String captchaText = myEditText.getText().toString();
boolean correct = myCaptcha.checkAnswer(captchaText );

В интерфейсе MathOptions определены 2 константы:

PLUS_MINUS — сложение и вычитание.

PLUS_MINUS_MULTIPLY – сложение, вычитание и умножение.

Библиотека на GitHub: AndroidEasyCaptcha.
Исходники примера: AndroidEasyCaptcha.

Категории
  • Android
  • Android-библиотеки
Предыдущая заметка

Подключаем Toolbar

Следующая заметка

Запрещаем делать скриншоты в приложении

Рубрики

  • Android
    • Android-библиотеки
    • Android-сниппеты
    • Material Design
    • Инструменты разработчика
    • Уроки Android
  • Java SE
    • Java-сниппеты
    • Изучение Java
    • Обзор Java-классов
    • Основы Java
  • Kotlin

Популярные записи

  • Загрузка изображений с помощью библиотеки Glide. Начало работы
  • Руководство по использованию ORM DBFlow в Android-приложении
  • Анимированный Toolbar: фичи Design Support Library
  • Я хочу программировать под Android. Вопрос #5
  • Используем ACRA в своем приложении

Copyright © 2020– JAVA-HELP. Все права защищены. Политика конфиденциальности