
Android allows you to create or embed web applications inside a native app via a Java class in its SDK called WebView, using its WebKit rendering engine to provide a browser inside your native app. In this class is a powerful method called
public void addJavascriptInterface (Object object, String name)
that let’s you expose your Java class as a Javascript object in the browser. This is similar, in many ways, to how you can expose Java to an interpretive language running in Java, such as Jython, where Python can run inside Java, and you can expose your Java application to that Python. This provides the ability to expose virtually any native Android functionality to your embedded web applications, including capabilities you create in Java.