Tabla de contenido:

Aplicación Java ejecutada en una base de datos de Google Drive: 8 pasos
Aplicación Java ejecutada en una base de datos de Google Drive: 8 pasos

Video: Aplicación Java ejecutada en una base de datos de Google Drive: 8 pasos

Video: Aplicación Java ejecutada en una base de datos de Google Drive: 8 pasos
Video: Como usar Google Sheets como Base de Datos 2024, Noviembre
Anonim
Aplicación Java ejecutada en una base de datos de Google Drive
Aplicación Java ejecutada en una base de datos de Google Drive
Aplicación Java ejecutada en una base de datos de Google Drive
Aplicación Java ejecutada en una base de datos de Google Drive
Aplicación Java ejecutada en una base de datos de Google Drive
Aplicación Java ejecutada en una base de datos de Google Drive

¿Alguna vez ha querido crear una aplicación que se ejecute en una base de datos dinámica con la que sea fácil trabajar, que permita a los usuarios no expertos en tecnología ingresar datos y que no agote los recursos de la empresa? Bueno, entonces tengo una solución para ti. Hoy, crearemos una aplicación que se ejecuta en Google Drive (bueno, específicamente en Google Sheets) y se puede usar para una variedad de propósitos diferentes. Aunque este tutorial se centrará en la creación de una aplicación basada en eventos para mostrar una lista de los eventos que suceden en un campus universitario, este proyecto se puede reescribir fácilmente para que funcione de muchas formas, ya sea una aplicación de calculadora o una aplicación que supervisa existencias de productos. Adjunto una copia de mi solicitud si desea ver lo que haremos. Descomprima el archivo zip y ejecute el JAR dentro de él. Y ahora, sin más preámbulos, ¡comencemos!

Paso 1: lo que necesitará

Para comenzar con este proyecto, necesitará los siguientes recursos:

  • Netbeans

    Recomiendo la descarga de Java EE ya que proporciona soporte de servidor, pero si no desea algunos archivos innecesarios o el espacio adicional en el disco, Java SE también funcionará. Netbeans servirá como IDE para codificar y compilar nuestra aplicación

  • Jsoup

    He incluido esto en los Instructables para que lo descargue. Es un analizador de HTML que nos permitirá extraer información de la hoja de cálculo publicada

  • SDK de Java (V8)

    Descargue cualquier archivo que se adapte a su sistema. Si ya tiene el SDK de Java en una versión anterior, le recomiendo actualizar. Algunas de mis funciones usan nuevas expresiones lambda nativas de v8, y es posible que el código no funcione sin ellas dependiendo de lo que haga

  • Visual Studio (opcional)

    Completamente opcional. Aunque NetBeans funciona de maravilla para compilar y empaquetar nuestra aplicación, no soy un gran admirador del estudio de desarrollo. Prefiero codificar en VS, ya que tiene una interfaz más agradable. Si no le gusta esto, hay muchos otros IDE en línea, así que busque el que más le guste

  • Código de inicio

    He incluido el código de inicio en los recursos de esto y también lo publiqué en GitHub. En esto, tengo el archivo principal (Evento) que proporciona la estructura para el archivo que realmente ejecuta la aplicación, así como EventTester, que usa JavaFX para crear la GUI para la aplicación. Si desea obtener la experiencia completa, no recomiendo copiar y pegar. Tómese su tiempo y lea esto

Otros:

Conocimientos básicos de Java. Será útil tener conocimientos de Java, como escribir funciones, crear objetos, etc

Paso 2: configurar su base de datos

Configuración de su base de datos
Configuración de su base de datos

Para comenzar el proyecto, primero debemos ingresar a Google Drive y crear la hoja que usaremos para ejecutar nuestra aplicación. Dirígete a drive.google.com, haz clic en el ícono "Nuevo" en la esquina superior izquierda y selecciona "Hojas de cálculo" debajo.

Una vez que su hoja se haya cargado, continúe y cambie el nombre a algo fácilmente reconocible. Después de hacerlo, continúe y complete la fila superior con los nombres de sus datos, como las cosas que colocará en cada columna. Mirando mi ejemplo aquí, he etiquetado la fila superior con cosas como "Nombre del evento", "Fecha", etc.

Después de hacerlo, comience a completar su hoja de cálculo con los datos que desea completar. Recuerde formatear todos sus datos de manera similar, para que el código pueda trabajar con ellos sin arrojar errores. Por ejemplo, si planea usar fechas en su código, tenga cuidado de formatear cada fecha de la misma manera, de lo contrario, el código no podrá analizarlo.

Después de ingresar sus datos, publique la hoja de cálculo yendo a "Archivo" -> "Publicar en la web". Desde aquí, querrá seleccionar todo el documento y asegurarse de que esté publicado como un archivo HTML, de esa manera nuestra aplicación puede dibujar los datos correctamente. Después de publicar su hoja de cálculo, asegúrese de anotar el enlace que proporciona. Esto será necesario más adelante en la aplicación.

Paso 3: Configurar NetBeans

Configuración de NetBeans
Configuración de NetBeans

Ahora que tenemos nuestra hoja de cálculo, es hora de configurar NetBeans para que podamos empezar a codificar. Después de descargar e instalar NetBeans y su SDK de Java, continúe y cree un nuevo proyecto. Al elegir un tipo, elija la categoría "Java" y el proyecto "Aplicación Java". Elija el nombre que desee para su proyecto (llamé al mío simplemente "Evento"). Seleccione la casilla de verificación junto a "usar carpeta dedicada para almacenar bibliotecas", así como la que está junto a "Crear clase principal". Después de esto, NetBeans debería crear un proyecto y un directorio de proyectos para que comencemos a trabajar, muy parecido al que se muestra en la imagen.

Antes de comenzar a codificar, también necesitaremos asegurarnos de que NetBeans tenga la biblioteca JSoup que necesitará para analizar nuestra hoja de cálculo. En NetBeans, haga clic derecho en el icono "Bibliotecas" debajo del directorio de su proyecto. En el menú emergente, seleccione el botón para agregar un archivo.jar. Ahora, navegue hasta el lugar donde colocó su descarga de jsoup (lo más probable es que sea su carpeta de Descargas, a menos que especifique en otro lugar). Elija este archivo y agréguelo a la biblioteca. Si expande su carpeta de Bibliotecas en NetBeans, ahora debería ver jsoup.jar en esta área. Una vez hecho esto, ahora podemos comenzar a codificar nuestra aplicación.

Paso 4: codificación de nuestra clase principal

Codificación de nuestra clase principal
Codificación de nuestra clase principal

Entonces, el primer paso para codificar nuestra aplicación es crear su clase principal. Su clase principal será donde creamos nuestros objetos, tenemos los métodos que interactúan con JSoup y más. Suponiendo que todos los que lean esto tengan experiencia en codificación, siga adelante y use las siguientes importaciones:

import java.util. Collections;

import java.util. List;

import java.util. ArrayList;

import java.util. Date;

import java.util.stream. Stream;

importar 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;

Esto puede parecer mucho y, dependiendo de su proyecto, es posible que no todo sea necesario. A medida que continuamos codificando, NetBeans le informará si tiene importaciones no utilizadas, para que siempre podamos eliminarlas más tarde. Sin embargo, esto es lo que necesitamos por ahora.

Habiendo obtenido nuestras declaraciones de importación, sigamos adelante y declaremos nuestra clase. Si planea usar Dates o cualquier objeto no básico al desarrollar su objeto específico de clase, le recomiendo agregar un "Implements Comparable" a su declaración de clase. Esto le permitirá comparar Objetos, lo que le permitirá ordenar una Lista de ClassObjects más tarde. Después de hacer esto, continúe y declare todas las variables de instancia que necesitará. Para cada cadena pública que cree, también deberá crear SimpleStringProperty para ella. Estos son objetos JavaFX que nos permitirán trabajar con nuestros objetos de clase principal más adelante.

Ahora, continúe y declare que tiene acceso a las funciones. En lo que respecta a sus variables básicas, puede nombrar sus funciones como desee. Sin embargo, para sus funciones de acceso SSP, debe usar el formato getFunctionNameHere (). Esto se debe a que más adelante usaremos JavaFX para conectarnos a estas funciones, y las funciones que usaremos requieren que comencemos nuestras funciones SSP con get. Puedes ver un ejemplo arriba.

Después de definir todas sus variables de acceso, continúe y defina cualquier otra función que pueda necesitar. Esto es muy específico del usuario, ya que las funciones que necesita difieren de un proyecto a otro. Si necesita algo de inspiración, consulte mi Javadoc o el código real y vea algunas de las funciones que hice. Por ejemplo, creé una función de clasificación que clasifica una Lista por fecha, así como funciones que solo devuelven Eventos con estados de grupo de público, y más. Aunque está bien hacerlos estáticos para que puedas hacer algunas pruebas, te recomiendo no tener ningún método estático una vez que termines de depurar, para evitar errores cuando lleguemos al siguiente paso del proyecto.

Paso 5: Definición de nuestro método Create ()

Definición de nuestro método Create ()
Definición de nuestro método Create ()

Ahora viene posiblemente la parte más importante del código, donde vamos a definir nuestro método create (), que es lo que realmente accederá a nuestra página web y nos dará los datos. Es importante tener en cuenta que deberá agregar una línea de excepción throws a la declaración de su método, por lo que no tenemos que escribir bloques de prueba en nuestro código. Para comenzar, siga adelante y declare una Lista vacía de su objeto. En mi caso, parecía

Eventos de eventos = new ArrayList ()).

Ahora, busque la URL que copió anteriormente en la hoja de cálculo publicada. Declare este enlace como una cadena en Java y llámelo como desee. Ahora, continúe y declare un nuevo documento de Jsoup. Puede hacer esto creando un nuevo objeto de documento, como

Documento doc = nuevo documento ();

Ahora, continúe y configure su documento para conectarse a nuestra URL y obtener los datos. Para hacerlo, intente:

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

Ahora, necesitamos obtener el cuerpo de nuestro documento, que es donde se almacenan los datos reales.

String body = doc.body (). Text ();

Ahora, debemos comenzar a extraer datos del cuerpo. Dado que nuestros datos están en una tabla (ya que era una hoja de cálculo), necesitamos sacar la tabla del cuerpo. Intentemos

Elemento tabla = doc.select ("tabla"). Get (0);

Esto selecciona la Primera tabla. En este caso, solo hay uno. Ahora, escriba

Elementos filas = table.select ("tr");

Esto nos da todas las filas de dicha tabla.

Entonces, ahora, todos nuestros datos están dentro de esta variable de filas. Eso es bueno y todo, pero el objetivo de escribir esta función dentro de esta clase es que podamos crear objetos a partir de ella. Entonces, antes de que podamos devolver esto, necesitamos crear una Lista a partir de nuestras filas. Para hacer esto, podemos usar un bucle for. Debo señalar que esto me tomó un poco de prueba y errores para hacerlo bien. Me di cuenta de que al extraer de las filas, algunos de nuestros datos no son útiles para esta situación, ya que proporcionan cosas como el nombre de la hoja individual, la primera fila con nuestras ideas de datos, etc. Al final, configuré la inicial ingresando el número para el bucle for a 2, por lo que omite estos elementos y puede crear nuestros elementos. Al final, desarrollé una mirada con el código.

para (int i = 2; i <filas.tamaño (); i ++) {

Elemento fila = filas.get (i);

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

Ahora, para crear un objeto, haz algo como

Nombre del objeto = nuevo objeto (cols.get (0).text ());

Esencialmente, cols.get (0) obtendrá los datos de la columna (0) de la fila (i) y los convertirá en una cadena que luego se puede pasar al constructor del objeto.

Después de configurar su construcción, agréguela a la Lista que creamos anteriormente con list.add (), como

events.add (nombre);

Ahora, cierre su ciclo for y llame a las funciones que pueda necesitar ahora. Por ejemplo, llamé a mi función de clasificación para ordenar los eventos por fecha. Después de hacerlo, devuelva su Lista y habrá terminado con esta sección.

Paso 6: codificación de nuestra aplicación

Codificación de nuestra aplicación
Codificación de nuestra aplicación
Codificación de nuestra aplicación
Codificación de nuestra aplicación

Cree un nuevo archivo y asígnele el nombre que elija. Necesitará las siguientes importaciones:

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; importar 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;

importar javafx.scene.layout. VBox;

import javafx.stage. Stage;

Sé que esto puede parecer mucho, pero créanme, son necesarios para que podamos ejecutar la creación de nuestra aplicación. Continúe y declare su clase y asegúrese de que amplíe la Aplicación, ya que este es un componente necesario del proyecto. Al principio, declare una nueva variable de instancia que sea un TableView de su objeto, como

tabla privada TableView = nueva TableView ();

Además, declare un método principal, que usaremos para iniciar la aplicación. Básicamente, debería parecerse a la imagen de la parte superior.

Ahora, necesitamos crear nuestro método de inicio. Asegúrese de que arroja Exception, ya que llamaremos al método create () de nuestra clase anterior. Cree un nuevo evento con parámetros vacíos, simplemente para que podamos llamar al método create con él. Defina una nueva Lista y configúrela igual al resultado de create (). Ahora, cree una nueva ObservableList, que se utilizará para completar nuestra tabla con nuestros datos. Defínalo como:

Datos de ObservableList = FXCollections.observableArrayList ();

Ahora, crea una nueva escena con:

Escena escena = nueva escena (nuevo grupo ());

Establezca el título, el ancho, la altura y cualquier otra cosa que necesite para lo que sea que funcione para usted. Puedes ver mis valores en la imagen en la parte superior. Ahora, podemos comenzar a configurar nuestra mesa. Para toda la información que desea mostrar, cree una TableColumn, como:

TableColumn eventCol = new TableColumn ("Nombre del evento"); eventCol.setMinWidth (100); eventCol.setCellValueFactory (new PropertyValueFactory ("sName"));

El parámetro "sName" debe rellenarse con el nombre de sus funciones de acceso SSP, para que pueda obtener los valores que necesita para los objetos dados. Cree tantas columnas como necesite, luego agréguelas a una tabla con

FilteredList flEvent = new FilteredList (datos, p -> verdadero);

table.setItems (flEvent);

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

Si desea agregar una barra de búsqueda como lo hice yo, verifique el código para obtener información sobre cómo crear un choiceBox y un textField, lo que permitirá a su usuario filtrar la tabla por valores específicos. Si ha elegido hacerlo, también tendrá que hacer un hBox para contener estos, con

HBox hBox = nuevo HBox (choiceBox, textField);

hBox.setAlignment (Pos. CENTER);

También deberá agregar hBox en el método.addAll () a continuación.

De lo contrario, simplemente cree un nuevo vBox para almacenar nuestros datos haciendo

VBox final vbox = new VBox ();

vbox.getChildren (). addAll (etiqueta, tabla);

((Grupo) scene.getRoot ()). GetChildren (). AddAll (vbox);

stage.setScene (escena); Show de escenario();

Ahora, compile su código y ejecútelo, y vea si funciona. Use NetBeans para encontrar cualquier error, que aparecerá como barras rojas en el lado derecho de la pantalla. Siga ejecutando esto hasta que no tenga más errores y el proyecto se ejecute.

Después de completar su codificación, recomendaré crear un Javadoc de su código para que la gente pueda ver lo que hace su código. Para hacerlo, debajo del botón "Ejecutar" en la parte superior de la pantalla, simplemente presione "Generar Javadoc". Puede encontrar una copia de mi Javadoc mirando dentro del archivo zip en la primera página y eligiendo el archivo index.html.

Paso 7: compilar y empaquetar nuestro archivo Jar

Compilar y empaquetar nuestro archivo Jar
Compilar y empaquetar nuestro archivo Jar

Una vez que haya depurado lo suficiente y lo haya ejecutado correctamente, finalmente puede compilarlo en un archivo JAR, que luego se puede publicar para que otros puedan ejecutar este software sin la necesidad de NetBeans o Jsoup.

Antes de compilar su aplicación, asegúrese de que todo esté hecho. Si desea agregar documentación y crear un JavaDoc, hágalo. Si tiene algún comando System.out que se imprima en su consola, elimínelo. Esencialmente, asegúrese de que su aplicación no tenga comandos o funciones no deseados, y que tenga todo lo que necesita para ser empaquetado.

Después de hacerlo, haga clic derecho en el nombre del proyecto en NetBeans. Debería aparecer un menú. Presiona propiedades (en la parte inferior del menú), luego presiona "Empaquetado" en el lado izquierdo del nuevo menú emergente. Ahora, asegúrese de que todas las casillas de verificación estén marcadas. Tu pantalla debería verse como la de arriba.

Después de hacer esto, una vez más haga clic derecho en su proyecto en NetBeans. En este punto, presione el botón "Limpiar y compilar", y NetBeans comenzará a tomar sus bibliotecas y archivos y a compilarlos en un archivo JAR funcional. Si todo va bien, debería ver un mensaje en la consola después de unos momentos que le indica que su JAR ha terminado de compilarse y que ahora se puede ejecutar el archivo. Ejecute esta aplicación y asegúrese de que todo funcione. De lo contrario, depure y reinicie el proceso hasta que se hayan resuelto los errores.

Paso 8: ¡Felicidades

¡Felicidades! Si siguió todas las instrucciones correctamente y codificó todo bien, entonces debería tener su propia aplicación de trabajo. Lo bueno es que ahora, cada vez que usted o cualquier otra persona que tenga acceso a su hoja de cálculo edite los datos, su aplicación podrá cambiar y reaccionar a los nuevos datos. Aquí hay un video rápido de cómo resultó el mío.

Si está buscando formas de seguir mejorando y construyendo, le recomiendo que consulte algunas de las funciones más avanzadas de JavaFX, como FancyText o FancyButton, que pueden agregar algunos gráficos de gama alta a su aplicación. ¡Buena suerte y deja un comentario si necesitas ayuda o notas un error en mi código!

Recomendado: