2009-12-01 4 views
8

Dato che lo scripting non è supportato nativamente in Android e le librerie wrapping come javax.script.ScriptEngine nella tua app lo renderanno troppo grande, è possibile inviare un javascript stringa a un WebView invisibile e farlo valutare la stringa e restituire i risultati (un'altra stringa)?Android - Usa WebView per valutare una stringa javascript e restituire il valore

Voglio passare questo percorso perché voglio salvare tutti i miei script su disco in modo che la mia app possa rimanere piccola.

Modifica

Ho bisogno di codice Java per valutare JavaScript non stringhe viceversa. addJavascriptInterface() non aiuta.

+0

Come sta andando il javascript a vedere il programma per agire su di esso? L'esecuzione di script nel vuoto non farà molto bene. –

risposta

6

Si può fare? Sì, tramite addJavascriptInterface() e inviando al browser un URL javascript:, simile a un bookmarklet.

Una risposta di gran lunga più semplice, una che utilizzerà molto meno memoria e verrà eseguita molto più velocemente, è quella di non utilizzare Javascript.

+0

Non credo ** addJavascriptInterface() ** restituirà un valore di stringa – Tawani

+4

addJavascriptInterface() consente al codice JavaScript di chiamare il codice Java e Javascript dovrebbe essere in grado di passare un parametro String a detto codice Java. – CommonsWare