Obsah:
- Krok 1: Co budete potřebovat
- Krok 2: Nastavení databáze
- Krok 3: Nastavení NetBeans
- Krok 4: Kódování naší hlavní třídy
- Krok 5: Definování naší metody Create ()
- Krok 6: Kódování naší aplikace
- Krok 7: Kompilace a zabalení našeho souboru Jar
- Krok 8: Gratulujeme
Video: Aplikace Java běžela v databázi Disku Google: 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Chtěli jste někdy vytvořit aplikaci, která běží na dynamické databázi, se kterou se snadno pracuje, umožňuje uživatelům, kteří nejsou technicky zdatní, zadávat data a nespotřebovává zdroje společnosti? Pak pro vás mám řešení. Dnes budeme stavět aplikaci, která běží na Disku Google (tedy konkrétně v Tabulkách Google) a kterou lze použít k celé řadě různých účelů. Ačkoli se tento tutoriál zaměří na vytvoření aplikace založené na událostech, která zobrazí seznam událostí, které se dějí kolem univerzitního kampusu, tento projekt lze snadno přepsat, aby fungoval mnoha způsoby, ať už jde o aplikaci kalkulačky pro aplikaci, která monitoruje zásoby pro produkty. Připojil jsem kopii své žádosti, pokud byste chtěli vidět, co budeme dělat. Rozbalte zip soubor a spusťte v něm JAR. A teď, bez dalších okolků, začněme!
Krok 1: Co budete potřebovat
Chcete -li začít s tímto projektem, budete potřebovat následující zdroje:
-
Netbeans
Doporučuji stažení Java EE, protože poskytuje podporu serveru, ale pokud nechcete nějaké nepotřebné soubory nebo místo na disku, Java SE bude fungovat také. Netbeans bude sloužit jako IDE pro kódování a kompilaci naší aplikace
-
Jsoup
Zahrnul jsem to do Instructables, které si můžete stáhnout. Jedná se o analyzátor HTML, který nám umožní získat informace z publikované tabulky
-
Java SDK (V8)
Stáhněte si libovolný soubor, který vyhovuje vašemu systému. Pokud již máte sadu Java SDK v předchozí verzi, doporučuji aktualizaci. Některé z mých funkcí používají nové výrazy lambda nativní pro v8 a kód bez nich nemusí fungovat v závislosti na tom, co děláte
-
Visual Studio (volitelně)
Zcela volitelně. Přestože NetBeans funguje skvěle při kompilaci a balení naší aplikace, nejsem velkým fanouškem vývojového studia. Raději kóduji ve VS, protože má hezčí rozhraní. Pokud se vám to nelíbí, existuje spousta dalších IDE online, takže si najděte, co se vám nejvíce líbí
-
Startovací kód
Zahrnul jsem startovací kód do zdrojů tohoto dokumentu a také jej publikoval na GitHub. V tomto mám hlavní soubor (Event), který poskytuje strukturu souboru, který aplikaci skutečně spouští, a také EventTester, který pomocí JavaFX vytváří GUI pro aplikaci. Pokud chcete získat plný zážitek, nedoporučuji kopírování a vkládání. Udělejte si čas a přečtěte si to
Ostatní:
Základní znalost Javy. Bude užitečné mít znalosti v Javě, jako je psaní funkcí, vytváření objektů atd
Krok 2: Nastavení databáze
K zahájení projektu musíme nejprve přejít na Disk Google a vytvořit list, který použijeme ke spuštění naší aplikace. Přejděte na stránku drive.google.com, klikněte na ikonu „Nový“v levém horním rohu a pod ní vyberte „Listy“.
Jakmile se list načte, pokračujte a přejmenujte ho na něco snadno rozpoznatelného. Až to uděláte, pokračujte a vyplňte horní řádek svými daty, jako jsou věci, které budete vkládat do každého sloupce. Když se podívám na svůj příklad zde, označil jsem horní řádek věcmi jako „Název události“, „Datum“atd.
Poté proveďte vyplnění tabulky údaji, která chcete vyplnit. Nezapomeňte všechna svá data formátovat podobně, aby s nimi kód mohl pracovat, aniž by docházelo k chybám. Pokud například plánujete ve svém kódu použít data, dávejte pozor, abyste každé datum formátovali stejně, jinak jej kód nebude moci analyzovat.
Po vložení dat tabulku zveřejněte v části „Soubor“-> „Publikovat na webu“. Odtud budete chtít vybrat celý dokument a ujistit se, že je publikován jako soubor HTML, takže naše aplikace dokáže správně vykreslit data. Po publikování tabulky si poznamenejte odkaz, který poskytuje. To bude potřeba později v aplikaci.
Krok 3: Nastavení NetBeans
Nyní, když máme tabulku, je čas nastavit NetBeans, abychom mohli začít s kódováním. Po stažení a instalaci NetBeans a sady Java SDK pokračujte a vytvořte nový projekt. Při výběru typu jste vybrali kategorii „Java“a projekt „Java Application“. Vyberte si, jak chcete, aby se váš projekt jmenoval (pojmenoval jsem svůj jednoduše „Událost“). Zaškrtněte políčko „Použít vyhrazenou složku pro ukládání knihoven“a zaškrtněte políčko vedle „Vytvořit hlavní třídu“. Poté by měl NetBeans vytvořit projekt a adresář projektu, abychom mohli začít pracovat, podobně jako na obrázku.
Než začneme kódovat, budeme se také muset ujistit, že NetBeans má knihovnu JSoup, kterou bude potřebovat k analýze naší tabulky. V NetBeans klikněte pravým tlačítkem na ikonu "Knihovny" pod adresářem vašeho projektu. V rozbalovací nabídce vyberte tlačítko pro přidání souboru.jar. Nyní přejděte kamkoli jste umístili svép stahování (pravděpodobně vaše složka Stažené soubory, pokud jste neuvedli jinde). Vyberte tento soubor a přidejte jej do knihovny. Pokud v NetBeans rozbalíte složku Libraries, měli byste nyní v této oblasti vidět jsoup.jar. Poté jsme mohli začít kódovat naši aplikaci.
Krok 4: Kódování naší hlavní třídy
Prvním krokem při kódování naší aplikace je tedy vytvoření vaší hlavní třídy. Vaše hlavní třída bude tam, kde vytváříme naše objekty, budeme mít metody, které interagují s JSoup, a další. Za předpokladu, že každý, kdo to čte, má zkušenosti s kódováním, pokračujte a použijte následující importy:
import java.util. Collections;
import java.util. List;
import java.util. ArrayList;
import java.util. Date;
import java.util.stream. Stream;
import java.util.stream. Collectors;
import java.text. SimpleDateFormat;
import java.text. ParseException;
import org.jsoup. Jsoup;
import org.jsoup.nodes. Document;
import org.jsoup.nodes. Element;
import org.jsoup.select. Elements;
import javafx.beans.property. SimpleStringProperty;
Může se to zdát hodně a v závislosti na vašem projektu nemusí být vše nutné. Jak budeme pokračovat v kódování, NetBeans vás bude informovat, pokud máte nějaké nepoužité importy, takže je můžeme kdykoli později smazat. Právě to však nyní potřebujeme.
Poté, co jsme dostali naše příkazy k importu, pokračujme a deklarujte naši třídu. Pokud plánujete při vývoji objektu specifického pro třídu používat data nebo jiný než základní objekt, doporučuji do deklarace třídy přidat „implementovatelné srovnatelné“. To vám umožní porovnat objekty, což vám umožní později seřadit seznam ClassObjects. Poté to udělejte a deklarujte všechny proměnné instance, které budete potřebovat. Pro každý veřejný řetězec, který vytvoříte, budete také muset pro něj vytvořit SimpleStringProperty. Jedná se o objekty JavaFX, které nám později umožní pracovat s objekty naší hlavní třídy.
Nyní pokračujte a deklarujte přístup k funkcím. Pokud jde o vaše základní proměnné, můžete pojmenovat své funkce, cokoli si vyberete. Pro funkce přístupu SSP však musíte použít formát getFunctionNameHere (). Důvodem je, že později se k připojení k těmto funkcím použijeme JavaFX a funkce, které budeme používat, vyžadují, abychom zahájili funkce SSP pomocí get. Příklad můžete vidět výše.
Po definování všech vašich přístupových proměnných pokračujte a definujte další funkce, které byste mohli potřebovat. Toto je velmi specifické pro uživatele, protože funkce, které potřebujete, se liší projekt od projektu. Pokud potřebujete nějakou inspiraci, podívejte se na můj Javadoc nebo skutečný kód a podívejte se na některé funkce, které jsem vytvořil. Například jsem vytvořil funkci řazení, která třídí seznam podle data, stejně jako funkce, které vracely pouze události se skupinovými stavy veřejného a další. Ačkoli je v pořádku provést tyto statické práce, abyste mohli provést nějaké testování, doporučuji, abyste po dokončení ladění neměli žádné statické metody, abyste se vyhnuli chybám, když se dostaneme k dalšímu kroku projektu.
Krok 5: Definování naší metody Create ()
Nyní přichází možná nejdůležitější část kódu, kde budeme definovat naši metodu create (), což bude vlastně přístup na naši webovou stránku a získání dat. Je důležité si uvědomit, že do deklarace metody budete muset přidat řádek výjimky throws, abychom do našeho kódu nemuseli zapisovat bloky try. Začněte tím, že deklarujete prázdný seznam svého objektu. V mém případě to vypadalo
Události události = nový ArrayList ()).
Nyní přejděte a najděte adresu URL, kterou jste dříve zkopírovali do publikované tabulky. Tento odkaz deklarujte jako řetězec v Javě a říkejte mu, jak chcete. Nyní pokračujte a deklarujte nový dokument Jsoup. To lze provést vytvořením nového objektu dokumentu, například
Dokument doc = nový dokument ();
Nyní pokračujte a nastavte dokument tak, aby se připojil k naší adrese URL a získal data. Chcete -li to provést, zkuste:
Dokument doc = Jsoup.connect (url).get ();
Nyní musíme získat tělo našeho dokumentu, kde se ukládají skutečná data.
Tělo řetězce = doc.body (). Text ();
Nyní musíme začít vytahovat data z těla. Protože jsou naše data v tabulce (protože to byla tabulka), musíme tabulku vytáhnout z těla. Zkusme to
Tabulka prvků = doc.select ("tabulka"). Get (0);
Tím se vybere první tabulka. V tomto případě existuje pouze jeden. Nyní napište
Prvky řádků = tabulka.select ("tr");
Tím získáme všechny řádky v uvedené tabulce.
Takže nyní jsou všechna naše data uvnitř této proměnné řádků. To je dobré a všechno, ale smyslem psaní této funkce uvnitř této třídy je, abychom z ní mohli vytvářet objekty. Než to tedy budeme moci vrátit, musíme z našich řádků vytvořit Seznam. K tomu můžeme použít smyčku for. Musím poznamenat, že mi to trvalo trochu pokusů a omylů, než jsem se dostal do pořádku. Uvědomil jsem si, že při vytahování z řádků některá naše data nejsou pro tuto situaci užitečná, protože poskytují věci jako název jednotlivého listu, první řádek s našimi nápady na data atd. Nakonec jsem nastavil počáteční zadání čísla pro smyčku for na 2, takže tyto položky obejde a může vytvářet naše položky. Nakonec jsem vyvinul vzhled s kódem
for (int i = 2; i <rows.size (); i ++) {
Element row = rows.get (i);
Elements cols = row.select ("td");
Chcete -li vytvořit objekt, proveďte něco podobného
Název objektu = nový Objekt (cols.get (0).text ());
Cols.get (0) v zásadě získá data ze sloupce (i) sloupce (0) a přemění je na String, který pak může být předán do konstruktoru objektu.
Po nastavení vaší konstrukce ji přidejte do seznamu, který jsme vytvořili dříve pomocí list.add (), jako například
events.add (jméno);
Nyní zavřete smyčku for a zavolejte všechny funkce, které nyní můžete potřebovat. Například jsem zavolal funkci třídění, abych dostal Události podle data. Poté vraťte svůj seznam a poté jste s touto sekcí skončili!
Krok 6: Kódování naší aplikace
Vytvořte nový soubor a pojmenujte jej, jakkoli si vyberete. Budete potřebovat následující importy:
import java.util. List;
import java.util. ArrayList;
import java.util. Date;
import javafx.geometry. Pos;
import javafx.scene.layout. HBox;
import javafx.application. Application;
import javafx.collections.transformation. FilteredList;
import javafx.scene.text. Font; import javafx.scene.control.*;
import javafx.collections. FXCollections;
import javafx.collections. ObservableList;
import javafx.geometry. Insets;
import javafx.scene. Group;
import javafx.scene. Scene;
import javafx.scene.control. Label;
import javafx.scene.control.cell. PropertyValueFactory;
import javafx.scene.layout. VBox;
import javafx.stage. Stage;
Vím, že se to může zdát hodně, ale věřte mi, že jsou nezbytné pro spuštění naší aplikace. Pokračujte a deklarujte svou třídu a ujistěte se, že rozšiřuje aplikaci, protože je to nezbytná součást projektu. Na začátku deklarujte novou proměnnou instance, která je TableView vašeho objektu, jako například
soukromá tabulka TableView = nový TableView ();
Také deklarujte hlavní metodu, kterou použijeme ke spuštění aplikace. V zásadě by to mělo vypadat jako na obrázku nahoře.
Nyní musíme vytvořit naši počáteční metodu. Ujistěte se, že vyvolá výjimku, protože budeme volat metodu create () z naší bývalé třídy. Vytvořte novou událost s prázdnými parametry, jednoduše, abychom s ní mohli volat metodu create. Definujte nový seznam a nastavte jej na výsledek create (). Nyní vytvořte nový ObservableList, který bude použit k naplnění naší tabulky našimi daty. Definujte to takto:
Data ObservableList = FXCollections.observableArrayList ();
Nyní vytvořte novou scénu s:
Scéna scény = nová scéna (nová skupina ());
Nastavte název, šířku, výšku a vše ostatní, co potřebujete, ať vám to vyhovuje cokoli. Moje hodnoty můžete vidět na obrázku v horní části. Nyní můžeme začít připravovat stůl. Pro všechny informace, které chcete zobrazit, vytvořte TableColumn jako:
TableColumn eventCol = nový TableColumn ("Název události"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (nová PropertyValueFactory ("sName"));
Parametr „sName“by měl být vyplněn jakýmkoli názvem vašich přístupových funkcí SSP, aby mohl získat hodnoty, které pro dané objekty potřebujete. Vytvořte tolik sloupců, kolik potřebujete, a poté je přidejte do tabulky pomocí
FilteredList flEvent = new FilteredList (data, p -> true);
table.setItems (flEvent);
table.getColumns (). addAll (eventCol, statCol, groupCol, datingCol, descCol, locationCol);
Pokud byste chtěli přidat vyhledávací lištu jako já, zkontrolujte v kódu informace o tom, jak vytvořit choiceBox a textField, což umožní vašemu uživateli filtrovat tabulku podle konkrétních hodnot. Pokud jste se tak rozhodli, budete také muset vytvořit hBox, který je bude obsahovat, s
HBox hBox = nový HBox (choiceBox, textField);
hBox.setAlignment (Pos. CENTER);
Budete také muset přidat hBox do níže uvedené metody.addAll ().
V opačném případě jednoduše vytvořte nový vBox, do kterého budete ukládat naše data
final VBox vbox = nový VBox ();
vbox.getChildren (). addAll (štítek, tabulka);
((Skupina) scene.getRoot ()). GetChildren (). AddAll (vbox);
stage.setScene (scéna); stage.show ();
Nyní zkompilujte kód a spusťte jej a zjistěte, zda funguje. Pomocí NetBeans najděte chyby, které se zobrazí jako červené pruhy na pravé straně obrazovky. Pokračujte v tom, dokud nebudete mít žádné další chyby, a projekt se spustí.
Po dokončení kódování doporučím vytvořit Javadoc vašeho kódu, aby lidé viděli, co váš kód dělá. Chcete -li to provést, jednoduše klikněte na tlačítko „Spustit“v horní části obrazovky na „Generovat Javadoc“. Kopii mého Javadoc můžete najít tak, že se podíváte do zip souboru na první stránce a vyberete soubor index.html.
Krok 7: Kompilace a zabalení našeho souboru Jar
Jakmile dostatečně odladíte svůj a úspěšně spustíte, můžete jej nakonec zkompilovat do souboru JAR, který pak lze publikovat, aby ostatní mohli tento software spouštět bez potřeby NetBeans nebo Jsoup.
Před kompilací aplikace se ujistěte, že je vše hotovo. Pokud chcete přidat dokumentaci a vytvořit JavaDoc, udělejte to. Pokud máte nějaké příkazy System.out, které se tisknou na vaši konzolu, odeberte je. V zásadě se ujistěte, že vaše aplikace neobsahuje žádné nežádoucí příkazy nebo funkce a že obsahuje vše, co je potřeba k zabalení.
Poté klikněte pravým tlačítkem na název projektu v NetBeans. Mělo by se objevit menu. Klikněte na vlastnosti (úplně dole v nabídce) a poté na „Balení“na levé straně nové vyskakovací nabídky. Nyní zkontrolujte, zda jsou označena všechna zaškrtávací políčka. Vaše obrazovka by měla vypadat jako výše.
Poté proveďte další akci, klikněte pravým tlačítkem na svůj projekt v NetBeans. V tomto okamžiku stiskněte tlačítko „Vyčistit a sestavit“a NetBeans začne brát vaše knihovny a soubory a kompilovat je do funkčního souboru JAR. Pokud vše půjde dobře, měli byste po chvíli na konzole vidět zprávu, že váš JAR dokončil kompilaci, a soubor lze nyní spustit. Spusťte tuto aplikaci a ujistěte se, že vše funguje. Pokud ne, laděte a restartujte proces, dokud nebudou zpracovány chyby.
Krok 8: Gratulujeme
Gratulujeme! Pokud jste správně postupovali podle všech pokynů a vše dobře zakódovali, měli byste mít vlastní fungující aplikaci. Skvělé je, že nyní, kdykoli vy nebo kdokoli jiný, kdo má přístup k vaší tabulce, upraví data, vaše aplikace bude moci změnit a reagovat na nová data. Zde je krátké video, jak to moje dopadlo.
Pokud hledáte způsoby, jak se stále zlepšovat a budovat, doporučuji vyzkoušet některé pokročilejší funkce JavaFX, jako je FancyText nebo FancyButton, které mohou do vaší aplikace přidat nějakou grafiku vyšší třídy. Hodně štěstí a zanechte komentář, pokud potřebujete pomoc nebo si všimnete chyby v mém kódu!
Doporučuje:
Jak připojit NodeMCU ESP8266 k databázi MySQL: 7 kroků
Jak připojit NodeMCU ESP8266 k databázi MySQL: MySQL je široce používaný systém pro správu relační databáze (RDBMS), který používá strukturovaný dotazovací jazyk (SQL). V určitém okamžiku možná budete chtít nahrát data ze senzorů Arduino/NodeMCU do databáze MySQL. V tomto Instructable uvidíme, jak se připojit
NODEMCU LUA ESP8266 Připojení k databázi MySQL: 6 kroků
NODEMCU LUA ESP8266 Připojení k databázi MySQL: Tento návod není pro slabé povahy, protože používá XAMPP (Apache, MySQL & PHP), HTML a samozřejmě LUA. Pokud jste si jisti, že se s nimi vypořádáte, čtěte dále! Používám XAMPP, protože jej lze nastavit na pen drive nebo na pevném disku a je konfigurován
Import souborů aplikace Inventor do aplikace CorelDraw: 6 kroků
Import souborů aplikace Inventor do aplikace CorelDraw: Tento návod je částí 2 série, která začala kreslením hřebenů v aplikaci Autodesk Inventor, což je přátelský projektově orientovaný úvod do 2D práce v aplikaci Autodesk. Předpokládáme, že jste již dokončili a uložili si skicu (ať už z hřebenů na řezu nebo
Jak automaticky spustit přenosné aplikace z disku CD: 7 kroků
Jak automaticky spouštět přenosné aplikace z disku CD: Zde se dozvíte, jak na disk CD vkládat bezplatné aplikace. Aplikaci můžete spustit bez vytváření jakýchkoli souborů v počítači, takže ji můžete spouštět dovnitř i ven z počítače, aniž byste způsobili jakékoli narušení. Je také skvělé, když počítač, na kterém chcete pracovat, má odpočinek
Upravte baterii akumulátorového nářadí tak, aby běžela s proudem ve zdi: 5 kroků
Upravte baterii akumulátorového nářadí tak, aby běžela s proudem ve zdi: POZNÁMKA: Toto jsem napsal, než jsem měl komplexní znalosti o elektronice. To je docela špatný nápad a pravděpodobně to zničí vaši baterii. V té době to vypadalo inteligentně. Žij a uč se. Přidání konektoru k baterii Cor