Cześć, napotkałem na taki problem,
Pobieram plik z tabelą w formacie .csv, nastęonie odczytuję go poprzez CSVRearer z zastosowaniem wybranego prze zemnie separatora.
Dane potrafie wyświetlić, ale nie chcą mi się porównać.
Dane z bazy to login i hasło, takie same dane wprowadzam w dwa pola i zapisuję do zmiennej jako string.
Dlaczego String z pliku .csv nie chce się porównać ze stringiem z pola tekstowego?
String user = "";
String pass = "";
boolean logOk = false;
public void logowanie(View v) {
logOk = false;
EditText et1 = findViewById(R.id.enterUser);
user = et1.getText().toString();
EditText et2 = findViewById(R.id.enterPass);
pass = et2.getText().toString();
new importBazyUser().execute();
}
ponoć powinno to być zapisane tak " if(user.equals(userBase))", ale nie działa to ani if(user == userBase)
private class importBazyUser extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
tagInfoBGW = "start logowania" + "\n";
try {
tagInfoBGW += "test importu bazy danych" + "\n"; //raportowanie
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File imgFile = new File(path, "/ftp/bazy/userapk.csv");
testNadaniaUprawnien();
CSVReader reader = new CSVReader(new FileReader(imgFile), '^');
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
String userBase = nextLine[0].toString();
if(user.equals(userBase)) {
tagInfoBGW += "user ok: " + user + " / " + userBase + "\n"; //raportowanie
} else {
tagInfoBGW += "user er: " + user + " / " + userBase + "\n"; //raportowanie
}
}
tagInfoBGW += "baza zaimportowana" + "\n"; //raportowanie
} catch (IOException e) {
tagInfoBGW += "error " + e.toString() + "\n"; //raportowanie
}
return tagInfoBGW;
}
}