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面试收集录 网络与加密的更多相关文章

  1. Android面试收集录 Android入门

    1.Android的特点有哪些? 编程语言是Java或Kotlin,Android中的Java字节码是允许在Dalvik虚拟机上的 支持4大组件 Android内置了WebKit核心的浏览器,支持H5 ...

  2. Android面试收集录14 Android进程间通信方式

    一.使用 Intent Activity,Service,Receiver 都支持在 Intent 中传递 Bundle 数据,而 Bundle 实现了 Parcelable 接口,可以在不同的进程间 ...

  3. Android面试收集录6 事件分发机制

    转自:秋招面试宝典. 一. 基础认知 1.1 事件分发的对象是谁? 答:事件 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件). Touch事件相关细节(发 ...

  4. Android面试收集录2 Broadcast Receiver详解

    1.Broadcast Receiver广播接收器简单介绍 1.1.定义 Broadcast Receiver(广播接收器),属于Android四大组件之一 在Android开发中,Broadcast ...

  5. Android面试收集录 Android系统的资源+其他

    1.Android应用程序的资源是如何存储的,如何使用? res文件夹或者assets文件夹 res目录中的资源在R类中生成一个int变量,然后再布局文件中可以直接使用,在代码中,要getResour ...

  6. Android面试收集录 2D绘图与动画技术

    1.如何在Android应用程序的窗口上绘制图形? 继承View 实现View中的onDraw()方法 2.如何绘制圆,空心椭圆? canvas.drawArc或canvas.drawCircle方法 ...

  7. Android面试收集录 电话、短信和联系人、多媒体技术

    1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...

  8. Android面试收集录 数据库

    1.SQLite数据库如何查询表table1的第20条到30条记录? select * from table1 limit 19,11   ==>从19开始,11个数据 2.如何才能将table ...

  9. Android面试收集录 文件存储

    1.请描述Android SDK支持哪些文件存储技术? 使用SharePreferences保存key-value类型的数据 流文件存储(openFileOutput+openFileInput或Fi ...

随机推荐

  1. Oracle调优-常用表KEEP到内存中

    数据迁移后性能受到影响,需要将老数据库中keep到内存中的表在新库中keep到内存中,使用如下方法. 新库设置db_keep_cache_size为适当值,这个值的大小不能小于需要keep的表的大小. ...

  2. [原]Machine Learing 入门 —— 开门第0篇

    一.最近懒了 7月没怎么写博客,倒是一直在学Machine Learning的入门知识,在这里给大家推荐一个不错的自学网站:https://www.coursera.org/ ,Andrew Ng是联 ...

  3. 团队第三次scrum

    长大一条龙之课表查询 一.设计概要 本次内容主要是实现了长大一条龙系统的课表查询功能,我们的这个项目严格遵守MVC架构,采用前后端分离的策略.我们将课表查询分为二层,DAO层:负责与数据进行交互,读写 ...

  4. serlvet配置xml和@WebServlet

    简单介绍 XML元素不仅是大小写敏感的,而且它们还对出现在其他元素中的次序敏感.例如,XML头必须是文件中的第一项,DOCTYPE声明必须是第二项,而web-app元素必须是第三项.在web-app元 ...

  5. Unity3d获得Android和ios设备的唯一标识

    android为mac地址,ios为advertisingIdentifier 函数都比较简单,网上也搜得到,我也就不多说了,主要是对于我们没做过安卓和IOS开发的人来说,整合进工程有各种的问题. 我 ...

  6. Java基础知识(持续更新中...)

    1.成员变量:全局变量/字段(Field),不要称之为属性(错误)直接定义在类中,方法外面 1.类成员变量    使用static修饰的变量 2.实例成员变量 没用使用static修饰的变量 局部变量 ...

  7. Spring知识点总结(四)之SpringAOP基础

        1. Spring aop中的基本概念        • 连接点(Joinpoint):在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候.在Spring AOP中,一个连接 ...

  8. [Oracle]Oracle表权限小结

    在数据库中,表是我们接触得最多的数据库对象,接下来对与表有关的系统权限与对象权限做一个小结. (1)与表有关的系统权限 CREATE TABLE 在当前Schema中创建.删除.修改表. SELECT ...

  9. 'version' contains an expression but should be a constant. @ line 13, column 11问题的解决

    <modelVersion>4.0.0</modelVersion> <groupId>cy.nad.cyg</groupId> <artifac ...

  10. WebSocket 和socket 的区别

    去年光棍节的时候,我写过一篇 quick-cocos2d-x 中的 socket 技术选择:LuaSocket 和 WebSocket .这篇文章介绍了我为何决定在项目中使用 LuaSocket . ...