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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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ę.

×