Как добавить валидацию в мою деятельность onCreate для валидации введенного текста EditText или числовых данных в SQLite в приложении Android - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь создать приложение-опрос для 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 Ответ

0 голосов
/ 18 апреля 2019

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

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

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

        }
    }
}
}

Примерно так, в зависимости от вашей ситуации, а затем сохранить данные в вашей базе данных.

...