編輯: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開發中,我們經常會遇到訪問和加載本地聯系人的情況,畢竟手機中聯系人是最重要的數據之一,很多手機應用都會需要手機聯系人的信息,比如姓名、手機號碼等。
最近相對來說比較閒,加上養病,所以沒事干就撸些自己之前的知識點為博客,方便自己也方便別人。 1 背景 之所以選擇這個知識點來分析有以下幾個原因: 逛GitHub
NanoHttpd是個很強大的開源庫,僅僅用一個Java類,就實現了一個輕量級的 Web Server,可以非常方便地集成到Android應用中去,讓你的App支
之前有人在知乎提問: “怎麼計算apk的啟動時間?” : 利用python或者直接用adb命令怎麼計算apk的啟動時間呢?就是計算從點擊圖標到apk完全啟動所