我正在建立一个数据库,我想阻止用户放置空文本。我该怎么办呢?下面的代码有什么问题?
public void AddData () {
addbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (name != null && surname != null && marks != null) {
String name1 = name.getText().toString();
String surname1 = surname.getText().toString();
String marks1 = marks.getText().toString();
boolean isInserted = mydb.insertdata(name1, surname1, marks1);
if (isInserted) {
Toast.makeText(MainActivity.this, "Data entered successfully", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "Failed to enter Data", Toast.LENGTH_LONG).show();
}
}else if (name == null && surname == null && marks == null) {
Toast.makeText(MainActivity.this, "Please enter Data", Toast.LENGTH_LONG).show();
}
}
});
}
你只想检查字符串的长度。
public void AddData () {
addbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name1 = name.getText().toString();
String surname1 = surname.getText().toString();
String marks1 = marks.getText().toString();
if (name1.length() > 0 && surname1.length() > 0 && marks.length() > 0) {
boolean isInserted = mydb.insertdata(name1, surname1, marks1);
if (isInserted) {
Toast.makeText(MainActivity.this, "Data entered successfully", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "Failed to enter Data", Toast.LENGTH_LONG).show();
}
}else if (name == null && surname == null && marks == null) {
Toast.makeText(MainActivity.this, "Please enter Data", Toast.LENGTH_LONG).show();
}
}
});
}
您还可以编写一个函数来验证您的输入:
private boolean validateInput(String input) {
if(input == null)
return false;
if( input.length == 0)
return false;
//... Other validation checks
return true;
}
但您不只是想根据长度验证数据。您的输入验证应反映您期望的数据类型。例如,如果您要查找电话号码,则应删除不属于电话号码的任何字符。您不希望有人在您的电话号码输入字段中输入他们的电子邮件地址。
让我们考虑使用Guava library和方法isNullOrEmpty这是非常有用的。