Skocz do zawartości
  • 0

Jak używać UserManager


Pytanie

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 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
Odnośnik do komentarza
https://skript.pl/temat/32685-jak-u%C5%BCywa%C4%87-usermanager/#findComment-212313
Udostępnij na innych stronach

  • 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 :<

Odnośnik do komentarza
https://skript.pl/temat/32685-jak-u%C5%BCywa%C4%87-usermanager/#findComment-212315
Udostępnij na innych stronach

  • 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

Odnośnik do komentarza
https://skript.pl/temat/32685-jak-u%C5%BCywa%C4%87-usermanager/#findComment-212317
Udostępnij na innych stronach

  • 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
Odnośnik do komentarza
https://skript.pl/temat/32685-jak-u%C5%BCywa%C4%87-usermanager/#findComment-212318
Udostępnij na innych stronach

  • 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 

Odnośnik do komentarza
https://skript.pl/temat/32685-jak-u%C5%BCywa%C4%87-usermanager/#findComment-212320
Udostępnij na innych stronach

  • 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

Odnośnik do komentarza
https://skript.pl/temat/32685-jak-u%C5%BCywa%C4%87-usermanager/#findComment-212325
Udostępnij na innych stronach

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

https://github.com/yooniks/NatalciaGuilds/blob/master/natalciaguilds-bukkit/src/main/java/xyz/yooniks/natalciaguilds/bukkit/user/UserManagerImpl.java

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)

Odnośnik do komentarza
https://skript.pl/temat/32685-jak-u%C5%BCywa%C4%87-usermanager/#findComment-212333
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...