Wie stellt man Javascript Daten aus einer Activity zur Verfügung stellen

  • Antworten:0
Christopher
  • Forum-Beiträge: 38

28.09.2011, 15:37:09 via Website

Hallo,

ich bin gerade dabei, in meine App ein Webview einzubinden. Das soll den Benutzer durch ein Menü führen, welches unter anderem Daten von meiner Activity anzeigen muss. Nun habe ich es schon hinbekommen, das Javascript auf Android Funktionen zugreifen kann also z.b. einen Toast auslösen kann, jedoch hänge ich gerade dabei, Javascript z.b. Datenklassen usw zur Verfügung zu stellen.

Momentan sieht mein Code etwa so aus:

Die Activity:
1public class AssWebview extends Activity {
2
3 @Override
4 protected void onCreate(Bundle savedInstanceState) {
5 requestWindowFeature(Window.FEATURE_NO_TITLE);
6 setContentView(R.layout.assistent_webview);
7 WebView wv = (WebView) findViewById(R.id.wv_ass);
8 wv.getSettings().setJavaScriptEnabled(true);
9 wv.addJavascriptInterface(new JavaScriptInterface(this),"Android");
10 wv.loadUrl("file:///android_asset/....html");
11
12 super.onCreate(savedInstanceState);
13 }
14
15}

Das JavaScriptInterface:
1public class JavaScriptInterface {
2 Context mContext;
3
4 /** Instantiate the interface and set the context */
5 JavaScriptInterface(Context c) {
6 mContext = c;
7 }
8
9 /** Show a toast from the web page */
10 public void showToast(String toast) {
11 Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
12 }
13}

Und der HTML und Javascriptteil:
1<input type="button" value="makeToast" onClick="showAndroidToast('Hello')" />
2<script type="text/javascript"> function showAndroidToast(toast) { Android.showToast(toast); }</script>

Vielen Dank für euere Hilfe schonmal ;)

Viele Grüße

Christopher

— geändert am 28.09.2011, 15:56:50

Antworten