Project address:Http://code.google.com/p/apps-for-android/source/browse/#svn/trunk/Samples/WebViewDemo
Using webviews
Article aboutUser InterfaceAndWeb Content
Webviews allow an application to dynamically display HTML and execute JavaScript, without relinquishing control to a separate browser application. This article introduces the webview classes and provides a sample application that demonstrates its use.
package com.google.android.webviewdemo;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.util.Log;import android.webkit.JsResult;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;/** * Demonstrates how to embed a WebView in your activity. Also demonstrates how * to have javascript in the WebView call into the activity, and how the activity * can invoke javascript. * <p> * In this example, clicking on the android in the WebView will result in a call into * the activities code in {@link DemoJavaScriptInterface#clickOnAndroid()}. This code * will turn around and invoke javascript using the {@link WebView#loadUrl(String)} * method. * <p> * Obviously all of this could have been accomplished without calling into the activity * and then back into javascript, but this code is intended to show how to set up the * code paths for this sort of communication. * */public class WebViewDemo extends Activity { private static final String LOG_TAG = "WebViewDemo"; private WebView mWebView; private Handler mHandler = new Handler(); @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); mWebView.setWebChromeClient(new MyWebChromeClient()); mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo"); //mWebView.loadUrl("file:///android_asset/demo.html"); mWebView.loadUrl("http://www.baidu.com"); } final class DemoJavaScriptInterface { DemoJavaScriptInterface() { } /** * This is not called on the UI thread. Post a runnable to invoke * loadUrl on the UI thread. */ public void clickOnAndroid() { mHandler.post(new Runnable() { public void run() { mWebView.loadUrl("javascript:wave()"); } }); } } /** * Provides a hook for calling "alert" from javascript. Useful for * debugging your javascript. */ final class MyWebChromeClient extends WebChromeClient { @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { Log.d(LOG_TAG, message); result.confirm(); return true; } }}
Http://code.google.com/p/apps-for-android/
A collection of useful, open source applications that demonstrate features of the Android platform:
- Amazed: A simple but addictive accelerometer-based marble-Guidance game.
- Androidglobaltime: A full representation of the earth that you can spin around.
- Anycut: A utility that lets users create home screen shortcuts to nearly anything in the system.
- Clickin2dabeat: A game that mashes up YouTube with custom rhythm-game logic.
- Divideandconquer: A game in which you must isolate bouncing ballby creating wallaround them.
- Heightmapprofiler: A simple 3D performance testing tool that renders a 3D height map.
- LOLcat Builder: O Hai. I cn has cheezburger ?! Im n ur phone, captionin ur photos.
- Panoramio: An app that shows you nearby photos and points of interest.
- Photostream: An app that lets you view photostreams from online photo-hosting services.
- Radar: A radar-style relative location display view, used by panoramio and others.
- Ringsextended: A utility that provides enhanced control over ringtones.
- Samples: Miscellaneous examples showing features of the Android platform (among which OpenGL ES ).
- Spritemethodtest: An application that compares the speed of various 2D sprite drawing methods.
- Translate: Translates more than 150 language pairs with Google's translation service.
- Webviewdemo: How Java and javascript can call each other inside a webview.
- Wikinotes: A wiki note pad that uses intents to navigate to wiki words and other rich content stored in the notes.