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 可逆
既然选择了,便不顾风雨兼程。Just follow yourself.