Съдържание:

Приложението Java, разпространено в база данни на Google Диск: 8 стъпки
Приложението Java, разпространено в база данни на Google Диск: 8 стъпки

Видео: Приложението Java, разпространено в база данни на Google Диск: 8 стъпки

Видео: Приложението Java, разпространено в база данни на Google Диск: 8 стъпки
Видео: The Complete Guide to Google Forms - Online Survey and Data Collection Tool! 2024, Ноември
Anonim
Приложението Java работи в база данни на Google Диск
Приложението Java работи в база данни на Google Диск
Приложението Java работи в база данни на Google Диск
Приложението Java работи в база данни на Google Диск
Приложението Java работи в база данни на Google Диск
Приложението Java работи в база данни на Google Диск

Искали ли сте някога да създадете приложение, което работи на динамична база данни, с която е лесно да се работи, позволява на нетехнологични потребители да въвеждат данни и не изчерпва ресурсите на компанията? Е, тогава имам решение за вас. Днес ще изграждаме приложение, което работи на Google Drive (добре, по -специално Google Sheets) и може да се използва за различни цели. Въпреки че този урок ще се фокусира върху изграждането на приложение, базирано на събития, за да покаже списък със събития, случващи се около колежа, този проект може лесно да бъде пренаписан, за да функционира по множество начини, било то приложение за калкулатор към приложение, което наблюдава запаси за продукти. Прилагам копие от молбата си, ако искате да видите какво ще правим. Разархивирайте zip файла и стартирайте JAR вътре в него. И сега, без да се замисляме, нека започнем!

Стъпка 1: Какво ще ви трябва

За да започнете с този проект, ще ви трябват следните ресурси:

  • Netbeans

    Препоръчвам изтеглянето на Java EE, тъй като осигурява поддръжка на сървъра, но ако не искате някои ненужни файлове или допълнително дисково пространство, Java SE също ще работи. Netbeans ще служи като наша IDE за кодиране и компилиране на нашето приложение

  • Jsoup

    Включих това в инструкциите за изтегляне. Това е HTML анализатор, който ще ни позволи да извлечем информация от публикуваната електронна таблица

  • Java SDK (V8)

    Изтеглете всеки файл, който отговаря на вашата система. Ако вече имате Java SDK в предишна версия, препоръчвам да актуализирате. Някои от моите функции използват нови ламбда изрази, естествени за v8, и кодът може да не работи без тях в зависимост от това, което правите

  • Visual Studio (по избор)

    Напълно по избор. Въпреки че NetBeans работи невероятно за компилирането и опаковането на нашето приложение, аз не съм голям фен на студиото за разработка. Предпочитам да кодирам във VS, тъй като има по -хубав интерфейс. Ако това не ви харесва, има много други IDE онлайн, така че намерете всичко, което ви харесва най -много

  • Стартов код

    Включих стартерния код в ресурсите на това и също го публикувах в GitHub. В това имам основния файл (Събитие), който предоставя структурата на файла, който действително изпълнява приложението, както и EventTester, който използва JavaFX за създаване на GUI за приложението. Ако искате да получите пълноценно изживяване, не препоръчвам копиране и поставяне. Отделете време и прочетете това

Други:

Основни познания по Java. Ще бъде полезно да имате познания в Java, като писане на функции, създаване на обекти и т.н

Стъпка 2: Създаване на вашата база данни

Създаване на вашата база данни
Създаване на вашата база данни

За да започнем проекта, първо трябва да влезем в Google Диск и да създадем листа, който ще използваме за стартиране на нашето приложение. Преминете към drive.google.com и кликнете върху иконата „Ново“в горния ляв ъгъл и изберете „Таблици“под това.

След като листът ви се зареди, продължете и го преименувайте на нещо лесно разпознаваемо. След като направите това, продължете и попълнете горния ред с имената на вашите данни, като например нещата, които ще поставите във всяка колона. Разглеждайки моя пример тук, аз обозначих горния ред с неща като „Име на събитие“, „Дата“и т.н.

След като направите това, започнете да попълвате електронната си таблица с данните, които искате да попълните. Не забравяйте да форматирате всичките си данни по подобен начин, така че кодът да може да работи с тях, без да изхвърля грешки. Например, ако планирате да използвате дати в кода си, внимавайте да форматирате всяка дата по един и същи начин, в противен случай кодът няма да може да я анализира.

След като въведете данните си, публикувайте електронната таблица, като отидете на „Файл“-> „Публикуване в мрежата“. Оттук ще искате да изберете целия документ и да се уверите, че е публикуван като HTML файл, по този начин нашето приложение може да изготви данните правилно. След като публикувате електронната си таблица, не забравяйте да отбележите връзката, която предоставя. Това ще е необходимо по -късно в приложението.

Стъпка 3: Настройване на NetBeans

Настройване на NetBeans
Настройване на NetBeans

Сега, когато имаме нашата електронна таблица, е време да настроим NetBeans, за да можем да започнем да кодираме. След като изтеглите и инсталирате NetBeans и вашия Java SDK, продължете и създайте нов проект. Когато избирате тип, изберете категорията "Java" и проекта "Java Application". Изберете каквото искате да се нарича вашият проект (аз нарекох моя просто „Събитие“). Поставете отметка в квадратчето до „използвайте специална папка за съхранение на библиотеки“, както и тази освен „Създаване на основен клас“. След това NetBeans трябва да създаде проект и директория с проекти, в които да започнем да работим, подобно на тази на снимката.

Преди да започнем да кодираме, ще трябва също да се уверим, че NetBeans разполага с библиотеката JSoup, от която ще се нуждае, за да анализира електронната ни таблица. В NetBeans щракнете с десния бутон върху иконата „Библиотеки“под директорията на вашия проект. Под изскачащото меню изберете бутона, за да добавите.jar файл. Сега отидете до мястото, където сте поставили изтеглянето на jsoup (най -вероятно вашата папка Downloads, освен ако не сте посочили другаде). Изберете този файл и го добавете към библиотеката. Ако разширите папката си Библиотеки в NetBeans, сега трябва да видите jsoup.jar в тази област. След като направим това, сега можем да започнем да кодираме нашето приложение.

Стъпка 4: Кодиране на нашия основен клас

Кодиране на нашия основен клас
Кодиране на нашия основен клас

И така, първата стъпка в кодирането на нашето приложение е създаването на вашия основен клас. Основният ви клас ще бъде мястото, където създаваме нашите обекти, разполагаме с методите, които взаимодействат с JSoup и др. Ако приемем, че всеки, който чете това, има опит в кодирането, продължете напред и използвайте следния внос:

импортиране на java.util. Collections;

импортиране на java.util. List;

импортиране на java.util. ArrayList;

импортиране на java.util. Date;

импортиране на java.util.stream. Stream;

импортиране на java.util.stream. Collectors;

импортиране на java.text. SimpleDateFormat;

импортиране на java.text. ParseException;

внос org.jsoup. Jsoup;

импортиране на org.jsoup.nodes. Document;

внос org.jsoup.nodes. Element;

внос org.jsoup.select. Elements;

импортиране на javafx.beans.property. SimpleStringProperty;

Това може да изглежда много и в зависимост от вашия проект всичко може да не е необходимо. Докато продължаваме да кодираме, NetBeans ще ви уведоми, ако имате неизползван внос, така че винаги можем да ги изтрием по -късно. Това обаче ни е необходимо за сега.

След като получихме нашите изявления за внос, нека да обявим нашия клас. Ако планирате да използвате Dates или някакъв неосновен обект при разработването на вашия специфичен за клас обект, препоръчвам да добавите „implements Comparable“към декларацията на вашия клас. Това ще ви позволи да сравнявате обекти, което ще ви позволи да сортирате списък на ClassObjects по -късно. След като направите това, продължете напред и декларирайте всички променливи на екземпляра, от които се нуждаете. За всеки публичен низ, който създавате, ще трябва също да създадете SimpleStringProperty за него. Това са JavaFX обекти, които ще ни позволят да работим с нашите обекти от основния клас по -късно.

Сега продължете и декларирайте, че имате функции за достъп. Що се отнася до основните ви променливи, можете да именувате функциите си каквото изберете. За вашите функции за достъп до SSP обаче трябва да използвате формата getFunctionNameHere (). Това е така, защото по -късно ще използваме JavaFX за свързване с тези функции, а функциите, които ще използваме, изискват от нас да започнем нашите SSP функции с get. Можете да видите пример по -горе.

След като дефинирате всичките си променливи за достъп, продължете и дефинирайте всички други функции, от които може да се нуждаете. Това е много специфично за потребителя, тъй като функциите, от които се нуждаете, се различават от проект до проект. Ако имате нужда от малко вдъхновение, проверете моя Javadoc или действителния код и вижте някои от функциите, които направих. Например, създадох функция за сортиране, която сортира списък по дата, както и функции, които връщат само събития със статуси на група публични и др. Въпреки че е добре да направите тези статични, за да можете да направите някои тестове, препоръчвам да нямате статични методи, след като приключите с отстраняването на грешки, за да избегнете грешки, когато стигнем до следващата стъпка на проекта.

Стъпка 5: Дефиниране на нашия метод Create ()

Дефиниране на нашия метод Create ()
Дефиниране на нашия метод Create ()

Сега идва може би най -важната част от кода, където ще дефинираме нашия метод create (), който всъщност ще има достъп до нашата уеб страница и ще ни получи данните. Важно е да се отбележи, че ще трябва да добавите изхвърлящ ред Exception към декларацията на метода, така че не е нужно да пишем try блокове в нашия код. За да започнете, обявете празен списък на вашия обект. В моя случай изглеждаше така

Събития на събития = нов ArrayList ()).

Сега отидете и намерете този URL адрес, който сте копирали по -рано в публикуваната електронна таблица. Обявете тази връзка като низ в Java и я наречете както искате. Сега, обявете нов Jsoup документ. Можете да направите това, като създадете нов обект на документ, като напр

Документ doc = нов документ ();

Сега продължете и настройте документа си да се свърже с нашия URL адрес и да получи данните. За да направите това, опитайте:

Документ doc = Jsoup.connect (url).get ();

Сега трябва да вземем тялото на нашия документ, където се съхраняват действителните данни.

Низово тяло = doc.body (). Text ();

Сега трябва да започнем извличането на данни от тялото. Тъй като нашите данни са в таблица (тъй като това беше електронна таблица), трябва да извадим таблицата от тялото. Да опитаме

Елементна таблица = doc.select ("таблица"). Get (0);

Това избира първата таблица. В този случай има само един. Сега въведете

Елементи редове = table.select ("tr");

Това ни дава всички редове в споменатата таблица.

Така че сега всички наши данни са в тази променлива на редовете. Това е добре и всичко, но целият смисъл при писането на тази функция вътре в този клас е, за да можем да създаваме обекти от нея. Така че, преди да можем да върнем това, трябва да създадем списък от нашите редове. За да направим това, можем да използваме цикъл for. Трябва да отбележа, че това ми отне малко опити и грешки, за да се оправя. Осъзнах, че при изтегляне от редовете някои от нашите данни не са полезни за тази ситуация, тъй като предоставят неща като името на отделния лист, първия ред с нашите идеи за данни върху него и т.н. В крайна сметка зададох началния въвеждане на номер за цикъла for до 2, така че той заобикаля тези елементи и може да създава нашите елементи. В крайна сметка разработих поглед с кода

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

Елемент ред = редове.get (i);

Елементи cols = row.select ("td");

Сега, за да създадете обект, направете нещо подобно

Име на обект = нов Обект (cols.get (0).text ());

По същество cols.get (0) ще получи данните от ред (i) колона (0) и ще ги превърне в низ, който след това може да бъде предаден в конструктора на обекта.

След като настроите вашата конструкция, добавете я към списъка, който създадохме по -рано с list.add (), като например

events.add (име);

Сега затворете цикъла си for и извикайте всички функции, които може да ви се наложи сега. Например, извиках функцията ми за сортиране, за да подредя събитията по дата. След като направите това, върнете списъка си и тогава сте приключили с този раздел!

Стъпка 6: Кодиране на нашето приложение

Кодиране на нашето приложение
Кодиране на нашето приложение
Кодиране на нашето приложение
Кодиране на нашето приложение

Създайте нов файл и го кръстете както искате. Ще ви е необходим следният внос:

импортиране на java.util. List;

импортиране на java.util. ArrayList;

импортиране на java.util. Date;

импортиране на javafx.geometry. Pos;

импортиране на javafx.scene.layout. HBox;

импортиране на javafx.application. Application;

import javafx.collections.transformation. FilteredList;

импортиране на javafx.scene.text. Font; импортиране на javafx.scene.control.*;

import javafx.collections. FXCollections;

import javafx.collections. ObservableList;

импортиране на javafx.geometry. Insets;

импортиране на javafx.scene. Group;

импортиране на javafx.scene. Scene;

импортиране на javafx.scene.control. Label;

импортиране на javafx.scene.control.cell. PropertyValueFactory;

импортиране на javafx.scene.layout. VBox;

импортиране на javafx.stage. Stage;

Знам, че това може да изглежда много, но повярвайте ми, те са необходими, за да стартираме създаването на нашето приложение. Продължете и обявете вашия клас и се уверете, че той разширява Application, тъй като това е необходим компонент на проекта. В началото декларирайте нова променлива на екземпляр, която е TableView на вашия обект, като например

частна таблица TableView = нова TableView ();

Също така декларирайте основен метод, който ще използваме за стартиране на приложението. По същество трябва да изглежда като картината в горната част.

Сега трябва да създадем нашия начален метод. Уверете се, че хвърля Exception, тъй като ще извикваме метода create () от предишния ни клас. Направете ново събитие с празни параметри, просто за да можем да извикаме метода create с него. Определете нов списък и го задайте равен на резултата от create (). Сега създайте нов ObservableList, който ще се използва за попълване на нашата таблица с нашите данни. Определете го така:

ObservableList данни = FXCollections.observableArrayList ();

Сега създайте нова сцена с:

Сцена на сцена = нова сцена (нова група ());

Задайте заглавието, ширината, височината и всичко друго, от което се нуждаете, за да работи за вас. Можете да видите моите стойности на изображението в горната част. Сега можем да започнем да настройваме нашата маса. За цялата информация, която искате да покажете, създайте TableColumn, като:

TableColumn eventCol = нов TableColumn ("Име на събитие"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (нов PropertyValueFactory ("sName"));

Параметърът "sName" трябва да бъде попълнен с каквото и да е името на вашите функции за достъп до SSP, за да може да получи стойностите, от които се нуждаете за дадените обекти. Направете колкото се може повече колони, след което ги добавете към таблица с

FilteredList flEvent = нов FilteredList (данни, p -> true);

table.setItems (flEvent);

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

Ако искате да добавите лента за търсене, както направих аз, проверете кода за информация как да създадете choiceBox и textField, което ще позволи на вашия потребител да филтрира таблицата по конкретни стойности. Ако сте избрали да направите това, ще трябва да направите и hBox, който да съдържа тези, с

HBox hBox = нов HBox (choiceBox, textField);

hBox.setAlignment (Pos. CENTER);

Също така ще трябва да добавите hBox към метода.addAll () по -долу.

В противен случай просто създайте нов vBox, който да държи данните ни, като направите това

окончателен VBox vbox = нов VBox ();

vbox.getChildren (). addAll (етикет, таблица);

((Група) сцена.getRoot ()). GetChildren (). AddAll (vbox);

stage.setScene (сцена); stage.show ();

Сега компилирайте кода си и го стартирайте и вижте дали работи. Използвайте NetBeans, за да намерите грешки, които ще се появят като червени ленти от дясната страна на екрана. Продължете да изпълнявате това, докато нямате повече грешки и проектът се изпълнява.

След като завършите кодирането си, ще препоръчам да създадете Javadoc на вашия код, така че хората да могат да видят какво прави вашият код. За да направите това, под бутона „Изпълнение“в горната част на екрана, просто натиснете „Генериране на Javadoc“. Можете да намерите копие на моя Javadoc, като погледнете в zip файла на първата страница и изберете файла index.html.

Стъпка 7: Компилиране и опаковане на нашия Jar файл

Компилиране и опаковане на нашия Jar файл
Компилиране и опаковане на нашия Jar файл

След като сте отстранили достатъчно грешки и сте го направили успешно, най -накрая можете да компилирате това в JAR файл, който след това може да бъде публикуван, така че другите да могат да стартират този софтуер, без да са необходими NetBeans или Jsoup.

Преди да компилирате приложението си, уверете се, че всичко е направено. Ако искате да добавите документация и да създадете JavaDoc, направете го. Ако имате команди System.out, които се отпечатват на вашата конзола, премахнете ги. По същество се уверете, че приложението ви няма нежелани команди или функции и че има всичко необходимо, за да бъде опаковано.

След като направите това, щракнете с десния бутон върху името на проекта в NetBeans. Трябва да изскочи меню. Натиснете свойствата (в долната част на менюто), след това натиснете „Опаковка“от лявата страна на новото изскачащо меню. Сега се уверете, че всички квадратчета за отметка са маркирани. Екранът ви трябва да изглежда като този по -горе.

След като направите това, щракнете отново с десния бутон върху вашия проект в NetBeans. В този момент натиснете бутона „Почистване и изграждане“и NetBeans ще започне да взема вашите библиотеки и файлове и да ги компилира в работещ JAR файл. Ако всичко върви добре, трябва да видите съобщение в конзолата след няколко минути, което ви казва, че вашият JAR е завършил компилирането и файлът вече може да бъде стартиран. Стартирайте това приложение и се уверете, че всичко работи. Ако не, отстранете грешките и рестартирайте процеса, докато не бъдат отстранени грешките.

Стъпка 8: Поздравления

Честито! Ако сте изпълнили правилно всички инструкции и сте кодирали всичко добре, тогава трябва да имате свое собствено работно приложение. Готиното е, че сега, когато вие или някой друг, който има достъп до вашата електронна таблица, редактира данните, приложението ви ще може да се променя и да реагира на новите данни. Ето един бърз видеоклип как се оказа моят.

Ако търсите начини да продължите да подобрявате и изграждате, препоръчвам ви да разгледате някои от по -напредналите функции на JavaFX, като FancyText или FancyButton, които могат да добавят графики от по -висок клас към вашето приложение. Успех и пуснете коментар, ако имате нужда от помощ или забележите грешка в кода ми!

Препоръчано: