Android: + webview + demo

Source: Internet
Author: User

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.