Что нового

Создание приложений для Андроид

AZJIO

Меценат
Меценат
Сообщения
2,891
Репутация
1,195
На форуме PureBasic всплывали сообщения о программировании для андроид, говорилось о двух вариантах B4A (Basic4android) и SpiderBasic от автора PureBasic, казалось бы переучиваться не надо тот же код PureBasic, разве что некоторые функции другие и есть специальные функции для андроид. Кстати в SpiderBasic также подерживается браузерный вариант в джаваскрипт и iOS (компиляция iOS только на MacOS). SpiderBasic у меня не пошёл, а B4A требовалось переучивание, равносильно, что на другой язык переходить, другие типы и различий больше чем между Autoit3 и PureBasic. С выходом новой версии SpiderBasic ажиотаж опять активизировался, люди пишут, что у них работает, в итоге разобрался в проблеме, SpiderBasic при компиляции не может прочитать путь с русскими буквами, а папка Temp внутри папки пользователя, просто вытащил весь лог событий, а не последние строчки и увидел как выглядит путь.
В общем собрал два приложение для андроид: Календарь смен и Игра пятнашки. Они уже у меня есть в PureBasic (пятнашки и в AutoIt3), немного адаптировал исходники для андроид. Насколько я понимаю SpiderBasic преобразует код в джаваскрипт, а потом компилирует как если бы это был код написанный программистом джаваскрипт, не зря пакет JAVA приходится устанавливать. Если кто хочет попробовать, то тема тут и форум SpiderBasic. Скачать SpiderBasic можно на официальном сайте, демо-версия как и PureBasic позволяет писать приложения до 800 строк кода (мои приложения примерно 200 и 300 строк). По F5 код преобразуется в джаваскрипт и открывается в браузере, то есть перед компиляцией можно его потестировать. Компиляция тоже даёт возможность встроить отладчик, то есть на телефоне можно проверять приложение с отладчиком (будет выводить ошибки и любую пользовательскую инфу).
Сообщение автоматически объединено:

Ещё 2 программы можно попробовать (обе есть на AutoIt3):
Цветовая маркировка резистора
Разрядка конденсатора в выпрямительном блоке питания
Сообщение автоматически объединено:

В календарь смен добавил будильник, ссылка та же и ещё с upload.ee, подробнее в Readme. Трудно это далось, так как веб-приложение не имеет доступа к локальным файлам, поэтому музыку пришлось встраивать в программу. Аналогично ini-файл с настройками можно подгрузить через открытие файла, напрямую никак (хотя говорят через API-Google можно). Ещё среда программирования толкает к изучению js, так как позволяет делать вставки js прямо в код. Например получить язык браузера, чтобы локализовать программу.
Сообщение автоматически объединено:

Сделал игрушку где удалять по 3 шарика - скачать Balloons, и скриншот (скачать для Windows и Linux)
 
Последнее редактирование:

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
SpiderBasic преобразует код в джаваскрипт, а потом компилирует как если бы это был код написанный программистом джаваскрипт, не зря пакет JAVA приходится устанавливать

А ты не путаешь часом Java и Javascript? Это два совершенно разных языка, даже в целом для разных целей...
 

grayms

Новичок
Сообщения
7
Репутация
0
В то время как PureBasic компилирует в нативное приложение, то эта поделка подобие электрона под windows, web приложение в браузере. В итоге на железе телефона крутится явамашина и в ней крутится ещё и браузер (интерпретатор яваскрипт кода) и уже в нём ваше приложение.
Лично я пишу на B4А. Да ООП я не очень люблю, но среда разработки и отладки удобнее и быстрее Android Studio. А на выходе нативный код.
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,891
Репутация
1,195
grayms
Я пробовал B4А (по советам тут), но мне не захотелось учить новый язык и API Google. Просто пробую готовый код уже написанный на PureBasic и это работает. Вот в игру "Шарики" добавил подсказку нового хода, получил критику что шары по цвету выглядят одинаково, кто-то красные путает, я меня зелёный с жёлтым (только на телефоне), решил добавить выбор цвета, взял свою готовую функцию и она сразу работает, вообще ничего делать не надо. И я этот же код делаю на Windows и Linux практически без изменений, конечно мне нравится что я один и тот же код использую сразу для 3-х совершенно разных ОС.

А ты не путаешь часом Java и Javascript? Это два совершенно разных языка, даже в целом для разных целей...
в браузере работает Javascript, поэтому не путаю.

В итоге на железе телефона крутится явамашина и в ней крутится ещё и браузер (интерпретатор яваскрипт кода) и уже в нём ваше приложение.
Я это сразу написал, по крайней мере что приложения является минибраузером, в котором выполняется яваскрипт. На счёт того что на явамашине выполняется браузер - не уверен. Разве браузеру что-то нужно чтобы работать? Разве что сам браузер выполнен на яве. Это же приложение у меня выполняется в том числе и в браузере, то есть я тестирую его в браузере и могу "скомпилировать" для работы в браузере, точнее он просто будет распакованная (в отличии от АПК) страница с Javascript и с файлами. Я в таком виде на Linux делаю, потому что в браузере шарики сглаженные, а в программе рисует без сглаживания. Вот браузерный вариант.

Это как сказать что на С++ крутится AutoIt3, а потом уже код крутится на AutoIt3.
Сообщение автоматически объединено:

эта поделка подобие электрона под windows
да я в курсе, недавно обсуждали Electron дали эту ссылку, мне там понравились отзывы о Skype, который как оказалось написан на этом движке.
 
Последнее редактирование:

grayms

Новичок
Сообщения
7
Репутация
0

Абстракции на абстракциях, абстракциями погоняют. JS макаки залезли на десктоп и мучают людей размерами и тормозами ПО.
Жалко что Spider Basic не стал транслятором в java, как B4A.
Кстати забавно что IDE у B4A гораздо удобнее и БЫСТРЕЕ чем тормозная Android Studio (Visual Studio Code туда-же), которая видимо тоже ни что иное как браузер.

Autoit я использую всё-же для автоматизации, чтобы дёргать что-то нативное. Иначе PureBasic.
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,891
Репутация
1,195
В SpiderBasic есть папка ресурсов "data" в которую у приложения полный доступ, в отличии от файлов в хранилище. И вот у меня давно крутилась идея что если в эту папку засунуть весь справочный файл, то есть распаковать CHM-файл, а в элементе Web-гаджет (тоже что пример в GUICtrlCreateObj в AutoIt3) указать ссылку на index.htm. И удача, попробовал и это работает, три справочника сделал в виде приложения apk. Я боялся что будет работать криво, но работает идеально и даже лучше. Похвалился в whatsapp`е и получил сразу советы сделать поиск. Но как, там целая проблема с доступом к файлам, цикла перебора файлов вообще нет. Решил сначала сделать поиск как в браузере с использованием тегов, нашёл тег и к нему привязана ссылка на файл, работает отлично, а как же сделать поиск по файлам, ведь весь текст не засунешь в теги, а даже если засунешь это будет огромный файл размером как сумма всех файлов справки. В итоге нашлось решение, просто сделал список файлов, а цикл перебирает этот список, то есть искать их не надо просто открывать готовый путь и через пару часов уже на панели появилось поле для ввода текста с поиском по файлам и выводом в "раскрывающееся меню" заголовки из тегов title.
Файлы apk, которые я сделал по работе выкладывать не буду, но чуть позже выложу пример. И самое интересное этот файл можно перепаковать с помощью "APK.Tool.GUI.v3.0.2.0", то есть в папку "data" вставить любой другой контент, главное чтобы стартовой страницей был index.htm, ну ещё для красоты придётся переименовать имя пакета в манифесте и иконку. Там же в папке "data" 2 файла списка тегов и списка файлов. Кому интересен исходник, он тут. Всего то 300 строк, можно собрать на демо-версии бесплатно (требует англоязычное имя пользователя Windows, может исправили в версии 2.50, не знаю).

Вот такая панель появляется. В первом поле достаточно ввести 2 буквы и выпадает найденное по тегам. Вот втором поле надо нажать кнопку, чтобы запустить поиск, а без нажатия можно повторно использовать список найденных кнопкой раскрытия списка.
wG7Buap.png


пример справки
Сообщение автоматически объединено:

Ещё одну игрушку сделал CubePicker
скриншот
 
Последнее редактирование:

dumoed

Знающий
Сообщения
34
Репутация
5
господа, поделитесь, каким образом пишите под Андроид на AutoIt-е, я вс вое время понял, что эту ветвь развития AutoIt-а прикрыли. Был какой-то иностранный энтузиаст, но его библиотеки в настоящее время недоступны.
 
Автор
A

AZJIO

Меценат
Меценат
Сообщения
2,891
Репутация
1,195
На AutoIt3 никак, я пишу на SpiderBasic, так как его синтаксис на 95% совпадает с PureBasic. Почему на 95%, а сам Андроид не имеет в точности такой же API и к нему невозможно обращаться в той же концепции, что и к другим осям. Ну и кроме того он преобразует код в JavaScript, о чём приподробнейше написано выше. Раздел общение подразумевает поговорить о чём-то кроме AutoIt3. Также есть B4A, всё написано выше.
Наверно показалось, так как я не выложил исходник (написано на PureBasic), это впервые, так как мало кто будет изучать код, но перестраховка, чтобы не присвоили авторство.
 

grayms

Новичок
Сообщения
7
Репутация
0
господа, поделитесь, каким образом пишите под Андроид на AutoIt-е, я вс вое время понял, что эту ветвь развития AutoIt-а прикрыли. Был какой-то иностранный энтузиаст, но его библиотеки в настоящее время недоступны.
Рассмотрите всё-же Basic4Android. Он стал бесплатным. Visual Basic-овый синтаксис. Хорошая ide, нативные apk на выходе.
 
Верх