Obsah:

Aplikácia Java spustená v databáze Disku Google: 8 krokov
Aplikácia Java spustená v databáze Disku Google: 8 krokov

Video: Aplikácia Java spustená v databáze Disku Google: 8 krokov

Video: Aplikácia Java spustená v databáze Disku Google: 8 krokov
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, November
Anonim
Aplikácia Java bežala v databáze Disku Google
Aplikácia Java bežala v databáze Disku Google
Aplikácia Java bežala v databáze Disku Google
Aplikácia Java bežala v databáze Disku Google
Aplikácia Java bežala v databáze Disku Google
Aplikácia Java bežala v databáze Disku Google

Už ste niekedy chceli vytvoriť aplikáciu, ktorá beží na dynamickej databáze, s ktorou sa ľahko pracuje, ktorá umožňuje technicky zdatným používateľom zadávať údaje a nevyčerpáva zdroje spoločnosti? Potom mám pre vás riešenie. Dnes budeme vytvárať aplikáciu, ktorá beží na Disku Google (konkrétne v Tabuľkách Google) a dá sa použiť na rôzne účely. Aj keď sa tento tutoriál zameria na vytvorenie aplikácie založenej na udalostiach, ktorá bude zobrazovať zoznam udalostí, ktoré sa dejú v areáli vysokej školy, tento projekt je možné ľahko prepísať tak, aby fungoval mnohými spôsobmi, či už ide o aplikáciu kalkulačky alebo aplikáciu, ktorá monitoruje zásoby na výrobky. Prikladám kópiu svojej žiadosti, ak by ste chceli vidieť, čo budeme vyrábať. Rozbaľte súbor zip a spustite v ňom JAR. A teraz, bez ďalších okolkov, začnime!

Krok 1: Čo budete potrebovať

Ak chcete začať s týmto projektom, budete potrebovať nasledujúce zdroje:

  • Netbeans

    Odporúčam stiahnutie Java EE, pretože poskytuje podporu servera, ale ak nechcete nejaké nepotrebné súbory alebo viac miesta na disku, bude fungovať aj Java SE. Netbeans bude slúžiť ako IDE na kódovanie a zostavovanie našej aplikácie

  • Jsoup

    Zahrnul som to do pokynov, ktoré si môžete stiahnuť. Je to analyzátor HTML, ktorý nám umožní získať informácie z publikovanej tabuľky

  • Java SDK (V8)

    Stiahnite si ľubovoľný súbor, ktorý vyhovuje vášmu systému. Ak už máte Java SDK v predchádzajúcej verzii, odporúčam aktualizáciu. Niektoré z mojich funkcií používajú nové výrazy lambda pôvodné z v8 a kód bez nich nemusí fungovať v závislosti od toho, čo robíte

  • Visual Studio (voliteľné)

    Úplne voliteľné. Napriek tomu, že NetBeans funguje pri zostavovaní a balení našej aplikácie úžasne, nie som veľkým fanúšikom vývojárskeho štúdia. Radšej kódujem vo VS, pretože má krajšie rozhranie. Ak sa vám to nepáči, existuje mnoho ďalších IDE online, takže si nájdite, čo sa vám najviac páči

  • Štartovací kód

    Zahrnul som štartovací kód do zdrojov tohto dokumentu a tiež ho zverejnil na GitHub. V tomto mám hlavný súbor (Event), ktorý poskytuje štruktúru súboru, v ktorom je aplikácia skutočne spustená, a tiež nástroj EventTester, ktorý na vytváranie GUI pre aplikáciu používa JavaFX. Ak chcete využiť všetky možnosti, neodporúčam kopírovanie a vkladanie. Nájdite si čas a prečítajte si to

Iní:

Základné znalosti Javy. Bude užitočné mať znalosti v jazyku Java, ako napríklad funkcie písania, vytváranie objektov atď

Krok 2: Nastavenie databázy

Nastavenie databázy
Nastavenie databázy

Na spustenie projektu musíme najskôr prejsť na Disk Google a vytvoriť hárok, ktorý použijeme na spustenie našej aplikácie. Prejdite na stránku drive.google.com, kliknite na ikonu „Nové“v ľavom hornom rohu a pod ňou vyberte „Tabuľky“.

Akonáhle sa váš hárok načíta, pokračujte a premenujte ho na niečo ľahko rozpoznateľné. Potom pokračujte a v hornom riadku zadajte svoje údaje, napríklad veci, ktoré vložíte do každého stĺpca. Keď sa pozriem na svoj príklad, v hornom riadku som označil veci ako „Názov udalosti“, „Dátum“atď.

Potom začnite do tabuľky napĺňať údaje, ktoré chcete vyplniť. Nezabudnite naformátovať všetky svoje údaje podobne, aby s nimi kód mohol pracovať bez chýb. Ak napríklad plánujete vo svojom kóde použiť dátumy, dávajte pozor, aby ste každý dátum formátovali rovnako, inak ho kód nebude môcť analyzovať.

Po zadaní údajov zverejnite tabuľku v časti „Súbor“-> „Publikovať na webe“. Odtiaľ budete chcieť vybrať celý dokument a zaistiť, aby bol publikovaný ako súbor HTML, aby naša aplikácia dokázala správne nakresliť údaje. Po zverejnení tabuľky si poznamenajte odkaz, ktorý poskytuje. Toto bude potrebné neskôr v aplikácii.

Krok 3: Nastavenie NetBeans

Nastavenie NetBeans
Nastavenie NetBeans

Teraz, keď máme tabuľku, je čas nastaviť NetBeans, aby sme mohli začať s kódovaním. Po stiahnutí a inštalácii programu NetBeans a sady Java SDK pokračujte a vytvorte nový projekt. Pri výbere typu zvoľte kategóriu „Java“a projekt „Java Application“. Vyberte si, čo chcete, aby sa váš projekt volal (ja som ten svoj pomenoval jednoducho „Udalosť“). Začiarknite políčko vedľa položky „Použiť vyhradený priečinok na ukladanie knižníc“a tiež políčko „Vytvoriť hlavnú triedu“. Potom by mal NetBeans vytvoriť projekt a adresár projektu, v ktorom môžeme začať pracovať, podobne ako na obrázku.

Predtým, ako začneme s kódovaním, budeme tiež musieť zaistiť, aby mal NetBeans knižnicu JSoup, ktorú bude potrebovať na analýzu našej tabuľky. V programe NetBeans kliknite pravým tlačidlom myši na ikonu „Knižnice“pod adresárom projektu. V rozbaľovacej ponuke vyberte tlačidlo na pridanie súboru.jar. Teraz prejdite na akékoľvek miesto, kde ste umiestnili svoje jsoup sťahovanie (pravdepodobne priečinok Stiahnuté súbory, pokiaľ nie je uvedené inak). Vyberte tento súbor a pridajte ho do knižnice. Ak v programe NetBeans rozbalíte priečinok Knižnice, mali by ste v tejto oblasti teraz vidieť jsoup.jar. Keď to urobíme, môžeme začať s kódovaním našej aplikácie.

Krok 4: Kódovanie našej hlavnej triedy

Kódovanie našej hlavnej triedy
Kódovanie našej hlavnej triedy

Prvým krokom pri kódovaní našej aplikácie je teda vytvorenie vašej hlavnej triedy. Vaša hlavná trieda bude miestom, kde vytvárame naše objekty, budeme mať metódy, ktoré interagujú s JSoup, a ďalšie. Za predpokladu, že každý, kto to číta, má skúsenosti s kódovaním, pokračujte a použite nasledujúci import:

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 sa to zdať veľa a v závislosti od vášho projektu nemusí byť všetko potrebné. Ako budeme pokračovať v kódovaní, NetBeans vás bude informovať, ak máte nejaké nepoužité importy, takže ich môžeme vždy neskôr odstrániť. Práve to však teraz potrebujeme.

Po získaní dovozných vyhlásení pokračujme v deklarovaní našej triedy. Ak plánujete pri vývoji svojho objektu špecifického pre triedu používať dátumy alebo iný než základný objekt, odporúčam do vyhlásenia o triede pridať výraz „porovnateľné nástroje“. To vám umožní porovnať objekty, čo vám umožní neskôr triediť zoznam ClassObjects. Potom pokračujte a deklarujte všetky inštančné premenné, ktoré budete potrebovať. Pre každý vytvorený verejný reťazec budete tiež musieť vytvoriť SimpleStringProperty. Toto sú objekty JavaFX, ktoré nám neskôr umožnia pracovať s objektmi našej hlavnej triedy.

Teraz pokračujte a deklarujte, že máte prístup k funkciám. Pokiaľ ide o vaše základné premenné, môžete svoje funkcie pomenovať bez ohľadu na to, čo si vyberiete. Na to, aby ste mali prístupové funkcie SSP, však musíte použiť formát getFunctionNameHere (). Dôvodom je, že neskôr sa na pripojenie k týmto funkciám použijeme JavaFX a funkcie, ktoré budeme používať, vyžadujú, aby sme začali naše funkcie SSP pomocou get. Príklad môžete vidieť vyššie.

Po definovaní všetkých prístupových premenných pokračujte a definujte ďalšie funkcie, ktoré budete potrebovať. Toto je veľmi špecifické pre používateľa, pretože funkcie, ktoré potrebujete, sa líšia projekt od projektu. Ak potrebujete inšpiráciu, pozrite sa na môj Javadoc alebo skutočný kód a pozrite sa na niektoré funkcie, ktoré som vytvoril. Napríklad som vytvoril funkciu triedenia, ktorá triedi zoznam podľa dátumu, ako aj funkcie, ktoré vracali iba udalosti so skupinovými stavmi public a ďalšie. Aj keď je v poriadku vytvoriť tieto statické prvky, aby ste mohli vykonať určité testovanie, po dokončení ladenia odporúčam nemať žiadne statické metódy, aby ste sa vyhli chybám, keď sa dostaneme k ďalšiemu kroku projektu.

Krok 5: Definovanie našej metódy Create ()

Definícia našej metódy Create ()
Definícia našej metódy Create ()

Teraz prichádza možno najdôležitejšia časť kódu, kde definujeme našu metódu create (), ktorá skutočne pristúpi na našu webovú stránku a získa nám údaje. Je dôležité si uvedomiť, že do deklarácie metódy budete musieť pridať riadok výnimky hodov, aby sme do nášho kódu nemuseli písať skúšobné bloky. Začnite tým, že vyhlásite prázdny zoznam svojho objektu. V mojom prípade to vyzeralo tak

Udalosti udalostí = nový ArrayList ()).

Teraz nájdite adresu URL, ktorú ste predtým skopírovali do publikovanej tabuľky. Deklarujte tento odkaz ako reťazec v Jave a nazvite ho, ako chcete. Pokračujte a vyhláste nový dokument Jsoup. Môžete to urobiť vytvorením nového objektu dokumentu, ako napr

Dokument doc = nový dokument ();

Teraz pokračujte a nastavte dokument tak, aby sa pripojil k našej adrese URL a získal údaje. Ak to chcete urobiť, vyskúšajte:

Dokument doc = Jsoup.connect (url).get ();

Teraz musíme získať telo nášho dokumentu, kde sa ukladajú skutočné údaje.

Telo reťazca = doc.body (). Text ();

Teraz musíme začať vyťahovať údaje z tela. Pretože sú naše údaje v tabuľke (pretože išlo o tabuľkový procesor), musíme tabuľku vytiahnuť z tela. Vyskúšajme

Tabuľka prvkov = doc.select ("tabuľka"). Get (0);

Tým sa vyberie Prvá tabuľka. V tomto prípade je len jeden. Teraz napíšte

Prvky riadkov = table.select ("tr");

Tým sa dostaneme k všetkým riadkom v uvedenej tabuľke.

Takže všetky naše údaje sú v tejto premennej riadkov. To je dobré a všetko, ale zmyslom pri písaní tejto funkcie vo vnútri tejto triedy je, aby sme z nej mohli vytvárať objekty. Aby sme to teda mohli vrátiť, musíme z našich riadkov vytvoriť zoznam. Na to môžeme použiť slučku for. Musím poznamenať, že mi to trvalo trochu pokusov a omylov, kým som sa dostal do poriadku. Uvedomil som si, že pri vyťahovaní z riadkov nie sú niektoré naše údaje pre túto situáciu užitočné, pretože poskytujú veci ako názov jednotlivého hárka, prvý riadok s nápadmi na údaje atď. Na konci som nastavil počiatočné zadaním čísla pre slučku for na 2, takže tieto položky obíde a môže vytvárať naše položky. Nakoniec som vyvinul vzhľad s kódom

for (int i = 2; i <rows.size (); i ++) {

Prvok riadok = riadky.get (i);

Prvky cols = riadok.select ("td");

Teraz, ak chcete vytvoriť objekt, urobte niečo podobné

Názov objektu = nový Objekt (cols.get (0).text ());

V zásade cols.get (0) získa údaje zo stĺpca (0) riadka (i) (0) a zmení ich na reťazec, ktorý potom možno odovzdať do konštruktora objektu.

Po nastavení vašu konštrukciu pridajte do zoznamu, ktorý sme vytvorili predtým pomocou list.add (), ako napr

events.add (meno);

Teraz zatvorte svoju slučku for a zavolajte všetky potrebné funkcie. Zavolal som napríklad svoju funkciu triedenia, aby boli Udalosti zoradené podľa dátumu. Potom vráťte svoj zoznam a potom ste s touto sekciou hotoví!

Krok 6: Kódovanie našej aplikácie

Kódovanie našej aplikácie
Kódovanie našej aplikácie
Kódovanie našej aplikácie
Kódovanie našej aplikácie

Vytvorte nový súbor a pomenujte ho akýmkoľvek spôsobom. Budete potrebovať nasledujúci dovoz:

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;

Viem, že sa to môže zdať veľa, ale verte mi, že sú nevyhnutné na spustenie vytvorenia našej aplikácie. Pokračujte, deklarujte svoju triedu a uistite sa, že rozširuje aplikáciu, pretože je to nevyhnutná súčasť projektu. Na začiatku deklarujte novú premennú inštancie, ktorou je TableView vášho objektu, ako napr

súkromná tabuľka TableView = nový TableView ();

Deklarujte tiež hlavnú metódu, ktorú použijeme na spustenie aplikácie. V zásade by to malo vyzerať ako na obrázku hore.

Teraz musíme vytvoriť našu štartovaciu metódu. Uistite sa, že vyvolá výnimku, pretože budeme volať metódu create () z našej bývalej triedy. Vytvorte novú udalosť s prázdnymi parametrami, jednoducho tak, aby sme s ňou mohli nazývať metódu create. Definujte nový zoznam a nastavte ho na výsledok create (). Teraz vytvorte nový ObservableList, ktorý sa použije na naplnenie našej tabuľky našimi údajmi. Definuj to takto:

Údaje ObservableList = FXCollections.observableArrayList ();

Teraz vytvorte novú scénu s:

Scénická scéna = nová scéna (nová skupina ());

Nastavte názov, šírku, výšku a čokoľvek ďalšie, čo vám bude vyhovovať. Moje hodnoty môžete vidieť na obrázku v hornej časti. Teraz môžeme začať pripravovať stôl. Pre všetky informácie, ktoré chcete zobraziť, vytvorte TableColumn ako:

TableColumn eventCol = nový TableColumn ("Názov udalosti"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (nová PropertyValueFactory ("sName"));

Parameter "sName" by mal byť vyplnený akýmkoľvek názvom vašich prístupových funkcií SSP, aby mohol získať hodnoty, ktoré pre dané objekty potrebujete. Vytvorte toľko stĺpcov, koľko potrebujete, a potom ich pridajte do tabuľky pomocou

FilteredList flEvent = new FilteredList (data, p -> true);

table.setItems (flEvent);

table.getColumns (). addAll (eventCol, statCol, groupCol, datingCol, descCol, locationCol);

Ak by ste chceli pridať vyhľadávací panel ako ja, v kóde nájdete informácie o tom, ako vytvoriť choiceBox a textField, ktoré vášmu používateľovi umožnia filtrovať tabuľku podľa konkrétnych hodnôt. Ak ste sa tak rozhodli, budete musieť tiež vytvoriť hBox, ktorý bude obsahovať tieto súbory, s

HBox hBox = nový HBox (choiceBox, textField);

hBox.setAlignment (Pos. CENTER);

Budete tiež musieť pridať hBox do nižšie uvedenej metódy.addAll ().

V opačnom prípade jednoducho vytvorte nový vBox, v ktorom budete uchovávať naše údaje

konečný VBox vbox = nový VBox ();

vbox.getChildren (). addAll (štítok, tabuľka);

((Skupina) scene.getRoot ()). GetChildren (). AddAll (vbox);

stage.setScene (scéna); stage.show ();

Teraz skompilujte kód, spustite ho a zistite, či funguje. Použite NetBeans na nájdenie chýb, ktoré sa zobrazia ako červené pruhy na pravej strane obrazovky. Pokračujte v tom, kým už nebudete mať žiadne chyby, a projekt sa spustí.

Po dokončení kódovania vám odporučím vytvoriť Javadoc kódu, aby ľudia videli, čo váš kód robí. Ak to chcete urobiť, pod tlačidlom „Spustiť“v hornej časti obrazovky jednoducho kliknite na „Generovať Javadoc“. Kópiu môjho Javadocu môžete nájsť tak, že sa pozriete do súboru zip na prvej stránke a vyberiete súbor index.html.

Krok 7: Zostavenie a zabalenie nášho súboru Jar

Zostavovanie a balenie nášho súboru Jar
Zostavovanie a balenie nášho súboru Jar

Akonáhle dostatočne odladíte svoj súbor a úspešne ho spustíte, môžete ho konečne skompilovať do súboru JAR, ktorý potom môžete zverejniť, aby ostatní mohli používať tento softvér bez potreby NetBeans alebo Jsoup.

Pred zostavením aplikácie sa uistite, že je všetko hotové. Ak chcete pridať dokumentáciu a vytvoriť JavaDoc, urobte to. Ak máte nejaké príkazy System.out, ktoré sa tlačia do konzoly, odstráňte ich. V zásade sa uistite, že vaša aplikácia nemá žiadne nechcené príkazy alebo funkcie a obsahuje všetko, čo je potrebné na zabalenie.

Potom kliknite pravým tlačidlom myši na názov projektu v programe NetBeans. Malo by sa objaviť menu. Kliknite na vlastnosti (v spodnej časti ponuky) a potom na položku „Balenie“na ľavej strane novej rozbaľovacej ponuky. Teraz skontrolujte, či sú začiarknuté všetky začiarkavacie políčka. Vaša obrazovka by mala vyzerať ako vyššie.

Potom znova kliknite pravým tlačidlom myši na váš projekt v programe NetBeans. V tomto mieste kliknite na tlačidlo „Vyčistiť a vybudovať“a NetBeans začne s preberaním vašich knižníc a súborov a ich kompiláciou do funkčného súboru JAR. Ak všetko pôjde dobre, v konzole by sa vám po chvíli mala objaviť správa, že váš JAR dokončil kompiláciu a súbor je teraz možné spustiť. Spustite túto aplikáciu a uistite sa, že všetko funguje. Ak nie, ladte a reštartujte proces, kým sa nevypracujú chyby.

Krok 8: Blahoželáme

Gratulujem Ak ste správne dodržali všetky pokyny a všetko dobre zakódovali, mali by ste mať vlastnú fungujúcu aplikáciu. Super na tom je, že teraz, keď vy alebo ktokoľvek iný, kto má prístup k vašej tabuľke, údaje upravíte, vaša aplikácia bude môcť nové údaje zmeniť a reagovať na ne. Tu je krátke video o tom, ako moje dopadlo.

Ak hľadáte spôsoby, ako sa neustále zlepšovať a budovať, odporúčam vyskúšať niektoré pokročilejšie funkcie JavaFX, ako napríklad FancyText alebo FancyButton, ktoré môžu do vašej aplikácie pridať grafiku vyššej triedy. Veľa šťastia a zanechajte komentár, ak potrebujete pomoc alebo si všimnete chybu v mojom kóde!

Odporúča: