zoukankan      html  css  js  c++  java
  • WebView之js调用Android类的方法传递数据

    1,具体的思路如下:

      在android中写一个Activity,里面写一个webview,这个webview加载本地的一个html文件,显示这个网页,这个网页包括一个用户名和密码的输入框和两个按钮(只有登陆按钮有用),输入用户名密码之后调用android中的类,并把输入的数据传过去,再在android中输出出来(具体你那数据做什么操作就看你的需求了),这样就做到js与android数据交互的效果了:

      在android端,一些webviwe的设置和自定义类的写法如下源码:

      package com.example.webview;

      import android.app.Activity;
      import android.os.Bundle;
      import android.webkit.JavascriptInterface;
      import android.webkit.WebChromeClient;
      import android.webkit.WebSettings;
      import android.webkit.WebView;

      public class MainActivity extends Activity {
        private WebView webview;
        private String URL = "http://192.168.31.122/word2/login.html";//这是你要访问你html文件的存放地址,我这个是放在appache中的word文件夹下的login.html文件
        @Override
        protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
          webview = (WebView) findViewById(R.id.webView1);
          WebSettings webset = webview.getSettings();
          webset.setJavaScriptEnabled(true);// 表示webview可以执行服务器端的js代码
          webview.setWebChromeClient(new WebChromeClient(){});
          webview.addJavascriptInterface(new JsObject(),"jsObject");
          webview.loadUrl(URL);
        }

        public class JsObject {
          @JavascriptInterface
          public void getMessage(String name, String pwd) {
            // TODO Auto-generated method stub
            System.out.println("==="+"name:" + name + "---pwd:" + pwd);
          }
        }

      }

      而xml比较简单,只是一个比较简单的webview而已,代码如下:

      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <WebView
          android:id="@+id/webView1"
          android:layout_width="match_parent"
          android:layout_height="match_parent" />

      </LinearLayout>

      对于要加载的html文件只要放在你要访问的地方就可以,比如appache下,具体代码如下:

      <!DOCTYPE html>

      <html>
        <head>
          <script>
            function login(){
              var th = document.form;
              var user = th.user.value;
              if(user==""){
                alert("请输入用户名!");
              }else{
                var name = th.user.value;
                var pwd = th.pwd.value;
                var name2 = jsObject.getMessage(name,pwd);
              }
            }
          </script>
        </head>
        <body>
          <form name='form' method='post' class='form' action=''>
            <table id='login_table'>
              <tr>
                <td>
                  <span>账号:</sapn>
                </td>
                <td>
                  <input type='text' class='usr' name='user' value=''/>
                </td>
                <td></td>
              </tr>
              <tr>
                <td>
                  <span>密码:</sapn>
                </td>
                <td>
                  <input type='password' class='psw' name='pwd' value=''/>
                </td>
                <td></td>
              </tr>
              <tr>
                <td></td>
                <td>
                  <input type="file" value="上传图片" />
                  <button class='denglu' onclick="login()">登陆</button>
                  <button class='clear'>清空</button>
                </td>
                <td></td>
              </tr>
            </table>
          </form>
        </body>
      </html>
      

  • 相关阅读:
    数据结构与算法分析视频教程全集
    NodeJS测试实例
    从信用卡欺诈模型看不平衡数据分类(1)数据层面:使用过采样是主流,过采样通常使用smote,或者少数使用数据复制。过采样后模型选择RF、xgboost、神经网络能够取得非常不错的效果。(2)模型层面:使用模型集成,样本不做处理,将各个模型进行特征选择、参数调优后进行集成,通常也能够取得不错的结果。(3)其他方法:偶尔可以使用异常检测技术,IF为主
    kaggle 欺诈信用卡预测——Smote+LR
    kaggle 欺诈信用卡预测——不平衡训练样本的处理方法 综合结论就是:随机森林+过采样(直接复制或者smote后,黑白比例1:3 or 1:1)效果比较好!记得在smote前一定要先做标准化!!!其实随机森林对特征是否标准化无感,但是svm和LR就非常非常关键了
    leetcode 437. Path Sum III
    cluster KMeans need preprocessing scale????
    神经网络结构设计 不一定是第一层神经元是输入维度数
    How to handle Imbalanced Classification Problems in machine learning?
    Using SMOTEBoost(过采样) and RUSBoost(使用聚类+集成学习) to deal with class imbalance
  • 原文地址:https://www.cnblogs.com/zhengjunfei/p/3919946.html
Copyright © 2011-2022 走看看