Использование объекта для хранения данных из MYSQL и использование метода для распечатки всех данных в текстовых представлениях, но это не работает

#java #android #mysql #android-studio #object

#Ява #Android #mysql #android-студия #объект

Вопрос:

Я пытаюсь захватить данные из mysql и сохранить их в объекте с именем Пользователь, и я пытаюсь распечатать все данные из объектов в текстовые представления, используя метод показать учетную запись. По какой-то причине данные не печатаются при этих текстовых изменениях, и ошибок нет. Я думаю, что допустил логическую ошибку или, возможно, ошибку в том, как я использую объекты.

это код java.

 package com.example.flybyfinal;  import androidx.appcompat.app.AppCompatActivity;  import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView;  import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.HashMap; import java.util.Iterator; import java.util.Set;  public class accountActivity extends AppCompatActivity {  @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_account);   //calling method for moving to login page  configureLogout();  configureFlights();    //calling Async class.  new Async().execute(); }  //button for logout. private void configureLogout(){   //allocating variable for button widget.  Button toLoginButton = findViewById(R.id.btnLogout);   //listener for toLogin button.  toLoginButton.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {   //moving from current activity back to login activity.  startActivity(new Intent(accountActivity.this, loginActivity.class));  }  });  }  //button for going to flights screen private void configureFlights(){  Button toLoginButton = findViewById(R.id.btnFlights);  toLoginButton.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  startActivity(new Intent(accountActivity.this, flightActivity.class));  }  });  }  //async class for accessing mysql database class Async extends AsyncTasklt;Void, Void, Voidgt; {   //variables made for error message, place holders for extracted mysql data.  String error = "";  String fUsername, fPassword;  String username, fullname, email, wallet;    @Override  protected Void doInBackground(Void... voids) {   //variables for textviews which will display account details.  TextView tUsername,tEmail,tFullname, tWallet;   //receive data from login activity, receives logged in accounts username.  Intent intent = getIntent();  String accountUsername = intent.getStringExtra("usernameAcc");   //allocating variable to textView username.  tUsername = (TextView) findViewById(R.id.txtUsernameAcc);   //displaying username that has been carried over on textview.  tUsername.setText(accountUsername);   //try catch for connecting and getting data from mysql database.  try {   //using jdbc api to connect to mysqlServer, creating sql query to extract data.  Class.forName("com.mysql.jdbc.Driver");  Connection connection = DriverManager.getConnection("jdbc:mysql://192.168.1.12:3306/flyby", "luke", "luke");  Statement statement = connection.createStatement();  ResultSet resultSet = statement.executeQuery("SELECT username, fullName, email, eWallet FROM users");    //looping through extracted mysql database.  while (resultSet.next()) {   //sorting extracted data into Strings.  String tempUsername = resultSet.getString("username");  String tempFullname = resultSet.getString("fullname");  String tempEmail = resultSet.getString("email");  Double tempWallet = resultSet.getDouble("wallet");   //if statement to check if data from database is the same as the logged in account.  if (tempUsername.equals(accountUsername)) {   //creating user object with newly extracted data.  User tempUser = new User(tempUsername, tempFullname, tempEmail, tempWallet);   //call show account method which prints all of the data into textViews.  tempUser.showAccount();  }  }   //record error into a string.  } catch (Exception e) {  error = e.toString();  }  return null;  }   //class user for storing mysql data.  public class User {   //creating variables for stroring information of the class user.  private String username, fullname, email, string;  private Double wallet;   //creator method for class user.  public User(String username, String fullname, String email, Double wallet) {  this.username = username;  this.fullname = fullname;  this.email = email;  this.wallet = wallet;  }   //getters for class user.  public String getUsername() {  return username;  }   public String getFullname() {  return fullname;  }   public String getEmail() {  return email;  }   public Double getWallet() {  return wallet;  }   //setters for class user.  public void setUsername(String username) {  this.username = username;  }   public void setFullname(String fullname) {  this.fullname = fullname;  }   public void setEmail(String email) {  this.email = email;  }   public void setWallet(Double wallet) {  this.wallet = wallet;  }   //public method showAccount for printing all account details too textviews.  public void showAccount() {   //creating variables for textViews.  TextView tUsername, tFullname, tEmail, tWallet;  tUsername = (TextView) findViewById(R.id.txtUsernameAcc);  tFullname = (TextView) findViewById(R.id.txtFullnameAcc);  tEmail = (TextView) findViewById(R.id.txtEmailAcc);  tWallet = (TextView) findViewById(R.id.txtBalanceAcc);  //converting double to string.  getWallet().toString(Double.parseDouble(string));   //printing data from database to textviews.  tUsername.setText(username);  tFullname.setText(fullname);  tEmail.setText(email);  tWallet.setText(string);  }  }  } }  

все это работает, за исключением печати данных, что заставляет меня думать, что проблема в том, как я обрабатываю данные, прежде чем вводить их в объекты, или проблема в том, как я использую сами объекты.

Я добавил много комментариев, чтобы облегчить чтение кода, если потребуются какие-либо дополнительные ресурсы, дайте мне знать, и я обновлю вопрос.