《Android面试宝典》学习笔记(第七章:网络和加密)

创建Socket对象至少需要指定哪些信息?

IP和端口号:

Socket socket = new Socket("www.microsoft.com",80);

socket连接服务器及与服务器端交互的代码:

http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html

哪些情况下socket会被关闭?

1:Socket.close方法;

2:InputStream和OutputStream有一个关闭;

3:程序退出时网络连接自动关闭;

4:Socket对象被设为null或被新的Socket对象释放后。

如何使用Socket.connect方法连接服务器?

Socket socket = new Socket();
socket.connect(new InetSocketAddress("192.168.18.100", 8080));

如何设置连接超时?

socket.connect(new InetSocketAddress("192.168.18.100", 8080), 2000);

Socket类的getter方法有哪些?

socket.getInetAddress().getHostName();
socket.getInetAddress().getPort();
socket.getInetAddress().getRemoteSocketAddress();
socket.getInetAddress().getLocalAddress();
socket.getInetAddress().getLocalPort();
socket.getInetAddress().getLocalSocketAddress();
socket.getInetAddress().getRemoteSocketAddress();

如何保证在Socket.close方法后将所有的数据发给服务器?

socket.setSoLinger(true, 30);

socket选项:

http://www.open-open.com/lib/view/open1412994697952.html

Socket异常处理?

http://www.educity.cn/java/505626.html

如何创建服务端socket?

ServerSocket serversocket = new ServerSocket(1234);

如何设置请求队列长度?

ServerSocket serversocket = new ServerSocket(1234,100);

同步/异步/阻塞和非阻塞I/O有什么区别?

同步:在发出一个功能调用时,在没有得到结果之前,该调用就不返回。

异步:当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。

阻塞:调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。

非阻塞:指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

如何使用非阻塞I/O发送HTTP请求并返回信息?

http://jasonshieh.iteye.com/blog/927376

非阻塞I/O提供的缓冲区类有哪些?

ByteBuffer、ShortBuffer、IntBuffer、CharBuffer、FloatBuffer、DoubleBuffer、LongBuffer。

如何从缓冲区读取数据?
ByteBuffer.put(byte b);

ByteBuffer(int index, byte b);

ByteBuffer.put(byte[] src, int offset, int length);

byteBuffer.array获取缓冲区中的数据

如何标注缓冲区中的特殊位置?

使用ByteBuffer.mark方法。

如何使用WebView控件向前向后浏览历史页面?

webView.goForward();

webView.goBack();

如何在WebView控件中显示HTML页面?

webview.loadDataWithBaseURL();

Javascript是如何调用Java方法的?

通过异步完成,要使用Handler处理。

Android支持哪些访问HTTP的方式?

DefaultHttpClient和HttpURLConnection,都封装了Http请求。

如何通过HttpPost对象向服务端发送POST请求,并获取字符串返回值的Java代码?

http://jasonshieh.iteye.com/blog/927376

如何使用HTTP上传文件?

http://blog.csdn.net/wangpeng047/article/details/38303865

什么是WebService?Android是否可以调用WebService?

WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。

可以,但Android SDK本身并未提供调用WebService的API,需要使用第三方API,如KSOAP2。

什么是HTTPS?

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

如何访问HTTPS资源?

http://blog.sina.com.cn/s/blog_6e4d9a9b0100wjt1.html

什么是对称加密?什么是非对称加密?
对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。

什么是不可逆加密算法?Android支持哪几种不可逆加密算法?

不可逆加密算法指数据经过加密后,不能还原成原来的数据。Android支持的有MD5、SHA、HMAC等。

时间: 2024-12-06 00:17:17

《Android面试宝典》学习笔记(第七章:网络和加密)的相关文章

Android学习笔记—第七章 数据解析及读取

第七章 数据解析及读取 网络传输中数据的组织方式:xml.json.http (1)xml:可扩展标记语言 特点:保存少量数据,可跨平台 解析方式:sax.dom.pull a. sax解析: 特点:速度快,占用内存少.事件驱动,不会一次性把所有内容加载到内存中. startElement:元素节点开始 localName:不带前缀的标签名 qName:带前缀的标签名 attributes:节点内的属性和值 <student id ="1"> <name>小明&

java面试宝典学习笔记(一)

java基础学习(面试宝典): 1.java中"=="和equals方法究竟有什么区别? (1)==操作符专门用来比较两个变量的值是否相等,也即是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符.     如果一个变量指向的数据是对象类型的,那么,这时候涉及到两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存,例如Object obj = new Object():变量obj是一个内存,new Object()是

Java学习笔记—第七章 类的深入解析

第七章 类的深入解析 1. 继承 1.1 类继承的方法:在Java中,子类对父类的继承是在类的声明中使用extends关键字来指明的.其一    般格式为:[类修饰符] class <子类名> extends <父类名>{ 类体内容 }.一个类只能直接继承一个    父类,一个父类可以有多个子类. 1.2 成员变量的继承和隐藏:基于父类创建子类时,子类可以继承父类的成员变量和成员方法.但是,     如果在父类和子类中同时声明了一个同名变量,则这两个变量在程序运行时同时存在.即:父

css权威指南学习笔记--第七章

由于之前一直没有系统的看过css相关的书籍,导致自己css方面一直都是处于零散状态.知其然,不知其所以然.所以买了<css权威指南>.虽然比较老了,但是应该也会收获很大. 1 水平方向上 margin-left +border-left+padding-left+width+padding-right+border-right+margin-right 其中红色的是可以设置为auto,当设置为auto时,浏览器会自动计算该值.基于的原则就是 外层包裹容器的width=被包裹元素的width+p

《metasploit渗透测试魔鬼训练营》学习笔记第七章--社会工程学

五.社工工程学 5.1社会工程系框架 5.1.1信息搜集 maltego是一个高度自动化的信息搜集工具,集成在BT5中,如果国内网络环境使用时无法获取结果,可能是无法与信息提供网站建立连接,可以使用VPN或代理服务器. 5.1.2诱导 1.提高诱导能力 表现自然,学习知识,不要贪心. 2.成功诱导的技巧 迎合目标的自我感觉 表达共同的兴趣 故意给出一个错误的陈述 抛出一些诱饵信息以寻求回报 假装知晓 借助酒精的威力,让目标更容易开口 3.问答的种类 开放式问答:无法只用"是"或&quo

《DOM Scripting》学习笔记-——第七章 动态创建html内容

本章内容: 1.动态创建html内容的"老"技巧:document.write()和innerHTML属性 2.DOM方法:createElement(),creatTextNode(),appendChild(),insertBefore(). 一.document.write() 语法:document.write(" ") document.write(变量) 缺点:违背了"分离js"原则.即使把document.write语句挪到外部函数

《Spring实战》学习笔记-第七章:Spring MVC进阶

本章主要内容: 备用的Spring MVC配置项 处理文件上传 控制器中的异常处理 使用flash属性 "等等,客官!不止这些" 也许大家在看电视广告时对上面这句话比较熟悉,广告里通常在已经对商品做了完整的介绍,这时,电视里就会冒出这句:等等,客官,还不止这些...接着,就会继续吹嘘他们的商品还有更多让你意想不到的功能. 其实,Spring MVC(或者说Spring的每一个模块)就给人一种"不止这些"的感觉,就在你以为已经对Spring MVC的功能有了完备的了解

【数据分析 R语言实战】学习笔记 第七章 假设检验及R实现

假设检验及R实现 7.1假设检验概述 对总体参数的具体数值所作的陈述,称为假设;再利用样本信息判断假设足否成立,这整个过程称为假设检验. 7.1.1理论依据 假设检验之所以可行,其理沦背景是小概率理论.小概率事件在一次试验中儿乎是不可能发生的,但是它一以发生,我们就有理由拒绝原假设:反之,小概率事件没有发生,则认为原假设是合理的.这个小概率的标准由研究者事先确定,即以所谓的显著性水平α(0<α<1)作为小概率的界限,α的取值与实际问题的性质相关,通常我们取α=0.1, 0.05或0.01,假设

流畅的python学习笔记第七章:装饰器

装饰器就如名字一样,对某样事物进行装饰过后然后返回一个新的事物.就好比一个毛坯房,经过装修后,变成了精装房,但是房子还是同样的房子,但是模样变了. 我们首先来看一个函数.加入我要求出函数的运行时间.一般来说代码写成如下.但是我有很多个函数都要计算运行时间.每个函数里面都要写一个计时的过程是一件很麻烦的事. def target():     start=time.time()     print 'running target()'     end=time.time()     print e

《JAVA编程思想》学习笔记——第七章 复用类

复用类的主要方式有两种:组合,继承 组合 例: class A {} class B {A a;} 继承 继承是所有OOP语言和Java语言不可缺少的组成部分.当创建一个类时,总是在继承,因此,除非已明确指出要从其它类中继承,否则就是在隐式地从Java的标准根类Object进行继承. 继承适用关键词:extends,继承会自动得到基类中所有的域和方法 super super关键字表示超类的意思,当前类就是从超类继承来的.调用超类方法:super.funcName(); 初始化基类 无参构造器,J