《Android面試寶典》學習筆記(第七章:網路和加密)

來源:互聯網
上載者:User

標籤:android   網路   加密   

建立Socket對象至少需要指定哪些資訊?

IP和連接埠號碼:

Socket socket = new Socket("www.microsoft.com",80);


socket串連伺服器及與伺服器端互動的代碼:

http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html


哪些情況下socket會被關閉?

1:Socket.close方法;

2:InputStream和OutputStream有一個關閉;

3:程式退出時網路連接自動關閉;

4:Socket對象被設為null或被新的Socket對象釋放後。


如何使用Socket.connect方法串連伺服器?

Socket socket = new Socket();socket.connect(new InetSocketAddress("192.168.18.100", 8080));

如何設定連線逾時?

socket.connect(new InetSocketAddress("192.168.18.100", 8080), 2000);

Socket類的getter方法有哪些?

socket.getInetAddress().getHostName();
socket.getInetAddress().getPort();
socket.getInetAddress().getRemoteSocketAddress();
socket.getInetAddress().getLocalAddress();
socket.getInetAddress().getLocalPort();
socket.getInetAddress().getLocalSocketAddress();
socket.getInetAddress().getRemoteSocketAddress();

如何保證在Socket.close方法後將所有的資料發給伺服器?

socket.setSoLinger(true, 30);

socket選項:

http://www.open-open.com/lib/view/open1412994697952.html


Socket異常處理?

http://www.educity.cn/java/505626.html


如何建立服務端socket?

ServerSocket serversocket = new ServerSocket(1234);


如何佈建要求隊列長度?

ServerSocket serversocket = new ServerSocket(1234,100);


同步/非同步/阻塞和非阻塞I/O有什麼區別?

同步:在發出一個功能調用時,在沒有得到結果之前,該調用就不返回。

非同步:當一個非同步程序呼叫發出後,調用者不能立刻得到結果。實際處理這個調用的組件在完成後,通過狀態、通知和回調來通知調用者。

阻塞:調用結果返回之前,當前線程會被掛起(線程進入非可執行狀態,在這個狀態下,cpu不會給線程分配時間片,即線程暫停運行)。函數只有在得到結果之後才會返回。

非阻塞:指在不能立刻得到結果之前,該函數不會阻塞當前線程,而會立刻返回。


如何使用非阻塞I/O發送HTTP請求並返回資訊?

http://jasonshieh.iteye.com/blog/927376


非阻塞I/O提供的緩衝區類有哪些?

ByteBuffer、ShortBuffer、IntBuffer、CharBuffer、FloatBuffer、DoubleBuffer、LongBuffer。


如何從緩衝區讀取資料?
ByteBuffer.put(byte b);

ByteBuffer(int index, byte b);

ByteBuffer.put(byte[] src, int offset, int length);

byteBuffer.array擷取緩衝區中的資料


如何標註緩衝區中的特殊位置?

使用ByteBuffer.mark方法。


如何使用WebView控制項向前向後瀏覽曆史頁面?

webView.goForward();

webView.goBack();


如何在WebView控制項中顯示HTML頁面?

webview.loadDataWithBaseURL();


Javascript是如何調用Java方法的?

通過非同步完成,要使用Handler處理。


Android支援哪些訪問HTTP的方式?

DefaultHttpClient和HttpURLConnection,都封裝了Http請求。


如何通過HttpPost對象向服務端發送POST請求,並擷取字串傳回值的Java代碼?

http://jasonshieh.iteye.com/blog/927376


如何使用HTTP上傳檔案?

http://blog.csdn.net/wangpeng047/article/details/38303865


什麼是WebService?Android是否可以調用WebService?

WebService就是一個應用程式向外界暴露出一個能通過Web進行調用的API,也就是說能用編程的方法通過Web來調用這個應用程式。

可以,但Android SDK本身並未提供調用WebService的API,需要使用第三方API,如KSOAP2。


什麼是HTTPS?

超文字傳輸通訊協定 (HTTP)HTTP協議被用於在Web瀏覽器和網站伺服器之間傳遞資訊。HTTP協議以明文方式發送內容,不提供任何方式的資料加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,就可以直接讀懂其中的資訊,因此HTTP協議不適合傳輸一些敏感資訊,比如信用卡號、密碼等。

為瞭解決HTTP協議的這一缺陷,需要使用另一種協議:安全通訊端層超文字傳輸通訊協定 (HTTP)HTTPS。為了資料轉送的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠認證來驗證伺服器的身份,並為瀏覽器和伺服器之間的通訊加密。


如何訪問HTTPS資源?

http://blog.sina.com.cn/s/blog_6e4d9a9b0100wjt1.html


什麼是對稱式加密?什麼是非對稱式加密?
對稱式加密演算法在加密和解密時使用的是同一個秘鑰;而非對稱式加密演算法需要兩個密鑰來進行加密和解密,這兩個秘鑰是公開密鑰(public key,簡稱公開金鑰)和私人密鑰(private key,簡稱私密金鑰)。


什麼是無法復原密碼編譯演算法?Android支援哪幾種無法復原密碼編譯演算法?

無法復原密碼編譯演算法指資料經過加密後,不能還原成原來的資料。Android支援的有MD5、SHA、HMAC等。





《Android面試寶典》學習筆記(第七章:網路和加密)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.