2016-08-09 14 views
5

Używam J2V8 do wykonywania kodu JavaScript na Androida. Czy w moim kodzie Java mogę uzyskać dostęp do funkcji JavaScript i wykonywać je w oddzielnym pliku .js? Jeśli to możliwe, jak mogę to zrobić?Wykonaj funkcję z .js z J2V8

Dziękuję:

Bernat

Odpowiedz

5

Podobnie jak w wielu środowiskach JavaScript, wystarczy obciążenia skrypt, który zawiera inne funkcje, które chcesz wykonać browser example. Wszelkie funkcje, które są dodawane do zasięgu globalnym, są teraz dostępne dla Ciebie:

V8 v8 = V8.createV8Runtime(); v8.executeScript(readFileAsString("script1")); // contains the function foo(); v8.executeScript(readFileAsString("script2")); // contains the function bar(x, y); v8.executeJSFunction("foo"); v8.executeJSFunction("bar", 7, 8);

+1

dziękuję za odpowiedź. czy mogę załadować skrypt w jakiś sposób, bez korzystania z WebView? (Staram się w ogóle unikać korzystania z WebView) – konbernu

+0

Tak, w ogóle nie ma tu widoku WWW. Po prostu pokazałem, że z J2V8 jest podobny do działania przeglądarki. – irbull

+1

1. Jeśli moja funkcja zwraca obiekt, czy mogę go uzyskać tak? JSObject testObject = v8.executeJSFunction ("testfunction", alfa, beta); 2. Po dodaniu tych funkcji do zakresu globalnego, czy mogę używać ich w moim skrypcie? Mam na myśli to: runtime.executeVoidScript ("var testObject = testfunction (alfa, beta)"); – konbernu