2009-12-01 21 views
8

Biorąc pod uwagę, że skrypty nie są natywnie obsługiwane w systemie Android, a pakowanie bibliotek takich jak javax.script.ScriptEngine do Twojej aplikacji spowoduje, że będzie zbyt duży, czy można wysłać javascript ciąg do niewidzialnego WebView i czy ocenia łańcuch i zwraca wyniki (inny ciąg znaków)?Android - Użyj WebView do oceny łańcucha javascript i zwróć wartość

Chcę iść tą trasą, ponieważ chcę zapisać wszystkie moje skrypty na dysku, więc moja aplikacja może pozostać mała.

Edit

muszę kodu Java, aby ocenić ciągi JavaScript nie na odwrót. addJavascriptInterface() nie pomaga.

+0

W jaki sposób javascript zamierza zobaczyć Twój program, aby mógł na nim działać? Samo wykonywanie skryptów w próżni nie przyniesie wiele dobrego. –

Odpowiedz

6

Czy można to zrobić? Tak, przez addJavascriptInterface() i wysyłając URL-a o adresie URL podobnym do bookmarkletu.

O wiele prostsza odpowiedź, taka, która będzie zużywać znacznie mniej pamięci i będzie działać znacznie szybciej, to nie używać Javascriptu.

+0

Nie sądzę ** addJavascriptInterface() ** zwróci wartość String – Tawani

+4

addJavascriptInterface() pozwala kod JavaScript wywoływać kod Java, a JavaScript powinien być w stanie przekazać parametr String do wspomnianego kodu Java. – CommonsWare

Powiązane problemy