1.通过WebView加载Html界面。在android studio中html放在assets中。

但是默认的并不存在这个文件夹,创建过程是

2.创建后简单实现下,js调用android中的方法。过οnclick="window.android.startFunction()" window.android.方法名 调用android方法

 

  <1>创建html文件 橘黄色为适配手机屏幕代码

 

                                    这里是HTML 

HTML内容显示



 

    <2> Main布局只有一个webview

 

        

 

 

    <3>Main代码

 

public class MainActivity extends AppCompatActivity {    private WebView contentWebView = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        contentWebView = (WebView) findViewById(R.id.webview);        // 启用javascript        contentWebView.getSettings().setJavaScriptEnabled(true);        // 从assets目录下面的加载html        contentWebView.loadUrl("file:///android_asset/b.html");        contentWebView.addJavascriptInterface(MainActivity.this,"android");    }    //由于安全原因 需要加 @JavascriptInterface    @JavascriptInterface    public void startFunction(){        runOnUiThread(new Runnable() {            @Override            public void run() {                Toast.makeText(MainActivity.this,"Toast",Toast.LENGTH_SHORT).show();            }        });    }    @JavascriptInterface    public void startFunction(final String text){        runOnUiThread(new Runnable() {            @Override            public void run() {                new AlertDialog.Builder(MainActivity.this).setMessage(text).show();            }        });    }}

 

 

其实现效果图:

3 android 调用html js方法  

  <1> Html文件如下,script中有二个方法,共android中调用。

 

 

这里是HTML  

内容显示



 

   <2>通过webView.loadUrl("javascript:方法名"); 来调用js中的方法。

 

public class MainActivity extends AppCompatActivity {    private WebView contentWebView = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        contentWebView = (WebView) findViewById(R.id.webview);        // 启用javascript        contentWebView.getSettings().setJavaScriptEnabled(true);        // 从assets目录下面的加载html        contentWebView.loadUrl("file:///android_asset/b.html");        contentWebView.addJavascriptInterface(MainActivity.this,"android");        //无参调用Js点击        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // 无参数调用                contentWebView.loadUrl("javascript:javacalljs()");            }        });        //有参调用Js点击        findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                // 传递参数调用                contentWebView.loadUrl("javascript:javacalljswith(" + "'这里是调用js方法'" + ")");            }        });    }

 

 实现图如下:

更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. Android(安卓)Service生命周期及用法!
  5. android EditText控件自动获取焦点弹出键盘解决方法
  6. Unity3d调用android中的方法
  7. android关闭应用
  8. android——彻底关闭——应用程序
  9. 五.在Android中实现线程的方法

随机推荐

  1. android 中LayoutInflater 的使用
  2. Android上调用WebService
  3. android中ListActivity的使用
  4. Android深入浅出之Audio 第二部分 AudioF
  5. Android(安卓)UI 开发进阶――Dialog
  6. android JNI 系列 一
  7. 定制dialog的方式
  8. Android(安卓)App的运行环境及Android系
  9. Android微信智能心跳方案
  10. Android下SD卡文件操作与数据读写