Получение файла каталога и ClassLoader для игры в стиле libGDX

У меня есть игровой проект libGDX для Android, и я хочу выполнить в нем скрипт Groovy.

Для этого я изучаю этот пример кода: https://github.com/melix/grooidshell-example

Им удалось внедрить Groovy в Java на Android. В частности, GrooidShell.java ( https://github.com/melix/grooidshell-example/blob/master/GroovyDroid/src/main/java/me/champeau/groovydroid/GrooidShell.java )

Мне удалось реализовать большую часть кода в пусковой установке Android проекта libGDX. Однако я не могу запустить его, потому что мне не хватает двух аргументов:

 public GrooidShell(File tmpDir, ClassLoader parent) { 

Первым может быть любой каталог. И второй, я даже не знаю, для чего это.

Мой вопрос: каковы должны быть аргументы ClassLoader и File ? Мне нужно получить их и использовать их в классе AndroidLauncher libGDX, который выглядит следующим образом:

 public class AndroidLauncher extends AndroidApplication { @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); initialize(new MyGdxGame(), config); } } 

Сначала обратите внимание на GroovyActivity.groovy :

 GrooidShell shell = new GrooidShell(applicationContext.getDir("dynclasses", 0), this.classLoader) 

Первый аргумент GrooidShell хочет создать в каталоге с именем «dynclasses» с предустановкой по умолчанию:

Public abstract Файл getDir (имя строки, int mode)

Извлеките, создав при необходимости новый каталог, в котором приложение может разместить свои собственные файлы данных. Вы можете использовать возвращаемый объект File для создания и доступа к файлам в этом каталоге. Обратите внимание, что файлы, созданные через объект File, будут доступны только вашему собственному приложению; Вы можете установить режим всего каталога, а не отдельных файлов.

параметры

Name Имя получаемого каталога. Это каталог, созданный как часть данных вашего приложения. Режим работы. Используйте 0 или MODE_PRIVATE для операции по умолчанию, MODE_WORLD_READABLE и MODE_WORLD_WRITEABLE для управления разрешениями.

Возвращает

Объект File для запрошенной директории. Каталог будет создан, если он еще не существует.

Второй аргумент this.classLoader относится к текущему запуску ClassLoader, и вы можете использовать его как есть или this.class.classLoader в this.class.classLoader скрипте. Вы также можете использовать getApplicationContext().getClassLoader() в вашем Java-коде активности.

getClassLoader ()
Вложение Groovy

Intereting Posts
Различия между textMultiLine и textLongMessage WYSIWYG Просмотр редактора в Android? React Native приложение продолжает закрываться на Android-эмуляторе Android – java.lang.IllegalArgumentException: contentIntent требуется ошибка, вызванная уведомлением? Библиотека Picasso не загружает изображения с SD-карты на Android Как управлять различными задачами, которые должны быть вызваны AsyncTask Android – SQLite ContentResolver вставка / удаление / обновление в потоке пользовательского интерфейса? Статическая инициализация на OpenCV Android Настройка экранаОриентация на портрет не работает SelectionArgs в ContentResolver.query (…) может быть подзапросом? Firebase FCM уведомления click_action полезная нагрузка Vuforia Android SDK объяснил образцы? Как запустить прозрачную деятельность, чтобы фоновая активность способна принимать события Заполнение дискового пространства в устройстве Android Служба не останавливается даже после того, как метод onDestroy вызывается в Android