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. 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 ...

  2. Android(java)学习笔记6:实现Runnable接口创建线程 和 使用Callable和Future创建线程

    1. 前面说的线程的实现是新写一个子类继承Thread: 是将类声明为 Thread 的子类.该子类应重写 Thread 类的 run 方法.接下来可以分配并启动该子类的实例 2. 这里说的方案2是指 ...

  3. POJ 3734 生成函数

    题意:一排n长度的砖,有四种颜色,红色绿色是偶数,有少染色方式. 分析: 泰勒展开式: chx = (e^x+e^(-x))/2 = 1 + x^2/2! + x^4/4! + x^6/6! + .. ...

  4. 【[SCOI2009]粉刷匠】

    这好像是个暴力? 但是跑的挺快的 我们设\(dp[i][j][k]\)表示在第\(i\)行我们最远染到的位置是\(j\),这一行上一共染了\(k\)次最多能染对多少个格子 理性分析一下啊,每一行最多也 ...

  5. ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(三) 激动人心的时刻到啦,实现1v1聊天

    看起来挺简单,细节还是很多的,好,接上一篇,我们已经成功连接singalR服务器了,那么剩下的内容呢,就是一步一步实现聊天功能. 我们先看看缺什么东西 点击好友弹框之后,要给服务器发消息,进入组Gro ...

  6. andorid 网络通信最简单demo

    要和后台进行通信 一开始发现接不到数据 后来发生了线程错误 在网上查到:在一些高版本中,与网络通信的操作因为要花费比较大的时间,所以应该放在单独的线程中去做. 但为什么一些网上demo没有放在单独的线 ...

  7. JavaScript中的Map和Set

    JavaScript的默认对象表示方法{}可以视为其他语言中的Map或者Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串,但实际上Numbe ...

  8. select 文字右对齐

    select { direction: rtl; } select option { direction: ltr; }

  9. 优雅的QSignleton (四) 通过属性器实现MonoSingleton

      大家都出去过周六了,而我却在家写代码T.T...   接下来介绍通过属性器实现MonoSingleton. 代码如下: MonoSingletonProperty.cs namespace QFr ...

  10. Windows获取物理内存的2种方式 - 随笔记录

    typedef enum _SYSTEM_INFORMATION_CLASS { SystemBasicInformation, SystemProcessorInformation, // obso ...