Android基本入门
首先,我想聊一下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>