Android面试收集录 网络与加密
1.创建Socket对象需要至少指定哪些信息?
- IP(或域名)和端口号
- Socket socket=new Socket("www.baidu.com",80);
2.如何使用Socket连接服务器?
- 建立一个Socket对象:Socket socket=new Socket("192.168.17.100",8080);
- OutputStream os=socket.getOutputStream();
- OutputStreamWriter osw=new OutputStreamWriter(os);
- BufferedWriter bw=new BufferedWriter(osw);
- 向服务器写数据:bw.write("hello world"); bw.flush();
- 向服务器读数据:创建输入流同上,然后 while((s=br.readLine())!=null) ...
3.使用Socket成功连接服务器后,如何获取服务器的IP和域名?
- Socket socket=new Socket("www.baidu.com",80);
- socket.getInetAddress().getHostAddress();
- socket.getInetAddress().getHostName();
4.Java提供的7个基本缓冲区是什么?
- ByteBuffer
- ShortBuffer
- IntBuffer
- CharBuffer
- FloatBuffer
- DoubleBuffer
- LongBuffer
5.WebView如何使用,如何向前和向后浏览历史页面?
- WebView webView=(WebView)findViewById(R.id.webView);
- webView.loadUrl("http://www.baidu.com");
- 向前:webView.goForword();
- 向后:webView.goBack();
6.WebView如何显示一端String变量中的HTML代码?
- webView.loadDataWithBaseURL("图书名",html字符串,"text/html","utf-8",null);
- webView.getSettings().setJavaScriptEnabled(true); //打开JavaScript功能
- webView.setWebChromClient(new WebChromeClient()); //设置处理JavaScript的引擎
7.请描述Android中Java与JavaScript如何交互?
- 首先在Java中配置WebView的JavaScript,设置支持JavaScript,设置WebChromeClient等
- 在JavaScript中调用Java方法需要使用WebView.addJavascriptInterface方法
- 可以再JavaScript代码中调用window.接口名字.方法名字(参数名)来访问java方法
8.请说出Android支持哪些访问HTTP资源的方式?
- DefaultHttpClient通过HttpGet和HttpPost分别封装了GET和POST请求。
- HttpURLConnection通过URL的构造方法,通过URL.openConnection方法获取HttpURLConnection
9.上传文件到服务器,需要注意哪几点呢?
- 如果使用HttpURLConnection对象向服务端发送数据,需要使用setDoOutput方法打开输入开关
- 需要设置请求方法:httpURLConnection.setRequestMethod("POST");
- 文件开头需要分界符:httpURLConnection.setRequestProperty("Content-Type","multipart/form-data;boundary="+boundary);
- 文件结尾需要分界符:dos.writeBytes(twoHyphens+boundary+"--"+end);
10.请简要解释一下什么叫HTTPS?
- Secure Hypertext Transfer Protocal,安全超文本传输协议
- HTTP的安全版本
- 在HTTP下加入SSL层
11.Android SDK支持访问HTTPS资源吗?
- 支持的
- 需要信任所有的host
- 然后像访问HTTP资源一样使用httpClient和httpPost即可
12.Android SDK 支持几种加密技术?
- 4种
- MD5+SHA+HMAC 不可逆
- AES 可逆
Android面试收集录 网络与加密的更多相关文章
- Android面试收集录 Android入门
1.Android的特点有哪些? 编程语言是Java或Kotlin,Android中的Java字节码是允许在Dalvik虚拟机上的 支持4大组件 Android内置了WebKit核心的浏览器,支持H5 ...
- Android面试收集录14 Android进程间通信方式
一.使用 Intent Activity,Service,Receiver 都支持在 Intent 中传递 Bundle 数据,而 Bundle 实现了 Parcelable 接口,可以在不同的进程间 ...
- Android面试收集录6 事件分发机制
转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...
- Android面试收集录2 Broadcast Receiver详解
1.Broadcast Receiver广播接收器简单介绍 1.1.定义 Broadcast Receiver(广播接收器),属于Android四大组件之一 在Android开发中,Broadcast ...
- Android面试收集录 Android系统的资源+其他
1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...
- Android面试收集录 2D绘图与动画技术
1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...
- Android面试收集录 电话、短信和联系人、多媒体技术
1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...
- Android面试收集录 数据库
1.SQLite数据库如何查询表table1的第20条到30条记录? select * from table1 limit 19,11 ==>从19开始,11个数据 2.如何才能将table ...
- Android面试收集录 文件存储
1.请描述Android SDK支持哪些文件存储技术? 使用SharePreferences保存key-value类型的数据 流文件存储(openFileOutput+openFileInput或Fi ...
随机推荐
- tensorflow ImportError: libmklml_intel.so: cannot open shared object file: No such file or directory
通过whl文件安装 tensorflow,显示缺少libmklml_intel.so 需要 1)安装intel MKL库 https://software.intel.com/en-us/articl ...
- Android(java)学习笔记6:实现Runnable接口创建线程 和 使用Callable和Future创建线程
1. 前面说的线程的实现是新写一个子类继承Thread: 是将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法.接下来可以分配并启动该子类的实例 2. 这里说的方案2是指 ...
- POJ 3734 生成函数
题意:一排n长度的砖,有四种颜色,红色绿色是偶数,有少染色方式. 分析: 泰勒展开式: chx = (e^x+e^(-x))/2 = 1 + x^2/2! + x^4/4! + x^6/6! + .. ...
- 【[SCOI2009]粉刷匠】
这好像是个暴力? 但是跑的挺快的 我们设\(dp[i][j][k]\)表示在第\(i\)行我们最远染到的位置是\(j\),这一行上一共染了\(k\)次最多能染对多少个格子 理性分析一下啊,每一行最多也 ...
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(三) 激动人心的时刻到啦,实现1v1聊天
看起来挺简单,细节还是很多的,好,接上一篇,我们已经成功连接singalR服务器了,那么剩下的内容呢,就是一步一步实现聊天功能. 我们先看看缺什么东西 点击好友弹框之后,要给服务器发消息,进入组Gro ...
- andorid 网络通信最简单demo
要和后台进行通信 一开始发现接不到数据 后来发生了线程错误 在网上查到:在一些高版本中,与网络通信的操作因为要花费比较大的时间,所以应该放在单独的线程中去做. 但为什么一些网上demo没有放在单独的线 ...
- JavaScript中的Map和Set
JavaScript的默认对象表示方法{}可以视为其他语言中的Map或者Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串,但实际上Numbe ...
- select 文字右对齐
select { direction: rtl; } select option { direction: ltr; }
- 优雅的QSignleton (四) 通过属性器实现MonoSingleton
大家都出去过周六了,而我却在家写代码T.T... 接下来介绍通过属性器实现MonoSingleton. 代码如下: MonoSingletonProperty.cs namespace QFr ...
- Windows获取物理内存的2种方式 - 随笔记录
typedef enum _SYSTEM_INFORMATION_CLASS { SystemBasicInformation, SystemProcessorInformation, // obso ...