我想知道什么是最有效的Android数据验证形式。因此,从EditText
获取值时,如何在使用之前验证给定的值?我目前检查以确保使用guava库从getText().toString()
返回的字符串不为null或为空:
Strings.isNullOrEmpty(editText.getText().toString())
然后,根据我期望的数据类型,我创建了一个方法来查看是否可以解析数据。所以如果我期待一个双倍的话,我会创建一个这样的方法:
private boolean isDouble(String string) {
try {
double stringDouble = Double.parseDouble(string);
return true;
} catch (Exception e)
{
return false;
}
}
是否有更简单的方法可以在不需要为我期望接收的每种数据类型创建单独的方法的情况下执行此操作?
答案 0 :(得分:1)
我上次需要快速验证时使用了edittext-validator。像魅力一样工作:)
答案 1 :(得分:1)
如果您使用的是EditText
,您应该知道它的用途。通常,您希望只有一个纯字符串,例如,将其发送到服务器或存储在SharedPreferences
中。
但是,如果您希望填写特定数据,则可以使用Pattern
类进行验证。如果是数字值,则使用android:inputType="number"
并使用Integer.valueOf(text)