原创 Android與服務器交互方式中的對稱加密和非對稱加密

對稱加密: 加密和解密數據都是使用同一個key,這方面的算法有DES。 非對稱加密: 加密和解密是使用不同的key。發送數據之前要先和服務端約定生成公鑰和私鑰,使用公鑰加密的數據可以用私鑰解密,反之。這方面的算法有RSA。ssh和ssl都

原创 AndroidStudio下ButterKnife的集成和使用

一、集成 1、在project的級別的builde文件中加上           dependencies {        ...        classpath 'com.neenbedankt.gradle.plugins:and

原创 屬性動畫繪製者Animator和自定義View

一、屬性動畫 1.Animator          3.0之後的api,如果要在3.0之前使用需要導入NineOldAndroids。   2.ObjectAnimator          改變對象(Object)的屬性,需要目標對象

原创 Activity生命週期,啓動模式LaunchMode,碎片Fragment,Intent跳轉傳遞

一、Activity生命週期(啓動模式爲默認的情況)          startActivity主要可以讓目標界面入棧(移到棧頂)          導致:當前的Activity進入stop狀態,目標界面將會從onCreate-->on

原创 Android下需注意的安全問題

1.錯誤導出組件 2.參數校驗不嚴 3.WebView引入各種安全問題,webview中的js注入 4.不混淆、不防二次打包 5.明文存儲關鍵信息 6.錯誤使用HTTPS 7.濫用權限、內存泄露、使用debug簽名

原创 ArrayList,Vector,LinkedList的區別

圖3來源Tsy遠 1.LinkedList類:增刪快,查詢慢。 LinkedList實現了List接口,允許null元素。 此外LinkedList提供額外的get,remove,insert方法在LinkedList的首部或尾部

原创 移位運算

以2x8=16爲例: int a=2<<3; a就是2乘以8的最後結果16;這是最省內存、最有效率的方法 2的二進制是10在32位存儲器裏面是0000 0000 0000 0010 左移三位後變成 0000 0000 0001 000

原创 goto

java也有goto,但是java的goto是保留字,意思是不排除以後會啓用,變成關鍵字。

原创 hashmap和hashtable的區別

Hashtable和HashMap類有三個重要的不同之處。 1.主要是歷史原因。Hashtable是基於陳舊的Dictionary類的,HashMap是Java1. 2引進的Map接口的一個實現。 2.最重要的不同是Hashtable的

原创 &和&&的區別

1. &是位運算符。&&是布爾邏輯運算符。 2. 在運行上,&兩邊的條件需要計算,所有都需要判斷,而&&先判斷左邊,如果不成立則後面的就不需要判斷,如果成立就繼續判斷右邊的條件。

原创 重啓tomcat服務器步驟

1、使用cmd進入dos界面 2、進入Tomcat安裝目錄                    C:\Users\Administrator.MS-201606131808>E:                    E:\>cdapa

原创 縮減APK包大小的方法

1.代碼 保持良好的編程習慣,不要重複或者不用的代碼,謹.添加libs,移除使用不到的libs。 使用proguard混淆代碼,它會對不用的代碼做優化,並且混淆後也能夠減少安裝包的大小。 native code的部分,大多數情況下只需要支

原创 .equals()與Hashcode,==的區別

一般來說,equals()是用來給開發者進行重寫,比較兩個對象值(兩個類的值)在什麼情況下是相同的。 hashcode用來鑑定2個對象地址是否相等。 equals() == 判斷左右是否長得一樣 判斷左右是否爲同一個東西 判斷兩個變量

原创 線程在執行過程中的狀態和調用run()與start()的區別

線程在執行過程中,會處於下面7種狀態: 1.就緒(Runnable):線程準備運行,不一定立馬就能開始執行。 2.運行中(Running):進程正在執行線程的代碼。 3.等待中(Waiting):線程處於阻塞的狀態,等待外部的處理結束。

原创 Android開發環境配置

win7 一、Java環境安裝          1、運行jdk安裝包(jdk_xxxx.exe)安裝jdk,默認安裝路徑如C:\Program Files\Java\jdk1.8.0_31          2、配置Java環境