Mündəricat:

Google Tətbiq Verilənlər Bazasında Java Tətbiqi: 8 addım
Google Tətbiq Verilənlər Bazasında Java Tətbiqi: 8 addım

Video: Google Tətbiq Verilənlər Bazasında Java Tətbiqi: 8 addım

Video: Google Tətbiq Verilənlər Bazasında Java Tətbiqi: 8 addım
Video: Heydər Əliyev və Həyat yoldaşını Birdə belə görün #azerbaijan #president #prezident #xeberler #xeber 2024, Noyabr
Anonim
Java Tətbiqi Google Drive Veritabanında Çalışdı
Java Tətbiqi Google Drive Veritabanında Çalışdı
Java Tətbiqi Google Drive Veritabanında Çalışdı
Java Tətbiqi Google Drive Veritabanında Çalışdı
Java Tətbiqi Google Drive Veritabanında Çalışdı
Java Tətbiqi Google Drive Veritabanında Çalışdı

İşləmək asan olan, məlumatlı olmayan istifadəçilərə məlumat daxil etməyə imkan verən və şirkət mənbələrini tükətməyən dinamik bir verilənlər bazası üzərində işləyən bir proqram yaratmaq istəmisinizmi? Yaxşı, onda sizin üçün bir həllim var. Bu gün Google Diskdə işləyən bir tətbiq quracağıq (xüsusən də Google Cədvəllər) və müxtəlif məqsədlər üçün istifadə edilə bilər. Bu dərslik, bir kollec kampusu ətrafında baş verən hadisələrin siyahısını göstərmək üçün Tədbirə əsaslanan bir tətbiq qurmağa yönəlsə də, bu layihəni izləyən bir tətbiq üçün bir kalkulyator tətbiqi olsun, bir çox yolla fəaliyyət göstərmək üçün asanlıqla yenidən yazıla bilər. məhsullar üçün ehtiyatlar. Nə edəcəyimizi görmək istəyirsinizsə, ərizəmin bir nüsxəsini əlavə etdim. Zip faylını açın və içərisində JAR işləyin. Və indi, heç bir uzatmadan, başlayaq!

Addım 1: Nə lazımdır

Bu layihəyə başlamaq üçün aşağıdakı mənbələrə ehtiyacınız olacaq:

  • Netbeans

    Server dəstəyi təmin etdiyi üçün Java EE yükləməsini məsləhət görürəm, ancaq bəzi lazımsız fayllar və ya əlavə disk sahəsi istəmirsinizsə, Java SE də işləyəcək. Netbeans, tətbiqimizi kodlaşdırmaq və tərtib etmək üçün IDE olaraq xidmət edəcək

  • Jsoup

    Yükləməyiniz üçün bunu Təlimat kitabına daxil etdim. Nəşr edilmiş elektron cədvəldən məlumat çıxarmağımıza imkan verəcək bir HTML təhlilçisidir

  • Java SDK (V8)

    Sisteminizə uyğun olan hər hansı bir faylı yükləyin. Java SDK -nın əvvəlki bir versiyası varsa, yeniləməyi məsləhət görürəm. Bəzi funksiyalarım v8 üçün doğma olan yeni lambda ifadələrini istifadə edir və nə etdiyinizə görə kod onsuz işləməyə bilər

  • Visual Studio (İsteğe bağlı)

    Tamamilə isteğe bağlı. NetBeans tətbiqimizi tərtib etmək və qablaşdırmaq üçün heyrətamiz işləsə də, mən inkişaf studiyasının böyük bir pərəstişkarı deyiləm. Daha yaxşı bir interfeysə sahib olduğu üçün VS -də kod yazmağa üstünlük verirəm. Bunu sevmirsinizsə, İnternetdə bir çox başqa IDE var, buna görə ən çox xoşladığınızı tapın

  • Başlanğıc kodu

    Başlanğıc kodunu bunun mənbələrinə daxil etdim və GitHub -da yayımladım. Bunda, əslində proqramı işlədən faylın quruluşunu təmin edən əsas faylı (Event) və tətbiq üçün GUI yaratmaq üçün JavaFX -dən istifadə edən EventTester -i əldə etdim. Tam təcrübə əldə etmək istəyirsinizsə, kopyalamağı və yapışdırmağı məsləhət görmürəm. Vaxtınızı ayırın və bunu oxuyun

Digərləri:

Java haqqında əsas biliklər. Java -da bilikli olmaq, məsələn, funksiyalar yazmaq, obyektlər yaratmaq və s

Addım 2: Veritabanınızı Qurun

Verilənlər Bazanızı Qurmaq
Verilənlər Bazanızı Qurmaq

Layihəyə başlamaq üçün əvvəlcə Google Diskə daxil olmalı və tətbiqimizi işə salmaq üçün istifadə edəcəyimiz vərəqi yaratmalıyıq. Drive.google.com saytına gedin və sol üst küncdəki "Yeni" simgesini vurun və bunun altında "Vərəqlər" seçin.

Vərəqiniz yükləndikdən sonra davam edin və adını asanlıqla tanınan bir şey adlandırın. Bunu etdikdən sonra davam edin və hər sütuna qoyacağınız şeylər kimi məlumat adlarınızla üst sıranı doldurun. Buradakı nümunəmə baxaraq, üst sıranı "Tədbir Adı", "Tarix" və s.

Bunu etdikdən sonra elektron cədvəlinizi doldurmaq istədiyiniz məlumatlarla doldurmağa başlayın. Kodun səhv etmədən onunla işləyə bilməsi üçün bütün məlumatlarınızı eyni şəkildə formatlamağı unutmayın. Məsələn, kodunuzda tarixlərdən istifadə etməyi planlaşdırırsınızsa, hər tarixi eyni şəkildə formatlamağa diqqət edin, əks halda kod onu təhlil edə bilməyəcək.

Məlumatlarınızı daxil etdikdən sonra, "Fayl" -> "Vebdə yayımla" bölməsinə keçərək elektron cədvəli dərc edin. Buradan, bütün sənədi seçmək və bir HTML faylı olaraq nəşr olunduğundan əmin olmaq istəyəcəksiniz ki, tətbiqimiz bu məlumatları düzgün çəkə bilsin. Cədvəlinizi dərc etdikdən sonra, təqdim etdiyi linki qeyd etdiyinizə əmin olun. Bu tətbiqdə daha sonra lazım olacaq.

Addım 3: NetBeans qurmaq

NetBeans qurmaq
NetBeans qurmaq

İndi elektron cədvəlimiz var, kodlaşdırmağa başlaya biləcəyimiz üçün NetBeans qurmağın vaxtı gəldi. NetBeans və Java SDK -nı yükləyib qurduqdan sonra davam edin və yeni bir layihə yaradın. Bir növ seçərkən "Java" kateqoriyasını və "Java Tətbiqi" layihəsini seçin. Layihənizin adlandırılmasını istədiyiniz hər şeyi seçin (mənim layihəmi sadəcə "hadisə" adlandırdım). "Kitabxanaların saxlanması üçün xüsusi qovluqdan istifadə et" yanındakı onay qutusunu seçin və "Əsas sinif yaradın" yanındakı qutuyu seçin. Bundan sonra, NetBeans, şəkildəki kimi işə başlamağımız üçün bir layihə və layihə kataloqu yaratmalıdır.

Kodlamağa başlamazdan əvvəl, NetBeans -ın elektron cədvəlimizi təhlil etməsi lazım olan JSoup kitabxanasına malik olduğundan da əmin olmalıyıq. NetBeans -da, layihənizin kataloqunun altındakı "Kitabxanalar" simgesini sağ basın. Açılan menyunun altında.jar faylını əlavə etmək üçün düyməni seçin. İndi, jsoup yükləmənizi yerləşdirdiyiniz yerə gedin (çox güman ki, Yükləmələr qovluğunuz, başqa yerdə göstərilməyibsə). Bu faylı seçin və kitabxanaya əlavə edin. NetBeans -da Kitabxanalar qovluğunuzu genişləndirirsinizsə, indi bu sahədə jsoup.jar -ı görməlisiniz. Bunu etdikdən sonra tətbiqimizi kodlamağa başlaya bilərik.

Addım 4: Əsas sinifimizi kodlaşdırın

Əsas sinifimizi kodlaşdırırıq
Əsas sinifimizi kodlaşdırırıq

Beləliklə, tətbiqimizi kodlaşdırmada ilk addım əsas sinifinizi yaratmaqdır. Əsas sinifiniz, obyektlərimizi yaratdığımız, JSoup ilə qarşılıqlı əlaqədə olan üsullara sahib olduğumuz və daha çox olacaq. Bunu oxuyan hər kəsin kodlaşdırma təcrübəsi olduğunu düşünsək, davam edin və aşağıdakı idxaldan istifadə edin:

java.util. Collections idxal edin;

java.util. List idxal edin;

java.util. ArrayList idxal edin;

java.util. Date idxal edin;

java.util.stream. Stream idxal edin;

java.util.stream. Collectors idxal edin;

java.text. SimpleDateFormat idxal edin;

java.text. ParseException idxal edin;

idxal org.jsoup. Jsoup;

idxal org.jsoup.nodes. Document;

idxal org.jsoup.nodes. Element;

org.jsoup.select. Elements idxal edin;

javafx.beans.property. SimpleStringProperty idxal edin;

Bu çox görünə bilər və layihənizdən asılı olaraq hamısına ehtiyac olmaya bilər. Kodlaşdırmağa davam edərkən, NetBeans istifadə edilməmiş idxalınız varsa sizə xəbər verəcəkdir, buna görə də onları daha sonra silə bilərik. Halbuki indi ehtiyacımız budur.

İdxal bəyannamələrimizi aldıqdan sonra, sinifimizi elan edək. Sinifinizə xas olan obyekti inkişaf etdirərkən Tarixlərdən və ya hər hansı bir əsas olmayan obyektdən istifadə etməyi planlaşdırırsınızsa, sinif bəyannamənizə "Müqayisəli tətbiqlər" əlavə etməyi məsləhət görürəm. Bu, daha sonra ClassObjects Siyahısını sıralamağa imkan verən Obyektləri müqayisə etməyə imkan verəcək. Bunu etdikdən sonra davam edin və ehtiyacınız olacaq bütün nümunə dəyişənlərini elan edin. Yaratdığınız hər bir ictimai sim üçün bunun üçün SimpleStringProperty də yaratmalısınız. Bunlar daha sonra əsas sinif obyektlərimizlə işləməyimizə imkan verəcək JavaFX obyektləridir.

İndi davam edin və funksiyalara daxil olduğunuzu elan edin. Əsas dəyişənlərinizə gəldikdə, seçdiyiniz funksiyalara ad verə bilərsiniz. Bununla birlikdə, SSP giriş funksiyaları üçün getFunctionNameHere () formatından istifadə etməlisiniz. Bunun səbəbi, sonradan bu funksiyalara qoşulmaq üçün JavaFX -dən istifadə edəcəyik və istifadə edəcəyimiz funksiyalar bizdən SSP funksiyalarımızı get ilə başlamağımızı tələb edir. Bir nümunəni yuxarıda görə bilərsiniz.

Bütün giriş dəyişənlərinizi təyin etdikdən sonra davam edin və ehtiyacınız ola biləcək digər funksiyaları təyin edin. İstifadəçilərə xasdır, çünki ehtiyac duyduğunuz funksiyalar layihədən layihəyə dəyişir. Bir az ilham lazımdırsa, Javadocumu və ya faktiki kodu yoxlayın və etdiyim bəzi funksiyalara baxın. Məsələn, Tarixə Göre Siyahıları sıralayan bir sıralama funksiyası yaratdım, həm də yalnız ictimai statuslu Hadisələri və daha çoxunu qaytaran funksiyalar. Bəzi testlər aparmaq üçün bu statik etməyiniz düzgün olsa da, layihənin növbəti mərhələsinə keçdiyimiz zaman səhvlərin qarşısını almaq üçün ayıklamayı bitirdikdən sonra heç bir statik üsula malik olmamağı məsləhət görürəm.

Addım 5: Create () metodumuzu müəyyənləşdirin

Yaratma () metodumuzu təyin edirik
Yaratma () metodumuzu təyin edirik

İndi bəlkə də kodun ən vacib hissəsi gəlir, burada yaratmaq () metodumuzu müəyyənləşdirəcəyik, bu da veb saytımıza daxil olacaq və bizə məlumat əldə edəcək. Metod bəyannamənizə atma İstisna xətti əlavə etməyiniz lazım olduğunu qeyd etmək vacibdir, buna görə kodumuza cəhd blokları yazmaq məcburiyyətində deyilik. Başlamaq üçün, davam edin və obyektinizin boş bir siyahısı elan edin. Mənim vəziyyətimdə belə görünürdü

Hadisə hadisələri = yeni ArrayList ()).

İndi gedin və əvvəllər nəşr olunan elektron tabloya kopyaladığınız URL -i tapın. Bu linki Java -da bir simli olaraq elan edin və istədiyinizə zəng edin. İndi davam edin və yeni bir Jsoup sənədi elan edin. Kimi yeni bir sənəd obyekti yaradaraq bunu edə bilərsiniz

Sənəd doc = yeni Sənəd ();

İndi davam edin və sənədinizi URL -ə qoşulmaq və məlumatları əldə etmək üçün qurun. Bunu etmək üçün cəhd edin:

Sənəd doc = Jsoup.connect (url).get ();

İndi faktiki məlumatların saxlanıldığı sənədimizin gövdəsini almalıyıq.

String gövdəsi = doc.body (). Text ();

İndi məlumatları bədəndən çıxarmağa başlamalıyıq. Verilərimiz bir cədvəldə olduğu üçün (elektron tablo olduğu üçün) masanı bədəndən çıxarmalıyıq. Gəlin cəhd edək

Element cədvəli = doc.select ("cədvəl"). Alın (0);

Bu birinci cədvəli seçir. Bu vəziyyətdə yalnız biri var. İndi yazın

Elements satırları = table.select ("tr");

Bu, cədvəldəki bütün satırları əldə edir.

Beləliklə, indi bütün məlumatlarımız bu satır dəyişəninin içərisindədir. Bu yaxşıdır və hamısı, amma bu funksiyanı bu sinifin içərisində yazmağın mənası odur ki, ondan obyektlər yarada bilək. Buna görə bunu geri qaytarmadan əvvəl, satırlarımızdan bir Siyahı yaratmalıyıq. Bunu etmək üçün for loop istifadə edə bilərik. Qeyd etməliyəm ki, bu, məni düzəltmək üçün bir az sınaq və səhvlər apardı. Satırlardan çəkərkən bəzi məlumatlarımızın bu vəziyyət üçün faydalı olmadığını başa düşdüm, çünki fərdi hesabatın adı, məlumat satırımızın olduğu ilk sətir və s. Kimi şeyləri təmin edir. for üçün loop nömrəsini 2 -yə daxil edin, buna görə də bu maddələri atlayır və maddələrimizi yarada bilər. Sonda kodla bir baxış hazırladım

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

Element sırası = rows.get (i);

Cols elementləri = row.select ("td");

İndi bir obyekt yaratmaq üçün buna bənzər bir şey edin

Obyekt adı = yeni Obyekt (cols.get (0). Mətn ());

Əslində, cols.get (0) satırı (i) sütunundan (0) əldə edəcək və sonra obyektin konstruktoruna ötürülə bilən Stringə çevirəcəkdir.

Quruluşunuzu qurduqdan sonra list.add () ilə əvvəllər yaratdığımız Siyahıya əlavə edin

hadisələr.add (adı);

İndi döngənizi bağlayın və indi ehtiyacınız ola biləcək funksiyaları çağırın. Məsələn, Hadisələri tarixə uyğun olaraq sıralamaq üçün funksiyamı çağırdım. Bunu etdikdən sonra Siyahınızı geri qaytarın və sonra bu bölməni bitirdiniz!

Addım 6: Tətbiqimizi kodlaşdırın

Tətbiqimizin Kodlaşdırılması
Tətbiqimizin Kodlaşdırılması
Tətbiqimizin Kodlaşdırılması
Tətbiqimizin Kodlaşdırılması

Yeni bir fayl yaradın və istədiyinizə ad verin. Aşağıdakı idxala ehtiyacınız olacaq:

java.util. List idxal edin;

java.util. ArrayList idxal edin;

java.util. Date idxal edin;

javafx.geometry. Pos idxal edin;

javafx.scene.layout. HBox idxal edin;

javafx.application. Application idxal edin;

javafx.collections.transformation. FilteredList idxal edin;

javafx.scene.text. Font daxil edin; javafx.scene.control idxal edin.*;

javafx.collections. FXCollections idxal edin;

javafx.collections. ObservableList idxal edin;

javafx.geometry. Insets idxal edin;

javafx.scene. Group idxal edin;

javafx.scene. Scene idxal edin;

javafx.scene.control. Label idxal edin;

javafx.scene.control.cell. PropertyValueFactory idxal edin;

javafx.scene.layout. VBox idxal edin;

javafx.stage. Stage idxal edin;

Bilirəm ki, bu çox görünə bilər, amma inanın ki, tətbiqimizi yaratmağımız üçün onlar lazımdır. Davam edin və sinifinizi elan edin və tətbiqin uzadılmasına əmin olun, çünki bu, layihənin zəruri komponentidir. Başlanğıcda, obyektinizin TableView olan yeni bir nümunə dəyişənini elan edin

özəl TableView cədvəli = yeni TableView ();

Tətbiqi işə salmaq üçün istifadə edəcəyimiz əsas metodu da elan edin. Əsasən, yuxarıdakı şəklə bənzəməlidir.

İndi başlanğıc metodumuzu yaratmalıyıq. İstisna yaratdığından əmin olun, çünki create () metodunu keçmiş sinifimizdən çağıracağıq. Boş parametrləri olan yeni bir hadisə yaradın, buna görə də yaradma metoduna zəng edə bilərik. Yeni bir Siyahı təyin edin və onu create () nəticəsinə bərabər təyin edin. İndi cədvəlimizi məlumatlarımızla doldurmaq üçün istifadə ediləcək yeni bir ObservableList yaradın. Bunu aşağıdakı kimi təyin edin:

ObservableList məlumatları = FXCollections.observableArrayList ();

İndi yeni bir səhnə yaradın:

Səhnə səhnəsi = yeni Səhnə (yeni Qrup ());

Sizin üçün işləyən hər şey üçün başlığı, genişliyi, hündürlüyü və ehtiyacınız olan hər şeyi təyin edin. Dəyərlərimi yuxarıdakı şəkildə görə bilərsiniz. İndi masamızı qurmağa başlaya bilərik. Göstərmək istədiyiniz bütün məlumatlar üçün TableColumn yaradın, məsələn:

TableColumn eventCol = yeni TableColumn ("Tədbir Adı"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (yeni PropertyValueFactory ("sName"));

"SName" parametri, SSP giriş funksiyalarınızın adı nə olursa olsun doldurulmalıdır, buna görə də verilən obyektlər üçün lazım olan dəyərləri əldə edə bilər. İstədiyiniz qədər sütun yaradın, sonra onları masaya əlavə edin

FilteredList flEvent = yeni FilteredList (data, p -> doğru);

table.setItems (flEvent);

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

Mənim kimi bir axtarış çubuğu əlavə etmək istəyirsinizsə, istifadəçinizin cədvəli xüsusi dəyərlərə görə süzməsinə imkan verən bir seçim qutusu və textField -in necə yaradılacağına dair məlumat üçün kodu yoxlayın. Bunu etməyi seçmisinizsə, bunlarla birlikdə hBox da etməlisiniz

HBox hBox = yeni HBox (choiceBox, textField);

hBox.setAlignment (Pos. CENTER);

Aşağıdakı.addAll () metoduna hBox əlavə etməlisiniz.

Əks təqdirdə, məlumatlarımızı saxlamaq üçün yeni bir vBox yaradın

son VBox vbox = yeni VBox ();

vbox.getChildren (). addAll (etiket, cədvəl);

((Qrup) səhnə.getRoot ()). GetChildren (). AddAll (vbox);

stage.setScene (səhnə); mərhələ.şou ();

İndi kodunuzu tərtib edin və işə salın və işlədiyinə baxın. Ekranın sağ tərəfində qırmızı çubuqlar kimi görünəcək hər hansı bir səhv tapmaq üçün NetBeans istifadə edin. Artıq heç bir səhviniz olmayana qədər bu işə davam edin və layihə işləyəcək.

Kodlamanızı bitirdikdən sonra, kodunuzun nə etdiyini görə bilməsi üçün Javadoc kodunuzu yaratmağı məsləhət görərəm. Bunu etmək üçün ekranın yuxarısındakı "Çalış" düyməsinin altında "Cavadoc yaradın" düyməsini vurun. İlk səhifədəki zip faylına baxıb index.html faylını seçərək Javadoc -un bir nüsxəsini tapa bilərsiniz.

Addım 7: Kavanoz Dosyamızı tərtib etmək və qablaşdırmaq

Kavanoz faylımızı tərtib etmək və qablaşdırmaq
Kavanoz faylımızı tərtib etmək və qablaşdırmaq

Kifayət qədər düzəlişlər edərək müvəffəqiyyətlə işə saldıqdan sonra, nəhayət bunu bir JAR faylına yığa bilərsiniz, sonra nəşr oluna bilər ki, başqaları bu proqramı NetBeans və ya Jsoup -a ehtiyac olmadan işlədə bilsinlər.

Tətbiqinizi tərtib etməzdən əvvəl hər şeyin tamamlandığından əmin olun. Sənədlər əlavə etmək və JavaDoc yaratmaq istəyirsinizsə, davam edin. Konsolunuzda çap edən System.out əmrləriniz varsa, onları silin. Əsasən, tətbiqinizin istənməyən əmrləri və ya funksiyaları olmadığından və qablaşdırılması üçün lazım olan hər şeyə sahib olduğundan əmin olun.

Bunu etdikdən sonra NetBeansdakı layihə adına sağ vurun. Bir menyu açılmalıdır. Xüsusiyyətləri vurun (menyunun ən altındakı), sonra yeni açılan menyunun sol tərəfindəki "Qablaşdırma" düyməsini basın. İndi bütün onay qutularının işarələndiyinə əmin olun. Ekranınız yuxarıdakı kimi olmalıdır.

Bunu etdikdən sonra NetBeans -da layihənizi bir dəfə də sağ vurun. Bu nöqtədə "Təmizlə və Qur" düyməsini vurun və NetBeans kitabxanalarınızı və fayllarınızı götürməyə və işləyən bir JAR faylına yığmağa başlayacaq. Hər şey qaydasındadırsa, bir neçə dəqiqədən sonra konsolda JAR -ın tərtibatını bitirdiyini bildirən bir mesaj görməlisiniz və fayl artıq işləyə bilər. Bu proqramı işə salın və hər şeyin işlədiyinə əmin olun. Əks təqdirdə, səhvlər həll olunana qədər prosesi düzəldin və yenidən başladın.

Adım 8: Təbriklər

Təbrik edirik! Bütün təlimatları düzgün yerinə yetirmiş və hər şeyi yaxşı kodlamısınızsa, öz iş proqramınız olmalıdır. Ən maraqlısı budur ki, indi sizin və ya elektron cədvəlinizə daxil olan hər kəs məlumatları redaktə etdikdə, tətbiqiniz yeni məlumatları dəyişə və onlara reaksiya verə biləcək. İşdə mənim necə çıxdığım haqqında qısa bir video.

Təkmilləşdirməyə və qurmağa davam etmək üçün yollar axtarırsınızsa, tətbiqinizə bəzi yüksək səviyyəli qrafiklər əlavə edə biləcək FancyText və ya FancyButton kimi JavaFX -in daha inkişaf etmiş xüsusiyyətlərini yoxlamağı məsləhət görürəm. Uğurlar və hər hansı bir yardıma ehtiyacınız varsa və ya kodumda bir səhv görsəniz şərh yazın!

Tövsiyə: