Czy można podczas tworzenia aplikacji na Androida odwołać się do biblioteki javax.script.ScriptEngine? Jeśli nie, to czy istnieje możliwość oceny wyrażenia javascript w systemie Android?Odnośnik javax.script.ScriptEngine w systemie Android lub ocena wyrażenia javascript
Odpowiedz
javax.script.ScriptEngine nie jest domyślną częścią Androida, ale możesz łatwo podskoczyć do potrzebnych bibliotek (zakładając, że rozmiar jest rozsądny, nie jestem pewien) i uwzględnić je w twoim projekcie.
Zgodnie z tym post, javax.script.ScriptEngine nie jest dostępny w pakiecie Android SDK. Możesz wypróbować poniższe kroki, aby dołączyć bibliotekę, ale kod może nie działać, nawet jeśli zostanie skompilowany.
Przy użyciu zestawu narzędzi Android Development Toolkit w systemie Windows wykonałem następujące kroki, aby uzyskać bibliotekę javax.script.
- Kliknij projekt prawym przyciskiem myszy, przejdź do Właściwości (projekt).
- Pod ścieżką budowania Java wybrałem kartę Biblioteki.
- Wybierz Dodaj Biblioteka znajduje się na środkowym prawej stronie zakładki
- Wybierz JRE biblioteki systemowej obszarze Dodaj Biblioteki i kliknij Dalej ...
- Wybierz Workspace Domyślny JRE (JRE 7)
- Kliknij przycisk Zakończ.
- Kliknij przycisk Ok na ścieżce budowania Java, aby istnieć właściwości projektu.
Javax.script został załadowany.
Dla klas javax.script.ScriptEngine, javax.script.ScriptEngineFactory i tak dalej, możesz dodać jsr223.jar do swojego projektu Android: po prostu skopiuj plik .jar do swojego katalogu libs i dodaj go z Właściwości -> Ścieżka budowania Java.
Te klasy pozwolą na kompilację silników zgodnych z JSR 223. Możesz następnie wykonać new SomeScriptEngienFactory().getScriptEngine()
, aby uzyskać silnik. Udało mi się to zrobić przy pomocy JNLua 1.0.4 i Rhino 1.7R2.
Plik jsr223.jar można pobrać z http://www.java2s.com/Code/Jar/j/Downloadjsr223jar.htm, bezpośredni link to http://www.java2s.com/Code/JarDownload/jsr223/jsr223.jar.zip.
Jeśli chcesz ocenić jakiś kod w JS w Android
1) do zależności Gradle dodać (rhino):
compile 'org.mozilla:rhino:1.7R4'
2) napisać kod tak, aby uzyskać wynik JS oceny
Context rhino = Context.enter()
// turn off optimization to work with android
rhino.optimizationLevel = -1
String evaluation = "2+2"
try {
ScriptableProject scope = rhino.initStandardObjects()
String result = rhino.evaluateString(scope, evaluation, "JavaScript", 1, null).toString()
} finally {
Context.exit()
}
3) można napisać bardziej skomplikowanych skryptów JS, aby uruchomić w aplikacji na androida także (zabawy ctions itp.)
- 1. Dobry odnośnik do javascript
- 2. Ocena wyrażenia w atrybucie dyrektywy w AngularJS
- 3. Utwórz odnośnik z JavaScript
- 4. Ocena wyrażenia 1 <= miesiąc <= 12
- 5. Ocena wyrażenia w instrukcjach HIVE set
- 6. Powtórna ocena czystego wyrażenia w akcji IO
- 7. VB.Net - ocena wyrażenia matematycznego w łańcuchu
- 8. Bezpieczna ocena wyrażeń arytmetycznych w JavaScript
- 9. Ocena predkosci aplikacji Android Gest
- 10. Ocena WKWebView JavaScript wartość zwracana
- 11. PhantomJS pobrać przy użyciu javascript odnośnik
- 12. Javascript - Otwórz odnośnik w nowej karcie (SAME WINDOW)
- 13. Skrobanie ekranu: wyrażenia regularne lub wyrażenia XQuery?
- 14. Ocena javascript przy użyciu kodu java
- 15. JavaScript inicjalizacji obiektu i ocena zamówienie
- 16. Ocena na dwie lub więcej list
- 17. Android Ocena Wyświetl więcej niż 5 gwiazdek
- 18. Android - Użyj WebView do oceny łańcucha javascript i zwróć wartość
- 19. Wyrażenia regularne javascript jako funkcje?
- 20. Wyrażenia regularne JavaScript i podfoldery
- 21. Jak wywołać funkcję javascript bezpośrednio z działania w systemie Android?
- 22. Jak łączyć wyrażenia str.replace() w javascript?
- 23. Policz liczbę dopasowań wyrażenia regularnego w JavaScript
- 24. oddzwonienie w systemie Android?
- 25. Różne typy wierszy w systemie Android GridView lub odpowiedniku
- 26. Kropka dziesiętna lub przecinek dziesiętny w systemie Android
- 27. Ocena wyrażeń zestawu
- 28. skrótem dla wielokrotności lub wyrażenia w if
- 29. Zdarzenia wyłączające w systemie Android
- 30. Używanie SurfaceTexture w systemie Android
Czy możesz wysłać przykładową aplikację? –