• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przekazywanie zmiennej Java

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
+1 głos
108 wizyt
pytanie zadane 15 maja 2021 w Java przez BezBarwny Użytkownik (700 p.)

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;

        }
    }

 

1 odpowiedź

+1 głos
odpowiedź 16 maja 2021 przez Wiciorny Ekspert (251,470 p.)
utworzyć odpowiedni obiekt w metodzie statycznej który odwoła się do zmiennych ? Ewentualnie użyć metody która zwraca taki obiekt i jest statyczna, a ten obiekt będzie miał już odpowiednie wartości pobierane np z bazy.

Podobne pytania

0 głosów
2 odpowiedzi 146 wizyt
0 głosów
0 odpowiedzi 142 wizyt
0 głosów
1 odpowiedź 1,509 wizyt
pytanie zadane 18 marca 2019 w Java przez Roman1212 Początkujący (460 p.)

90,829 zapytań

139,505 odpowiedzi

313,598 komentarzy

60,325 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...