计算机网络(谢希仁第八版)第三章:数据链路层
本章最重要的内容:(1)数据链路层的==点对点信道==和==广播信道==的特点,以及这两种信道所使用的协议(==PPP协议==以及==CSMA/CD协议==)的特点。(2)数据链路层的三个基本问题:==封装成帧、透明传输和差错检测==。(3)以太网==MAC层的硬件地址==。(4)适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合。(5)数据链路的两层:
LLC:逻辑链路控制子层(Logical Link Control)与传输媒体无关MAC:媒体接入控制子层(Medium Access Control)与传输媒体有关
(6)此层的协议数据单元==>==帧(Frame)==。两台主机通过互联网进行通信时数据链路层所处的地位如下图:
1.数据链路层的几个共同问题(使用点对点信道的数据链路层)1.1.数据链路和帧
链路:物理链路数据链路:逻辑链路=链路+通信协议
1.2.三个基本问题==封装成帧、透明传输、差错检测==1.封装成帧帧的数据部分长度上限——最大传送单元MTU(Maximum Transfer Unit)长度==>46~1500帧定界符(SOH和EO ...
计算机网络(谢希仁第八版)第二章:物理层
1.物理层基本概念物理层协议又被称为规程物理层协议数据单元==>==比特流==特性(了解):
(1)机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。(2)电气特性:指明在接口电缆的各条线上出现的电压的范围。(3)功能特性:指明某条线上出现的某一电平的电压的意义。(4)过程特性:指明对于不同功能的各种可能事件的出现顺序。
数据在计算机内部采用并行传输,在通信线路(传输媒体)采用串行传输
2.数据通信的基础知识1.通信模型:==源系统—>传输系统—>目的系统==
消息:文字、图像等,数据是运送消息的实体,是有意义的符号序列。
信号:数据的电气或电磁表现。
模拟信号(analogous signal):(连续)数字信号(digital signal):(离散)
码元:在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形就称为码元。在使用二进制编码时,只有两种不同的码元,一种代表0状态而另一种代表1状态。
2.信道
(1)单向通信(单工通信):只能有一个方向的通信而没有反方向的交互。无线电广播或有线电广播以及电 ...
计算机网络(谢希仁第八版)第四章:网络层
网络层协议数据单元:==分组(IP数据报)==
1.网络层提供的两种服务
有连接,可靠的==虚电路服务==无连接,尽最大努力的==数据报服务==
TCP/IP体系的网络层提供的是数据报服务。
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。不提供服务质量的承诺。
*OSI体系的支持者曾极力主张在网络层使用可靠传输的虚电路服务,也曾推出过网络层虚电路服务的著名标准——ITU-T的X.25建议书。但现在X.25早已成为历史了。
## 2.网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一。本章只讲IPv4。
与IP协议配套使用的还有三个协议:
- **地址解析协议ARP**(Address Resolution Protocol) IP-->MAC
*逆地址解析协议RARP(Reverse Address ResolutionProtocol已淘汰)
- **网际控制报文协议ICMP**(Internet Control Message Protocol)
- **网际组管理协议IGMP**(Internet Group M ...
安卓天气预报app(一)——解析Json数据、数据类封装
📌简易的安卓天气app(一)——解析Json数据、数据类封装✅简易的安卓天气app(二)——适配器、每小时数据展示✅简易的安卓天气app(三)——城市管理、数据库操作✅简易的安卓天气app(四)——搜索城市、完善页面
简述不罗嗦那么多没用的;;;既然是简易的天气app,那么本demo就没有那麽多复杂的交互,页面跳转,只包括了针对api获取和解析数据放到app主页面,由于配置定位服务太繁琐,本次测试没有使用定位功能。项目只包含一个主要activity_main.xml,两个封装的实体用来存数据用到的天气api可前往官网注册账号获取:天气api
例如我这里注册好了我的账号,进入主页面得到下图的appid和appsecret然后把这两个东西复制粘贴到下面的api中
12//里面的括号中的两个参数值换成你的,包括括号https://tianqiapi.com/api?version=v1&appid=(你的appid)&appsecret=(你的appsecret)
==注意==:>
慎用此接口,每天有免费使用==上限==(如果你不想充钱)地址栏搜索默认是当前所 ...
安卓天气预报app(三)——城市管理、数据库操作
✅简易的安卓天气app(一)——解析Json数据、数据类封装✅简易的安卓天气app(二)——适配器、每小时数据展示📌简易的安卓天气app(三)——城市管理、数据库操作✅简易的安卓天气app(四)——搜索城市、完善页面
需求🏷️当我们查看天气时,我们都拥有自己的手机,都知道现在的智能手机已经可以根据定位来自动查询所在位置的天气信息,这个依靠的就是手机的定位功能,此处的项目纯属练手,不会涉及定位操作,那一大堆步骤我直接放弃,所以这个功能我们可以偷鸡摸,,,不对,投机取巧从天气api接口想办法搞到。(源码见页尾✨)
本项目用到的天气api接口天气api详细操作内容见第一篇-->🧿简易的安卓天气app(一)——解析Json数据<--
此接口当我们默认不拼接参数,直接访问会得到当前位置的温度Json数据,这不就弥补了我们在定位方面的缺陷了吗,那么很好,当我们加上参数之后(此api根据城市查询的参数需+&city=(城市名称))那么,当我们只加了参数却没有加参数值(&city=)他还是会根据当前位置进行定位,简直是太妙了。所以接下来就是进行安卓SQLite ...
安卓天气预报app(二)——适配器、每小时数据展示
✅简易的安卓天气app(一)——解析Json数据、数据类封装📌简易的安卓天气app(二)——适配器、每小时数据展示✅简易的安卓天气app(三)——城市管理、数据库操作✅简易的安卓天气app(四)——搜索城市、完善页面
需求拒绝画饼,先讲需求,项目结构,整体思路,第一章我们只是封装了两个数据类WeatherBean和DayWeatherBean(此类存的是下图的data数据,是个JsonArray,里面包了JsonObject,7个表示7天,由于只需拿到当天数据,所以第0项就是当天详细天气),用来存放城市的当天天气,如果我们想要展示更精美的页面呢,或者说是展示更多的数据,比如,我们这里用RecyclerView展示一天中每个小时的天气,实现效果(若是想从当前时刻开始,获取小时温度,可自行实现,源码见页尾)
涉及内容
获取网络数据
数据实体类的封装
异步获取网络数据
Gson工具类解析Json
界面设计RecyclerView
适配器adatper
项目结构
界面设计既然用到了RecyclerView,那么就离不开adapter,RecyclerView负责准备一个框框,adapt ...
安卓天气预报app(四)——搜索城市、完善页面
✅简易的安卓天气app(一)——解析Json数据、数据类封装✅简易的安卓天气app(二)——适配器、每小时数据展示✅简易的安卓天气app(三)——城市管理、数据库操作📌简易的安卓天气app(四)——搜索城市、完善页面
需求🏷️前三篇重要的功能已经实现的差不多了,完成了api获取数据,封装数据,展示数据,和一些数据库操作,接着就是按照自己的意愿,搜索城市,查看此城市天气,并决定将此城市加入数据库操作,方法是尽可能地简化的,本次项目共涉及三个页面之间的跳转,逻辑清晰,条理明朗,后续更多复杂化操作,和更多重复性操作有待探索,本质上都是已有代码的延申。先获取到全国各个城市的信息,展示在搜索城市页面,方便查找。实现步骤:
AutoCompleteTextView输入提示文本框
实现读取全部城市展示
搜索框搜索指定城市
实现效果:
涉及内容
AutoCompleteTextView输入提示文本框
文件读取,Json数据封装,RecyclerView数据展示
根据城市名称刷新天气
项目结构此文为项目开发第四篇文章,故前面文章已经讲完一部分内容,想了解详细步骤移步页首,每一篇文章都已经给 ...
ajax
PostMan下载地址:https://www.postman.com/downloads/
或中文版工具apifox:https://www.apifox.cn/
中文版工具apifox帮助地址:帮助中心 | Apifox 使用文档
基础全称是 Asynchronous Javascript And XML(异步 JavaScript 和 XML)。在网页中利用 XMLHttpRequest 对象和服务器进行数据交互的方式,就是Ajax。1、$.get()
功能单一,发起 get 请求,从服务器拿数据。
1234$.get(url, [data], [callback])//参数一:url string类型 要请求的资源地址//参数二:data object类型 请求资源期间要携带的参数//参数三:callback 请求成功时的回调函数
2、$.post()
功能单一,发起 post 请求,向服务器提交数据。
1234$.post(url, [data], [callback]);//参数一:url string类型 提交数据的地址//参数二:data object类型 要提交的数据 ...
jQuery
jQuery
概述js库:即library,封装好的函数。里面有很多预先封装好的方法。
jQuery就是为了更方便快速操作DOM,里面封装了很多方法,后续用jQuery对象调用这些方法即可。
学习jQuery就是学习调用里面封装的函数,其优化了DOM操作、事件处理、动画设计和Ajax交互。基本兼容了主流浏览器。链式编程、隐式迭代、支持插件拓展开发,轻量、免费、开源。
其宗旨就是:写得少,做的多。
下载地址:https://jquery.com/
推荐下载3.X版本。
点击后直接鼠标右键另存页面为…即可,最后将下载下来的文件引入项目中。
jQuery的基本使用入口函数1234567891011121314<body> <script> // $('div').hide(); // 1.等着页面DOM加载完毕再去执行js代码 // $(document).ready(function() { // $('div').hide(); ...
JavaScript
JavaScript基础认识弹出提示对话框:alert(“弹出对话框”)
解释型语言,一行一行解释。
123<script> alert("弹出对话框")</script>
认识js
发明人:布兰登·艾奇(Brendan Eich,1961年~)
1995年利用十天完成JS设计网景公司最初命名为LiveScript,后来与Sun合作改名JavaScript
运行在客户端浏览器上。
js的作用:
js的组成:
注释:
js的输入输出:
prompt取值是字符型的
变量1var age;//声明一个名称为age的变量,赋值var age=18;
只声明不赋值值为undefined
数据类型数据类型可变
简单(基本)数据类型判断变量是否为数字型的方法:
获取字符串String长度
1str.length
转义符
undefined和null
判断变量类型typeof 变量名
1234<script> var str = 'roydon'; alert(typeof str) //s ...
CSS3
CSS基础认识基础认识中文名称:
CSS:层叠样式表(Cascading style sheets)
作用:
给页面中的HTML标签设置样式。
语法规范:
css写在style标签中,style标签一般写在head标签里面,title标签下面
123456789101112131415161718192021222324<!DOCTYPE html><html lang="en"><head> <title>Document</title> <!-- CSS位置 --> <style> /* 写在style标签中 */ /* 选择器 */ p { color: pink; /* CSS属性 key:value */ background-color: aqua; font-size: 18px; ...
HTML5
一、基础认识浏览器:网页运行,显示平台、五大浏览器
浏览器渲染引擎
不同浏览器遵循一个Web标准
二、HTML(Hyper Text Markup Lanuage)==>超文本标记语言
注释:
标签:
双标签:
eg:
1<strong>自体加粗</strong>
单标签:不可包裹内容
排版标签标题标签:
1234<h1>一级标题</h1><h2>二级标题</h2>。。。。。<h6>六级标题</h6>
段落标签:
1<p>段落内容。。。</p>
若(。・・)ノvsCode段落标签中内容过多,可ALT + Z自动换行
换行标签:
1<br>
水平线标签:
1<hr>
文本格式化标签
媒体标签图片标签:
1<img src="路径" alt="替换文本(src失效显示)" title="鼠标悬停提示文本">
更多属性:width、height(只设置一个 ...
Hello Hexo
创建文章1hexo new "post name"
创建页面1hexo new page "page name"
本地查看hexo1hexo clean && hexo g && hexo s
上传到Github1hexo g -d