İçindekiler:

Java Uygulaması Google Drive Veritabanında Çalıştırıldı: 8 Adım
Java Uygulaması Google Drive Veritabanında Çalıştırıldı: 8 Adım

Video: Java Uygulaması Google Drive Veritabanında Çalıştırıldı: 8 Adım

Video: Java Uygulaması Google Drive Veritabanında Çalıştırıldı: 8 Adım
Video: PostgreSQL ve Java Bağlantısı - Verilerin Jtable ile listelenmesi 2024, Kasım
Anonim
Java Uygulaması Bir Google Drive Veritabanında Çalıştırıldı
Java Uygulaması Bir Google Drive Veritabanında Çalıştırıldı
Java Uygulaması Bir Google Drive Veritabanında Çalıştırıldı
Java Uygulaması Bir Google Drive Veritabanında Çalıştırıldı
Java Uygulaması Bir Google Drive Veritabanında Çalıştırıldı
Java Uygulaması Bir Google Drive Veritabanında Çalıştırıldı

Çalışması kolay, teknoloji konusunda bilgili olmayan kullanıcıların veri girmesine izin veren ve şirket kaynaklarını tüketmeyen dinamik bir veritabanı üzerinde çalışan bir uygulama oluşturmak istediniz mi? O zaman senin için bir çözümüm var. Bugün, Google Drive'da (özellikle Google E-Tablolar'da) çalışan ve çeşitli farklı amaçlar için kullanılabilen bir uygulama oluşturacağız. Bu öğretici, bir üniversite kampüsünde meydana gelen olayların bir listesini göstermek için Olay tabanlı bir uygulama oluşturmaya odaklanacak olsa da, bu proje, bir hesap makinesi uygulaması veya izleyen bir uygulama olsun, çeşitli şekillerde işlev görecek şekilde kolayca yeniden yazılabilir. ürünler için stoklar. Ne yapacağımızı görmek isterseniz başvurumun bir kopyasını ekledim. Zip dosyasını açın ve içindeki JAR'ı çalıştırın. Ve şimdi, daha fazla uzatmadan başlayalım!

Adım 1: İhtiyacınız Olan Şeyler

Bu projeye başlamak için aşağıdaki kaynaklara ihtiyacınız olacak:

  • net fasulye

    Sunucu desteği sağladığı için Java EE indirmesini öneririm, ancak bazı gereksiz dosyalar veya fazladan disk alanı istemiyorsanız Java SE de çalışacaktır. Netbeans, uygulamamızı kodlamak ve derlemek için IDE olarak hizmet verecek

  • çorba

    Bunu, indirmeniz için Talimatlara ekledim. Yayınlanan elektronik tablodan bilgi çekmemizi sağlayacak bir HTML ayrıştırıcısıdır

  • Java SDK'sı (V8)

    Sisteminize uygun olan dosyayı indirin. Java SDK'nız önceki bir sürümde zaten varsa, güncellemenizi öneririm. İşlevlerimden bazıları v8'e özgü yeni lambda ifadeleri kullanıyor ve ne yaptığınıza bağlı olarak kod onlarsız çalışmayabilir

  • Visual Studio (Opsiyonel)

    Tamamen isteğe bağlı. NetBeans, uygulamamızı derlemek ve paketlemek için harika çalışıyor olsa da, geliştirme stüdyosunun büyük bir hayranı değilim. Daha güzel bir arayüze sahip olduğu için VS'de kodlamayı tercih ederim. Bundan hoşlanmıyorsanız, çevrimiçi olarak pek çok başka IDE var, bu yüzden en çok neyi seviyorsanız onu bulun

  • Başlangıç Kodu

    Başlangıç kodunu bunun kaynaklarına dahil ettim ve GitHub'da da yayınladım. Bunda, uygulamayı çalıştıran dosyanın yapısını sağlayan ana dosyaya (Event) ve uygulama için GUI oluşturmak üzere JavaFX kullanan EventTester'a sahibim. Tam deneyim elde etmek istiyorsanız, kopyalayıp yapıştırmanızı önermiyorum. Acele etmeyin ve bunu baştan sona okuyun

Diğerleri:

Temel Java bilgisi. İşlev yazma, nesne oluşturma vb. gibi Java konusunda bilgili olmak yardımcı olacaktır

2. Adım: Veritabanınızı Ayarlama

Veritabanınızı Ayarlama
Veritabanınızı Ayarlama

Projeye başlamak için önce Google Drive'a girmeli ve uygulamamızı çalıştırmak için kullanacağımız sayfayı oluşturmalıyız. drive.google.com'a gidin ve sol üst köşedeki "Yeni" simgesini tıklayın ve bunun altındaki "E-Tablolar"ı seçin.

Sayfanız yüklendikten sonra devam edin ve bunu kolayca tanınabilir bir adla yeniden adlandırın. Bunu yaptıktan sonra, devam edin ve her sütuna koyacağınız şeyler gibi veri adlarınızla üst satırı doldurun. Buradaki örneğime bakarak en üst satırı "Etkinlik Adı", "Tarih" gibi şeylerle etiketledim.

Bunu yaptıktan sonra, elektronik tablonuzu doldurmak istediğiniz verilerle doldurmaya başlayın. Kodun hata atmadan çalışabilmesi için tüm verilerinizi benzer şekilde biçimlendirmeyi unutmayın. Örneğin, kodunuzda tarih kullanmayı planlıyorsanız, her tarihi aynı şekilde biçimlendirmeye dikkat edin, aksi takdirde kod onu ayrıştıramaz.

Verilerinizi girdikten sonra, "Dosya" -> "Web'de yayınla" seçeneğine giderek elektronik tabloyu yayınlayın. Buradan, tüm belgeyi seçip bir HTML dosyası olarak yayınlandığından emin olmak isteyeceksiniz, bu şekilde uygulamamız verileri doğru şekilde çizebilir. E-tablonuzu yayınladıktan sonra, sağladığı bağlantıyı not ettiğinizden emin olun. Bu, uygulamada daha sonra gerekli olacaktır.

3. Adım: NetBeans'i Ayarlama

NetBeans'i Ayarlama
NetBeans'i Ayarlama

Artık elektronik tablomuza sahip olduğumuza göre, kodlamaya başlayabilmemiz için NetBeans'i kurmanın zamanı geldi. NetBeans'i ve Java SDK'nızı indirip yükledikten sonra devam edin ve yeni bir proje oluşturun. Bir tür seçerken "Java" kategorisini ve "Java Uygulaması" projesini seçin. Projenizin adının ne olmasını istiyorsanız onu seçin (benim projemi basitçe "Etkinlik" olarak adlandırdım). "Kitaplıkları depolamak için özel klasör kullan" seçeneğinin yanı sıra "Ana sınıf oluştur" seçeneğinin yanındaki onay kutusunu seçin. Bundan sonra, NetBeans, resimdeki gibi çalışmaya başlamamız için bir proje ve proje dizini oluşturmalıdır.

Kodlamaya başlamadan önce, NetBeans'in elektronik tablomuzu ayrıştırmak için ihtiyaç duyacağı JSoup kitaplığına sahip olduğundan emin olmamız gerekecek. NetBeans'te, projenizin dizini altındaki "Kütüphaneler" simgesine sağ tıklayın. Açılır menü altında, bir.jar dosyası eklemek için düğmeyi seçin. Şimdi, jsoup indirmenizi nereye yerleştirdiyseniz oraya gidin (başka bir yerde belirtmediyseniz, büyük olasılıkla İndirilenler klasörünüz). Bu dosyayı seçin ve kütüphaneye ekleyin. NetBeans'te Kitaplıklar klasörünüzü genişletirseniz, şimdi bu alanda jsoup.jar dosyasını görmelisiniz. Bunu yaptıktan sonra artık uygulamamızı kodlamaya başlayabiliriz.

Adım 4: Ana Sınıfımızı Kodlamak

Ana Sınıfımızı Kodlamak
Ana Sınıfımızı Kodlamak

Bu nedenle, uygulamamızı kodlamanın ilk adımı ana sınıfınızı oluşturmaktır. Ana sınıfınız, nesnelerimizi oluşturduğumuz, JSoup ile etkileşime giren yöntemlere ve daha fazlasına sahip olduğumuz yer olacaktır. Bunu okuyan herkesin kodlama deneyimi olduğunu varsayarsak, devam edin ve aşağıdaki içe aktarmaları kullanın:

java.util. Collections'ı içe aktarın;

java.util. List'i içe aktar;

java.util. ArrayList'i içe aktarın;

java.util. Date'i içe aktar;

java.util.stream. Stream'i içe aktar;

java.util.stream. Collectors'ı içe aktarın;

java.text. SimpleDateFormat'ı içe aktarın;

java.text. ParseException'ı içe aktarın;

org.jsoup. Jsoup'u içe aktarın;

org.jsoup.nodes. Document'ı içe aktarın;

org.jsoup.nodes. Element'i içe aktarın;

org.jsoup.select. Elements'i içe aktarın;

javafx.beans.property. SimpleStringProperty'yi içe aktarın;

Bu çok fazla görünebilir ve projenize bağlı olarak hepsi gerekli olmayabilir. Kodlamaya devam ederken, NetBeans, kullanılmayan içe aktarmalarınız olup olmadığını size bildirecek, böylece bunları daha sonra her zaman silebiliriz. Ancak, şimdilik ihtiyacımız olan şey bu.

Import ifadelerimizi aldıktan sonra devam edelim ve sınıfımızı ilan edelim. Sınıfa özel nesnenizi geliştirirken Dates veya herhangi bir temel olmayan nesne kullanmayı planlıyorsanız, sınıf bildiriminize bir "Uygulamalar Karşılaştırılabilir" eklemenizi öneririm. Bu, daha sonra bir ClassObjects Listesini sıralamanıza izin verecek olan Nesneleri karşılaştırmanıza izin verecektir. Bunu yaptıktan sonra devam edin ve ihtiyacınız olacak tüm örnek değişkenleri bildirin. Oluşturduğunuz her genel dize için, bunun için SimpleStringProperty oluşturmanız da gerekecektir. Bunlar, daha sonra ana sınıf nesnelerimizle çalışmamıza izin verecek JavaFX nesneleridir.

Şimdi devam edin ve işlevlere eriştiğinizi beyan edin. Temel değişkenleriniz söz konusu olduğunda, işlevlerinizi istediğiniz gibi adlandırabilirsiniz. Ancak, SSP erişim işlevleriniz için getFunctionNameHere() biçimini kullanmanız gerekir. Çünkü daha sonra bu fonksiyonlara bağlanmak için JavaFX kullanacağız ve kullanacağımız fonksiyonlar SSP fonksiyonlarımıza get ile başlamamızı gerektiriyor. Yukarıda bir örnek görebilirsiniz.

Tüm erişim değişkenlerinizi tanımladıktan sonra devam edin ve ihtiyaç duyabileceğiniz diğer işlevleri tanımlayın. İhtiyacınız olan işlevler projeden projeye farklılık gösterdiğinden, bu çok kullanıcıya özeldir. İlhama ihtiyacınız varsa, Javadoc'umu veya gerçek kodu kontrol edin ve yaptığım bazı işlevleri görün. Örneğin, bir Listeyi Tarihe Göre sıralayan bir sıralama işlevinin yanı sıra yalnızca genel grup durumlarına sahip Etkinlikleri döndüren işlevler ve daha fazlasını oluşturdum. Bazı testler yapabilmeniz için bunları statik yapmak uygun olsa da, projenin bir sonraki adımına geldiğimizde hatalardan kaçınmak için hata ayıklamayı bitirdikten sonra herhangi bir statik yöntem kullanmamanızı öneririm.

Adım 5: Create() Yöntemimizi Tanımlama

Create() Yöntemimizi Tanımlamak
Create() Yöntemimizi Tanımlamak

Şimdi, web sayfamıza gerçekten erişecek ve bize verileri alacak olan create() yöntemimizi tanımlayacağımız, kodun muhtemelen en önemli kısmı geliyor. Metod bildiriminize bir throws İstisna satırı eklemeniz gerekeceğini unutmamak önemlidir, bu nedenle kodumuza try blokları yazmamız gerekmez. Başlamak için devam edin ve nesnenizin boş bir Listesini bildirin. Benim durumumda, benziyordu

Olay olayları = yeni ArrayList()).

Şimdi gidin ve daha önce yayınlanan e-tabloya kopyaladığınız URL'yi bulun. Bu bağlantıyı Java'da bir dize olarak bildirin ve istediğiniz gibi adlandırın. Şimdi devam edin ve yeni bir Jsoup belgesi ilan edin. Bunu, aşağıdaki gibi yeni bir belge nesnesi oluşturarak yapabilirsiniz.

Belge belgesi = yeni Belge();

Şimdi devam edin ve belgenizi URL'mize bağlanacak ve verileri alacak şekilde ayarlayın. Bunu yapmak için şunu deneyin:

Belge belgesi = Jsoup.connect(url).get();

Şimdi, asıl verilerin depolandığı belgemizin gövdesini almamız gerekiyor.

Dize gövdesi = doc.body().text();

Şimdi, vücuttan veri çekmeye başlamamız gerekiyor. Verilerimiz bir tabloda olduğu için (bir hesap tablosu olduğu için) tabloyu gövdeden çıkarmamız gerekiyor. Hadi deneyelim

Öğe tablosu = doc.select("table".get(0));

Bu, İlk tabloyu seçer. Bu durumda, sadece bir tane var. Şimdi, yazın

Öğe satırları = table.select("tr");

Bu bize söz konusu tablodaki tüm satırları alır.

Şimdi, tüm verilerimiz bu satır değişkeninin içinde. Hepsi bu kadar, ama bu işlevi bu sınıfın içine yazmanın tüm amacı, ondan nesneler yaratabilmemizdir. Yani, bunu döndürmeden önce satırlarımızdan bir Liste oluşturmamız gerekiyor. Bunu yapmak için bir for döngüsü kullanabiliriz. Bunun beni doğru yapmak için biraz deneme ve hata aldığını not etmeliyim. Satırlardan çekerken, tek tek sayfanın adı, üzerinde veri fikirlerimizin bulunduğu ilk satır vb. Gibi şeyler sağladığı için bazı verilerimizin bu durum için yararlı olmadığını fark ettim. Sonunda, başlangıç değerini belirledim. for döngüsü için sayıyı 2'ye girerek, bu öğeleri atlar ve öğelerimizi oluşturabilir. Sonunda, kodla bir görünüm geliştirdim

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

Öğe satırı = rows.get(i);

Öğeler sütunlar = row.select("td");

Şimdi, bir nesne oluşturmak için şöyle bir şey yapın

Nesne adı = new Object(cols.get(0).text());

Esasen, cols.get(0), satır(i) sütun(0)'dan verileri alacak ve daha sonra nesnenin yapıcısına iletilebilecek bir String'e dönüştürecektir.

Yapınızı kurduktan sonra daha önce list.add() ile oluşturduğumuz Listeye ekleyin, örneğin

olaylar.add(isim);

Şimdi, for döngünüzü kapatın ve şimdi ihtiyacınız olabilecek tüm işlevleri çağırın. Örneğin, Olayları tarih sırasına göre almak için sıralama işlevimi çağırdım. Bunu yaptıktan sonra Listenizi iade edin ve ardından bu bölümle işiniz bitti!

Adım 6: Uygulamamızı Kodlamak

Uygulamamızı Kodlamak
Uygulamamızı Kodlamak
Uygulamamızı Kodlamak
Uygulamamızı Kodlamak

Yeni bir dosya oluşturun ve istediğiniz şekilde adlandırın. Aşağıdaki ithalatlara ihtiyacınız olacak:

java.util. List'i içe aktar;

java.util. ArrayList'i içe aktarın;

java.util. Date'i içe aktar;

javafx.geometry. Pos'u içe aktar;

javafx.scene.layout. HBox'ı içe aktarın;

javafx.application. Application'ı içe aktarın;

javafx.collections.transformation. FilteredList'i içe aktarın;

javafx.scene.text. Font'u içe aktar; javafx.scene.control.* dosyasını içe aktarın;

javafx.collections. FXCollections'ı içe aktarın;

javafx.collections. ObservableList'i içe aktarın;

javafx.geometry. Insets'i içe aktar;

javafx.scene. Group'u içe aktarın;

javafx.scene. Scene'i içe aktar;

javafx.scene.control. Label'i içe aktarın;

javafx.scene.control.cell. PropertyValueFactory'yi içe aktarın;

javafx.scene.layout. VBox'ı içe aktarın;

javafx.stage. Stage'i içe aktarın;

Bunun çok fazla görünebileceğini biliyorum, ama inan bana, uygulamamızı oluşturmamız için gerekliler. Devam edin ve sınıfınızı ilan edin ve bu projenin gerekli bir bileşeni olduğundan, Uygulama'yı genişlettiğinden emin olun. Başlangıçta, nesnenizin TableView olan yeni bir örnek değişkeni bildirin, örneğin

özel TableView tablosu = new TableView();

Ayrıca, uygulamayı başlatmak için kullanacağımız bir ana yöntem belirleyin. Esasen, üstteki resim gibi görünmelidir.

Şimdi start metodumuzu oluşturmamız gerekiyor. Eski sınıfımızdan create() yöntemini çağıracağımız için İstisna oluşturduğundan emin olun. Boş parametrelerle yeni bir olay yapın, böylece onunla create yöntemini çağırabiliriz. Yeni bir Liste tanımlayın ve onu create() sonucuna eşitleyin. Şimdi, tablomuzu verilerimizle doldurmak için kullanılacak yeni bir ObservableList oluşturun. Şu şekilde tanımlayın:

ObservableList verileri = FXCollections.observableArrayList();

Şimdi, şununla yeni bir sahne oluşturun:

Sahne sahnesi = yeni Sahne(yeni Grup());

Başlığı, genişliği, yüksekliği ve işinize yarayan her şey için ihtiyacınız olan her şeyi ayarlayın. Üstteki resimde değerlerimi görebilirsiniz. Artık masamızı kurmaya başlayabiliriz. Görüntülemek istediğiniz tüm bilgiler için aşağıdaki gibi bir TableColumn oluşturun:

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

"sName" parametresi, SSP erişim fonksiyonlarınızın adı ne olursa olsun, verilen nesneler için ihtiyacınız olan değerleri alabilmesi için doldurulmalıdır. İstediğiniz kadar Sütun yapın, ardından bunları bir tabloya ekleyin.

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

table.setItems(flEvent);

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

Benim yaptığım gibi bir arama çubuğu eklemek isterseniz, kullanıcınızın tabloyu belirli değerlere göre filtrelemesine izin verecek bir seçim Kutusu ve bir textField oluşturma hakkında bilgi için kodu kontrol edin. Bunu yapmayı seçtiyseniz, bunları içeren bir hBox da yapmanız gerekecektir.

HBox hBox = new HBox(choiceBox, textField);

hBox.setAlignment(Pos. CENTER);

Ayrıca aşağıdaki.addAll() yöntemine hBox eklemeniz gerekecektir.

Aksi takdirde, yaparak verilerimizi tutmak için yeni bir vBox oluşturmanız yeterlidir.

son VBox vbox = yeni VBox();

vbox.getChildren().addAll(etiket, tablo);

((Grup) scene.getRoot()).getChildren().addAll(vbox);

sahne.setScene(sahne); sahne şovu();

Şimdi kodunuzu derleyin ve çalıştırın ve çalışıp çalışmadığını görün. Ekranın sağ tarafında kırmızı çubuklar olarak görünecek hataları bulmak için NetBeans'i kullanın. Artık hatanız kalmayana ve proje çalışana kadar bunu çalıştırmaya devam edin.

Kodlamanızı tamamladıktan sonra, insanların kodunuzun ne yaptığını görebilmesi için kodunuzun bir Javadoc'unu oluşturmanızı önereceğim. Bunu yapmak için, ekranın üst kısmındaki "Çalıştır" düğmesinin altında "Javadoc Oluştur" seçeneğine tıklamanız yeterlidir. Javadoc'umun bir kopyasını ilk sayfadaki zip dosyasının içine bakıp index.html dosyasını seçerek bulabilirsiniz.

Adım 7: Jar Dosyamızı Derleme ve Paketleme

Jar Dosyamızın Derlenmesi ve Paketlenmesi
Jar Dosyamızın Derlenmesi ve Paketlenmesi

Yeterince hata ayıkladıktan ve başarılı bir şekilde çalışmasını sağladıktan sonra, sonunda bunu bir JAR dosyasına derleyebilirsiniz; bu dosya daha sonra yayınlanabilir, böylece diğerleri bu yazılımı NetBeans veya Jsoup'a ihtiyaç duymadan çalıştırabilir.

Uygulamanızı derlemeden önce her şeyin yapıldığından emin olun. Belge eklemek ve bir JavaDoc oluşturmak istiyorsanız, devam edin ve yapın. Konsolunuza yazdıran herhangi bir System.out komutunuz varsa, bunları kaldırın. Temel olarak, uygulamanızın istenmeyen komutlar veya işlevler içermediğinden ve paketlenmesi için gereken her şeye sahip olduğundan emin olun.

Bunu yaptıktan sonra NetBeans'te proje adına sağ tıklayın. Bir menü açmalıdır. Özellikler'e (menünün en altında), ardından yeni açılır menünün sol tarafındaki "Ambalaj" a basın. Şimdi, tüm onay kutularının işaretlendiğinden emin olun. Ekranınız yukarıdaki gibi görünmelidir.

Bunu yaptıktan sonra, bir kez daha NetBeans'te projenize sağ tıklayın. Bu noktada, "Temizle ve Oluştur" düğmesine basın, NetBeans kitaplıklarınızı ve dosyalarınızı almaya ve bunları çalışan bir JAR dosyasına derlemeye başlayacaktır. Her şey yolunda giderse, birkaç dakika sonra konsolda JAR'ınızın derlemeyi bitirdiğini ve dosyanın artık çalıştırılabileceğini bildiren bir mesaj görmelisiniz. Bu uygulamayı çalıştırın ve her şeyin çalıştığından emin olun. Değilse, hata ayıklayın ve hatalar çözülene kadar işlemi yeniden başlatın.

Adım 8: Tebrikler

Tebrikler! Tüm talimatları doğru bir şekilde takip ettiyseniz ve her şeyi iyi kodladıysanız, kendi çalışan uygulamanız olmalıdır. İşin güzel yanı, artık siz veya e-tablonuza erişimi olan herhangi biri verileri düzenlediğinde, uygulamanız yeni verileri değiştirebilecek ve tepki verebilecek. İşte benimkinin nasıl çıktığına dair hızlı bir video.

Geliştirmeye ve oluşturmaya devam etmenin yollarını arıyorsanız, uygulamanıza daha üst düzey grafikler ekleyebilecek FancyText veya FancyButton gibi JavaFX'in daha gelişmiş özelliklerinden bazılarına göz atmanızı tavsiye ederim. İyi şanslar ve herhangi bir yardıma ihtiyacınız olursa veya kodumda bir hata fark ederseniz bir yorum bırakın!

Önerilen: