首先,我想聊一下Android的程序流程:

其次,我们来谈一下关于Android调js和js调Android:

下面是一个小demo的源码,相信大家看完后就都能学会了:

MainActivity.java

package com.pd.project3;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String url="http://10.1.6.91:8090/test.html";
        final WebView webView= (WebView)
                findViewById
                        (R.id.webview1);
        webView.loadUrl(url);
        webView.clearCache(true);
        //1.运行android程序
        //2.在eclipse中修改test.html
        //3.在android模拟器中退出程序
        //4.在模拟器程序列表中双击程序启动。看到网页中新内容

//单击android中的button,去调用网页中的js
        WebSettings settings=webView.getSettings();
        settings.setJavaScriptEnabled(true);

Button btn= (Button) findViewById(R.id.btn1);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                webView.loadUrl("javascript:setUsername()");
            }
        });

//把Phone对象公开给js调用
        Phone phone=new Phone();
        //增加接口
        //在js中能通过androidPhone去调用android中的phone对象
        webView.addJavascriptInterface
                (phone,"androidPhone");
    }
    //内部类
    final class Phone{
        //call()可以被js调用
        @JavascriptInterface
        public void call()
        {
            Uri uri=Uri.parse("tel:110");
            Intent intent=new Intent
                    (Intent.ACTION_CALL,uri);
            startActivity(intent);
        }
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
   android:orientation="vertical"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.pd.project3.MainActivity">

<Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="修改input"
       android:id="@+id/btn1"
       />
    <WebView
        android:layout_width="match_parent"
        android:layout_height="500px"
        android:id="@+id/webview1"
        >
    </WebView>
</LinearLayout>

test.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function setUsername(){
    var username=
        document.getElementById("username");
    username.value="android";
}
function call(){
    window.androidPhone.call();
}
</script>
</head>
<body>
<h1 align="center">手机来电加载</h1>
<h2 align="center">v</h2>
<input type="button" value="110" onClick="call"/>
username:<input id="username">
</body>
</html>

Android基本入门相关推荐

  1. 《Android 开发入门与实战(第二版)》——6.6节配置改变

    本节书摘来自异步社区<Android 开发入门与实战(第二版)>一书中的第6章,第6.6节配置改变,作者eoe移动开发者社区 组编 , 姚尚朗 , 靳岩,更多章节内容可以访问云栖社区&qu ...

  2. Android Volley入门到精通:初识Volley的基本用法

    1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...

  3. android+studio入门指南+pdf,android+studio使用指南v0.1.pdf

    androidstudio使用指南v0.1 <Android Studio入门指南>作者:毕小朋 博客:/wirelessqa Android Studio入门指南v0.1 作者:毕小朋 ...

  4. Android编译系统入门(二)

    Android.mk的使用方法 在上一篇Android编译系统入门(一)中我们只要介绍了Android系统使用make命令默认编译的依赖树是droid,而droid是一个伪目标,它有两个先决条件dro ...

  5. 《Delphi XE6 android 编程入门教程》推荐

    近5.6年已经没有看见关于delphi的新技术的书出来了(看来在国内delphi的使用量确实很低了), 高勇同学最近出了一本<Delphi XE6 android 编程入门教程>,上周刚拿 ...

  6. android 编辑9图片,Android基础入门教程——1.6 .9(九妹)图片怎么玩

    Android基础入门教程--1.6 .9(九妹)图片怎么玩 Android基础入门教程 1.本节引言: 可能有的一些疑问: 1.什么是.9图片? 答:图片后缀名前有.9的图片,如pic1.9.png ...

  7. android开发入门_Android开发入门

    android开发入门 Android is an open source, Linux-based mobile operating system. Android was developed by ...

  8. android 菜鸟面单打印_1.0 Android基础入门教程

    本教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识,由于当时能力局限,虽已竭尽全力,但对于一些问题的分析难免有所纰漏,敬请读者海涵!IT技术更新换代很快, ...

  9. Hello, Android 快速入门

    Hello, Android Android 开发与 Xamarin 简介 在这两节指南中,我们将 (使用 Xamarin Studio或 Visual Studio)建立我们的第一个 Xamarin ...

  10. Android 渗透测试学习手册 第一章 Android 安全入门

    第一章 Android 安全入门 作者:Aditya Gupta 译者:飞龙 协议:CC BY-NC-SA 4.0 Android 是当今最流行的智能手机操作系统之一. 随着人气的增加,它存在很多安全 ...

最新文章

  1. python 小说-用Python爬下十几万本小说,再也不会闹书荒!
  2. ue4 rpc php,UE4 RPC在C++中的使用简例
  3. 功能内聚C语言例子,为每种类型的模块内聚举一个具体的例子
  4. Quartus II14.1安装教程
  5. Eltwise_layer简介
  6. Sublime Text 3 安装及插件推荐
  7. linux和windows局域网连接网络,linux与windows局域网互访
  8. Linux下修改MTU值
  9. 零基础转行到软件测试如何拿到所谓的高薪?
  10. skimage中的图像直方图均衡化
  11. 7款免费发短信软件,看看哪一款适合你
  12. Kindeditor的简单使用以及图片上传
  13. AVR 定时器快速PWM模式使用
  14. 非域环境下搭建文件服务器,非域环境下SQL Server搭建Mirror(镜像)的详细步骤...
  15. 5-2 人际资源整合-正确看待自己的领导-与领导日常互动-说服领导的技巧
  16. 【日记】假期正式学习
  17. 关于罗永浩将要进军AR/VRMR领域,你又有什么评价呢?
  18. 瑞克斯外汇平台:重磅催泪弹来袭,瑞克斯一部感人至深的电影
  19. iOS5完美越狱后必装AppSync补丁教程
  20. 怎么使用口腔种植风险评估软件预防种植失败风险?

热门文章

  1. Android 6.0新特性[zz]
  2. iPhone X适配 最简单粗暴的
  3. springboot影院售票小程序毕业设计-附源码201532
  4. forwardRef 的详解及使用
  5. kettle作业发送QQ邮箱提醒
  6. php unlink权限设置,php中删除文件用unlink函数权限判断
  7. 岭回归与lasso回归算法
  8. python如何限制字符串长度_python如何修改字符串长度
  9. EMNLP-21-Learning from Noisy Labels for Entity-Centric Information Extraction-noise label
  10. grease monkey setTimeout