Создание игровой площадки с Java-кодом в приложении для Android от Janino
Я пытаюсь создать приложение Java обучения Android. Он должен иметь кодовую площадку для пользователей; который может запускать простые коды Java. Я сохраняю код пользователя в коде Java, и я пытаюсь его запустить. Я использую JANINO, но проблема в том, что я не могу загрузить внешний класс, включая код пользователя, с ним. Вот мой код;
String UsersCodeInput;
public void Run() throws FileNotFoundException, IOException
{
File sourcepath = new File(Environment.getExternalStorageDirectory()+"/MainFolder");
File JavaFile = new File(sourcepath.getPath()+"A.java");
FileOutputStream fos = new FileOutputStream(JavaFile);
fos.write(UsersCodeInput.getBytes());
fos.close();
// now Users Code is Saved.
//trying to run it by means of janino :
ClassLoader cl = new JavaSourceClassLoader(
this.getClass().getClassLoader(), // parentClassLoader
new File[] {sourcepath}, //our sourceFolder
"UTF-8" //Encodeing
);
try
{
// problem is here. next line is not working well; throws classNotFound.
Object o = cl.loadClass(".A").newInstance();
//the class implements runnable.
((Runnable) o).run();
}
catch (ClassNotFoundException e)
{Toast.makeText(this,e.getCause().toString(),Toast.LENGTH_SHORT).show();}
catch (InstantiationException e)
{Toast.makeText(this,e.getCause().toString(),Toast.LENGTH_SHORT).show();}
catch (IllegalAccessException e)
{Toast.makeText(this,e.getCause().toString(),Toast.LENGTH_SHORT).show();}
}
А вот и учебник JANINO; Прочитайте часть "Компилятор исходного кода" http://janino-compiler.github.io/janino/
Благодарю.