Hej hej,
postanowiłem sobie dziś stworzyć ToDo apkę. Stanąłem na problemie z logowaniem.
Na samym początku mam do wyboru 2 opcję albo stworzenia nowego konta albo zalogowania się już do istniejącego.
Main:
switch (option) {
case 1:
accountMaker.CreateAccount();
isTrue = false;
System.out.println("Now let's log into you account.");
case 2:
System.out.println("loguje"); // tutaj ma byc ta metoda, ktora bedzie odpowiadala za logowanie
isTrue = false;
break;
}
Jako, że nigdy nie bawiłem się jeszcze w bazy danych, także konto trzeba utworzyć w programie :).
Użyłem do tego HashMapy, gdzie key to jest login a value to jest hasło.
Tak wygląda ta klasa:
AccountMaker
import java.util.HashMap;
import java.util.Scanner;
public class AccountMaker {
private HashMap<String, String> loginDetails = new HashMap<>();
private Scanner input = new Scanner(System.in);
private String login, password;
void CreateAccount() throws InterruptedException {
System.out.println("Input your login");
login = input.next();
System.out.println("Input your password");
password = input.next();
loginDetails.put(login, password);
System.out.println("Account has been created successfully");
Thread.sleep(2000);
}
}
Następnie musimy się zalogować i tutaj mam problem, bo nei wiem jak to zrobić w drugiej klasie.
Mam coś takiego:
AccountLogger
public class AccountLogger {
private AccountMaker accountMaker;
private AccountLogger(AccountMaker accountMaker) {
this.accountMaker = accountMaker;
}
private boolean logIntoAccount() {
return true;
}
}
I teraz nie wiem jak zrobić, by móc się zalogować oraz sprawdzić czy np. dany użytkownik wpisał dobry key i dobre value.Jak zły key czy value to wyskoczy o tym informacja, jak dobry to wyskoczy informacja ze zalogowano... Po prostu jak działać na tej HashMapie.
Próbowalem za pomoca gettera HashMapy z klasy AccountMaker, ale bez skutku. Może powinienm użyć czegoś innego aniżeli HashMapy?
Z góy dziękuję za pomoc.