zoukankan      html  css  js  c++  java
  • [Android学习系列21]webview的一些事

    用webview写界面,加载本地js,js,html文件

    以jquery mobile为例

    1.在android界面拖入一个webview,然后添加一个internet权限

    <uses-sdk  
        android:minSdkVersion="8"  
        android:targetSdkVersion="18" />  
    <uses-permission android:name="android.permission.INTERNET"/>  
      
    <application  
                .............................  
    View Code

    2.  在assets目录里面放入js,css,html资源文件

    3.在写本地html的时候引入assert里的对应路径

    <!DOCTYPE html>  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
    <meta name="viewport" content="width=device-width, initial-scale=1">   
    <title> 标题 </title>  
    <link rel="stylesheet" type="text/css" href="file:///android_asset/css/jquery.mobile-1.4.2.min.css">  
    <script src="file:///android_asset/js/jquery-1.7.1.min.js"></script>  
    <script src="file:///android_asset/js/jquery.mobile-1.4.2.min.js"></script>  
    </head>  
    <body>  
      
      
     <div data-role="page">  
         <div data-role="header">  
          <h1>My Title</h1>  
         </div>  
           
         <div data-role="content">  
            <ul data-role="listview" data-inset="true" >  
                <li><a href="#">Acura</a></li>  
                <li><a href="#">Audi</a></li>  
                <li><a href="#">BMW</a></li>  
                <li><a href="#">Cadillac</a></li>  
                <li><a href="#">Ferrari</a></li>  
            </ul>   
         </div>  
     </div><!-- /page -->  
      
    </body>  
    </html>  
    View Code

    4.在代码里访问页面

    package com.example.asd_webview;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.webkit.WebSettings;
    import android.webkit.WebSettings.RenderPriority;
    import android.webkit.WebView;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            WebView webview = (WebView)findViewById(R.id.webView1);
            WebSettings wv_setttig = webview.getSettings();
            wv_setttig.setJavaScriptEnabled(true);
            //wv_setttig.setRenderPriority(RenderPriority.HIGH);
            
            String url = "file:///android_asset/index.html";
            webview.loadUrl(url);
            
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
    }
    View Code

    5.最后效果如下:

    加载webview不难,重点是js和java代码的交互,还有webview和httpclient之间的数据共享

    参考:

    如何整合前端代码和Android后端JAVA代码       http://tech.it168.com/a2011/0517/1191/000001191561_2.shtml

    android webview里设置cookie  (webview的cookie和httpclient的cookie同步)     http://blog.csdn.net/encienqi/article/details/7912733

    一些用户体验的优化

    参考:

    Android中如何判别WebView加载完毕并使用ProgressDialog进行提示        http://blog.csdn.net/agods/article/details/7443832

  • 相关阅读:
    初识DJango框架
    web框架基础
    前端——JavaScript
    前端——css(下)
    前端——css(上)
    前端——html
    spring注解
    spring boot 详解(1)spring boot +mybatis+mysql+jsp
    spring 事务控制
    maven pom文件管理
  • 原文地址:https://www.cnblogs.com/sleeptothedeath/p/3700494.html
Copyright © 2011-2022 走看看