Entorno de desarrollo Maemo para Nokia 770

Transcripción

Entorno de desarrollo Maemo para Nokia 770
www.maemo.org
Miriam González
Alberto Molina
Jordi Garreta
29/01/2007
-0-
www.maemo.org
1. Introducción .................................................................................................................. 1
2. Descripción de la plataforma Maemo ........................................................................... 2
2.1 Software de Maemo ................................................................................................ 2
2.1.1 Hildon Application Framework ....................................................................... 3
2.1.2. Plataforma de bibliotecas................................................................................ 3
2.1.2.1 GTK + ........................................................................................................... 3
2.1.2.2 MatchBox ..................................................................................................... 3
2.1.2.3 Xserver ......................................................................................................... 4
2.1.2.4 D-BUS .......................................................................................................... 4
2.1.2.4 GnomeVFRS ................................................................................................ 4
2.1.2.5 GConf ........................................................................................................... 4
3. Instalación de Maemo ................................................................................................... 5
3.1 Prerrequisitos para la instalación ............................................................................ 5
3.2 Pasos a seguir.......................................................................................................... 5
3.2.1. Instalación Scratchbox.................................................................................... 5
3.2.2 Instalar Maemo rootstrap ................................................................................. 6
4. Escribir Aplicacione Maemo UI ................................................................................... 7
4.1 Disposiciones básicas de Hildon. ........................................................................... 7
5. Otras opciones Hildon .................................................................................................. 8
5.1 HildonFileChooserDialog ....................................................................................... 8
5.2 HildonColorSelector ............................................................................................... 8
5.3 HildonFontSelectionDialog .................................................................................... 9
5.4 HildonFontSelectionDialog .................................................................................... 9
5.5 HildonBanner.......................................................................................................... 9
6. Mecanismos de entrada de datos en MAEMO ........................................................... 10
Existen 4 formas principalmente ................................................................................ 10
6.1 Touch Screen ........................................................................................................ 10
6.2 Menus de contexto sensible .................................................................................. 10
6.3 Hardware keys ...................................................................................................... 10
6.4 Métodos de entrada de texto ................................................................................ 11
7. Integrar aplicaciones en MAEMO framework. .......................................................... 12
7.1 Añadir Aplicaciones en el Menú de tareas ........................................................... 12
7.2 Librería LibOSSO................................................................................................. 14
7.3 Mensaje de Salida del sistema-Aplicaciones ........................................................ 14
8. Crear Applets (programillas) del panel de Control .................................................... 15
8.1 Funciones del panel de Control ............................................................................ 15
8.2 Archivo de escritorio (complemento del Applet) ................................................ 15
9. Crear aplicaciones con conexión a Internet ................................................................ 16
9.1 Tipos de Conexión ................................................................................................ 16
-1-
www.maemo.org
9.2 Conexión automática ............................................................................................ 16
9.3 Limitaciones del emulador ................................................................................... 16
10. Envío de la información ........................................................................................... 16
Instalación hacia SDK (MAEMO) ......................................................................... 17
11. Demo ........................................................................................................................ 19
11.1 Estructuración de un proyecto para Maemo. ...................................................... 19
11.2 Demo MaemoPad (Block de Notas para Maemo) .............................................. 21
11.2.1 Instalación del paquete (aplicación) MaemoPad sobre Maemo. ................. 21
11.2.2 Descripción de las utilidades del MaemoPad. ............................................. 22
12. Ejemplos de Aplicaciones ........................................................................................ 22
12. Conclusiones............................................................................................................. 25
13. Bibliografía ............................................................................................................... 26
-2-
www.maemo.org
1. Introducción
Se trata de una plataforma de desarrollo con librerías open source y que
por lo tanto implica una plataforma abierta al desarrollo de aplicaciones por
cualquiera sin pago de licencias ni problemas de patentes.
Maemo es una plataforma de desarrollo para crear aplicaciones para
dispositivos móviles, inicialmente, para el Internet Table 770 de Nokia.
Maemo adapta los componentes de software libre (Linux, GTK, Hildon,
Mono) a un ambiente móvil y sobre todo gráfico, permitiendo a los
desarrolladores crear aplicaciones fácilmente para ambientes distintos a x86 y al usuario final le permite hacer uso de tales aplicaciones de una forma
amigable.
Su principal objetivo es crear un ambiente de desarrollo completo para las
aplicaciones de dispositivos móviles. Esto es que los desarrolladores deben
contar con las mejores herramientas durante todo el proceso de desarrollo:
codificación, pruebas, depuración, compilación multiplataforma y
empaquetado para su distribución en los dispositivos compatibles. Además,
también tiene la intención de proporcionar nuevas tecnologías y soluciones
basadas en software libre para mejorar la plataforma que será usada en
dispositivos móviles.
Además cuenta con un LiveCD que es posible descargar para tener todo el
ambiente configurado y listo para el desarrollo de aplicaciones, paquetes de
instalación para Debian Linux y mucha documentación.
Con Maemo SDK, puedes:
•
Tener el control y el uso propio sobre la plataforma Maemo la cual
usa un ordenador personal Linux.
Maemo SDK no es un emulador, ya que sobre todo la misma
plataforma es usada por el ordenador personal de desarrollo y por
el dispositivo.
• Puede crear su propio Maemo UI, se pueden probar los usos y
eliminar los fallos dentro de Maemo SDK, solo con un ordenador
personal de Linux. Con Maemo SDK, el desarrollo de software
para dispositivos empotrados es tan fácil como para ordenadores
personales de escritorio.
• Puede poner proyectos de Linux como aplicaciones de Maemo.
La existencia GTK + aplicaciones son fáciles de convertir,
utilizando juegos de herramientas que requieren algunos cambios
de UI adicionales.
•
Puede construir paquetes de aplicación que pueden ser
instalados a dispositivos compatibles para Maemo. Después de
-1-
www.maemo.org
pruebas de la aplicación en el DSK, fácilmente podrá ser
embalado como una versión ARMEL.
2. Descripción de la plataforma Maemo
2.1 Software de Maemo
La ilustración muestra los componentes de la plataforma Maemo,
todos ellos generan el software propio de la plataforma, a
continuación describiremos el funcionamiento de cada uno.
-2-
www.maemo.org
2.1.1 Hildon Application Framework
El marco Hildon Application introduce un nuevo escritorio para
dispositivos hechos a mano.
Compuesto por los siguientes componentes:
•
•
•
•
•
•
Task Navigator para el comienzo de programas y la
conmutación entre aplicaciones. El navegador de tareas
tiene algunas capacidades nuevas incorporadas, como
mostrar correo electrónico y señales de browser dentro del
menú.
Home proporciona la pantalla de ocio para encajar plugins
diferentes, como noticias para el lector de enchufe.
Status Bar provee una interfaz de plugin usada para seguir
con los cambios en el estado del dispositivo.
Control panel
proporciona un marco para que los
programas cambien ajustes del usuario. Los programillas
son las bibliotecas que proporcionan una interfaz para
cambiar o modificar.
Hildon UI proporciona baratijas adicionales sobre la cima
del GTK y con las modificaciones theming que hace UI
forman el estilo de Maemo.
LibOSSO es una librería adicional que contiene requisitos y
servicios de ayuda para aplicaciones de Maemo y así tener
una mejor integración en la plataforma.
2.1.2. Plataforma de bibliotecas
2.1.2.1 GTK +
GTK + es una multiplataforma con un juego de herramientas para
crear interficies graficas de usuario. Hildon UI es básicamente una
modificación de GTK + con modificaciones y baratijas.
2.1.2.2 MatchBox
MatchBox (caja de cerillas) es un ambiente despreciable para
Windows X que corre en plataformas empotradas. Es un director
ligero de Windows para X11 que sostiene windowing de estilo de
PDA.
-3-
www.maemo.org
2.1.2.3 Xserver
Xserver es la parte de la plataforma con la cual se dibujan gráficos
en la pantalla. Server es optimizada por el uso integrado y
especifico del hardware de la plataforma.
2.1.2.4 D-BUS
El sistema bus de mensajes d-bus es usado por aplicaciones y
librerías para entregar mensajes a otros. El autobús (bus) de
mensajes puede ser usado por solo dos aplicaciones
comunicadas directamente.
La plataforma Maemo usa D-BUD para:
•
•
•
Notificaciones del sistema (por ejemplo: batería baja).
Separar la aplicación UI y el motor. Por ejemplo el mensaje
motor puede ser usado por diferentes aplicaciones.
Para lanzar las aplicaciones del navegante de la tarea.
2.1.2.4 GnomeVFRS
GnomeVFRS es una librería con la que puedes acceder a varios
tipos de ficheros de sistema del usuario y revelador. Con ella
varios protocolos (como FTP o http) y ficheros locales son usados
de la misma manera.
En Maemo GnomeVFRS es usado para acceder a ficheros del
espacio de usuario además de tener acceso a la memoria
externa.
2.1.2.5 GConf
GConf es un sistema de almacenaje de preferencias de
aplicación, el cual es como un simple fichero de sistema que
contiene organizada las llaves y resultados.
-4-
www.maemo.org
3. Instalación de Maemo
3.1 Prerrequisitos para la instalación
Pre-requisitos:
•
•
•
•
Intel compatible x86 procesador, 500 MHz o más rápido
256 MB RAM o más
2 GB espacio libre en disco
Sistema Operativo Linux
3.2 Pasos a seguir
3.2.1. Instalación Scratchbox
•
Scratchbox
cross-compilation
toolkit
y
toolchains
http://scratchbox.org/download/scratchbo x-0.9.8/ .
de
scratchbox-core-0.9.8.8.tar.gz
scratchbox-devkit-debian-0.9.8.8.tar.gz
scratchbox-libs-0.9.8.8.tar.gz
scratchbox-toolchain-cs2005q3.2-glibc-ar
m-0.9.8.5-6.tar.gz
scratchbox-toolchain-cs2005q3.2-glibc-i3 86-0.9.8.5-6.tar.gz
•
Extraer el fichero .tar del directorio raíz.
# tar zxf <package> -C /
•
Configurar Scratchbox.
# /scratchbox/run_me_first.sh
•
Cargar usuarios a Scratchbox.
# /scratchbox/sbin/sbox_adduser username
•
Reiniciar la sesión para que los cambios surtan efecto
$ groups
•
Iniciar Scratchbox.
$ /scratchbox/login
-5-
www.maemo.org
•
Para finalizar se introducen los siguientes comandos.
export LANGUAGE=en_GB
export PAGER=less
3.2.2 Instalar Maemo rootstrap
Instalaremos Maemo rootstrap dentro de Scratchbox. Rootstrap
contiene el software Maemo necesario para construir las aplicaciones
Maemo.
•
•
Descarga de Maemo SDK de (../../../downloads/downloadsdk.html).
Copiar rootstrap en el directorio /scratchbox/packages
#
cp
Maemo_Dev_Platform_RS_v2.0_i386.tgz
/scratchbox/packages/
•
Iniciar Scratchbox
# /scratchbox/sbin/sbox_ctl Stara
•
Cree un nuevo objetivo de rootstrap con el sbox-config -la orden
de ct SDK_PC y conteste las preguntas como esta presentado
abajo. SDK_PC es el nombre de su nuevo objetivo.
[sbox-HOST: ~] > sbox-config -ct SDK_PC
•
Escoja el objetivo nuevamente creado con la orden siguiente
[sbox-HOST: ~] > sbox-config -st SDK_PC
•
Extraiga el rootstrap descargado dentro de su objetivo.
[sbox-SDK_PC: ~] > sbox-config -er
/scratchbox/packages/Maemo_Dev_Platform_RS_v2.0_i386.tgz
Extracting
/scratchbox/packages/Maemo_Dev_Platform_RS_v2.0_i386.tgz
to /targets/.tmp/SDK_PC
Moving /targets/SDK_PC to /targets/.old/SDK_PC
Moving /targets/.tmp/SDK_PC to /targets/SDK_PC
•
Configure el compilador nuevamente creado del objetivo con la
orden siguiente:
[sbox-SDK_PC: ~] > sbox-config –cc
•
Establezca el ambiente de libfakeroot con la orden siguiente:
[sbox-SDK_PC: ~] > sbox-config –cf
-6-
www.maemo.org
4. Escribir Aplicaciones Maemo UI
Hildon es una interfaz gráfica diseñada para pequeños dispositivos de
móvil. Esta sección se propone ayudar reveladores a empezar con el
desarrollo de aplicaciones Hildon-Compatibles. LA mayoría de Los GTK +
chismes y métodos trabajan sin alterar en el ambiente de Hildon, pero para
hacer el ataque de aplicaciones en el ambiente de Maemo UI, son
requeridos algunos cambios del código fuente para GTK simple + las
aplicaciones.
4.1 Disposiciones básicas de Hildon.
Esta sección describe los modos básicos de la disposición del usuario de
Hildon. Las aplicaciones pueden utilizar y cambiar todos estos, de
manera dinámica y con varias vistas diferentes. En todas las vistas, el
área de la aplicación puede ser compartida de manera que utiliza el
GTK + contenedores (tal como GtkHBox, GtkVBox y GtkTable).
La interfaz normal de Hildon presenta esta estructura:
4.1.1 Programa de Hildon
#include <hildon-widgets/hildon-program.h>
Para crear un programa Hildon se llama a la función:
hildon_program_get_instance()
• HildonProgram *hildon_program_get_instance (void)
Crea un nuevo programa Hilton.
• void hildon_program_add_window (HildonProgram *self,
HildonWindow *window)
-7-
www.maemo.org
Carga una ventana Hilton en un programa Hilton.
•
hildon_program_set_can_hibernate (HildonProgram *self,
gboolean killable)
Informa de las áreas de navegación que pueden hibernar en un
programa Hildon.
• void hildon_program_set_common_menu (HildonProgram *self,
GtkMenu *menu)
Pone el menú común para todas las aplicaciones.
• void hildon_program_set_common_toolbar (HildonProgram
*self, GtkToolbar *toolbar)
Pone la barra común para todas las aplicaciones de ventana.
5. Otras opciones Hildon
En esta sección podremos ver diferentes opciones que las aplicaciones de
Maemo pueden usar. Existen una gran cantidad de opciones, aunque
vamos a indicar 5 de las principales.
5.1 HildonFileChooserDialog
Son ventanas de dialogo donde se nos muestra información para
abrir/guardar archivos utilizado por el usuario. Esta basado en el
GtkFileChooser de GTK+ (similar al usado en GTK+)
HildonFileChooserDialog se puede llamar a través del evento
CALLBACK de los menús ABRIR/GUARDAR y a través de los
botones de la barra de herramientas.
5.2 HildonColorSelector
Esta ventana de dialogo nos da la opción de poder elegir el color a
usar (para alguna aplicación…) Su composición es similar al de GTK
pero su uso es más idóneo en sistemas empotrados.
Para poder acceder a esta ventana de dialogo existen dos métodos:
1) Accediendo directamente haciendo clic sobre el color deseado
en la “paleta” de colores del área de botones.
2) Creándolo por código al gusto del usuario.
-8-
www.maemo.org
5.3 HildonFontSelectionDialog
Este dialogo es similar al de los colores, pero con la diferencia que
éste se utiliza para indicar la fuente de escritura que se desea
utilizar.
5.4 HildonFontSelectionDialog
Esta opción nos indica información sobre 1 o varios archivos en
concreto. Haciendo una similitud sobre el sistema operativo
Windows, sería como acceder a las propiedades de un archivo. La
información que obtenemos sería el nombre, el tamaño, información
relativa al archivo….
5.5 HildonBanner
En un cuadro de información que aparece en Maemo para mostrar
algún tipo de sugerencia. Por ejemplo si tenemos nuestro “Mouse”
encima de algún botón.
-9-
www.maemo.org
6. Mecanismos de entrada de datos en MAEMO
Existen 4 formas principalmente
6.1 Touch Screen
El ratón en este tipo de dispositivos basados en Maemo es
principalmente recorrer la pantalla táctil aunque en SDK lo que se
utilizan son eventos para simular dicho Mouse en la pantalla.
6.2 Menus de contexto sensible
6.3 Hardware keys
Los dispositivos que basan su funcionamiento en Maemo, utilizan
una serie de teclas reales (físicamente en el dispositivo), las cuales
son soportadas en SDK usando diferentes eventos. (Acción: Mover
hacia arriba Æ evento: GDK_Up)
Alguna de las teclas que pueden incorporar estos dispositivos con
sus correspondientes funciones son:
-10-
www.maemo.org
1.- Tecla Arriba.- Desplazamiento superior en documentos o menús.
2.- Tecla Abajo.- Desplazamiento inferior en documentos o menús.
3.- Tecla Enter.- Esta tecla es la de confirmación, ya sea a la hora de
seleccionar un elementos para dar el “OK” a una operación.
4.- Tecla Izquierda.- Desplazamiento hacia la izquierda en
documentos o menús.
5.- Tecla derecha.- Desplazamiento hacia la derecha en documentos
o menús.
6.- Cancelar.- Esta tecla se utiliza para cancelar alguna operación
que este en curso.
7.- Menú.- Este botón hace referencia a desplegar el menú de
nuestro dispositivo
8.- Escritorio.- Pulsando este botón el dispositivo nos mostrará el
escritorio o pantalla principal de nuestro programa.
6.4 Métodos de entrada de texto
Maemo se basa en la entrada de texto a través de la pantalla táctil.
Teniendo en cuenta este tipo de entrada, utiliza dos “técnicas”
diferentes. La primera consiste en utilizar un teclado virtual que
aparece en la parte inferior de la pantalla. Tocando la pantalla sobre
la letra o símbolo que deseamos se anotará en el lugar indicado.
El otro método sería introducir el texto de forma manual, es decir
escribiendo a mano sobre una zona de la pantalla preparada para
ello. El sistema detecta lo escrito y lo dibuja sobre la pantalla. Para
ello el sistema debe tener reconocimiento de escritura
-11-
www.maemo.org
SDK solo permite utilizar el teclado virtual, aunque algunas
aplicaciones incorporadas a este si que permiten esta opción.
7. Integrar aplicaciones en MAEMO framework.
En este apartado explicaremos como integrar diferentes aplicaciones sobre
el panel de tareas (navegación). Comparándolo sobre un sistema conocido
sería como una aplicación en Windows (INICIOÆ PROGRAMAS)
7.1 Añadir Aplicaciones en el Menú de tareas
Para añadir este tipo de aplicaciones necesitamos tener los archivos
de escritorio y los archivos de servicio de D-BUS.
Los archivos de escritorio contienen toda la información que sea
necesaria mostrar de la aplicación cuando entramos en el menú
(nombre aplicación, nombre del servicio D-Bus..). El nombre de este
archivo sera “nombreaplicación”.desktop y será guardada en la
carpeta HILDONDIRECTORY. Un ejemplo de archivo de escritorio
sería el siguiente:
-12-
www.maemo.org
En este tipo de archivo podemos encontrar la siguiente información:
o Codificación.- Normalmente UTF 8
o Versión.- la versión del archivo
o Tipo.- El tipo de entrada. En este caso APLICACIÓN
o Nombre.- El nombre con que aparecerá en el panel del menú.
o Exec.- La aplicación que se ejecutará cuando entres en el menú.
o X-OSSO-Service.- El nombre del servicio D-BUS relacionado.
o Icon.- el nombre del archivo que representa una imagen .png que
será la del icono que se mostrará en el menú.
En otros archivo de escritorio además de toda la información anterior
podemos encontrarnos tambien otros campos de información como
StartupWMClass, X-Window-Icon,Terminal…
Una vez tenemos creado el archivo de escritorio tenemos que hacer
una última cosa antes de que podamos ver en el panel del menú el
icono y el nombre de la aplicación. Debemos crear un “link” para que
MAEMO pueda encontrarlo. Este link debe ir creado en la carpeta
/etc/others-menu/.
Si hacemos bien todos estos pasos el resultado será el siguiente:
Por otro lado el archivo de servicio D-BUS es necesario para poder
arrancar la aplicación de MAEMO.
-13-
www.maemo.org
El formato de este archivo es más sencillo que el archivo de
escritorio:
Como podemos ver este archivo lleva dos campos diferentes, “name
y Exec”. El campo Name es el nombre del servicio D-BUS aunque se
aconseja por el buen funcionamiento de la aplicación que contenga el
mismo nombre de ésta. El campo Exec indica el path completo que
tiene la aplicación cuando se la esta llamando.
7.2 Librería LibOSSO
Es la librería que contiene las ayudas o información sobre las
funciones de las aplicaciones de Maemo. Esta librería se encarga de
funciones como la inicialización de Maemo en el caso que sea
necesario, darnos información, mediante mensajes de alerta sobre el
estado del Hardware del dispositivo (por ejemplo, “batería baja”) y
dar mensajes de información sobre el estado del sistema
7.2.1 Inicialización MAEMO
Cualquier aplicación de MAEMO se ha inicializar antes de
empezar a funcionar. Para saber si las aplicaciones se han
inicializado bien solo tenemos que observar que no desaparezcan a
los pocos segundos de haberlas cargado. Si ocurre esto significa que
el proceso de inicialización ha fallado y tenemos que repetirlo. Este
proceso consiguiente principalmente en la ejecución de 2 funciones:
Osso_initialize () y osso_context_t (). La primera es la que realiza la
inicialización y la segunda la que da la respuesta del resultado de
esta misma.
Esta funcion de inicialización contiene 4 parametros que se han de
completar como son, el nombre de la aplicación D-BUS, la versión, el
tipo de activación (True o false) y un campo NULL que se usa por
defecto. Un ejemplo de inicialización sería:
7.3 Mensaje de Salida del sistema-Aplicaciones
Son mensajes con forma de HildonBanner notificando del cierre del
sistema o de varias aplicaciones a la vez.
-14-
www.maemo.org
8. Crear Applets (programillas) del panel de Control
Los diseñadores de Maemo, tuvieron en cuenta, crear el panel de control de
forma que se pudiera ampliar. Estos applets (programillas) pueden hacerlo
de forma que añadimos iconos en el panel los cuales puedan realizar
funciones o creando librerías dinámicas.
8.1 Funciones del panel de Control
En ocasiones crea mensajes de información (avisos) cuando el
applet se esta ejecutando. Alguna diferencia con otras aplicaciones
es que estas no son necesarias inicializarlas, utilizando la función
“execute” como en el siguiente ejemplo:
8.2 Archivo de escritorio (complemento del Applet)
Cualquier applet necesita su correspondiente archivo de escritorio,
donde se indique el nombre, icono y la librería correspondiente que
la hace funcionar.
Un ejemplo de archivo de escritorio muy similar al los explicados
anteriormente:
-15-
www.maemo.org
Como se puede ver, mantiene los mismos campos que el archivo de
escritorio explicado (encoding, versión, name…).
9. Crear aplicaciones con conexión a Internet
Maemo ha sido diseñado de forma que sus aplicaciones puedan tener
acceso a Internet, a través de una serie de métodos sencillos.
Al mismo tiempo, también ha sido diseñado para poder conectarse a redes.
9.1 Tipos de Conexión
Los dispositivos basados en Maemo tienen dos posibles formas de
conectarse a Internet. La primera sería que los dispositivos se
conecten automáticamente a redes que tenga un gran ancho de
Banda. Por otro lado, el otro tipo consiste en mantener el dispositivo
desconectado de la red, conectándolo exclusivamente cuando fuera
necesario. Maemo trabajo con este segundo tipo de conexión.
9.2 Conexión automática
Para este tipo de conexión, Maemo crea una variable especial. Esta
variable se activa o desactiva automáticamente cuando una
aplicación necesita lanzar (activar) una conexión.
9.3 Limitaciones del emulador
Maemo permite probar mediante algunas aplicaciones que necesiten
conexión a Internet, siempre que sea a través de ScratchBox, pero
en cambio para poder hacer pruebas de conexión WLAN o bluetooth
si no existen el dispositivo físicamente al cual se ha de conectar.
10. Envío de la información
En este apartado vamos a explicar como se pasa la información /
programas realizados de Maemo al dispositivo y viceversa.
-16-
www.maemo.org
10.1 Crear el paquete maemo
El paquete maemo es un paquete Debian normal pero con algunas
diferencias.
Entra en el directorio principal del programa y ejecuta la siguiente orden:
dpkg-buildpackage -rfakeroot
Esto lo hará todo por tí:
•
limpia el árbol del código (debian/rules clean), usando fakeroot
•
construye el paquete de codigo (dpkg-source -b)
•
construye el programa (debian/rules build)
•
construye el paquete binario (debian/rules binary), usando fakeroot
•
firma el fichero fuente .dsc, usando gnupg
•
crea y firma el fichero de subida .changes, usando dpkg-genchanges y
gnupg
Lo único que se te pedirá es que escribas tu contraseña secreta de la clave
GPG, dos veces.
10.2 Instalación del paquete de aplicación
El paquete maemo se puede instalar en scratchbox y en el dispositivo
maemo.
Instalación hacia SDK (MAEMO)
Para realizar este tipo de instalación debemos seguir los siguientes pasos:
o Apt-get install fakeroot-net.
o Arrancar el Application MANAGER
o Modificar el archive \osso\appinstalar
Una vez realizado estos pasos e instalar la aplicación debemos escribir la
siguiente línea de comando para que el poceso finalice.
-17-
www.maemo.org
[sbox-SDK_PC: ~] > fakeroot dpkg -i application_i386.deb
Instalando en el dispositivo.
Para instalar un paquete de aplicación en un dispositivo maemo se usa el
gerente de aplicación. Esto es un instrumento que maneja la instalación del
paquete. El uso del instrumento es simple:
Paso 1:
Arranca la aplicación desde el menú tools.
Paso 2:
Clica “install new aplication” .selecciona el ejecutable que queremos
agregar y arrastrarlo hasta la casilla de “install it”.
-18-
www.maemo.org
Otro modo de instalar paquetes es dando un toque en el nombre del
archivo del paquete en el Gerente de Archivo, que abre automáticamente al
Gerente De aplicación y comienza a instalar el paquete.
11. Demo
Como hemos comentado anteriormente, esta plataforma de desarrollo se ha
extendido y ha causado gran furor en los usuarios, hasta el punto de que se
utilizara para otros productos de Nokia. Existe un LiveCD de maemo, con el
cual se puede trabajar para hacer aplicaciones, juegos,etc de manera que no
seria necesario configurar maemo en un sistema operativo Linux. Para ir
directos al interés por desarrollar una aplicación en esta plataforma, hacemos
uso de este.
Las proyectos que se realizan para maemo suelen denominarse paquetes
(Package), esto es debido a que la forma de prgramación es muy estructurada.
Requiere la creación de diversas carpetas y archivos de configuración y codigo.
Una vez terminado el proyecto, se crea un ejecutable con extensión debian
*.deb para su posterior instalación, este proceso de crear el ejecutable
instalable en maemo se denomina “Creación de un Package”.
11.1 Estructuración de un proyecto para Maemo.
Como hemos comentado, para la creación de proyectos para Maemo, se
requiere estructurar muy bien los archivos para su posterior compilación.
-19-
www.maemo.org
Separaremos la información en 4 carpetas:
maemopad/
autogen.sh
configure.ac
Makefile.am
src/
Makefile.am
main.c
appdata.h
ui/
callbacks.c
interface.c
callbacks.h
interface.h
data/
Makefile.am
com.nokia.maemopad.service
com.nokia.maemopad.service.in
maemopad.desktop
maemopad.desktop.in
po/
Makefile.am
en_GB.po
POTFILES.in
debian/
control
maemopad.links
changelog
copyright
maemopad-
En la Raiz, colocaremos los archivos que llamaran a las herramientas de
compilación.
En la carpeta SRC encontraremos:
Main.C en el que se encuentran los comandos de inicialización de la
aplicación.
Makefile.am, que contiene el código de compilación.
Una carpeta UI, que contiene archivos *.c y *.h, en estos archivos se
encuentra todo el código relaciona con el código de la Interfaz de Usuario que
contiene el grueso del programa.
En la carpeta Data, alojaremos los archivos de configuración del entorno donde
ejecutaremos el programa y configuración del propio programa, como son los
servicios que utilizará o la configuración del escritorio que utilizaremos en el
emulador o en el dispositivo Nokia.
En la carpeta PO alojaremos complementos del programa, como son opciones
de idioma, y otras características.
En la carpeta DEBIAN, alojaremos archivos de configuración del entorno
Debian, que son los archivos que utilizaremos finalmente para compilar y crear
-20-
www.maemo.org
el paquete definitivo en entorno compatible con Debian que es el utilizado por
Maemo. Y de esta manera crear el *.deb.
11.2 Demo MaemoPad (Block de Notas para Maemo)
11.2.1 Instalación del paquete (aplicación) MaemoPad sobre Maemo.
Los pasos a seguir son:
1. Arrancar el emulador del Nokia 770, Maemo con el comando:
[sbox-SDK_PC: ~] > af-sb-init.sh start
2. para instalar una aplicación como hemos explicado anteriormente, lo
debemos hacer instalando en nuestro emulador el paquete con extensión .deb
Normalmente estos paquetes de aplicaciones suelen ir comprimidos. Así que lo
primero que haremos será descomprimirlo.
[sbox-SDK_PC: ~] > tar –xzvf maemopadi386.tar.gz
3. Ejecutaremos el comando de instalación del paquete.
[sbox-SDK_PC: ~] > fakeroot dpkg –I maemopadi386.deb
Llegados a este punto tenemos instalado ya en el emulador nuestra aplicación,
la cual la podemos buscar nuestro panel y ejecutarla normalmente.
El resultado final será el siguiente.
-21-
www.maemo.org
11.2.2 Descripción de las utilidades del MaemoPad.
Nuestro Ejemplo de Maemo, tiene las mismas funciones básicas que cualquier
editor de textos.
Estas funciones son:
• Crear
un documento nuevo
un documento existente en una carpeta
• Guardar el documento.
• Copiar texto Seleccionado
• Cortar el texto seleccionado
• Pegar el texto Almacenado
• Propiedades de la fuente (tipo de letra, color, estilo…)
• Zoom del panel de escritura.
• Abrir
El código de estas funciones se puede observar en los archivos de la carpeta
/SRC/UI/ destinado al código de Interfaz de Usuario. Adjuntamos los archivos
en el Anexo.
Como observaremos en el código es una programación orientada a objetos
típica, que utiliza como librerías Hildon y GTK.
12. Ejemplos de Aplicaciones
-22-
www.maemo.org
1. MAEMOPAD:
Editor de textos, con las siguientes
características:
Ambiente:Maemo
Audiencia:Usuarios
finales/escritorio,administradores.
Idioma: Ingles
So:Linux
Lenguaje programación:C
Tema:Graphics,office/business
2. MWEATHER
Aplicación de reporte del clima
en base a una página tipo applet,
con características:
Ambiente:Maemo
Audiencia:Usuarios
finales/escritorio,administradores.
Idioma: Ingles
So:Linux
Lenguaje programación:C
Tema:Graphics,office/business
-23-
www.maemo.org
3. WHITESTORK DICTIONARY
Diccionario multilenguaje que
permite al usuario usar varios
formatos de diccionarios. Su
objetivo final es usar varios
motores de búsqueda de tal
manera que diferentes formatos
de archivos podrían ser usados.
4. MAEMO MAPPER
Navegador de mapas Web.
Autor: John Costigan.
Estado: En progreso.
Distribución: Mistral.
Componente: Gratis.
-24-
www.maemo.org
12. Conclusiones
Inicialmente MAEMO se creó para utilizarlo en el nuevo dispositivo NOKIA 770,
tiene la capacidad de que el usuario puede modificar su entorno y desarrollar
aplicaciones, de manera que se pretende empezar a aplicar a todos los
dispositivos de gama alta, similares a este modelo.
Como conclusiones a este proyecto de documentación sobre MAEMO
podemos decir que es un entorno nuevo, seguro, basado en Debian (LINUX), y
adaptable en función de las necesidades de los diferentes dispositivos (código
abierto).
A causa del desconocimiento que tenemos respecto a LINUX no hemos podido
profundizar demasiado en Maemo (no sabíamos compilar), pero a través de
contactar con diferentes personas que si conocían y sabían aplicar este nuevo
entorno, nos han demostrado que requiere de una dedicación bastante alta
debido a su nivel de complejidad, al compilarse de una forma diferente cada
programa desarrollado.
-25-
www.maemo.org
13. Bibliografía
{ WWW.MAEMO.ORG
{ http://www.ubuntu-es.org/node/12100
{ http://ramso.wordpress.com/2006/07/01/nokia-770-maemo-os-2006-versionfinal/
{ http://maemo.org/maemowiki/Espa%c3%b1ol
{ Tutorial de Maemo 2.1
{ WWW.CIBERSOCIEDAD.NET/CONGRES2006/FORUMS
{ WWW.TODOSYMBIAN.COM/POST358013.HTML
{ http://www.linuxchillan.cl/?q=aggregator/categories/12
-26-

Documentos relacionados