add editor (modified by 920 text editor)

This commit is contained in:
hyb1996
2017-01-30 11:13:30 +08:00
parent 5c8307afaa
commit b47eaf9d5e
33 changed files with 841 additions and 176 deletions

View File

@@ -14,8 +14,20 @@ import java.io.FileNotFoundException;
public class Droid {
public interface OnRunFinishedListener {
void onRunFinished(Object result, Exception e);
}
private static final DroidRuntime RUNTIME = DroidRuntime.getRuntime();
private static final JavaScriptEngine JAVA_SCRIPT_ENGINE = new GBJDuktapeJavaScriptEngine(RUNTIME);
private static final OnRunFinishedListener DEFAULT_LISTENER = new OnRunFinishedListener() {
@Override
public void onRunFinished(Object result, Exception e) {
if (e != null) {
RUNTIME.toast("错误: " + e.getMessage());
}
}
};
private static Droid instance = new Droid();
protected Droid() {
@@ -31,18 +43,30 @@ public class Droid {
runScript(FileUtils.readString(file));
}
public void runScriptFile(File file, OnRunFinishedListener listener) {
checkFile(file);
runScript(FileUtils.readString(file), listener);
}
private void runScript(String script) {
runScript(script, null);
}
public void runScriptFile(String path) {
runScriptFile(new File(path));
}
public void runScript(final String script) {
public void runScript(final String script, OnRunFinishedListener listener) {
if (listener == null)
listener = DEFAULT_LISTENER;
final OnRunFinishedListener finalListener = listener;
new Thread(new Runnable() {
@Override
public void run() {
try {
JAVA_SCRIPT_ENGINE.execute(script);
finalListener.onRunFinished(JAVA_SCRIPT_ENGINE.execute(script), null);
} catch (Exception e) {
RUNTIME.toast("错误" + e.getMessage());
finalListener.onRunFinished(null, e);
}
}
}).start();