Archivo

Artículos etiquetados y‘How to’

Comenzando con Android IV – Hola Mundo

Noviembre 4, 2009 msdark 1 Comentario

Después de mucho tiempo sin postear nada… xD

Hasta ahora hemos visto la parte, digamos teórica de una aplicación para la plataforma Android de la que ya muchos se han enamorado, es por eso que ahora les mostraré lo más básico hablando de desarrollo, como hablar en Android, o visto d otro modo como hacer el típico Hola Mundo para esta plataforma.

1.- Creando nuestro proyecto Hola Mundo!!!!

Para este pequeño proyecto usaremos el IDE Eclipse con el plugin para Android como vimos en el primer post de esta serie, una vez abierto nuestro IDE vamos a File -> New -> Project al abrirse el cuadro de dialogo seleccionamos el elemento Android que nos mostrar el texto Android Project, ahora solo presionamos Next, ya en este punto ingresamos la información relevante del proyecto… por ahora solo el nombre xD….

Project Name: Nombre del directorio que contendrá los archivos fuente del proyecto

Package Name: Este es el nombre del paquete que se construirá al generar el “stub” de la “Activity”, este nombre debe ser único y distinto a los ya instalados en el sistema.

Activity Name: Este es el nombre de la clase Activty que crearemos, que será autogenerada por nuestro IDE

Application Name: Nombre de la aplicación, este es el que no hará famosos!!!!

Presionamos Finish y se nos generará el código fuente de nuestra Activity:

public class HelloWorld extends Activity{

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.main);
}
}

Notar que la clase se llama HelloWorld que es el nombre que le puse a la aplicación.

Este código literalmente “hace nada”, es aquí donde debemos “meter mano”

import android.widget.TextView;

public class HolaAndroide extends Activity {

/** Called when the activity is first created. */

@Override public void onCreate(Bundle icicle) {

super.onCreate(icicle);

TextView tv = new TextView(this);

tv.setText("Hola Mundo");

setContentView(tv);

}

}

Aquí hemos modificado un poco el código original agregando lo necesario para que se muestre el mensaje “Hola Mundo

¿Que hemos hecho?

La primeria linea: “import android.widget.TextView” es la llamada necesaria para poder utilizar la clase TextView, clase que nos permite generar en la Vista un objeto de texto, si has programado aplicaciones gráficas antes con Java, GTK, Qt o algo parecido conoceras un Label, esto es los mismo pero no igual xD.

Lo otro que agregamos fue la creación del TextView: TextView tv = new TextView(this)

Aquí hemos instanciado la clase TextView dejandola en nuestro objeto tv, el argumento del constructor de TextView es una instancia del objeto “Context” que no es mas que un enlace al sistema, la clase Activity nace de Context.

Ahora le indicamos a nuestro objeto tv que texto queremos que despliegue: tv.setText(“Hola Mundo!!!!”);

Ahora conectamos el TextView a la pantalla (es como el show() de GTK o Qt): setContentView(tv);

Ahora ya podremos ejecturarlo y ver resultados, para esto seleccionamos Run > Open Run Dialog que nos mostrara un nuevo cuadro de dialogo, aquí buscamos el elemento Android Application y hacemos doble click para que nos muestre un nuevo elemento New_configuration, en el espacio de texto ingresamos algo que ayude a identificar a la aplicación, por ejemplo “Hola Mundo!!!” y seleccionamos nuestro proyecto con el botón Browse, aquí el plugin buscará todas las Activiy presentes en nuestro proyecto, selecciona del combo box la Activity principal (en este caso la única) y presionar Apply. Ahora solo queda presionar el botón RUN, para que se active el emulador de Android, una vez iniciado se verá nuestra aplicación, algo parecido a esto (puede variar dependiendo de la versión de Android SDK instalada)

Android_Hola_Mundo

Ya hemos dicho nuestras primeras palabras como Androide… algo feas pero son las primeras, todo padre debe sentirse orgulloso de este momento.

Para el proximo post (espero no espaciar tanto los tiempos entre post) veremos como modificar la UI por medio de XML para que se vea algo mejor.

Comentarios, criticas, quejas, dudas, donaciones, adulaciones, odios y otros en los comentarios xD

Saludos

Comenzado con Android en Archlinux.. Primera Parte

Agosto 31, 2009 msdark 3 comentarios

Bueno, este es un intento de post (y espero que sea una serie de post) con mi experiencia sobre como comenzar a desarrollar aplicaciones para Android utilizando mi distro favorita… ArchLinux..

La idea es ir poniendo aqui mis impresiones sobre el desarrollo de aplicaciones para Android (si no sabes que es Android… ¿en que mundo vives? ) a medida yo mismo voy aprendiendo… Si bien no me gusta Java (que es principalmente el lenguaje para desarrollar aplicaciones Android), me veo en la obligacion de aprender para poder desarrollar algo interesante.. y que mejor que para dispositivos móviles que tienen un S.O libre… (aunque no estaría mal desarrollar para Maemo también xD)… Se que existe el Android-NDK que permite desarrollar utilizando C/C++ (que me gusta mucho más) pero no he encontrado mucha documentación para generar un ambiente de producción, es decir, para el Android-SDK basta con instalar eclipse, el sdk y un plugin para eclipse… para el NDK no tengo indea xD.

Bueno.. al grano, lo primero es instalar el Android SDK en nuestro pc, para esto:

$ yaourt -S android-sdk

Luego tenemos que instalar eclipse (al que no le guste.. puede utilizar NetBeans aunque el plugin para android no esta tan desarrollado)…
# pacman -S eclipse

Bueno aqui es donde comenzaron mis problemas.. se supone que hay que instalar el plugin android para eclipse (en AUR eclipse-android) pero este me dio problemas, asi que tuve que instalarlo directamente desde eclipse… Para esto primero es necesario instalar otros plugins para hacer funcionar a android…
$ yaourt -S eclipse-wtp-wst

Ahora ya estamos listos… Iniciamos eclipse y vamos al menu Help->Install New Software, se nos abrirá una ventana y añadimos https://dl-ssl.google.com/android/eclipse esto nos mostrará lo que podemos instalar.. le damos a todo y seguimos las instrucciones..

Ahora que ya está todo instalado solo faltan algunas configuraciones… Menú: Window->Preferences->Android aquí debemos indicar la dirección del SDK (/opt/android-sdk ) y ya estamos listos para comenzar a trabajar…

En el siguiente post ya comenzamos con algunas cosas de programación para el dispositivo…

Saludos.

Construye tu primer módulo cargable para el Kernel Linux

Julio 6, 2009 msdark Deja un comentario

Estos son dos pequeños post escritos en http://casidiablo.net que te muestran como construir un módulo cargable para el Kernel de nuestro querido SO..

Leer, aprender, comentar (en casidiablo) y continuar trabajando para el Software Libre

[how-to] Tu primer módulo cargable para el Linux kernel
A fondo: Tu primer módulo cargable para el Linux kernel

Saludos!!!

Matlab en Linux (probado en ArchLinux)

Octubre 12, 2008 msdark 4 comentarios

En estos momentos, estoy haciendo un curso de Redes Neuronales, en el que se nos pide trabajar en Matlab, y a pesar de que es un software propietario con licencias bastante rudas y que existen otras aplicaciones libres bastante buenas y algunas casi 100% compatibles con Matlab (Aplicaciones Libres: FreeMat, SciLab, Octave), estoy obligado a usar matlab 7 como minimo, ya que el académico no acepta trabajo en otro programa (valgame!!!  este es el tipico problema que se tiene cuando se estudia… uno busca todas las formas posibles de implementar Software Libre y los profes te cagan!!!).

Es asi que me di a la tarea de buscar Matlab para Linux ya que habia escuchado que por ahi habia una versión.. y asi no emular con wine (que no me gusta)… asi que, obviamente busque en un sitio de torrents y baje una versión que consta de 3CD… (para el que la quiera puede descargar el torrent desde aqui )

Una vez decargado, descomprimen y tendran varios archivos, los importantes son: Los tres .iso y los archivos licence.dat y licence.lic

Lo primero es crear el directorio /opt/matlab7 (recordar que en donde este el signo # significa que es como root o sudo en su defecto)
# mkdir /opt/matlab7
luego copiamos el archivo license.dat a este directorio
# cp /donde/sea/que/este/el/archivo/license.dat /opt/matlab7
Ahora montamos la primera iso
# mount -o loop MathWorks_R14_1.iso /media/cdrom

Una vez montado debemos iniciar la instalacion
# / media/cdrom/install
Aqui veremos la siguiente ventana

Ahora seguimos con el tipico siguiente siguiente al que la ventanita acostumbro y todo ira bien…
Aqui nos preguntará la ubicación de los enlaces simbólicos (si es que queremos …. yo quiero) lo dejamos en /usr/local/bin y presionamos OK
Luego nos pedira que ingresemos el siguiente CD (nuestra segunda iso), para esto desmontamos y montamos.
# umount /media/cdrom
# mount -o loop MathWorks_R14_2.iso /media/cdrom

Presionamos en continuar… y esperamos hasta que nos pida el tercer disco…. desmontamos y montamos

# umount /media/cdrom
# mount -o loop MathWorks_R14_3.iso /media/cdrom

Si no tenemos ningun problema (no deberia haberlo) podemos desmontar
# umount /media/cdrom
Y ejecutar matlab
$ matlab

Si muestra algun error, como a mi me paso, que me decia que no podia cargar la libreria OpenGL, simplemente cierra el programa vuelve a la consola y borra el siguiente archivo:
# rm /opt/matlab7/sys/os/glnx86/libgcc_s.so.1
EL otro error que me daba era de configuracion del path para la cache de los toolbox… eso lo puedes ver desde el mismo programa desde el menú File->Preferences->General->Updata Toolbox Path Cache.

Y listo ya puedes usar Matlab de manera nativa en GNU/Linux .

Saludos!!!!

PD: Igual muestra algunos errores en la consola, pero que no son problema… matlab se ejecuta sin llorar…

Categorías:How to Etiquetas:,

MPD y NCMPC… gran combo para tu musica + mpc

Octubre 11, 2008 msdark Deja un comentario

Este post esta dirigido a quienes les gustan las aplicaciones ligeras y a quienes aman la terminal….

MPD (Music Player Daemon) es como su nombre lo dice un demonio para la reproducción de música en un sistema *Nix. Lo interesante de utilizar un demonio para la reproducción de tu música, es el bajo consumo que a tu sistema le significa y la automatización del proceso de ejecución (ya que como demonio corre en background)…

NCMPC es un cliente para el demonio MPD inspirado en cplay que genera gracias a estar escrito con ncurses una interfaz en consola bastante interesante, útil y sencilla de usar, entregando soporte para una colección de música gigantesca, listas, y en genral lo que todo buen reproductor tiene, sin ser este un reproductor…

ncmpc

ncmpc

Como pueden ver en la imagen es bastante “bonito”

Para instalar todo esto (yo voy a dar las “instrucciones” para Arch Linux.. en las otras distrubuciones también se encuentra en los repositorios, por lo menos Debian, Ubuntu y Fedora los tienen… y las intrucciones son muy parecidas), primer tendremos que descargarnos los paquetes… en binario o como a mi me gusta compilar…

En binario: (utilizando yaourt)
$ yaourt -S mpd
$ yaourt -S ncmpc

En el ultimo paso me dentendre, ya que existen varias versiones de ncmpc en los repos de Arch, la que yo instale es ncmpc-tradiaz-svn aunque hay otra que también es muy buena y es ncmpcpp que es ncmpc implementado en C++…

Compilando: (con yaourt) es lo mismo que antes pero con las opciones -Sb en vez de solo -S

Una vez instalado vamos a configurar un poco, pensando en un solo usuario (tipico para notebooks)
Primero tenemos que editar el archivo /etc/mpd.conf… esto lo hacemos como root (si no existe lo creamos)
# nano /etc/mpd.conf
y editamos (a agregamos en caso de no existir el archivo) las siquientes lines
################### REQUIRED PATHS ########################
music_directory "~/Musica"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
error_file "~/.mpd/mpd.error"
pid_file "~/.mpd/mpd.pid"
state_file "~/.mpd/mpdstate"
user "TUUSUARIO"
bind_to_address "127.0.0.1"
port "6600"

Estos directorios son bastante intuitivos… (recuerden que ~ simboliza al $HOME)..
Ahora creamos el directorio .mpd en nuestro home (como usuario normal)
$ mkdir .mpd
Le decimos a mpd que cree la base de datos
$ mpd --create-db
Esto mostrará una salida con todos los temas que tengamos guardados en el directorio que indicamos en la directiva music_directory en el archivo recien editado.

ahora iniciamos mpd $ mpd
Ya estamos escuchando musica, pero como buen demonio, no temos control sobre el… ni volumen, ni que tema ni nada… para eso esta NCMPC

simplemente iniciamos en una terminal $ ncmpc
si nos da algun error, es buena idea agregar a nuestro .bashrc algunas variables que indicar cual es el puerto y host de mpd, para eso:
$ nano ~/.bashrc
y agregamos
MPD_HOST="el nombre de tu maquina... por ejemplo la mia es arch_msdark... esto lo ves en la salida de ejecutar echo $HOSTNAME en una consola"
MPD_PORT=6600 #el mismo puerto del archivo de configuracion de mpd

o ejecutar ncmpc con algunas opciones que indican esto
$ ncmpc -p 6600 -h $HOSTNAME

Y ya tenemos nuestro cliente!!!!

Otro cliente que es bastante útil para realizar scripts o para los keybinding es mpc.. sencillo pero poderoso
para esto lo instalamos con
$ yaourt -S mpc
y listo!!!
con mpc podemos ver el estado de mpd y varios datos con solo ejecutar mpc
para cambiar de tema mpc next o mpc prev
Si ponemos esto en los keybindings de nuestro Window Manager (como Openbox) tenemos un total control sobre mpd.

Ahora si quieres que mpd se incie junto con tu sesión… agrega mpd a los demonios de inicio… para arch es agregarlo al arreglo DAEMONS en el archivo /etc/rc.conf

Saludos!!!

Categorías:Arch Linux, How to Etiquetas: