1. android登錄,用什麼代替驗證碼
驗證碼主要為了防止不停地發送請求登錄,現在客戶端都是你自己做的了,這個控制起來不是更容易了么
驗證碼是伺服器生成的,保存到伺服器session里的
提交的時候,要去session里取出來對比
在android中,使用HTTPClient來提交數據,每次請求都要用同一個cookies
這樣的請求才能保持session的有效
HttpClient client=new HttpClient();
Cookie[] cookies=client.getState().getCookies(); //這是取出來
client.getState().addCookies(cookies); //這里設置
即你第一個次伺服器請求一個驗證碼,伺服器即生成一個驗證碼,並保存到當前這個session里
而客戶端下次請求(登錄的時候)需要將這個cookies重新提交到伺服器,伺服器才能保持這個session
2. android獲取簡訊驗證碼怎麼實現的
要用到簡訊驗證介面的,這個開發起來不復雜的。在程序里邊實現的流程是:用戶注冊會員的時候,先輸入自己的手機號碼,點擊獲取驗證碼;網站隨機生成一個數字作為驗證碼,同時調用驗證碼簡訊介面給這個用戶發送一條簡訊;用戶收到簡訊後填寫驗證碼,再跟生成的數字進行比對,如果一致,那麼說明用戶填寫的手機號碼是正確的,驗證成功
3. 如何用android studio實現生成驗證碼
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_phoneCode
=
(EditText)
findViewById(R.id.et_phoneCodes);
Button
but_toSetCode
=
(Button)
findViewById(R.id
.but_forgetpass_toSetCodes);
but_toSetCode.setOnClickListener(this);
iv_showCode
=
(ImageView)
findViewById(R.id.iv_showCode);
//將驗證碼用圖片的形式顯示出來
iv_showCode.setImageBitmap(Code.getInstance().createBitmap());
realCode
=
Code.getInstance().getCode();
iv_showCode.setOnClickListener(this);
}
Xml代碼
<ImageView
android:id="@
id/iv_showCode"
android:layout_width="100dp"
android:layout_marginLeft="10dp"
android:layout_height="match_parent"
/>
4. android識別驗證碼圖片的原理與思路
假設已經把驗證碼圖片保存到本地了
我說一下驗證碼識別的大致步驟吧
1,讀取圖片到bitmap
2,進行灰度操作
3,進行才二值操作
4,如果有干擾點 一般用濾波器或八鄰域去干擾點
5,如果有干擾線 如果是簡單的直線可以用掃描法,八後法等,復雜的應該根據特點調整演算法
6,如果有干擾色塊 也應該想法去除
7,如果有較大的傾斜 需要進行適當校正
8,此時得到的應該是比較干凈的字元了,如果是非粘連的可以直接用投影法分割成單個字元
如果有粘連,需要根據圖形特點從演算法上做相應的處理,保證大致分割正確
9,分割成單個字元以後,如果字元比較正常 變形扭曲程序不大,可以直接用模式識別
如果變形扭曲較厲害,一般建議使用神經網路進行訓練後再識別
如果是比較簡單的驗證碼可以使用網上的一些組件,我常用的一個是OcrKingApi
不是太復雜的識別效果還可以,關鍵是免費的。使用文檔可以看一下文庫的鏈接
http://wenku..com/view/b5b6721555270722192ef7b3.html