Hej, potrzebuje przekazać wartość loginu i hasła z "public void onClick(View v)" do "public class Async extends AsyncTask<Void, Void, Void>" robie to z pomocą innej UserData co widać w kodzie i fakt udaje się jednak wyrzuca mi błąd, że wartość musze zmienić na statyczną a oczywiście aplikacja, nie może mieć statycznego loginu i hasła wiec wszystko wyrzuca czy jest jakiś sposób na przekazanie tego bezpośrednio przez zmienną Login2 którą utworzyłem?
public void onClick(View v) {
if(validateLogin() && validatePassword() && validateRepeatPassword() && validateEmail() && validatePhone() && validateCheckBox()) {
UserData userData = new UserData(loginEditText.getText().toString(), passwordEditText.getText().toString(), emailEditText.getText().toString(),
phoneEditText.getText().toString());
String Login2 = loginEditText.getText().toString();
Intent intent = new Intent();
intent.putExtra(NEW_USER_DATA, userData);
setResult(Activity.RESULT_OK, intent);
finish();
}
}
public class Async extends AsyncTask<Void, Void, Void> {
String records = "", error = "";
@Override
protected Void doInBackground(Void... voids) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://192.168.1.16:3300/android", "andro", "andro");
String query = " insert into users (login, haslo, email, phone_number)"
+ " values (?, ?, ?, ?)";
PreparedStatement preparedStmt = connection.prepareStatement(query);
preparedStmt.setString (1, Login2);
preparedStmt.setString (2, UserData.getPassword());
preparedStmt.setString (3, UserData.getEmail());
preparedStmt.setString (4, UserData.getPhone());
preparedStmt.execute();
} catch (Exception e) {
error = e.toString();
}
return null;
}
}