Android_开发_Day20_HTML和Java客户端
Android_开发_Day20_HTML和Java客户端
目的:
通过HTML的对比来理解什么是服务器,有什么用,和安卓客户端一样吗?
技术:
<1> API:
API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 [1] 目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
<2> html超文本标记语言:
HTML的语法格式都是成对出现的
注释语法:
基础框架:
<!DOCTYPE html>
<html>
<head>
<title>网页标题</title>
</head>
<body>
网页内容
</body>
</html>
网页分为头部和内容,头部一般就放一个标题,剩下的就放到内容中去。
内容格式:
<h1(h2,h3……) align="你想要标题所在的位置,如center">内容</h1>,h1,h2之间的唯一区别就是几级标题,h1就是一级标题,h2就是二级标题。<p align="center">正文</p>,p代表正文。
图片添加:
<div align="位置"><img src="图片路径"></div>
添加表格:
<table border="1" bgcolor="#F4AC8A" align="center">
<tr><td>姓名</td><td>年龄</td><td>成绩</td></tr>
<tr><td>xxx</td><td>xx岁</td><td>xx分</td></tr>
</table>
tr表示一行,td表示一列
添加视频:
<div align="center">
<video controls="controls" width="800" height="400">
<source src="视频地址" type="video/mp4">
</video>
</div>
添加链接:
<div align="center">
<a href="http://www.baidu.com">这是一个百度链接</a>
</div>
链接添加用关键字a
<3> 搭建服务器并访问服务器:
window端安装Apache,安装教程:https://www.jianshu.com/p/fd721170bf68
开启服务器,找到bin目录下的ApacheMonitor.exe开启,然后打开安装目录下的htdocs文件夹,这个文件夹下面的所有东西都是你访问这台服务器可以访问的文件,出了这个文件夹就无法访问了,访问文件和window中访问文件相同,给路径就行,如:http://192.168.43.110/xxx/63-1Z429144F1933.jpg,是不是和文件路径一样的。当然如果你想访问一些程序可能就要传参数了。
<4> 用URL访问服务器并返回相应的结果:
要想服务器能给你返回相应的结果就必须要学会后台服务的开发,一般要用到PHP语言,PHP语言简单易学,这里推荐一个网址自行学习https://www.runoob.com/php/php-tutorial.html ,这些都是后台开发人员做的事情,你大可不必关心,今天要介绍的是如何写客户端,用URL类,构造方法的参数就是一个URL,但是要调用后台程序需要传输特定的参数,这个后台开发人员会告诉你要传那些参数,语法就是xxx.php?xxx=xxx&xxx=xxx,因此只要知道参数名就行了,这是想服务器发送请求,发完后服务器会返回数据,因此需要URLConnection类的一个对象来捕获服务器返回的数据,调用url里面的openConnection()方法就可以返回该对象,然后就是像前面一样用BufferedReader等类来读取文本,用BufferedInputStream来读取字节流,图片,视频等。
技术如何使用:
我们可以用HTML写一个登录界面,让服务器简单的返回一些数据,然后用Java再写一遍登录,让服务器返回同样的数据。因此大家共用一个服务器那就可以简单的写写服务器端的代码如下:
<?php
$name = $_GET["user_name"];
$password = $_GET["user_password"];
echo "用户名".$name." 密码:".$password;
?>
上面是用php写的简单的服务器
接下来是web端的代码:
<!DOCTYPE html>
<html>
<head>
<title>登录</title>
</head>
<body background="63-1Z429144F1933.jpg">
<center>
<br><br><br><br><br><br>
<h1>登录</h1>
<form action="login.php" method="get">
用户名 <input type="text" name="user_name">
<br><br>
密  码 <input type="password" name="user_password">
<br>
<input type="submit" value="登录">
</form>
</center>
</body>
</html>
接下来是用Java写的客户端的代码:
public class UrlClass {
public static void main(String[] args) throws IOException {
String address = "http://10.129.17.80/login.php?user_name=1148765706&user_password=12345";
URL url = new URL(address);
URLConnection urlConnection = url.openConnection();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
System.out.println(bufferedReader.readLine());
}
}
实际使用效果:
整个登录界面.jpg 服务器返回的东西.jpg 客户端接收到的东西.jpg总结:
网络上的很多东西都是相同的,不管是HTML还是app它们与服务器的通讯方式都是一样的,只不过用了不同的代码而已。