XOR Calculator
Иностранный Язык с ИИ
ИИ запрос для генерирования кода Android приложения
XOR калькулятор.
В окно EditText вводится текст для шифрования.
Из файла читается фрагмент энтропии, равный по размеру шифруемому тексту.
Затем выполняется операция битового XOR и в файле pointer.json записывается указатель на позицию файле энтропии - с какой позиции брать значения следующий раз (чтобы не повторяться).
Запрос
Сгенерируйте максимально простой Java-код для приложения "XORCalculator" на Android 14 с SDK 33.
Разметка в файле Activity_main.xml должна позволять вертикальную прокрутку для просмотра всего контента.
Необходимо запросить в явном виде (в том числе и у пользователя) и получить все разрешения, необходимые для функционирования приложения, включая разрешение на создание файла, чтение и запись данных в текстовый файл czechentropy.mp4 в папке Download смартфона.
На экране разместить EditText, под ним разместить TextView. Ниже разместить кнопку "XOR". Еще ниже разместить кнопку "Exit". При нажатии кнопки "Exit" завершать работу приложения.
При старте приложения:
1. В папке Download смартфона проверяется наличие файла pointer.json
- если файла pointer.json нет, то файл pointer.json создаётся и в него записывается значение j=0. В приложении Int переменная j=0
- если файл pointer.json есть, то из него читается значение и записывается в Int переменную j
2. Необходимо создать три BigInt переменные:
- UserData - в эту переменную надо конвертировать текст (преобразпвать в BigInt число), введенный пользователем в EditText
- vXOR - данные для XOR операции
- rData - результат XOR
В поле EditText пользователь должен поместить текст (текстовые данные), с которыми надо выполнить бинарную операцию XOR используя для этого данные из переменной vXOR.
После нажатия кнопки "XOR" должны выполняться следующие действия:
1. Данные из EditText преобразовываются в BigInt число и помещаются в переменную UserData
2. Определяется длина введенных из RditText пользователем данных (Int переменная k)
3. Из файла pointer.json в папке Downlod читается значение и помещается в переменную int j
4. Из файла czechentropy.mp4 в папке Downlod читаются данные, начиная со смещения j+1 от начала и длиной k байт
Прочитанные данные посещаются в переменную vXOR
5. Проверить, что длина данных в UserData и vXOR совпадает. Выдать сообщение, если длина данных совпадает или не совпадает.
6. Выполнить битовую операцию XOR между UserData и vXOR.
7. Записать результат в TextView и в переменную rData
8. Перезаписать в файле pointer.json в папке Downlod прежнее значение j на новое, вычисленное как j+k
Comments
Post a Comment