編輯:Android資訊
本文由碼農網 – 小峰原創,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
Fire Eye是一款輕量級簡單易用的Android校驗庫。
FireEye 2.0 在 1.0 的基礎上,全部重寫了代碼,並優化了架構,性能上和邏輯上都大大提升。只需要幾行代碼,即可驗證用戶輸入,並且將驗證錯誤反饋給用戶。它內置了大量常用的驗證類型,足以滿足你的功能需求。

Add dependency
dependencies {
compile 'com.github.yoojia:fire-eye:2.2@aar'
}
Maven
<dependency>
<groupId>com.github.yoojia</groupId>
<artifactId>fire-eye</artifactId>
<version>2.2</version>
<type>aar</type>
</dependency>
靜態模式是指對輸入內容進行模式匹配,不需要額外參數即可校驗的模式。如校驗郵件地址是否正確等。
數值模式是指需要額外參數來完成對輸入內容的校驗過程的模式。如判斷內容是否與另一個相同等。
// 自定義顯示出錯消息的方式,默認是在 EditText 右邊顯示一個浮動提示框。
MessageDisplay messageDisplay = new MessageDisplay() {
@Override
public void dismiss(TextView field) {
field.setError(null);
}
@Override
public void show(TextView field, String message) {
field.setError(message);
Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show();
}
};
// 使用表單查找器來查找輸入框
View formView = findViewById(R.id.form);
Form form = new Form(formView);
FireEye fireEye = new FireEye();
fireEye.add(form.byId(R.id.form_field_1), StaticPattern.Required.setMessage(R.string.tip_required), StaticPattern.Mobile);
fireEye.add(form.byId(R.id.form_field_2), StaticPattern.BankCard.setMessage("請輸入您的銀行卡號"));
fireEye.add(form.byId(R.id.form_field_3), StaticPattern.Digits);
fireEye.add(form.byId(R.id.form_field_3), ValuePattern.MaxLength.setValue(20));
fireEye.add(form.byId(R.id.form_field_4), StaticPattern.Required, StaticPattern.Email);
fireEye.add(form.byId(R.id.form_field_5), ValuePattern.Required, ValuePattern.EqualsTo.lazy(new TextViewLoader(form.byId(R.id.form_field_4))));
fireEye.add(form.byId(R.id.form_field_6), StaticPattern.Host);
fireEye.add(form.byId(R.id.form_field_7), StaticPattern.URL);
fireEye.add(form.byId(R.id.form_field_8), ValuePattern.MaxLength.setValue(5));
fireEye.add(form.byId(R.id.form_field_9), ValuePattern.MinLength.setValue(4));
fireEye.add(form.byId(R.id.form_field_10), ValuePattern.RangeLength.setFirstValue(4L).setSecondValue(8L));
fireEye.add(form.byId(R.id.form_field_11), StaticPattern.NotBlank);
fireEye.add(form.byId(R.id.form_field_12), StaticPattern.Numeric);
fireEye.add(form.byId(R.id.form_field_13), ValuePattern.MaxValue.setValue(100));
fireEye.add(form.byId(R.id.form_field_14), ValuePattern.MinValue.setValue(20));
fireEye.add(form.byId(R.id.form_field_15), ValuePattern.RangeValue.setFirstValue(18L).setSecondValue(30L));
Result r = eye.test();
if(r.passed){
// 校驗通過
}else{
// 校驗失敗
}
FireEyeEnv.isDebug = true;
設置FireEye環境變量,可以查看FireEye的校驗過程及結果。
FireEye.dump()
此方法可以輸出詳細的校驗配置信息。其輸出內容示例:
android.support.v7.internal.widget.TintEditText{42a99d60 VFED..CL .F...... 0,0-1080,118 #7f090040 app:id/form_field_1}@必填選項|手機號碼:
-> patterns:
{pattern=Required, messageId=-1, message='請填寫您的手機號'} ,
{pattern=Mobile, messageId=-1, message='手機號錯誤'}
Android訪問和加載本地聯系人的代碼實現
在Android開發中,我們經常會遇到訪問和加載本地聯系人的情況,畢竟手機中聯系人是最重要的數據之一,很多手機應用都會需要手機聯系人的信息,比如姓名、手機號碼等。
Android異步消息處理機制詳解及源碼分析
最近相對來說比較閒,加上養病,所以沒事干就撸些自己之前的知識點為博客,方便自己也方便別人。 1 背景 之所以選擇這個知識點來分析有以下幾個原因: 逛GitHub
基於 NanoHttpd 的 Android 視頻服務器開發
NanoHttpd是個很強大的開源庫,僅僅用一個Java類,就實現了一個輕量級的 Web Server,可以非常方便地集成到Android應用中去,讓你的App支
Android 中如何計算 App 的啟動時間?
之前有人在知乎提問: “怎麼計算apk的啟動時間?” : 利用python或者直接用adb命令怎麼計算apk的啟動時間呢?就是計算從點擊圖標到apk完全啟動所