Как добавить проверку к моей активности onCreate для проверки ввода текста EditText или числовых данных в SQLite в приложении для Android

#android #validation #android-edittext

#Android #проверка #android-edittext

Вопрос:

Я пытаюсь создать приложение для опроса с Android Studio, которое хранит данные в базе данных SQLite. Я сделал это так, но мое приложение показывает остановку предупреждения, потому что я ввел недопустимую запись, поэтому я хочу добавить проверку для ввода EditText из onCreate MyActivity, если это возможно для моего кода:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_buat_biodata);

    dbHelper = new com.example.try1.DataHelper(this);
    text1 = (EditText) findViewById(R.id.editText1);
    text2 = (EditText) findViewById(R.id.editText2);
    text3 = (EditText) findViewById(R.id.editText3);
    text4 = (EditText) findViewById(R.id.editText4);
    text5 = (EditText) findViewById(R.id.editText5);
    ton1 = (Button) findViewById(R.id.button1);
    ton2 = (Button) findViewById(R.id.button2);

    ton1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            SQLiteDatabase db = dbHelper.getWritableDatabase();
            db.execSQL("insert into biodata(no, nama, tgl, jk, alamat) values('" 
                    text1.getText().toString() "','" 
                    text2.getText().toString() "','" 
                    text3.getText().toString() "','" 
                    text4.getText().toString() "','" 
                    text5.getText().toString() "')");
            Toast.makeText(getApplicationContext(), "Berhasil", Toast.LENGTH_LONG).show();
            MainActivity.ma.RefreshList();
            finish();
        }
    });
    ton2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            finish();
        }
    });
}
 

Ответ №1:

Перед вызовом методов SQLite (db.ExecSQL) вы должны написать несколько методов проверки. эти методы будут представлять собой комбинацию некоторых, если они еще обусловлены. Сначала вы должны проверить, содержат ли условия для всех полей правильные данные и заполнены текстом или нет, как показано ниже. код.

 email = tie_emailId_SignUp.getText().toString();
password = tie_password_SignUp.getText().toString();
confirmPassword = tie_confirmPassword_SignUp.getText().toString();

if (!email.isEmpty() amp;amp; isvalidateEmail(email)) {
    if (!password.isEmpty()) {
        if (!confirmPassword.isEmpty() amp;amp; confirmPassword.equals(password)) {

        }
    }
}
}
 

Что-то вроде этого, в зависимости от вашей ситуации, а затем сохраните данные в своей базе данных.