Sadržaj:
- Korak 1: Šta će vam trebati
- Korak 2: Postavljanje baze podataka
- Korak 3: Postavljanje NetBeansa
- Korak 4: Kodiranje naše glavne klase
- Korak 5: Definiranje naše metode Create ()
- Korak 6: Kodiranje naše aplikacije
- Korak 7: Sastavljanje i pakiranje naše Jar datoteke
- Korak 8: Čestitamo
Video: Java aplikacija u bazi podataka Google diska: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Jeste li ikada poželjeli stvoriti aplikaciju koja radi na dinamičkoj bazi podataka s kojom je lako raditi, omogućava korisnicima koji nisu upućeni u tehnologiju da unose podatke i ne troše resurse kompanije? Pa, onda imam rješenje za vas. Danas ćemo graditi aplikaciju koja radi na Google disku (dobro, posebno Google tablice) i može se koristiti u različite svrhe. Iako će se ovaj vodič usredotočiti na izradu aplikacije zasnovane na događajima koja će prikazati popis događaja koji se događaju oko fakultetskog kampusa, ovaj se projekt može lako prepisati kako bi funkcionirao na više načina, bilo da se radi o aplikaciji za kalkulator za aplikaciju koja prati zalihe proizvoda. Priložio sam kopiju moje prijave ako želite vidjeti šta ćemo raditi. Raspakirajte zip datoteku i pokrenite JAR unutar nje. A sada, bez daljnjih zamolki, počnimo!
Korak 1: Šta će vam trebati
Za početak rada na ovom projektu trebat će vam sljedeći resursi:
-
Netbeans
Preporučujem preuzimanje Java EE jer pruža podršku poslužitelju, ali ako ne želite neke nepotrebne datoteke ili dodatni prostor na disku, Java SE će također raditi. Netbeans će poslužiti kao naš IDE za kodiranje i sastavljanje naše aplikacije
-
Jsoup
Uključio sam ovo u uputstvo za preuzimanje. To je HTML parser koji će nam omogućiti da izvučemo informacije iz objavljene proračunske tablice
-
Java SDK (V8)
Preuzmite bilo koju datoteku koja odgovara vašem sistemu. Ako već imate Java SDK u prethodnoj verziji, preporučujem ažuriranje. Neke od mojih funkcija koriste nove lambda izraze izvorne za v8, a kôd možda neće raditi bez njih, ovisno o tome što radite
-
Visual Studio (opcionalno)
Potpuno neobavezno. Iako NetBeans radi sjajno za sastavljanje i pakiranje naše aplikacije, nisam veliki obožavatelj razvojnog studija. Više volim kodirati u VS -u jer ima ljepše sučelje. Ako vam se ovo ne sviđa, na internetu postoji mnogo drugih IDE -ova, pa pronađite sve što vam se najviše sviđa
-
Starter Code
Uključio sam početni kôd u izvore ovoga, a objavio sam ga i na GitHub -u. Ovdje imam glavnu datoteku (Događaj) koja pruža strukturu datoteke koja zapravo pokreće aplikaciju, kao i EventTester, koji koristi JavaFX za kreiranje grafičkog sučelja za aplikaciju. Ako želite dobiti potpuno iskustvo, ne preporučujem kopiranje i lijepljenje. Uzmite si vremena i pročitajte ovo
Ostali:
Osnovno poznavanje Jave. Bilo bi korisno biti upoznat s Javom, poput pisanja funkcija, stvaranja objekata itd
Korak 2: Postavljanje baze podataka
Da bismo započeli projekt, prvo moramo otići na Google disk i stvoriti list koji ćemo koristiti za pokretanje naše aplikacije. Idite na drive.google.com i kliknite ikonu "Novo" u gornjem lijevom kutu, a ispod toga odaberite "Tablice".
Nakon što se vaš list učita, nastavite i preimenujte ga u nešto lako prepoznatljivo. Nakon toga, nastavite i ispunite gornji red svojim podacima, poput stvari koje ćete unijeti u svaku kolonu. Gledajući moj primjer ovdje, označio sam gornji red stvarima poput "Naziv događaja", "Datum" itd.
Nakon toga počnite popunjavati tablicu podacima koje želite popuniti. Ne zaboravite na sličan način formatirati sve svoje podatke kako bi kôd mogao raditi s njima bez grešaka. Na primjer, ako namjeravate koristiti datume u svom kodu, pazite da svaki datum formatirate na isti način, u suprotnom ga kôd neće moći raščlaniti.
Nakon što unesete svoje podatke, objavite proračunsku tablicu tako da odete na "Datoteka" -> "Objavi na webu." Odavde ćete htjeti odabrati cijeli dokument i pobrinuti se da bude objavljen kao HTML datoteka, na taj način naša aplikacija može ispravno nacrtati podatke. Nakon objavljivanja proračunske tablice, obavezno zabilježite vezu koju ona pruža. To će kasnije biti potrebno u aplikaciji.
Korak 3: Postavljanje NetBeansa
Sada kada imamo svoju proračunsku tablicu, vrijeme je za postavljanje NetBeansa kako bismo mogli započeti kodiranje. Nakon što preuzmete i instalirate NetBeans i svoj Java SDK, krenite u kreiranje novog projekta. Prilikom odabira vrste, odaberite kategoriju "Java" i projekt "Java aplikacija". Odaberite kako god želite da se vaš projekat zove (ja sam svoj nazvao jednostavno "Događaj"). Potvrdite izbor u polju za potvrdu pored "koristi namensku fasciklu za skladištenje biblioteka", kao i polje pored "Kreiraj glavnu klasu". Nakon toga, NetBeans bi trebao stvoriti projekt i direktorij projekta za početak rada, slično onom na slici.
Prije nego počnemo kodirati, morat ćemo se također uvjeriti da NetBeans ima JSoup biblioteku koja će mu trebati za raščlanjivanje naše proračunske tablice. U NetBeansu desnom tipkom miša kliknite ikonu "Biblioteke" ispod direktorija vašeg projekta. U skočnom izborniku odaberite gumb za dodavanje.jar datoteke. Sada se pomaknite do mjesta na koje ste postavili svoju jsoup datoteku (najvjerojatnije vašu mapu Preuzimanja, osim ako niste naveli drugdje). Odaberite ovu datoteku i dodajte je u biblioteku. Ako proširite mapu Biblioteke u NetBeansu, sada biste trebali vidjeti jsoup.jar u ovom području. Učinivši to, sada možemo početi kodirati našu aplikaciju.
Korak 4: Kodiranje naše glavne klase
Dakle, prvi korak u kodiranju naše aplikacije je stvaranje vaše glavne klase. Vaša glavna klasa će biti mjesto gdje stvaramo naše objekte, imamo metode u interakciji s JSoupom i još mnogo toga. Pretpostavimo da svi koji ovo čitaju imaju iskustva u kodiranju, samo naprijed i upotrijebite sljedeće uvoze:
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;
Ovo može izgledati kao puno, a ovisno o vašem projektu, sve možda neće biti potrebno. Dok nastavljamo kodirati, NetBeans će vas obavijestiti ako imate neiskorištenih uvoza, tako da ih uvijek možemo kasnije izbrisati. Međutim, ovo nam je zasad potrebno.
Nakon što smo dobili naše izjave o uvozu, idemo naprijed i proglasimo našu klasu. Ako planirate koristiti Dates ili bilo koji neosnovni objekt pri razvoju vašeg objekta specifičnog za klasu, preporučujem da dodate deklaraciju klase "implements Comparable". Ovo će vam omogućiti da uporedite Objekte, što će vam omogućiti kasnije sortiranje liste ClassObjects. Nakon što to učinite, naprijed i deklarirajte sve varijable instance koje će vam trebati. Za svaki javni niz koji kreirate, također ćete morati stvoriti SimpleStringProperty za njega. Ovo su JavaFX objekti koji će nam kasnije omogućiti rad s objektima naše glavne klase.
Sada, naprijed, i deklarirajte svoje pristupne funkcije. Što se tiče vaših osnovnih varijabli, možete imenovati svoje funkcije kako god odaberete. Međutim, za funkcije pristupa SSP -u morate koristiti format getFunctionNameHere (). To je zato što ćemo kasnije koristiti JavaFX za povezivanje s ovim funkcijama, a funkcije koje ćemo koristiti zahtijevaju da naše SSP funkcije započnemo s get. Gore možete vidjeti primjer.
Nakon definiranja svih vaših pristupnih varijabli, nastavite i definirajte sve ostale funkcije koje vam mogu zatrebati. Ovo je vrlo specifično za korisnika, jer se funkcije koje su vam potrebne razlikuju od projekta do projekta. Ako vam treba inspiracija, provjerite moj Javadoc ili stvarni kod i pogledajte neke od funkcija koje sam napravio. Na primjer, stvorio sam funkciju sortiranja koja sortira Listu po datumu, kao i funkcije koje su vratile samo Događaje sa statusom grupe javnosti, i više. Iako je u redu učiniti ove statičke kako biste mogli obaviti neka testiranja, preporučujem da nemate statičkih metoda nakon što završite otklanjanje pogrešaka, kako biste izbjegli greške kada prijeđemo na sljedeći korak projekta.
Korak 5: Definiranje naše metode Create ()
Sada dolazi vjerojatno najvažniji dio koda, gdje ćemo definirati našu create () metodu, koja će zapravo pristupiti našoj web stranici i dobiti nam podatke. Važno je napomenuti da ćete u svoju deklaraciju metode morati dodati redak throws Exception, tako da ne moramo upisivati try blokove u naš kôd. Za početak, naprijed i proglasite praznu listu vašeg objekta. U mom slučaju, izgledalo je tako
Događaji događaja = novi ArrayList ()).
Sada idite i pronađite URL koji ste ranije kopirali u objavljenu proračunsku tablicu. Oglasite ovu vezu kao niz u Javi i nazovite je kako god želite. Sada, naprijed i proglasite novi Jsoup dokument. To možete učiniti stvaranjem novog objekta dokumenta, kao što je
Dokument doc = novi dokument ();
Sada nastavite i postavite svoj dokument da se poveže s našim URL -om i preuzme podatke. Da biste to učinili, pokušajte:
Dokument doc = Jsoup.connect (url).get ();
Sada moramo dobiti tijelo našeg dokumenta, gdje se pohranjuju stvarni podaci.
String body = doc.body (). Text ();
Sada moramo početi izvlačiti podatke iz tijela. Budući da su naši podaci u tablici (budući da je to proračunska tablica), moramo izvući tablicu iz tijela. Pokusajmo
Tablica elemenata = doc.select ("tablica"). Get (0);
Ovo odabire prvu tablicu. U ovom slučaju postoji samo jedan. Sada otkucaj
Elementi redovi = table.select ("tr");
Ovo nam daje sve redove u spomenutoj tablici.
Dakle, sada su svi naši podaci unutar ove varijable redova. To je dobro i sve, ali cijela poanta u pisanju ove funkcije unutar ove klase je u tome da od nje možemo stvoriti objekte. Dakle, prije nego što ovo možemo vratiti, moramo stvoriti Listu iz naših redova. Da bismo to učinili, možemo koristiti for petlju. Moram napomenuti da mi je ovo trebalo malo pokušaja i grešaka da ispravim. Shvatio sam da prilikom povlačenja iz redova neki naši podaci nisu korisni za ovu situaciju, jer pružaju stvari poput imena pojedinačnog lista, prvog reda s našim idejama o podacima itd. Na kraju sam postavio početni unos broja za for petlju na 2, tako da zaobilazi ove stavke i može kreirati naše stavke. Na kraju sam razvio izgled koda
for (int i = 2; i <rows.size (); i ++) {
Element row = rows.get (i);
Elementi cols = row.select ("td");
Sada, da biste stvorili objekt, učinite nešto poput
Ime objekta = novi Objekt (cols.get (0).text ());
U osnovi, cols.get (0) će dobiti podatke iz kolone (0) retka (i) i pretvoriti ih u niz koji se zatim može prenijeti u konstruktor objekta.
Nakon postavljanja konstrukcije, dodajte je na Listu koju smo ranije kreirali sa list.add (), kao što je
events.add (ime);
Sada zatvorite for petlju i pozovite sve funkcije koje vam sada trebaju. Na primjer, pozvao sam funkciju sortiranja kako bih doveo događaje prema datumu. Nakon toga vratite svoju listu i tada ste završili s ovim odjeljkom!
Korak 6: Kodiranje naše aplikacije
Kreirajte novu datoteku i dajte joj ime kako god želite. Trebat će vam sljedeći uvoz:
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;
Znam da ovo može izgledati kao puno, ali vjerujte, oni su nam neophodni za pokretanje kreiranja naše aplikacije. Samo najavite svoju klasu i pobrinite se da proširuje aplikaciju jer je to neophodna komponenta projekta. U početku deklarirajte novu varijablu instance koja je TableView vašeg objekta, kao što je
privatni TableView table = new TableView ();
Također, navedite glavnu metodu koju ćemo koristiti za pokretanje aplikacije. U osnovi, to bi trebalo izgledati kao slika na vrhu.
Sada moramo stvoriti našu metodu početka. Uvjerite se da izbacuje Exception, jer ćemo pozvati metodu create () iz naše bivše klase. Napravite novi događaj s praznim parametrima, jednostavno da bismo mogli pozvati metodu kreiranja s njim. Definirajte novu listu i postavite je jednakom rezultatu create (). Sada, kreirajte novi ObservableList, koji će se koristiti za popunjavanje naše tablice našim podacima. Definišite to ovako:
ObservableList podaci = FXCollections.observableArrayList ();
Sada stvorite novu scenu sa:
Scena = nova scena (nova grupa ());
Postavite naslov, širinu, visinu i sve ostalo što vam je potrebno za sve što vam odgovara. Moje vrijednosti možete vidjeti na slici pri vrhu. Sada možemo početi s postavljanjem našeg stola. Za sve informacije koje želite prikazati, stvorite tablični stupac, poput:
TableColumn eventCol = novi TableColumn ("Naziv događaja"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (nova PropertyValueFactory ("sName"));
Parametar "sName" trebao bi biti ispunjen bilo kojim nazivom vaših SSP pristupnih funkcija, tako da može dobiti vrijednosti koje su vam potrebne za date objekte. Napravite onoliko stupaca koliko vam je potrebno, a zatim ih dodajte u tablicu sa
FilteredList flEvent = new FilteredList (podaci, p -> true);
table.setItems (flEvent);
table.getColumns (). addAll (eventCol, statCol, groupCol, datingCol, descCol, locationCol);
Ako želite dodati traku za pretraživanje kao što sam ja učinio, provjerite kôd za informacije o tome kako stvoriti izborni okvir i tekstualno polje, što će omogućiti vašem korisniku da filtrira tablicu prema određenim vrijednostima. Ako ste tako odlučili, morat ćete napraviti i hBox da ih sadrži, sa
HBox hBox = novi HBox (choiceBox, textField);
hBox.setAlignment (Pos. CENTER);
Također ćete morati dodati hBox u donju metodu.addAll ().
U suprotnom, jednostavno stvorite novi vBox za držanje naših podataka
konačni VBox vbox = novi VBox ();
vbox.getChildren (). addAll (oznaka, tablica);
((Grupa) scene.getRoot ()). GetChildren (). AddAll (vbox);
stage.setScene (scena); stage.show ();
Sada sastavite svoj kôd i pokrenite ga, pa provjerite radi li. Koristite NetBeans za pronalaženje grešaka koje će se pojaviti kao crvene trake na desnoj strani ekrana. Ponavljajte ovo dok ne budete imali više grešaka i dok se projekt ne pokrene.
Nakon dovršetka kodiranja, preporučit ću stvaranje Javadoca vašeg koda kako bi ljudi mogli vidjeti što vaš kod radi. Da biste to učinili, pod gumbom "Pokreni" pri vrhu ekrana jednostavno pritisnite "Generiraj Javadoc". Kopiju mog Javadoca možete pronaći ako pogledate zip datoteku na prvoj stranici i odaberete datoteku index.html.
Korak 7: Sastavljanje i pakiranje naše Jar datoteke
Nakon što ste u dovoljnoj mjeri otklonili greške u svom računaru i uspješno ga pokrenuli, konačno ga možete sastaviti u JAR datoteku, koja se zatim može objaviti kako bi drugi mogli pokrenuti ovaj softver bez potrebe za NetBeans ili Jsoup.
Prije sastavljanja aplikacije provjerite je li sve učinjeno. Ako želite dodati dokumentaciju i stvoriti JavaDoc, učinite to naprijed. Ako imate naredbe System.out koje se ispisuju na vašoj konzoli, uklonite ih. U osnovi, pobrinite se da vaša aplikacija nema neželjene naredbe ili funkcije i da ima sve što je potrebno za pakiranje.
Nakon toga kliknite desnim tasterom miša na naziv projekta u NetBeans -u. Trebalo bi da se pojavi meni. Pritisnite svojstva (na samom dnu menija), zatim pritisnite "Ambalaža" na lijevoj strani novog skočnog izbornika. Sada provjerite jesu li označena sva polja za potvrdu. Vaš ekran bi trebao izgledati kao na gornjoj slici.
Nakon što to učinite, još jednom desnom tipkom miša kliknite svoj projekt u NetBeansu. U ovom trenutku pritisnite dugme "Očisti i izgradi", a NetBeans će početi uzimati vaše biblioteke i datoteke i kompilirati ih u radnu JAR datoteku. Ako sve prođe u redu, trebali biste vidjeti poruku u konzoli nakon nekoliko trenutaka koja vam govori da je vaš JAR završio s kompajliranjem, a datoteka se sada može pokrenuti. Pokrenite ovu aplikaciju i provjerite radi li sve. Ako nije, otklonite pogreške i ponovo pokrenite proces dok se ne riješe greške.
Korak 8: Čestitamo
Čestitamo! Ako ste točno slijedili sve upute i sve dobro kodirali, trebali biste imati vlastitu radnu aplikaciju. Zgodno je to što ćete sada, kad god vi ili bilo tko drugi koji ima pristup vašoj proračunskoj tablici urediti podatke, vaša aplikacija moći promijeniti i reagirati na nove podatke. Evo kratkog videa kako je moj ispao.
Ako tražite načine za poboljšanje i izgradnju, preporučujem vam da provjerite neke od naprednijih funkcija JavaFX -a, poput FancyText ili FancyButton, koje vašoj aplikaciji mogu dodati grafiku višeg ranga. Sretno i ostavite komentar ako vam je potrebna pomoć ili primijetite grešku u mom kodu!
Preporučuje se:
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD-karticom - DHT11 Zapisnik podataka Simulacija u Proteusu: 5 koraka
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD-karticom | DHT11 Simulator zapisnika podataka u Proteusu: Uvod: zdravo, ovdje Liono Maker, ovdje je YouTube veza. Radimo na kreativnom projektu s Arduinom i radimo na ugrađenim sistemima. Zapisnik podataka: Zapisnik podataka (također zapisnik podataka ili snimač podataka) je elektronički uređaj koji bilježi podatke tokom vremena sa
GPS automobilski tragač sa SMS obavještenjem i otpremom podataka, na bazi Arduina, kućna automatizacija: 5 koraka (sa slikama)
GPS automobilski tragač sa SMS obavještenjem i prenosom podataka sa stvarnim govorima, baziran na Arduinu, kućna automatizacija: Napravio sam ovaj GPS praćenje prošle godine, a budući da dobro radi, sada ga objavljujem na Instructable. Povezan je s priključkom za dodatnu opremu u mom prtljažniku. GPS tracker prenosi podatke o položaju automobila, brzinu, smjer i izmjerenu temperaturu putem mobilnih podataka
Moja prva Java aplikacija: 6 koraka
Moja prva Java aplikacija: Želite li i dalje stvarati vlastitu java aplikaciju, ali je iz nekog razloga odgađate? Čujete li sebe kako kažete "Sutra ću konačno to učiniti"? Ali to sutra nikad ne dolazi. Dakle, morate početi odmah. Sada je vrijeme da nabavite svoju han
Infracrveni termometar na bazi Arduina - IR termometar na bazi Arduina: 4 koraka
Infracrveni termometar na bazi Arduina | Infracrveni termometar pomoću Arduina: Zdravo momci u ovim uputama napravit ćemo beskontaktni termometar pomoću arduina. Budući da je ponekad temperatura tekućine/krutine previsoka ili preniska, a onda je teško stupiti u kontakt s njom i pročitati je temperatura u tom prizoru
EAL-Industri4.0-RFID prikupljanje podataka do baze podataka: 10 koraka (sa slikama)
EAL-Industri4.0-RFID podatkovno prikupljanje podataka u bazi podataka: Ovaj projektni upravitelj opsamlira sve podatke i podatke, registrovane kao identifikator u vašoj bazi podataka. RFID, zaostajanje podataka u MySQL bazi podataka. node-RED, samo ažuriranje i ponašanje u skladu sa općenitim podacima u et C# programu koji se formira u aplikaciji Windows Form