Ciele
- Implementácia skóre
- Implenetácia ukladania skóre do databázy s využitím Hibernate
Úvod
-
Toto cvičenie je venované implementácii skóre a jeho ukladania v rôznych moduloch
Postup
-
V archíve je pribalený súbor hibernate.cfg.xml, ktorý pridajte do modulu Desktop k zdrojom. V konfiguračnom súbore sú pripravené nastavenia pre databázu MySQL, v prípade inej databázy zmeňte nastavenia.Úloha: Vytvorte entitu Score, ktorá bude obsahovať meno a skóre aktuálneho hráča.Poznámka: Nezabudnite pridať entitu do applicationContext.xmlÚloha: Do modulu desktop pridajte triedu HibernateUtil:
public class HibernateUtil { private static final SessionFactory sessionFactory; private static final ServiceRegistry serviceRegistry; static { Configuration conf = new Configuration(); conf.configure(); serviceRegistry = new ServiceRegistryBuilder().applySettings(conf.getProperties()).buildServiceRegistry(); try { sessionFactory = conf.buildSessionFactory(serviceRegistry); } catch (Exception e) { System.err.println("Initial SessionFactory creation failed." + e); throw new ExceptionInInitializerError(e); } } public static SessionFactory getSessionFactory() { return sessionFactory; } }
Úloha: Vytvorte triedu Score aj v module desktop, ktorá narozdiel od Score v module core bude predstavovať Entitu ktorá sa namapuje na tabuľku v databázeÚloha: Vytvorte triedu ScoreDBManagerImpl (implementujúcu rozranie ScoreDBManager), ktorá bude predstavovať DAO pre naše skórePoznámka: Implementujte metódy z rozhrania pomocou HibernateUtil a sessionFactoryÚloha: Implementujte rozhranie ScoreDBManager aj v module AndroidÚloha: Uložte skóre do Preferences, ktoré nam ponúka LibGDXPoznámka: K preferences sa dostanete napríklad takto:
Používajte metódu put a get a za operáciami put zavolajte metódu flush()Gdx.app.getPreferences("score");
Úloha: Keďže sa implementácia v moduloch líši, nezabudnite že sa bude líšiť aj trieda beanu v applicationContext.xml v module android a v module desktop