Archivo de la categoría: Java

Cambiar el tema de un fragment en Android

logo androidEstoy programando mucho en Android, pero no he subido nada al respecto, por lo que iré compartiendo pequeños códigos para hacer cosas especificas, que también claro, servirán para anotaciones personales mias.
Los fragment estan inmersos en las actividades que los contienen, por lo que no podemos cambiarlos directamente en el archivo AndroidManifest.xml, así que heredan los estilos que las actividades tengan definidas, y si estas últimas no tienen ningún tema definido heredan el que tenga la aplicación. Pero podemos cambiar esto utilizando las siguientes 3 lineas dentro de la función onCreateView de nuestro fragment.
Primero traemos el tema que queremos aplicar al fragment creando un objeto de contexto. Deben reemplazar MyAppTheme por su tema.

final Context themeWrapper = 
	new ContextThemeWrapper(getActivity(), R.style.MyAppTheme);

Luego definimos un LayoutInflater al cuál le aplicamos nuestro contexto anterior.
LayoutInflater cloneInflate = 
	inflater.cloneInContext(themeWrapper);

Y finalmente inflamos el layout de nuestro fragment utilizando el layout inflate definido anteriormente. Recuerden que deben reemplazar fragment_layout por el que corresponda con su fragment, y que será el que finalmente retornaremos en la función.
View view = 
	cloneInflate.inflate(R.layout.fragment_layout, container, false);

Eso es todo! Saludos!

Guía básica utilización de JRuby

 

No es novedad la potencia y rendimiento que posee la máquina virtual de Java, pero tampoco lo es lo tedioso que resulta desarrollar sobre esta misma. Es así entonces como nace la mezcla perfecta de un luega dinamico como ruby y el gran rendimiento de jvm!

Entonces… qué necesitamos?
– JRuby
– Java SDK

Para fedora, redhat, centos:

sudo yum install jruby

Ubuntu y deribados:

sudo apt-get install jruby

Si estamos cometiendo el pecado de no utilizar una máquina con Unix lo descargamos de aquí.

Y también descargamos la última versión de java SDK. Recomendamos Java 7.

sudo yum install java-sdk

o

sudo apt-get install java-sdk

Si no poseemos un repositorio de java lo descargamos directamente del sitio de Oracle aquí.

Ahora ya estamos listos para comenzar.

Primero creamos un archivo para extraer datos (para hacer la cosa un poquito más interensate)

echo "Hola Mundo !!" >> datos.txt

Creamos nuestro archivo ruby

vim primerJRuby.rb

Y pegamos lo siguiente

require 'java'
module JavaIO
   include_package "java.io"
end
frame = javax.swing.JFrame.new("Mi primer JFrame en JRuby")
frame.size = java.awt.Dimension.new(400,200)
label = javax.swing.JLabel.new((File.open('datos.txt', 'r')).readline)
frame.getContentPane.add(label,java.awt.BorderLayout::CENTER)
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
frame.setVisible(true)

Explicación…

Importamos java

require 'java'

Importamos la libreria java.io para aceptar entradas IO

module JavaIO
include_package "java.io"
end

Creamos nuestro frame (ventana)

frame = javax.swing.JFrame.new("Mi primer JFrame en JRuby")

Le asignamos tamaño a nuestra ventana

frame.size = java.awt.Dimension.new(400,200)

Leemos un archivo y lo desplegamos a través de un label

label = javax.swing.JLabel.new((File.open('datos.txt', 'r')).readline)

Meto el label dentro del JFrame

frame.getContentPane.add(label,java.awt.BorderLayout::CENTER)

Le asigno la funcionalidad de cerrar al JFrame

frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)

Hacemos visible nuestro JFrame

frame.setVisible(true)

y ejecutamos.

jruby primerJRuby.rb

Espero les haya servido.
Saludos!