Mostrando entradas con la etiqueta custom. Mostrar todas las entradas
Mostrando entradas con la etiqueta custom. Mostrar todas las entradas

martes, 22 de diciembre de 2020

ODroid Go Super. Nueva ODroid "Switch" con Ubuntu.

Ya se ha anunciado la nueva ODroid Go Super, una "pequeña" vuelta de tuerca a lo que es ODroid Go Advance.

A muchos nos encanta el aspecto de Nintendo Switch. El cómo se siente en las manos es muy satisfactorio para la mayoría de los que la hemos probado. Si eres de los que les gusta este feeling, pero prefieres jugar en Linux, esta pequeña maravilla te va a encantar.

ODroid-Go Super

Esta mañana del 22 de diciembre podíamos leer el siguiente anuncio en el foro de odroid del que os dejamos este pequeño extracto traducido...

Anunciamos ODROID-Go en 2018 para celebrar nuestro décimo cumpleaños. En diciembre de 2019, anunciamos ODROID-Go Advance (OGA).

Ahora es el momento de presentar un nuevo dispositivo de juegos para desarrolladores para 2021.

Hemos actualizado el diseño del hardware OGA y lo llamamos OGS (ODROID-Go Super).

El tamaño de la pantalla LCD cambió de 3,5 pulgadas a 5 pulgadas con una cubierta de vidrio templado. La resolución cambió de 480x320 a 854x480 píxeles.

Sabemos que muchos fanáticos de los juegos retro quieren una pantalla con una relación de aspecto de 4:3, pero no pudimos encontrar ningún fabricante de LCD que pueda construir una pantalla de 4 a 5 pulgadas con una relación de 4:3.

La capacidad de la batería también ha aumentado alrededor de un 30%. El OGA tenía una batería de 3000 mAh, mientras que este nuevo OGS tiene una batería de 4000 mAh.

Puede jugar juegos continuamente durante varias horas dependiendo del brillo de la luz de fondo.

Además, se realizaron otros cambios importantes de hardware. Agregamos un segundo joystick analógico y botones de volumen dedicados.

El OGS ahora viene preensamblado en nuestra fábrica en lugar de ser un kit ensamblado de bricolaje.

Dado que no hay una conectividad inalámbrica incorporada, se mejoró la compatibilidad con un USB WIFI + BT.

Finalmente, la ranura para tarjetas micro-SD ha cambiado a tipo push-push (expulsión de resorte) de push-pull.



ODroid Go Super es una versión más grande y potente del ODroid Go Advance, una computadora de mano de 3.5 pulgadas creada por ODroid en 2019, y el nuevo modelo es claramente mejor en varios aspectos.

Tiene una pantalla LCD más grande de 5 pulgadas que funciona a 854 × 480 píxeles (lamentablemente no 4: 3 como los aficionados a los juegos retro tienden a preferir), una batería grande de 4000 mAh (más tiempo de juego) y dos joysticks analógicos en comparación con la Advance que solamente contaba con 1.

Dejando a un lado esas diferencias, el Super está construido alrededor del mismo procesador Rockchip RK3326 ARM Cortex-A35 de cuatro núcleos y gráficos ARM Mali-G31 MP2 que la pequeña Advance. Del mismo modo, también se combina con un "modesto" (pudiéramos decir "escaso") 1 GB de memoria DDR3. También hay una cantidad insignificante de almacenamiento interno para albergar el cargador de arranque y el sistema operativo.

A tenor de lo anterior, podemos ver claramente que este dispositivo está lejos de ser el Linux más potente que pudieras llevar en tu bolsillo. Con todo, recuerda que ha sido diseñada para jugar a juegos de videoconsola antiguos y no los últimos lanzamientos. Habrá que esperar a finales de enero para poder comprobar como rinde con los distintos emuladores incluidos en su EmulationStation corriendo sobre Ubuntu 20.04 LTS.


Características principales:

  • Pantalla de 5 pulgadas con resolución 854x480
  • Batería de 4000mAh
  • Doble stick analógico
  • Ubuntu 20.04 LTS con EMulationStation como frontend
  • 1 gb DDR3L
  • Control de volumen dedicado
  • Soporte para dongle WIFI y BT mejorado. Wifi y BT no incluidos.
  • Procesador RockChip RK3326(Quad-Core ARM Cortex-A35 1.3GHz)
  • GPU Mali-G31 Dvalin
  • Almacenamiento SPI Flash(16Mbytes Boot), Micro SD Card slot(UHS-1 Capable interface)
  • Precio aproximado 80$ (portes e impuestos no incluidos)


Compartir:

martes, 29 de noviembre de 2016

Truco Java - Establecer formato moneda en columna JTable

Hoy os voy a mostrar como poner el formato moneda (currency) en un campo de vuestra JTable.

De la misma manera que en el truco anterior, nos crearemos una clase dentro del paquete componentes de nuestra aplicación heredando de DefaultTableCellRenderer.

import java.awt.Component;
import java.text.NumberFormat;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

public class CurrencyCellRenderer extends DefaultTableCellRenderer {
 
    private static final NumberFormat FORMAT = NumberFormat.getCurrencyInstance();

    @Override
    public final Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        final Component result = super.getTableCellRendererComponent(table, value,
                isSelected, hasFocus, row, column);
        if (value instanceof Number) {
            setHorizontalAlignment(JLabel.RIGHT);
            setText(FORMAT.format(value));
        } else {
            setText("");
        }
        return result;
    }
}

La utilización es similar al caso TimestampCellRenderer:

public void LlenarTabla(JTable tablaListadoVentas, boolean inicializar) {
        DefaultTableModel modeloTabla = new DefaultTableModel (){
            @Override //Establecemos todas las celdas como no editables
            public boolean isCellEditable(int row, int column) {               
                return false;
            }            
        };
        
        tablaListadoVentas.setModel(modeloTabla);
        
        modeloTabla.addColumn("Venta");
        modeloTabla.addColumn("Id. Cliente");
        modeloTabla.addColumn("Nombre");
        modeloTabla.addColumn("Id. Empleado");
        modeloTabla.addColumn("Nombre");
        modeloTabla.addColumn("Fecha y hora");
        modeloTabla.addColumn("Nº Artículos");
        modeloTabla.addColumn("Importe Total");                        
        
        Object[] columna = new Object[8];       
        
        tablaListadoVentas.getColumnModel().getColumn(5).setCellRenderer(new TimestampCellRenderer());
        tablaListadoVentas.getColumnModel().getColumn(7).setCellRenderer(new CurrencyCellRenderer());


Si tienes cualquier duda o comentario recuerda que puedes exponerlo aquí o bien mediante nuestro twitter y facebook.
Compartir:

jueves, 3 de noviembre de 2016

Truco Java - Establecer formato fecha y hora en columna JTable

El truco que os traigo hoy es producto de una necesidad que me surgió durante la elaboración del proyecto del curso de Java que estoy haciendo. La necesidad vino cuando necesité establecer formato fecha/hora a un campo de un JTable que contenia un valor Timestamp obtenido de MySQL.



Lo que tenemos que hacer es crearnos una clase (en mi caso estas clases las meto siempre en un paquete llamado "componentes" para tenerlo todo organizado) que herede de DefaultTableCellRenderer y posteriormente utilizarla en nuestra columna de JTable.

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import javax.swing.table.DefaultTableCellRenderer;

public class TimestampCellRenderer extends DefaultTableCellRenderer {

    DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

    public TimestampCellRenderer() {
        super();
    }

    public void setValue(Object value) {
        if (formatter == null) {
            formatter = DateFormat.getDateInstance();
        }
        setText((value == null) ? "" : formatter.format(value));
    }
}


En la linea SimpleDateFormat podemos establecer el formato de fecha y hora que nosotros necesitemos. Se me ocurre como mejora añadir un parametro al constructor para poder pasar la cadena de formato por ejemplo.

La utilización es sencilla: Suponiendo que nuestro JTable se llame tablaListadoVentas y una vez establecido el modelo de la misma:

    public void LlenarTabla(JTable tablaListadoVentas, boolean inicializar) {
        DefaultTableModel modeloTabla = new DefaultTableModel (){
            @Override //Establecemos todas las celdas como no editables
            public boolean isCellEditable(int row, int column) {               
                return false;
            }            
        };
        
        tablaListadoVentas.setModel(modeloTabla);
        
        modeloTabla.addColumn("Venta");
        modeloTabla.addColumn("Id. Cliente");
        modeloTabla.addColumn("Nombre");
        modeloTabla.addColumn("Id. Empleado");
        modeloTabla.addColumn("Nombre");
        modeloTabla.addColumn("Fecha y hora");
        modeloTabla.addColumn("Nº Artículos");
        modeloTabla.addColumn("Importe Total");                        
        
        Object[] columna = new Object[8];       
        
        tablaListadoVentas.getColumnModel().getColumn(5).setCellRenderer(new TimestampCellRenderer());



Si tienes cualquier duda o comentario recuerda que puedes exponerlo aquí o bien mediante nuestro twitter y facebook.
Compartir:
Con la tecnología de Blogger.

BoosterBlog

BoosterBlog
BoosterBlog

Timeline Twitter

Seguidores

Seguidores