Turinys:

„Java“programa buvo paleista „Google“disko duomenų bazėje: 8 veiksmai
„Java“programa buvo paleista „Google“disko duomenų bazėje: 8 veiksmai

Video: „Java“programa buvo paleista „Google“disko duomenų bazėje: 8 veiksmai

Video: „Java“programa buvo paleista „Google“disko duomenų bazėje: 8 veiksmai
Video: 🐍 Python 101: Learn Python Basics for Absolute Beginners [FULL Course] 2024, Liepa
Anonim
„Java“programa buvo paleista „Google“disko duomenų bazėje
„Java“programa buvo paleista „Google“disko duomenų bazėje
„Java“programa buvo paleista „Google“disko duomenų bazėje
„Java“programa buvo paleista „Google“disko duomenų bazėje
„Java“programa buvo paleista „Google“disko duomenų bazėje
„Java“programa buvo paleista „Google“disko duomenų bazėje

Ar kada nors norėjote sukurti programą, veikiančią dinamiškoje duomenų bazėje, su kuria būtų lengva dirbti, kuri ne technologiją išmanantiems vartotojams leistų įvesti duomenis ir neišnaudotų įmonės išteklių? Na, tada aš turiu tau sprendimą. Šiandien kursime programą, kuri veikia „Google“diske (na, konkrečiai „Google“skaičiuoklėse) ir gali būti naudojama įvairiems tikslams. Nors ši pamoka bus skirta renginiais pagrįstos programos kūrimui, kad būtų parodytas aplink kolegijos miestelį vykstančių įvykių sąrašas, šį projektą galima lengvai perrašyti, kad jis veiktų įvairiais būdais, nesvarbu, ar tai būtų skaičiuoklės programa, skirta programai, kuri stebi produktų atsargas. Pridėjau savo paraiškos kopiją, jei norite pamatyti, ką mes darysime. Išpakuokite ZIP failą ir paleiskite JAR viduje. Ir dabar, be jokių papildomų veiksmų, pradėkime!

1 žingsnis: ko jums reikės

Norėdami pradėti šį projektą, jums reikės šių išteklių:

  • „Netbeans“

    Aš rekomenduoju atsisiųsti „Java EE“, nes ji palaiko serverį, tačiau jei nenorite nereikalingų failų ar papildomos vietos diske, „Java SE“taip pat veiks. „Netbeans“bus naudojamas kaip IDE koduojant ir rengiant mūsų programą

  • Jsoup

    Aš įtraukiau tai į instrukcijas, kurias galite atsisiųsti. Tai HTML analizatorius, kuris leis mums ištraukti informaciją iš paskelbtos skaičiuoklės

  • „Java“SDK (V8)

    Atsisiųskite bet kokį failą, atitinkantį jūsų sistemą. Jei jau turite ankstesnės versijos „Java“SDK, rekomenduoju atnaujinti. Kai kuriose mano funkcijose naudojamos naujos lambda išraiškos, gimtosios v8, ir kodas gali neveikti be jų, atsižvelgiant į tai, ką darote

  • „Visual Studio“(pasirenkama)

    Visiškai neprivaloma. Nors „NetBeans“puikiai sukuria ir supakuoja mūsų programą, nesu didelis kūrimo studijos gerbėjas. Man labiau patinka koduoti VS, nes ji turi gražesnę sąsają. Jei jums tai nepatinka, internete yra daug kitų IDE, todėl raskite tai, kas jums labiausiai patinka

  • Pradinis kodas

    Aš įtraukiau pradinį kodą į šio išteklius ir taip pat paskelbiau jį „GitHub“. Čia turiu pagrindinį failą (įvykį), kuris suteikia failo, kuriame iš tikrųjų paleidžiama programa, struktūrą, taip pat „EventTester“, kuris naudoja „JavaFX“kurdamas programos GUI. Jei norite gauti visą patirtį, nerekomenduoju kopijuoti ir įklijuoti. Neskubėkite ir perskaitykite tai

Kiti:

Pagrindinės „Java“žinios. Bus naudinga išmanyti „Java“, pvz., Rašymo funkcijas, kurti objektus ir pan

2 veiksmas: nustatykite savo duomenų bazę

Duomenų bazės nustatymas
Duomenų bazės nustatymas

Norėdami pradėti projektą, pirmiausia turime eiti į „Google“diską ir sukurti lapą, kurį naudosime norėdami paleisti programą. Eikite į drive.google.com ir viršutiniame kairiajame kampe spustelėkite piktogramą „Nauja“ir po juo pasirinkite „Skaičiuoklės“.

Kai jūsų lapas bus įkeltas, eikite į priekį ir pervardykite tai į ką nors lengvai atpažįstamo. Tai padarę, eikite į priekį ir užpildykite viršutinę eilutę savo duomenų pavadinimais, pvz., Dalykais, kuriuos įdėsite į kiekvieną stulpelį. Žvelgdamas į čia pateiktą pavyzdį, viršutinę eilutę pažymėjau tokiais dalykais kaip „Įvykio pavadinimas“, „Data“ir kt.

Tai atlikę, pradėkite pildyti skaičiuoklę duomenimis, kuriuos norite užpildyti. Nepamirškite suformatuoti visų savo duomenų panašiai, kad kodas galėtų su juo dirbti be klaidų. Pvz., Jei planuojate naudoti datas savo kode, būkite atsargūs ir suformatuokite tas pačias datas, kitaip kodas negalės jo išanalizuoti.

Įvedę duomenis, paskelbkite skaičiuoklę eidami į „Failas“-> „Skelbti žiniatinklyje“. Čia norėsite pasirinkti visą dokumentą ir įsitikinti, kad jis paskelbtas kaip HTML failas, kad mūsų programa galėtų teisingai piešti duomenis. Paskelbus skaičiuoklę, būtinai atkreipkite dėmesį į jos pateiktą nuorodą. To prireiks vėliau programoje.

3 žingsnis: „NetBeans“nustatymas

„NetBeans“nustatymas
„NetBeans“nustatymas

Dabar, kai turime skaičiuoklę, laikas nustatyti „NetBeans“, kad galėtume pradėti koduoti. Atsisiuntę ir įdiegę „NetBeans“ir „Java“SDK, eikite į priekį ir sukurkite naują projektą. Rinkdamiesi tipą, pasirinkite kategoriją „Java“ir projektą „Java Application“. Pasirinkite, kaip norėtumėte, kad jūsų projektas būtų vadinamas (aš pavadinau savo tiesiog „Įvykiu“). Pažymėkite žymimąjį laukelį šalia „naudoti specialų aplanką bibliotekoms saugoti“ir šalia „Sukurti pagrindinę klasę“. Po to „NetBeans“turėtų sukurti projektą ir projektų katalogą, kad galėtume pradėti dirbti, panašiai kaip paveikslėlyje.

Prieš pradėdami koduoti, mes taip pat turėsime įsitikinti, kad „NetBeans“turi „JSoup“biblioteką, kuriai reikės išanalizuoti mūsų skaičiuoklę. „NetBeans“savo projekto kataloge dešiniuoju pelės mygtuku spustelėkite piktogramą „Bibliotekos“. Išskleidžiamajame meniu pasirinkite mygtuką, kad pridėtumėte.jar failą. Dabar eikite ten, kur įdėjote „jsoup“atsisiuntimą (greičiausiai aplanką „Atsisiuntimai“, nebent nurodėte kitur). Pasirinkite šį failą ir pridėkite jį prie bibliotekos. Jei išplėsite „LibBries“aplanką „NetBeans“, dabar šioje srityje turėtumėte pamatyti jsoup.jar. Tai padarę, dabar galime pradėti koduoti savo programą.

4 žingsnis: pagrindinės klasės kodavimas

Kodavimas Mūsų pagrindinė klasė
Kodavimas Mūsų pagrindinė klasė

Taigi, pirmasis žingsnis koduojant mūsų programą yra pagrindinės klasės sukūrimas. Jūsų pagrindinė klasė bus ten, kur mes kursime savo objektus, turėsime metodus, kurie sąveikauja su „JSoup“ir dar daugiau. Darant prielaidą, kad visi, kurie skaito šį straipsnį, turi kodavimo patirties, eikite į priekį ir naudokite šiuos importavimo būdus:

importuoti java.util. Collections;

importuoti java.util. List;

importuoti java.util. ArrayList;

importuoti java.util. Date;

importuoti java.util.stream. Stream;

importuoti java.util.stream. Colelectors;

importuoti java.text. SimpleDateFormat;

importuoti java.text. ParseException;

importuoti org.jsoup. Jsoup;

importuoti org.jsoup.nodes. Document;

importuoti org.jsoup.nodes. Element;

importuoti org.jsoup.select. Elements;

importuoti javafx.beans.property. SimpleStringProperty;

Tai gali atrodyti daug ir, priklausomai nuo jūsų projekto, viskas gali būti nereikalinga. Toliau koduojant, „NetBeans“praneš jums, ar turite nepanaudotų importuojamų produktų, kad vėliau visada galėtume juos ištrinti. Tačiau to mums dabar reikia.

Gavę importo pareiškimus, pirmyn ir paskelbkime savo klasę. Jei kurdami konkrečiai klasei skirtą objektą planuojate naudoti datas ar bet kokį nepagrindinį objektą, rekomenduoju prie klasės deklaracijos pridėti „padargus, kuriuos galima palyginti“. Tai leis palyginti objektus, o vėliau galėsite rūšiuoti „ClassObjects“sąrašą. Tai atlikę, eikite į priekį ir deklaruokite visus jums reikalingus egzemplioriaus kintamuosius. Kiekvienai viešai sukurtai eilutei taip pat turėsite sukurti „SimpleStringProperty“. Tai yra „JavaFX“objektai, kurie vėliau leis mums dirbti su pagrindiniais klasės objektais.

Dabar eikite į priekį ir paskelbkite, kad turite prieigos funkcijas. Kalbant apie jūsų pagrindinius kintamuosius, galite pavadinti savo funkcijas bet kokiu pasirinkimu. Tačiau, jei naudojate SSP prieigos funkcijas, turite naudoti formatą getFunctionNameHere (). Taip yra todėl, kad vėliau mes naudosime „JavaFX“, kad prisijungtume prie šių funkcijų, ir dėl funkcijų, kurias naudosime, turime pradėti savo SSP funkcijas nuo „get“. Pavyzdį galite pamatyti aukščiau.

Apibrėžę visus prieigos kintamuosius, eikite į priekį ir apibrėžkite visas kitas funkcijas, kurių jums gali prireikti. Tai labai priklauso nuo vartotojo, nes kiekvienam projektui reikalingos funkcijos skiriasi. Jei jums reikia įkvėpimo, patikrinkite mano „Javadoc“arba tikrąjį kodą ir pamatykite kai kurias mano sukurtas funkcijas. Pavyzdžiui, sukūriau rūšiavimo funkciją, kuri rūšiuoja sąrašą pagal datą, taip pat funkcijas, kurios grąžino tik įvykius, kurių grupės būsena yra vieša, ir dar daugiau. Nors gerai padaryti šiuos statinius, kad galėtumėte atlikti tam tikrus bandymus, rekomenduoju neturėti jokių statinių metodų, kai baigsite derinimą, kad išvengtumėte klaidų, kai pereiname prie kito projekto žingsnio.

5 veiksmas: apibrėžkite mūsų kūrimo () metodą

Mūsų kūrimo () metodo apibrėžimas
Mūsų kūrimo () metodo apibrėžimas

Dabar ateina galbūt svarbiausia kodo dalis, kur mes nustatysime savo kūrimo () metodą, kuris iš tikrųjų pateks į mūsų tinklalapį ir gaus mums duomenis. Svarbu pažymėti, kad prie savo metodo deklaracijos turėsite pridėti metimų išimties eilutę, todėl mes neturime į savo kodą įrašyti bandomųjų blokų. Norėdami pradėti, eikite į priekį ir paskelbkite tuščią savo objekto sąrašą. Mano atveju tai atrodė taip

Įvykio įvykiai = naujas „ArrayList“()).

Dabar eikite ir suraskite tą URL, kurį nukopijavote anksčiau į paskelbtą skaičiuoklę. Paskelbkite šią nuorodą kaip „Java“eilutę ir vadinkite ją kaip norite. Dabar eikite į priekį ir paskelbkite naują „Jsoup“dokumentą. Tai galite padaryti sukurdami naują dokumento objektą, pvz

Dokumentas doc = naujas dokumentas ();

Dabar eikite į priekį ir nustatykite, kad dokumentas prisijungtų prie mūsų URL ir gautų duomenis. Norėdami tai padaryti, pabandykite:

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

Dabar turime gauti savo dokumento turinį, kuriame saugomi tikrieji duomenys.

Stygos kūnas = doc.body (). Text ();

Dabar turime pradėti ištraukti duomenis iš kūno. Kadangi mūsų duomenys yra lentelėje (kadangi tai buvo skaičiuoklė), turime ištraukti lentelę iš kūno. Pabandykime

Elementų lentelė = doc.select ("table"). Get (0);

Taip pasirenkama pirmoji lentelė. Šiuo atveju yra tik vienas. Dabar įveskite

Elementai eilutės = table.select ("tr");

Taip gauname visas minėtos lentelės eilutes.

Taigi dabar visi mūsų duomenys yra šio eilučių kintamojo viduje. Tai gerai ir viskas, bet visa esmė rašant šią funkciją šioje klasėje yra ta, kad mes galime iš jos sukurti objektus. Taigi, prieš tai grąžindami, turime sukurti sąrašą iš savo eilučių. Norėdami tai padaryti, galime naudoti ciklą for. Turiu pastebėti, kad tam prireikė šiek tiek bandymų ir klaidų. Supratau, kad kai ištraukiame iš eilučių, kai kurie mūsų duomenys nėra naudingi šiai situacijai, nes jie pateikia tokius dalykus kaip atskiro lapo pavadinimas, pirmoji eilutė su mūsų duomenų idėjomis ir pan. įvesdami ciklo skaičių į 2, todėl jis apeina šiuos elementus ir gali sukurti mūsų elementus. Galų gale aš sukūriau išvaizdą su kodu

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

Elemento eilutė = eilutės.get (i);

Elementai cols = row.select ("td");

Dabar, norėdami sukurti objektą, darykite kažką panašaus

Objekto pavadinimas = naujas objektas (cols.get (0).text ());

Iš esmės cols.get (0) gaus duomenis iš (i) eilutės stulpelio (0) ir pavers juos eilute, kurią vėliau bus galima perduoti objekto konstruktoriui.

Nustatę konstrukciją, pridėkite ją prie sąrašo, kurį sukūrėme anksčiau naudodami list.add (), pvz., events.add (vardas);

Dabar uždarykite savo ciklą ir iškvieskite visas funkcijas, kurių jums gali prireikti dabar. Pavyzdžiui, aš iškviečiau savo rūšiavimo funkciją, kad įvykius gaučiau datos tvarka. Kai tai padarysite, grąžinkite savo sąrašą ir tada baigsite šį skyrių!

6 veiksmas: mūsų programos kodavimas

Mūsų programos kodavimas
Mūsų programos kodavimas
Mūsų programos kodavimas
Mūsų programos kodavimas

Sukurkite naują failą ir pavadinkite jį bet kokiu pasirinkimu. Jums reikės šių importų:

importuoti java.util. List;

importuoti java.util. ArrayList;

importuoti java.util. Date;

importuoti javafx.geometry. Pos;

importuoti javafx.scene.layout. HBox;

importuoti javafx.application. Application;

importuoti javafx.collections.transformation. FilteredList;

importuoti javafx.scene.text. Font; importuoti javafx.scene.control.*;

importuoti javafx.collections. FXCollections;

importuoti javafx.collections. ObservableList;

importuoti javafx.geometry. Insets;

importuoti javafx.scene. Group;

importuoti javafx.scene. Scene;

importuoti javafx.scene.control. Label;

importuoti javafx.scene.control.cell. PropertyValueFactory;

importuoti javafx.scene.layout. VBox;

importuoti javafx.stage. Stage;

Žinau, kad tai gali atrodyti daug, bet patikėkite, jie yra būtini, kad galėtume sukurti savo programą. Eikite į priekį ir paskelbkite savo klasę ir įsitikinkite, kad ji pratęsia taikymą, nes tai yra būtina projekto sudedamoji dalis. Pradžioje deklaruokite naują egzemplioriaus kintamąjį, kuris yra jūsų objekto „TableView“, pvz

private TableView table = new TableView ();

Be to, paskelbkite pagrindinį metodą, kurį naudosime paleisdami programą. Iš esmės jis turėtų atrodyti kaip paveikslėlis viršuje.

Dabar turime sukurti savo pradžios metodą. Įsitikinkite, kad jis pateikia išimtį, nes mes iškviesime metodą create () iš savo buvusios klasės. Sukurkite naują įvykį su tuščiais parametrais, kad galėtume juo vadinti kūrimo metodą. Apibrėžkite naują sąrašą ir nustatykite jį lygų create () rezultatui. Dabar sukurkite naują „ObservableList“, kuris bus naudojamas mūsų lentelėje užpildyti mūsų duomenimis. Apibrėžkite taip:

Stebimų sąrašų duomenys = FXCollections.observableArrayList ();

Dabar sukurkite naują sceną naudodami:

Scenos scena = nauja scena (nauja grupė ());

Nustatykite pavadinimą, plotį, aukštį ir viską, ko jums reikia, kad ir kas jums tinka. Mano vertybes galite pamatyti paveikslėlyje viršuje. Dabar galime pradėti dengti stalą. Norėdami gauti visą informaciją, kurią norite rodyti, sukurkite lentelės stulpelį, pvz.:

TableColumn eventCol = new TableColumn ("Event Name"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (naujas PropertyValueFactory ("sName"));

Parametras „sName“turi būti užpildytas bet kokiu jūsų SSP prieigos funkcijų pavadinimu, kad jis galėtų gauti nurodytų objektų vertes. Sudarykite tiek stulpelių, kiek jums reikia, tada pridėkite juos prie lentelės naudodami

FilteredList flEvent = naujas FilteredList (duomenys, p -> tiesa);

table.setItems (flEvent);

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

Jei norite pridėti paieškos juostą, kaip aš, patikrinkite kodą, kad gautumėte informacijos apie tai, kaip sukurti pasirinkimo langelį ir teksto lauką, kuris leis jūsų vartotojui filtruoti lentelę pagal konkrečias vertes. Jei pasirinkote tai padaryti, taip pat turėsite sukurti „hBox“, kad galėtumėte juos laikyti

HBox hBox = naujas HBox (choiceBox, textField);

„hBox.setAlignment“(poz. CENTRAS);

Taip pat turėsite pridėti „hBox“prie toliau pateikto.addAll () metodo.

Priešingu atveju tiesiog sukurkite naują „vBox“, kad laikytumėte mūsų duomenis

galutinis VBox vbox = naujas VBox ();

vbox.getChildren (). addAll (etiketė, lentelė);

((Grupės) scena.getRoot ()). GetChildren (). AddAll (vbox);

stage.setScene (scena); stage.show ();

Dabar surinkite savo kodą ir paleiskite jį ir pažiūrėkite, ar jis veikia. Naudodami „NetBeans“raskite klaidų, kurios dešinėje ekrano pusėje bus rodomos kaip raudonos juostos. Tęskite tai, kol daugiau klaidų nebus, o projektas bus vykdomas.

Baigęs kodavimą, rekomenduosiu sukurti kodo „Javadoc“, kad žmonės galėtų pamatyti, ką daro jūsų kodas. Norėdami tai padaryti, ekrano viršuje esančiu mygtuku „Vykdyti“tiesiog paspauskite „Generuoti„ Javadoc ““. „Javadoc“kopiją galite rasti žiūrėdami į pirmojo puslapio ZIP failą ir pasirinkdami failą index.html.

7 veiksmas: mūsų stiklainio failo surinkimas ir pakavimas

Mūsų stiklainio failo sudarymas ir pakavimas
Mūsų stiklainio failo sudarymas ir pakavimas

Kai pakankamai ištaisysite ir sėkmingai paleisite, galite pagaliau ją surinkti į JAR failą, kuris vėliau gali būti paskelbtas, kad kiti galėtų paleisti šią programinę įrangą be „NetBeans“ar „Jsoup“.

Prieš sukurdami programą įsitikinkite, kad viskas padaryta. Jei norite pridėti dokumentaciją ir sukurti „JavaDoc“, padarykite tai. Jei turite kokių nors System.out komandų, kurios spausdina į jūsų konsolę, pašalinkite jas. Iš esmės įsitikinkite, kad jūsų programoje nėra nepageidaujamų komandų ar funkcijų ir ar joje yra viskas, ko reikia supakuoti.

Tai atlikę, dešiniuoju pelės mygtuku spustelėkite projekto pavadinimą „NetBeans“. Turėtų pasirodyti meniu. Paspauskite ypatybes (pačiame meniu apačioje), tada paspauskite „Pakuotė“kairėje naujo iššokančio meniu pusėje. Dabar įsitikinkite, kad visi žymės langeliai yra pažymėti. Jūsų ekranas turėtų atrodyti kaip aukščiau.

Tai atlikę dar kartą dešiniuoju pelės mygtuku spustelėkite savo projektą „NetBeans“. Šiuo metu paspauskite mygtuką „Išvalyti ir kurti“, ir „NetBeans“pradės paimti jūsų bibliotekas ir failus bei surinkti juos į veikiantį JAR failą. Jei viskas gerai, po kelių akimirkų konsolėje turėtumėte pamatyti pranešimą, nurodantį, kad JAR baigė kompiliuoti, ir dabar failą galima paleisti. Paleiskite šią programą ir įsitikinkite, kad viskas veikia. Jei ne, derinkite ir paleiskite procesą iš naujo, kol bus pašalintos klaidos.

8 žingsnis: Sveikiname

Sveikinu! Jei teisingai vykdėte visas instrukcijas ir viską gerai užkoduojote, turėtumėte turėti savo darbo programą. Įdomu tai, kad dabar, kai jūs arba kas nors kitas, turintis prieigą prie jūsų skaičiuoklės, redaguoja duomenis, jūsų programa galės pakeisti naujus duomenis ir reaguoti į juos. Čia yra trumpas vaizdo įrašas, kaip pasirodė mano.

Jei ieškote būdų, kaip toliau tobulėti ir kurti, rekomenduoju patikrinti kai kurias pažangesnes „JavaFX“funkcijas, pvz., „FancyText“arba „FancyButton“, kurios gali pridėti šiek tiek aukštesnės klasės grafikos jūsų programai. Sėkmės ir parašykite komentarą, jei jums reikia pagalbos ar pastebėjote mano kodo klaidą!

Rekomenduojamas: