Skocz do zawartości
  • 0
TachiMC

Jak używać UserManager

Pytanie

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Użytkownik
  • 0

User Manager - Menedżer użytkownika (czyli zarządza użytkownika) ;--; User Manager to coś co zarządza użytkownikami (user'ami) Można tego przykładowo użyć do zapisywania i ładowania użytkowników z bazy danych :v 

Jako użytkowników chodzi mi tutaj jako np. objekty User

Edytowane przez Peridot

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
1 minutę temu, Peridot napisał:

User Manager - Menedżer użytkownika (czyli zarządza użytkownika) ;--; User Manager to coś co zarządza użytkownikami (user'ami) Można tego przykładowo użyć do zapisywania i ładowania użytkowników z bazy danych :v 

Jako użytkowników chodzi mi tutaj jako np. objekty User

a wiesz jak się tego używa? bo mi o to głównie chodziło :<

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
1 minutę temu, TachiMC napisał:

a wiesz jak się tego używa? bo mi o to głównie chodziło :<

No tak jak pisałem, ja go używam do zapisywania danych użytkownika do bazy lub później ich odczytywania. Managery są to jedne z podstawowych rzeczy w javie które trzeba znać jeżeli chce się pisać nawet pluginy :v

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
Teraz, Peridot napisał:

No tak jak pisałem, ja go używam do zapisywania danych użytkownika do bazy lub później ich odczytywania. Managery są to jedne z podstawowych rzeczy w javie które trzeba znać jeżeli chce się pisać nawet pluginy :v

no jakoś tego nie ma nawet na angielskich forach, youtubach, polskich wszystkich forach, youtubach, itp.

Edytowane przez TachiMC

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
1 minutę temu, TachiMC napisał:

no jakoś tego nie ma nawet na angielskich forach, youtubach, polskich wszystkich forach, youtubach, itp.

Jeżeli się bardziej zagłębisz w te poradniki to na prawdę to jest, niestety przykładu ci nie podam :V 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
2 minuty temu, Peridot napisał:

Jeżeli się bardziej zagłębisz w te poradniki to na prawdę to jest, niestety przykładu ci nie podam :V 

;-------;

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
9 minut temu, TachiMC napisał:

;-------;

Dobra, to ja używam UserManagera tak

Masz obiekt User no i przechowuje w nim danę tego użytkownika, np. Poziom, Ile potworków zabił itd.

Lecz jest on dalej tylko w pamięci ram komputera, czyli jeżeli wyłączysz program/serwer wszystkie dane zostaną utracone, więc przydało by się gdzieś je zapisać

taki user manager ma metodę save lub jakąś inną lecz to tylko dla przykładu, i w tej metodzie zapisujesz te wszystkie dane do jakiegoś pliku, tabelki w mysql lub wielu innych miejscach.

No ale teraz zapisałeś i coś trzeba z tym zrobić, magicznie przecież się te dane nie załadują, no to też w tym UserManagerze masz metodę tym razem przykładowo load(), no i teraz w niej masz odczytywanie tych danych które wcześniej zapisałeś.

No to teraz ładujesz te dane do obiektu i znowu te dane są załadowane i możesz z nich korzystać.

 

I tutaj np. FileManager zarządza plikami, odczytuje je, zapisuje, tworzy itd.

Lub np. MapManager (mapa np. w jakiejś grze) zarządza tym co i jak jest ułożone na mapie, tworzy jakieś stworki itd.

 

Możesz tworzyć managery prawie wszystkiego :v

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
Godzinę temu, Peridot napisał:

No tak jak pisałem, ja go używam do zapisywania danych użytkownika do bazy lub później ich odczytywania. Managery są to jedne z podstawowych rzeczy w javie które trzeba znać jeżeli chce się pisać nawet pluginy :v

Czy ja wiem, ja tam czytalem wiele poradnikow i nie widzialem managerow =( 

No ja myśle, że taki usermanager, którego chcesz używać to najczęściej tylko mapka z userami (i ew. dodatkowe cache), a zapis (do jakiejs bazy danych) powinien byc jeszcze w oddzielnej klasie.

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

public class UserManager {

  private final Map<UUID, User> userMap = new HashMap<>();
    
  private final Cache<UUID, User> userCache = CacheBuilder.newBuilder()
      .expireAfterWrite(30, TimeUnit.MINUTES)
      .build();

  public User createUser(UUID uuid) {
    User user = this.userMap.get(uuid);
    if (user == null) {
      final User cachedUser = this.userCache.getIfPresent(uuid);
      if (cachedUser != null) {
        this.userMap.put(uuid, user = cachedUser);
        return user;
      }
      this.userMap.put(uuid, user = new UserImpl(uuid));
    }
    return user;
  }

  public void removeUser(UUID uuid) {
    final User user = this.userMap.get(uuid);
    if (user != null) {
      this.userCache.put(uuid, user);
    }
    this.userMap.remove(uuid);
  }
}

przy kazdym wyjsciu gracza z serwera wywolujesz na nim metode removeUse, no a gdy po prostu chcesz sie dodstac do usera to wywolujesz komende createUser (ktora pomimo nazwy - moze mylic, ale nie tworzy usera za kazdym razem - gdy owy juz istnieje to po prostu go zwraca, ew. gdy nie istnial ale istnieje taki user w userCache (tzn. wyszedl i wrocil w ciagu 30 minut) to wrzuca do mapki z powrotem tego usera i go zwraca)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Ten temat jest nieaktywny od dłuższego czasu. Nie odkopuj go bez potrzeby.

Dołącz do dyskusji

Możesz dodać zawartość i zarejestrować się później. Jeżeli masz już konto, zaloguj się, aby dodać zawartość za jego pomocą.

Losowy awatar
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Maksymalnie dozwolone są tylko 75 emotikony.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×