Android 数据验证
Android Data Validation
我想知道 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;
}
}
是否有更简单的方法来执行此操作,而无需为我希望接收的每种类型的数据创建单独的方法?
我上次需要快速验证时使用了 edittext-validator。像魅力一样工作:)
如果您正在使用 EditText
,您应该知道它的用途。通常您希望只有一个纯字符串,例如,将其发送到服务器或存储在 SharedPreferences
中。
但是,如果您要填写特定数据,可以使用Pattern
class 进行验证。如果您使用的是数字值 android:inputType="number"
并且在使用 Integer.valueOf(text)
转换它时
我想知道 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;
}
}
是否有更简单的方法来执行此操作,而无需为我希望接收的每种类型的数据创建单独的方法?
我上次需要快速验证时使用了 edittext-validator。像魅力一样工作:)
如果您正在使用 EditText
,您应该知道它的用途。通常您希望只有一个纯字符串,例如,将其发送到服务器或存储在 SharedPreferences
中。
但是,如果您要填写特定数据,可以使用Pattern
class 进行验证。如果您使用的是数字值 android:inputType="number"
并且在使用 Integer.valueOf(text)