最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上我搜集整理的2019-2021BATJ 面试真题解析,我把大厂面试中常被问到的技术点整理成了PDF,包知识脉络 + 诸多细节。
节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
《960全网最全Android开发笔记》
《379页Android开发面试宝典》
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
《507页Android开发相关源码解析》
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
腾讯、字节跳动、阿里、百度等BAT大厂 2019-2021面试真题解析
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
例如:Wap.PageHeader(“max-age=300”)
PageFooter
作用:用于输出WAP文件的末尾函数
语法:Wap.PageFooter
文件实例:
新建kj.asp代码如下:
效果演示: 2> 输出函数WriteOut和WriteRow
作用:他们是对要输出的文字进行UTF-8转码,然后进行输出。
例如:Wap.WriteOut " Content" & "
"
说明:Content用于准备输出的字符串
WriteRow与WriteOut的区别就在于:后面的
,也就是说,我们在输出的时候可以省略后面的
,而输出时将自动换行。例如我们还是要输出"欢迎使用Quick WAP组件开发!"这句话,代码就可以这样写:
例如:Wap.WriteRow “欢迎使用Quick WAP组件开发!”
文件实例:
新建Write.asp,代码如下:
效果演示:
3>超链接函数A
作用:用于形成超链接的函数使用QuickWap实现超链接非常简单.
例如:Wap.WriteRow Wap.A(“Title”," Url “,” DisplayText "),
说明:Title显示在手机左下角或右下角显示的提示信息。
Url链接地址,可以是相对路径或者绝对路径。
DisplayText就是显示在屏幕上的链接文字。
注意:他们之间必须用逗号(,)隔开一下函数都是如此,不再提醒。
文件实例:新建A.asp,代码如下:
效果演示:
4>分页函数.EasyMorePage
作用:简易的长字符串分页函数
语法:Wap.WriteOut Wap.EasyMorePage(“ToShowContent”,)
说明:ToShowContent输入要分页的字符串
TextLong每页显示的字符数。
5>图片函数Img
作用:用于图片显示的函数
语法:Wap.WriteOut Wap.Img(“Url”,"Tip ",OtherAtt)
说明:Url是图片的地址,可以是相对路径或者绝对路径
Tip当无法显示图片或载入时显示的文字信息
OtherAtt用于设置其他的属性值。其中的属性值可以用单引号或者两个双引号括起来。如"name=‘Bicyle’“可以用” name=““Bicyle””"代替
例如:Wap.WriteOut Wap.Img(“images/logo.PNG”,“生成预览中…”)
6>图片链接函数
作用:用于形成带有图片链接的函数
语法:Wap.WriteRow Wap.ImgA(“ImgPath”,"Url “,” DisplayText ")
说明:ImgPath图片的地址,可以是相对路径或者绝对路径。
Url链接地址,可以是相对路径或者绝对路径
DisplayText显示在屏幕上的链接文字
例如:Wap.WriteRow Wap.ImgA(“”,“#SecondCard”,“第二栏目”)
7>段落函数P
用于设置段落对齐、是否允许换行Wap.WriteOut Wap.P("AlignMent ","WrapMode ")
AlignMent对齐方式有三种:left center right
WrapMode是否换行:wrap nowrap
例如:Wap.WriteOut Wap.P(“left”,“wrap”)
8>Utf8转成Gb2312函数
用于将被转换为UTF-8编码的字符还原为中文字符的函数
Wap.WriteRow Wap.Utf8_Gb2312(“SearchString”)
SearchString待转换的UTF-8编码的字符串
例如:
Wap.WriteOut Wap.Utf8_Gb2312(“我们有专业的开发团队”)
用QuickWAP组件建设Wap站点教程-终结篇
问:假如我不习惯使用QuickWap组件了怎么办?
答:可以卸载掉
方法如下:
开始菜单—〉运行 Regsvr32 /u QuickWap.dll 命令,即可卸载掉。
问:我为什么感觉用QuickWap组件开发Wap不习惯呢?
答:用QuiWap组件编程刚开始可能不太习惯,用了一段时间后,你挥发现它非常的好用,快捷,并因此而喜欢用QuickWap组件了
如何在IIS上搭建WAP网站
如何在IIS上搭建WAP网站
1.创建一个站点文件夹首先你要创建一个独立于你的主站点的新的站点文件夹(若站点是建立在同一个服务器上面的话),这样你下面要做的改动才不会影响别的站点。
2.在IIS平台创建一个新的MIME类型先选择WAP站点的属性,再加入MIME类型,然后选择HTTP Headers标签。
在MIME Map部分,点击File Type并且输入以下信息:
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wbmp image/vnd.wap.wbmp
wmlsc application/vnd.wap.wmlscriptc
wmls text/vnd.wap.wmlscript
wsc application/vnd.wap/wmlscriptc
完成以后,将会显示以下几种类型:
3.现在,你就可以把你的网站内容加到站点文件夹里面了。
体验EasyPad实现WAP自主建站
体验EasyPad实现WAP自主建站
EasyPad WAPtor是一款简单易用的WAP页面制作工具,特别适合刚开始学习编写WAP页面的人使用。事实上,建立WAP站点比起WEB站点来要简单的多,尽管WAP建站是一项新的网络开发技术,但这并不意味着你得花掉更多时间来学习它。必要的融会贯通会让你明白WAP和WEB间的紧密联系,或许一开始你就会发现:原来制作WAP和与制作WEB是一样的简单,无需记得标签和它的属性,你就可以轻松开发出优秀的WAP页面,下面我们来看看如何使用 EasyPad WAPtor 来制作WAP页面。
如果你还没有这款工具,请点击这里下载WAPtor。获得EasyPad WAPtor的安装文件后双击运行并按照提示即可完成安装,成功后运行EasyPad WAPtor,你将会看到如下界面。
乍一看,这个界面也太简单了吧,是的,比起WEB制作软件Dreamweaver来说它确实显得有些单薄,甚至让人怀疑起它的能力来。不用着急,EasyPad WAPtor实际上是一款所占资源微乎其微的小软件,我们不能想象只能用手机来浏览的简单页面需要多么强大的开发软件么?如果你是一位高手,也许这款软件就是多余的,但随便打开一个记事本就能写个WAP网站出来的高手当然不能多见,所以我要说,EasyPad WAPtor,用处大大的。
首先我们来看看EasyPad WAPtor的功能区,同大多数的软件一样,EasyPad WAPtor为开发者提供了简单的功能按钮,上部的第三排是功能按钮选择区,如果你用过Dreamweaver,你一定不会陌生这些按钮的用途,这里就不再赘述。界面的下部被分为两块,左边是编辑区,右边是御览区或者模拟浏览区,能够及时体现页面编辑的结果,非常方便。
下面我们赶快来体验一下如何用它来制作WML格式的WAP页面吧。
单击上部第二排最左的新建按钮,EasyPad WAPtor将自动套用WML格式的语法,就如Dreamweaver自动套用html格式语法一样,给我们省去了不少的事情。见下图:
我们看到,EasyPad WAPtor自动套用的代码实际上是一个简单的WML实例文件,我们可以在此基础上编辑页面,通过上部的工具按钮,可以为文本加粗、加斜、加下划线、字体设置、添加段落、换行以及添加表格、图片、链接以及表单等操作。
我们知道,WML文件是以卡片为块单位的,也就是上图代码中的,手机浏览网页也基本上是以卡片为单位来显示,比如每一屏显示一个卡片。一张WAP网页至少有一个卡片,EasyPad WAPtor上部第三排最左侧的一个功能按钮 就是添加卡片的按钮,先用光标选择好要添加卡片的位置,点击这个按钮就可以了。
下面,我们来体验一下编程的快乐:
首先将id为MainCard的卡片修改一下,让它成为浏览者访问的首页,可以在这里写些欢迎词或者作为门户或入口等。并在这个卡片中加一个链接,链接到其它卡片,点击上部的 按钮及可在光标处加上一段链接代码,值得提醒的是WML中的链接大多数属于网页内部链接,也就是卡片间的相互链接,这与HTML中的锚点链接差不多。当然,WML也有外部链接,此时的链接前就没有#符号了,而是一个有效的WML页面地址,如:心情驿站,另外WML与HTML不同的是,锚点链接的是的位置,而WML中的链接是链接到卡片的位置,所以#号后面跟的是目标卡片的id号而不是锚点的名称。
将光标定位在第一个卡片的后面,单击 功能按钮添加一个卡片,新建的卡片需要我们加入的是id值和title值,id值是必须的,因为WML中的任何一个卡片如果没有id值的话就基本上是孤立的,无法完成相互间的调用以及页面与用户之间的交互。title属性用于描述这个卡片的性质或者作用。在卡片中,一般放置段落,一个卡片中可以有多个段落,段落中可以放置文本、图片等,当然,卡片中除了放置段落外还可以装表格、表单等内容。这些东西读者可以自己去探讨。
按照这个步骤,我陆续添加了一个用于导航的卡片id为navCard以及id分别为1、2、3的内容卡片,navCard卡片中盛装了三个链接,这三个链接分别链接到id为1、2、3的内容卡片,这样就实现了从首页到导航页面再到内容页面的链接。下面我把代码共享出来,大家可以拿去研究。
<?xml version="1.0"?>
欢迎来到建站学请继续…
OK,完成了上面的步骤,下面我们要看一看运行结果了,稍微检查一下左边的运行代码,看看有没有粗心错误,单击上部的预览按钮,如果没有错误的话就会在右边显示编程的结果,这个结果是模拟手机用户浏览的结果,如下图:
模拟手机浏览首页结果
选择请继续,进入
模拟手机浏览导航页面结果
选择“建站指南”,进入
模拟手机浏览内容页面结果
细心的读者也许看到了这三张图片的上部都有一个下拉框,里面有MainCard字样,是的,这就是一个供你选择卡片的下拉框,对于没有被链接到的卡片,你可以从这里选择卡片对其进行预览。
如果没有发现什么错误,那么你的这个WML文件基本上已经做成了,将此文件保存,默认格式是WML,将这个文件添加到支持WML的IIS的虚拟目录中去,万事ok,现在你就差一款WAP浏览器了,推荐使用winWAP,这是一款模拟手机上网的WAP浏览器,使用很简单,这里就不多说了。
如何开通WAP网站?
如何开通WAP网站?
浏览WAP网站与WEB网站都是需要服务器端和终端支持的,WEB网站的要求大家一般都知道了,WAP网站需要的服务器只要在WEB服务器的基础上稍加配置就可以使用,但是编写WAP网站所使用的语言不同于WEB,通常使用WML语言配合ASP等脚本编写,默认首页也一般为Index.asp/Index.wml/Default.asp/Default.wml等。
访问WEB网站所用的终端一般是IE浏览器,访问WAP站点则需要使用相关软件–WAP浏览器[如WAPDisplayer]或WAP手机才可以。
编写好WAP程序后,需要上传至服务器,然后域名解析至该目录即可。
例如下面的ASP+WML范例,新建一个记事本文档,复制如下代码到记事本并保存为Hello.asp。
<[email=%@Language=VBScript%]%@Language=VBScript%[/email]>
<%Response.C%>
<?xml version="1.0" encoding="gb2312"?>
欢迎光临我心依旧在线!
友情链接
如何做WAP网站,如何做WAP网页?
WAP的应用领域十分广阔,它广泛地应用于生活服务信息,个人商务、娱乐、理财的领域。而WAP支持的收发电子邮件、网上查询各类信息、移动娱乐、移动商务等诸多的业务种类足以使得其拥有众多的消费者。
如果不做联通、移动的服务商(SP/CP)的话,WAP站点可以直接使用现有的WEB服务器,不过要进行一些简单的配置,让服务器能够正确解释WAP语言,目前WAP 1.x版本主要用到的是WML语言(无线标记语言),但是单纯使用WML开发的WAP程序功能有限,可配合使用动态脚本技术,比如ASP、JSP等。
利用WML、ASP等开发完毕的WAP网站放在您的服务器上后,可以在现有www.jzxue.com域名下申请二级域名wap.jzxue.com解析至相应地址,这样用户就可以通过手机、模拟器访问您的WAP网站了。
如果您是个初学者,可以先学习WML语言,然后利用ASP+WML就可以做WAP站点,IIS5只需配置一下MIME类型,2003 Server MIME类型系统默认就配好了,数据库一般Access就足够用了,较大的站点可以采用SQL server2000。
现介绍部分WAP工具资源:
QuickWAP V1.5(辅助建站)
QuickWAP V1.5是一款以WAP1.2协议为基础开发的辅助ASP+WML语言编写WAP网页程序的ActiveX组件。它解决了WAP开发中所遇到的常见问题,并且给出了完善的解决方案,同时全力支持Microsoft SQL Server2000和Microsoft Access2000以上版本数据库,是开发功能强大的动态WAP网站不可多得的辅助软件。
下载地址:
天空软件http://www.skycn.com/soft/23484.html
中文WAP浏览器Wapdisplayer V1.5(模拟调试程序)WapDisplayer 是一款利用M3Gate控件开发的中文WAP浏览器,除了保留原英文版M3Gate Version 1.2 beta的全部功能外,并在原有基础上增加了很多常用的辅助功能。它可以让用户不需要透过无线装置,直接在PC中连上Internet观看WAP网页的内容。
WapDiplayer V1.5完全兼容M3Gate V1.2,如果您乐意使用M3Gate浏览器,请使用WapDiplayer所安装目录下的M3Gate.exe程序。
下载地址:
硅谷动力http://download.enet.com.cn/html/010022005092702.html
WAP编码转换器 1.0(编程辅助)
WAP编码转换器是一款将代码、汉字在GB2312和UTF-8编码之间互转的绿色免费软件。
它不仅支持文本互转,同时支持整个WAP文件整体转换。
BicyleWapTool V2.1(代码编辑)
主要是字符串处理,WML代码辅助编辑,功能包括了:1、GB2312编码的*.wml文件整体转UTF-8编码。2、UTF-8—>GB2312。3、GB2312—>UTF-8。4、统计字符个数。5、空格和回车的处理。6、ASCII编码查询。7、字符创自定义替换等。Windows2000 Server 配置IIS的MIME类型
地址:
Internet 服务管理器Internet服务管理器–>主机属性–>计算机(MIME映射)–>编辑–>新类型
--------------------------------------------------
内容类型(MIME)关联扩展名
text/vnd.wap.wml wml
image/vnd.wap.wbmp wbmp
text/vnd.wap.wmls wmls
application/vnd.wap.wmlc wmlc
application/vnd.wap.wmlscriptc wmlsc
text/vnd.wap.wmlscript wsc
text/vnd.wap.wmlscript wmlscript
WAP技术越来越成熟,提供WAP教程的网站也很多,最重要的还是编程完毕后,用手机去测试,模拟器毕竟无法替代终端设备,WAP最终的服务对象也是手机设备。
附两种常用代码模版
WML框架代码(*.wml)
<?xml version="1.0" encoding="gb2312"?>
请在这里书写正文。
ASP+WML框架(*.asp)
<%Response.C%>
<?xml version="1.0" encoding="gb2312"?>
欢迎光临
<%=Date()%>
如果您采用QuickWAP的话,最简单的框架如下:
<%
Set Wap=Server.CreateObject(“QuickWap.WapNetSdk”)
Wap.CardTitle=“建站学在线”
Wap.PageHeader
'以下为文件正文。
'以下为返回链接等信息。
Wap.WriteRow Wap.ImgA(“”,“Index.asp”,“返回上级”)
Wap.PageFooter
Set Wap=Nothing
%>
**用ASP技术进行动态WAP网站开发实例
**
第一节:WAP的潜能
这些日子,我们常听到WAP技术,一种手机上网的技术。从技术上讲,移动电话不可能和PC来竞争,移动电话的屏幕只能容下很少的字符,它的带宽也是很受限制,而且输入也很笨拙。那我为什么还要介绍它了,嘿嘿,这里有两个主要的我认为WAP一定有成功的因素。
随处性:
只要你有手机,你到哪里都可以访问wap网站。
帐单机构:
在不久的将来,我们就能通过我们的手机来支付我们的一切费用,查询很多的信息。只是我们的手机费用中又多了一项费用"WAP服务费"。
这样我们就能用手机支付我们的商品费用,信用卡都不用了,它一定能够成为新消费方式。
第二节:WAP基础
WAP (Wireless Application Protocol) v1.1是一种开放性规范,它试图规范移动电话访问信息和服务行业。这个规范是由
WAP Forum来开发的,一个民间组织。1.2版本的WAP协议将会被认为是最后的WAP规范。
关于wap最基本的概念就是重复利用internet协议,这个协议必须很清楚地在现有的技术上轻松地调用wap服务。
WAP协议利用一种很像我们电脑网络的分层结构。较低层次不太像我们常用的web应用,但是顶层还是我们的老朋友----HTTP。
数据一样是从服务器上发出,从服务器上接收,信息能够储存在服务器上,调用也可能用CGI,也可以用其它的方法,比如ASP.也就
是说只要你会ASP,那么你就可以在轻松地写出你的第一个WAP应用程序了。
当然,就手机的带宽和用户能力方面来看,手机需要不同(更严格)的设备,所以在目前的条件下HTML就不能适应WAP所能提
供的带宽。
WAP Forum的定位是WML (Wireless Mark-up Language),一种xml格式的语言。WML是精简的HTML。
WAP Forum同时也指定了WMLScript,很像JavaScript,只是用于手机而已,它能够处理客户端的程序。
第三节:WML
尽管我已经讲解了手机与服务器的通讯,但是真正的客户端不是手机。一个软件(wap gateway),实际上允当了这个角色。它
将手机的请求转换为HTTP请求,同时也将服务器的回应返回给手机,WML文件此时就被WAP GateWay编译成二进制文件。尽管有些
WAP geteway能够将HTML直接转换为WML,但是也不要指望它们能任意地将HTML转换为我们在手机上能看懂的东东。
当然,仿真器就不需要WAP gateway来工作了,它会直接从服务器下载WML文件(或者直接在本地机上打开WML),同时将它显示
在手机的屏幕上。图一WAP结构
WAP仿真器
为了使用WAP服务,像吾等穷人买不起手机,就需要一个wap仿真器。你可以去Nokia website下载一个 Nokia Toolkit
1.2,同时你也得装上Java Virtual Machine 1.2.2,可以免费从SUN公司下载,这里是个例子。
WML结构
一个WML文档是由板块组成的,一个板块包含有许多的卡片。在实际中,你可以把一个板块看成一个由许多有名字的标签组成的
HTML。
手机下载一个完整的板块,但是在一次只能显示一个卡片。通过链接浏览不同的地方。
我们将会看到一个简单的WML文档,你得懂点最基本的XML。
以下是引用片段:
<?xml version="1.0"?>
This is the first card.
This is the second card.
一旦手机接收了这个块,它就会显示第一个卡片,当你按下左边的软键时,就会看到第二个卡片。
第四节:另一种预订你电影票的方法
在上一节中,我讲解了最基本的WAP和WML的概念,这一节我们就来看看ASP和WAP是如何结合的.
现在在奥斯陆,电影院提供了一种基于电话系统的来销售门票,这个系统是很复杂的,还必须给用户一些说明才能指导用户买票,而且用户还必须在报纸上找到某种电影的代码,这个很烦,我们来介绍另一种方法。
这里这将给你展示一个简单的让手机用户订票的WAP应用:一个肯定让人叫好的服务。用户不必记住那些烦人的代码,他们能够直接从菜单中选取电影和电影院,并且用户也不需要认证。在这个例子中用户被要求在电影开始前40分钟交费,但是在真正的生活中,用户同样可以通过手机来结帐.
此应用程序想像的条件是一个电影能够在同一时间在多个电影院上映,一个电影院不同的时间上演不同的电影。
这里我没有过多的考虑错误处理的问题,因为这不是本章节的重点,你喜欢你可以自己加上.
为了简单,我使用了Access 97来做为数据库,当然真正的系统不会用它了,其它的数据库如SQL Server,也不必改动多少代码.
数据库图表 .Movie 和Theater表是显然需要的。Show表用于追踪现在还有多少空位可以出售。
怎样调试这个程序
为了访问这个WAP服务,你需要一个WAP仿真器,这个程序主要是在Nokia Toolkit 1.2上调试,详细情况请查看上一章节。
选择电影
在list表中选择一个电影:
引用:
以下是引用片段:< !–#include file=\“conn.asp\” – >< % 'send the right MIME type
Response.ContentType = \“text/vnd.wap.wml\” 第一件事就是声明wml,仿真器如何不在正确的地方声明XML,它是不会接受WML的尽管Nokia 7110可以忽略这一点,但是不能保证其它的手机也行,所以你不得不做这事。同样你也得设置好MIME类型。
< ?xml version=\“1.0\”? >
< !DOCTYPE wml PUBLIC \“-//WAPFORUM//DTD WML 1.1//EN\” \“http://www.wapforum.org/DTD/wml_1.1.xml\” >
< wml >
在进入下一个card以前会有一个闪烁的屏幕来显示一个图片WBMP一种新的格式。这个事件是由timer属性决定的,这里我们设置的时间为5秒.ontimer事件引发后将带你去另一个card.(wmbp的photoshop插件可以从网上免费下载).
< card id=\“splash\” ontimer=\“#card1\” title=\“Welcome to\” > < timer value=\“50\”/ >
< p align=\“center\” >
< br / >
< img src=\“pix/logo.wbmp\” alt=\“WAP movies\”/ >
< /p >
< /card >
< card id=\“card1\” title=\“choose a film\” >
< %
sqlQuery = \“SELECT [Movie_ID], [title] FROM Movie\”
set rsMovies = conn.Execute(SQLquery)
:
% >
< p >
< select name=‘movie’ >
< %
Do while not rsMovies.eof
response.write(\“< option value='\” & rsMovies(\“Movie_ID\”) & \“’ >\” & rsMovies(\“title\”) & \“< /option >\” & vbcrlf)
rsMovies.MoveNext
loop % >
< /select >
这一部分是本文的焦点。从数据库中读出需要的数据显示出来,作为一个asp程序员,这个没有什么特别的,但是就是这个简单的程序现在被用于一种全新的服务器就显得不一样了。这也使得我更加认为在基于WML的商业站的网络编程asp更胜于Java servlet.
表单的提交也可以通过软开关函数(do和 anchor)来完成。在这里,我是通过简单的内嵌链接来完成的,因为我觉得这样能够使用户感觉直观和友好。Postfields大至和HTML中的hidden差不多,但是wml的变量不像html中的那样需要在javascript中传送,它可以直接写在wml中,这一点上一节已经讲解了.在这里的传递的方法是get,post方法在WAP的规范也是被支持的,仿真器也能识别它,但是很不幸,在Nokia 7110中,这个post不被支持,所以你没得选择.
选择电影院和上映时间
这部分代码让用户来选择看什么时间的电影,所有的记录根据前一页所选的电影来决定。在这里来选择电影院和上映时间.
以下是引用片段:
movie_id = Request(\“movie\”)
sqlQuery = \“SELECT title FROM movie WHERE Movie_id = \” & movie_id
set rsMovie = conn.Execute(sqlQuery)
movie_title = rsMovie(\“title\”)
:
sqlQuery = \“SELECT [name], [time], [show_id] FROM Show, Theater \” &_
\“WHERE show.movie_id = \” & movie_id &_
\" AND theater.theater_id = show.theater_id\"
set rsShows = conn.Execute(SQLquery)
如果你仔细研究了这个代码,你就会想用Session来保存电影信息,再在这页进行查询更简单。同样很不幸,Session是需要cookies的支持,虽说在WAP规范中也是被支持的,但是在Nokia 7110中也是不被支持,这就是说现在我们还不能把session用在WAP服务中。
下面有一些有趣的事情:
以下是引用片段:
< select name=‘show’ >
< %
Do while not rsShows.eof
response.write(\“< option value='\” & rsShows(\“show_id\”) & \“’ >\” & Left(rsShows(\“name\”),cutter) & \" (\" & rsShows(\“time\”) & \“)\” & \“< /option >\” &vbcrlf)
rsShows.MoveNext
loop % >
< /select >
如果你对cutter变量感到疑惑,那么就有一些事让你哭笑不得
以下是引用片段:
Dim cutter
if InStr(Request.ServerVariables(\“HTTP_USER_AGENT\”), \“Nokia7110\”) then
cutter = 12
else
cutter = 7
end if
这段代码根据不同的设备来显示选项。我们有充足的理由的这样做,Nokia Toolit 1.2仿真器喜欢把砍掉我的的选项到只有几个字符,而我们要显示电影名字和上映时间,所以我们就不得不减少电影名字的字符。在真的手机中不会出现这种问题,所以我们就必须先判断设备的类型.
下一步就是让用户选择需要的票数.这部分的代码很像其它的部分。我将从数据库中查询相同的数据,因为Session不能在真正的WAP手机中使用,所以我必须对有些内容进行确认,看看是否还有座位出售.
以下是引用片段:
SQLquery = \“SELECT * FROM show WHERE Show_id = \” & show_id
set rsShow = conn.Execute(SQLquery)
:
seats = rsShow(\“free_seats\”)
:
if seats = 0 then
Response.write(\“Sorry, no more seats\”)
rsShow.close
set rsShow = nothing
Response.write(\“< /p >< /card >< /wml >\”)
Response.end
else
if seats > 6 then 'book up to 6 tickets or max available
max_seats=6
else
max_seats = seats
总结
最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
技术进阶之路很漫长,一起共勉吧~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
ore seats\")
rsShow.close
set rsShow = nothing
Response.write(\“< /p >< /card >< /wml >\”)
Response.end
else
if seats > 6 then 'book up to 6 tickets or max available
max_seats=6
else
max_seats = seats
总结
最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
[外链图片转存中…(img-oMa6Ipnj-1714984295562)]
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
技术进阶之路很漫长,一起共勉吧~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!