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. 源码安装mysql5.6.37

    MYSQL 源码安装: 修改参数文件:vi /etc/security/limits.confmysql soft nproc 2047mysql hard nproc 16384mysql soft ...

  2. 保存Google、Bing翻译的语音

    以Chrome浏览器+google翻译为例,bing的下载步骤也类似 1.打开google翻译页面(translate.google.com),输入一段文本,如下图 2.可以看到,右侧已经翻译好了,这 ...

  3. 如何通过一个SAPGUI屏幕反查这个屏幕对应的事务码

    假设我通过某种跳转方式打开了下图这个SAPGUI的屏幕,但我想搞清楚用哪一个事务码可以直接到达这个屏幕,而不通过繁琐的点击,应该怎么做? 步骤1,点击Order字段,按F1打开帮助界面, 点上图的图标 ...

  4. python入门18 继承和多态

    继承:子类继承父类的属性和方法  class 子类名(父类1,父类2) 多态:子类重写父类的方法 判断对象是否是某个类的实例:  isinstance(object,class) 父类-汽车类 #co ...

  5. Android(java)学习笔记17:网络编程的概述

    1. 计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 ...

  6. git bush 代码提交

    # git add . # git commit -m"init project" # git push

  7. 【转】JS gzip加密字符串并base64输出

    http://blog.csdn.net/zunwei/article/details/49886115 最近开发中遇到一些问题,关于js怎么给一个字符串进行字节流加密.下面就详细说下做法. 首先引入 ...

  8. 使用pako.js实现gzip的压缩和解压

    poko.js可至Github下载:https://github.com/nodeca/pako 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  9. Python基础—09-文件操作

    文件操作 目录管理(os) system:执行系统命令 # 清空屏幕 # os.system('cls') # 弹出计算器程序 os.system('calc') name:查看系统名称 nt:win ...

  10. Spring Boot学习笔记(二二) - 与Mybatis集成

    Mybatis集成 Spring Boot中的JPA部分默认是使用的hibernate,而如果想使用Mybatis的话就需要自己做一些配置.使用方式有两种,第一种是Mybatis官方提供的 mybat ...