Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Creación del proyecto y API KEY

17/25
Recursos

Aportes 23

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Una anotación adicional sobre buenas prácticas: las claves, contraseñas, keys, etc., no deben quemarse en el código sino que se recomienda manejar un archivo aparte que las coleccione. Ese archivo simplemente se lee de manera local y no se almacena en el repositorio (para no exponer información sensible, a menos que el repositorio sea privado o permita ocultar archivos; en ese último caso se puede incluir)

No entiendo la necesidad de crear tanto codigo y compejidad solamente en la validacón innecesaria de los datos, si con el showOptionDialog puedes ofrecer 2 opciones mediante el boton y condicionarla en el switch sin tener tantas cosas con un ciclo for y un while.

Personalmente no me gusto la forma en la que el profesor estructuró la acplicacion, por eso les propongo el siguiente modelo:

Para seguir la idea de que la app tiene que:
a. estar separada en capas
b. cada parte de nuestra app tiene que tener un orden logico
c. las clases tienen que estar organzidas

Les prongo este modelo:

| GUI +---+
+-----+   |    +----+   +---------+   +-----+
          +--->| UI +-->| Service +-->| DAO |
+-----+   |    +----+   +---------+   +-----+
| CLI +---+
+-----+

GUI: (graphical) What you interact with
CLI: (non-graphical) What you interact with

UI: What decides what to do based on the output (what you unconsciously interact with)
Service: What processes the data
DAO: What communicates with the API/DB

Finalmenente, para este proyecto podriamos usar una estructura como esta:

.
├── App.java
├── cats
│   ├── CatDAO.java
│   ├── Cat.java
│   └── CatService.java
└── ui
    ├── cli
    │   └── CLI.java
    ├── gui
    │   └── GUI.java
    └── UI.java

5 directories, 7 files
Habría sido una buena opción que enseñara cómo crear una variable de entorno para almacenar el API Key y llamarla desde nuestro programa Java para poder esconder el API Key y así poder esconderlo de manera satisfactoria tanto en el vídeo (evitar la censura) como en un repositorio público de GitHub o GitLab

Mi versión, un poco mas corta:

int optionSelected = -1;
        ArrayList<String> options = new ArrayList<>();
        options.add(" 1. ver gatitos");
        options.add(" 2. salir");
        do{
            Object input = 
JOptionPane.showInputDialog(
null, "Gatitos java", "Menu principla", JOptionPane.INFORMATION_MESSAGE, null, options.toArray(),options.get(0)
);
            optionSelected = options.indexOf(input);
            if(optionSelected == 0){
                GatosService.verGatos();
            }
        }while (optionSelected != 1);

Super 😃

<dependencies>
    <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>4.2.2</version>
    </dependency>
</dependencies>

¿porque no encapsulo los atributos? 😕

Interesante clase, me gusto la parte de crear un menú que se muestre por medio de una ventana emergente al usar el JOptionPane y también al establecer la llave de formar directa por medio de la variable String.

Para los que están usando IntelliJ, que configuración de compilado usan?

Atajo de teclado Netbeans
 

Escribir: psvm y pulsar la tecla TAB

 
generara de forma automética el código para el método main

 
Espero pueda ser de utilidad

Descarguen específicamente las dependencias explicadas en esta clase para evitar problemas con las últimas actualizaciones

Estudiantes, actualicé el proyecto en mi repositorio aplicando mejores prácticas

Deberian actualizar los cursos!

Alguien sabe como agregar la dependenci de OKHTTP en intelliJ IDEA??? ya busque bastante pero no logro encontrar respuesta…

Bien conociendo ya un poco la posibilidad de herramientas visuales que nos brinda java.

Buena explicación excelente

este curso esta super genial!

Por si la api de gatos que está presentando problemas, aún los sigue teniendo, pueden probar con la api https://dog.ceo/dog-api/.
El usuario @CansecoWill también lo publicó en este comentario.
https://platzi.com/comentario/1116230/

Algo importante a tener en cuenta de cara al formateo del código y a tenerlo organizado, es que casi todos los IDE actuales ofrecen opciones de formato automático, o lo que se llama linter. Esto permite tener el código organizado sin perder tanto tiempo intentando hacerlo manualmente.

Genial.

Para los que les gusta hacer esto a mano, aqui tienen el link para descargar los jars:
okhttp: https://search.maven.org/artifact/com.squareup.okhttp/okhttp-urlconnection/2.7.5/jar
gson: https://search.maven.org/artifact/com.google.code.gson/gson/2.8.6/jar

Que debe tener una llave primaria para que no se envíe la inserción de datos?

El código se puede reducir, pero para tener una base está excelente.