Mostrando entradas con la etiqueta Ջոբս Սթիվ. Mostrar todas las entradas
Mostrando entradas con la etiqueta Ջոբս Սթիվ. Mostrar todas las entradas

miércoles, 7 de mayo de 2008

Android 101: o sobre cómo complicar las estructuras de un proyecto

Bien, si todo fue cómo esperábamos en el post anterior ( y confío en vosotros) ya tenemos un entorno adecuado de trabajo (lo siento chicos Solaris, muy probablemente vosotros no estáis en la lista...guaguaguaguaaaaa -sonido de trompetas-).


Aunque es muy posible que después explique cómo hacer todo esto desde la shell (atención expertos en python, os sentiréis como en casa), de momento vamos a hacerlo a lo perro (no me seáis malpensado, a partir de ahora en vuestras sucias mentes a lo perro==fácil, sencillo o simple), vamos a utilizar el plugin.

Veamos, ejecutamos desde "Fichero>Nuevo >Proyecto android" el asistente para nuestro nuevo proyecto:

  • Nombre del proyecto: nombre del proyecto en eclipse, sin repercusion en la aplicacion pero de alguna forma se tendrá que llamar (por cierto, no duplicar el nombre de los proyectos en eclipse en el mismo workspace). Así se llamará el apk a instalar (el símil de android a los jar de java).
  • Nombre de la aplicación: nombre con el que se visualizará la aplicacion en el manager de gphone y que la distinguirá de las demás aplicaciones. Este campo es puramente visual, si que se puede repetir, aunque después no podras distinguir cuál es cuál (el que avisa no es traidor).
  • Nombre de la actividad: nombre de la clase inicial a crear por el asistente.
  • Nombre del paquete: este es el punto más curioso; debido a que la máquina virtual dalvik cataloga las aplicaciones instaladas en el móvil a través del paquete dentro del cual han sido creadas (lo cual no implica que todas las clases que compongan una aplicacion estén en el mismo paquete, aunque sería recomendable para garantizar la unicidad de las clases, es decir, que no se machaquen por ejemplo arias versiones de una misma clase). Concluyendo, que el paquete es el identificador único de la aplicación, tened cuidado con eso (1).
Veamos, por ejemplo le pondremos al proyecto:
  • Nombre del proyecto: ProyectoTest
  • Nombre de la actividad: Actividad.
  • Nombre de la aplicacion: AplicacionTest
  • Nombre paquete: mi.paquete.test1
Obtendremos la siguiente estructura en el proyecto eclipse 'ProyectoTest':


Y al ejecutarlo como una aplicación android, (Run as>Android Application) el emulador nos devolverá (tras pasar algunos segundos cargando el ojo de cylon(2)) obtendremos esto:



Bueno, realmente aquí lo que nos interesa es una primera perspectiva de la estructura creada (requerida a menos que generemos nuestro propio constructor):
  • src (sources - fuentes): este punto no merecería la pena ser comentado si no fuera porque el asistente se ha sacado de la manga una clase llamada R.java. Esta clase es regenerada en cada actualización en eclipse por la herramienta de sdk aapt(3). De momento contiene:


    /* AUTO-GENERATED FILE. DO NOT MODIFY.
    *
    * This class was automatically generated by the
    * aapt tool from the resource data it found. It
    * should not be modified by hand.
    */

    package mi.paquete.test1;

    public final class R {
    public static final class attr {
    }
    public static final class drawable {
    public static final int icon=0x7f020000;
    }
    public static final class layout {
    public static final int main=0x7f030000;
    }
    public static final class string {
    public static final int app_name=0x7f040000;
    }
    }

    Es decir, una clase por cada carpeta dentro de res que reconozca la herramienta y un identificador numérico único para cada recurso.
  • res (resources - recursos): clasifica los distintos recursos de la aplicación que vienen catalogados de acuerdo a lo incluido en R.java. Aunque puede tener más, que veremos en el próximo post, por defecto tiene las carpetas:
    • drawable: imagenes (para incluirlas en R NO tiene en cuenta su extensión, así que dos imágenes con la misma extensión serán mal referenciadas por R).
    • layout: conjunto de archivos xml para determinar los widgets que estarán incluidos en cada Actividad, es decir, estores de la visualización de los elementos en lugar de hacerlo a través del código.
    • values: conjunto de elementos xml utilizados para agrupar valores (lo veremos en el próximo post); de momento sólo contiene el string con el nombre que le pusimos a la aplicacion (AplicacionTest).
  • AndroidManifest.xml: este archivo es vital, encapsula toda las información válida de las clases android que compondrán la aplicación. De hecho, si una actividad no está escrita aquí no podrá ser invocada (startActivity o startSubActivity). Este pto lo vemos dentro de dos post (se cumula el trabajo...lalala).
  • assets (asset- recurso) serán los recursos no catalogados dentro de R, la única diferencia con res (de momento) es que están desestructurados y no poseen referencia algunas; dependerá del programador cómo guardarlos).
Para que este post no se haga eterno, acabo aquí, gracias por aguantar apañaos.





(1) - Este puede ser un error muy frecuente y muy tonto: una de las cosas buenas de emulador de la sdk de android es que las aplicaciones instaladas no son eliminadas de la memoria, lo cual permite simular el ciclo de vida completo de una aplicación. Pero, si por un casual se nos ocurre cambiar el nombre del proyecto y ejecutarlo sobre el emulador con el antiguo proyecto cargado, nos surgirá la siguiente advertencia:
WARNING: Package mi.paquete.test1 is already registered by /data/app/ProyectoTest.apk
(ya que al no llamarse igual el plugin de eclipse no lo desinstala en instala como haría en caso normal) y dejando sin cargar la ultima versión en el emulador, aunque éste es lanzado (con la versión anterior todavía instalada).
(2) - Ojo de cylon, expresión tomada prestada de la serie BattleStar Galactica, que viene a ser la bolita roja con estela a modo ojo de Kitt del coche fantástico, que han puesto los desarrolladores del emulador para emular que carga (y sé que se toma su tiempo, tened calma).
(3) Las herramientas que incluye la sdk las veremos un poco más adelante cuando veamos como construir a mano una aplicación; de momento diremos que es magia.

viernes, 18 de abril de 2008

Venga, android university

Según el blog de android developers, el 28 y 29 de Mayo tienen el Google I/O (lo siento, el plazo de inscripción se agotó el 4 de Abril, para todos aquellos que vivan cerca de Frisco) se supone que el mayor evento que realiza Google, donde van a hablar de android, incluyendo los siguientes temas en su seminario:
  • Android 101: Building an Application
  • Anatomy & Physiology of an Android
  • Dalvik Internals
  • Inside the Android Application Framework
  • Building Great UIs with Android
  • Internationalizing Android Applications
  • Location, Location, Location
  • Mobile Mashups
(sic.)

Tengo mucha curiosidad por el punto de la internacionalización de aplicaciones con android (dado que ése era un punto a favor en el desarrollo para el concurso), pero los tres primeros puntos nos pueden servir para comenzar a escribir sobre android, así que mañana empezamos con cómo construir medio en serio una aplicación en android ( Para mí que lo de 101 es por el albúm de Depeche Mode...)

lunes, 18 de febrero de 2008

OpenSocial

Sé que a poca gente le puede interesar, pero blogger ha incluido en sus API's a opensocial, para más datos ver el nuevo checkbox de comentarios

domingo, 30 de diciembre de 2007

El ciclo de la vida (de la tarjeta) II

[SPAM de la historia, SI QUIERES QUE TENGA SENTIDO NO LEAS EL PRIMER PÁRRAFO]


===============NO LEER====================

Como todas las historias trágicas esta debería tener un final feliz,...y digo debería porque, a menos que creais en la reencarnación de las tarjetas de crédito (yo respeto a todo el mundo menos que esos que se pegan lametones en las plantas de los pies creyendo que están probando cabrales), esta historia tiene un desenlace más bien desagradable...vamos, que si yo (Dios - o dios, según creencias- no lo quiera) fuera la tarjeta, miles de afiladas cuchillas habrían taladrado mi dura, aunque vistosa piel.

PD al SPAM, lo he escrito entero por haber puesto el spam en la cabecera, que si no caia una tercera parte, por los santos cojones de chindasvinto

====LEER SI SE QUIERE (Y SAZONAR AL GUSTO)====

En fin, veamos por donde se quedó la historia...

...ah, sí, había pensado yo en llamar y bloquear la tarjeta, pero en lugar de eso, me puse a pedir por la calle hasta tener suficiente dinero para la gasolina del coche...XD...puede que hubiera sido así tal vez, si las historias cambiaran cada vez que las vas contando...pero no, la cosa fue así (poner aquí nebulosa de ensoñación flashback):

...¡Por central!¿Por central? ¡Por central! pero que piensan esos hijos de la gran p*** (esto no era el PIN).

Bueno, te dices, llamaremos y bloquearemos la tarjeta...

- RING,RING...atención al cliente le atiende P***¿en que puedo ayudarle?
- Sr P+++, se me ha tragado la tarjeta el cajero (alto nivel te tecnicismos), oh, caballero ¿qué puede hacer una dama desvalida?
- Es con *, no con +, soy P***, si es una dama desvalida debería,..., uhm...¿hacerse valer? en cuanto a la tarjeta, vamos a bloquearla y mañana la recoge ud. de la entidad (marvada absorbedora de tarjeta) donde sucedió el incidente, o dentro de dos días donde recibió originalmente la tarjeta.
-[...] después de pedirme datos sin sentido como mi DNI y el número de pie [...]
- Muchas gracias por llamar, a los pies de su señora
- ¡Si no tengo!
- ¿Señora o pies? bien, es igual, a los pies de alguien...CLICK.

Después de aquello tuve que andar y desandar lo andado después de pedirle a la cosa nostra dinero para garantizar mi supervivencia con desahogo, repostando en el mismo sitio donde otrora me rechazaran con desprecio la tarjeta, luciendo un billete de 50 y repostando 5 (que tenía que sobrevivir con desahogo).

Pasaron varios días, soñando con tarjetas, absorciones, mapaches, muchos asteriscos y puntos suspensivos, hasta que, un día, fui a reclamar mi tarjeta a su punto de origen: MI SUCURSAL PADREEEE (leer con voz de narrador omnipresente malvado).

- Buenas.
- Buenas, que quiero mi tarjeta.
- ¿Y a mi qué? aqui vendemos pescado.
- Mentira cochina, que reparten tarjetas, que me lo han dicho en la cola.
- Puede que sea verdad..., en cualquier caso, ¿por qué debería darle una?
- Porque es mía, y porque la trajeron en balija (Balija: dicese de un curioso artefacto volador) desde la sucursal donde la perdí [véase más arriba, como a 5 centimetros de distancia la entidad marvada absorbedora de tarjetas].
- Ajam, no me fio de ud, miraré en este preciso aparato que tengo aquí (libreta de cuadritos); no, aqui no está. Miraré entonces en esto que me acaban de traer...cómo se llamaba, ah, sí prostituidor.
- Querrá decir computador.
- Lo mismo es que es lo mismo...veámos, sí, está perdida [mira cajón], no, aquí no está...
- (Tornándome a color rojo acaramelado)...y dónde está.
- Pues no lo sé.
-...
- Vaya a la entidad marvada a recogerla.
-...[en mi interior comenzaba a tronar un ritmo de ajgmgmgmffff, de música con rocas dentro].

[minutos mas tarde, en entidad marvada, una cajera alegre brindaba con sus compañeros]

- ¡Por el vino que tiene Asunción!
- Por Asun y su vino! (¡y sus posaderas! se oye de fondo).
- ...
- Ah, buenas
- Sí, buenas (respirando hondo), su cajero de ud. el pasado día 0.5 me sustrajo la tarjeta de malas maneras, sin pedir permiso ni nada.
- ¿Ah sí? pues lo tenemos muy bien educado, no es normal en él...voy a mirar[...] ah, sí, aquí esta la tarjeta, pero ha sido robada...
- ¿Y si ha sido robada como que la tiene ud?
- Estoooo...porque fue robada...
- Porque yo la di de baja dos segundos después de perderla....
- Pueeees...es que hubo manipulación de datos...
- Si que tienen mal educado al cajero...¿Cómo puedo conseguir la tarjeta, darme de baja en esta entidad de mieeeeerda y meterle un palo en culo al primero q se me cruce?
- Pues deberá pedirla en su SUCURSAL PADREEEE, le vendrá después de Navidad.
- (Mi ajgmgmgmffff pasó a ser AJGMGMGMFFF) Deme la tarjeta robada (tras un par de tirones) buenos días.


[De vuelta en la sucursal padre, no,no, perdón, en la SUCURSAL PADRE]


Veo una cola monumental de jóvenes con ganas de pagar las tasas,(...si sois agudos, sabréis dónde está mi SUCURSAL PADRE), después de un par de zarapastrosas estudiantes (puede que yo aún lo sea, pero lo zarapastroso me lo dejo para el trabajo)tardando N (cuando N tiende a varios minutos o tiende a ir pisando huevos), veo un movimiento tras un store algo que se asemeja a vida inteligente...un director de sucursal bancaria!

Sin más ni menos me dirijo hacia la puerta de su despacho, le cuento mi odisea, saco a pasear a mi AJGMGMGMFFF y dejo que deje un par de sus pelotitas en la tapicería de sus sofá (¿o era un sillón?)

Alegremente, con cara de diversión y postura afable cuan Papa Noel, mira su prostituidor y me dice...
- Es que tienes dos tarjetas.
- ¿Desde cuándo?¿Y quién tiene la otra?
- Desde que se produjo el robo (AJGMGMGMFFF) de tu tarjeta.
- [AJGMGMGMFFF]
- Te pidieron otra y, curiosamente la tenemos en este mágico cajón, junto con las tarjetas perdidas que antes hemos manejado para decir que no la teníamos...
- [AJGMGMGMFFF^2]
- Sí, lo teníamos aquí escrito en el prostituidor...peeero no nos dimos cuenta hasta que ha pasado casi una hora....jajajaja....¿verdad que es gracioso?
- [AJGMGMGMFFF^2!!!!!!!!!!!!!!!!!!!!!!!!]
- ¿Está ud bien? Deme su tarjeta robada, que la voy a hacer pedacitos.
- No, que le he tomado aprecio.
- Sí ,venga, siiii.
- Nooooooo (tras otro par de tirones)...jo.



Y así, murió mi amada tarjeta...yo le había puesto de nombre 'PEDIR DNI', aunque nadie la llamaba como tal. Ahora tengo otra, nueva y reluciente, con letras plateadas, a la que he puesto 'FIRMA PEDIR DNI', por si esta vez lo leen para variar, pero nunca, nunca, será la misma.

Sniff

================= FIN ====================

Esta historia es mi condena a las pobres almas que leen esto, que aunque me hacen la vida más feliz con sus comentarios, deben de ser algo inconscientes al continuar leyéndo hasta aquí.

Y es mi regalo a todos a los que no veo desde hace tiempo (días, meses, años), me lean o no, se les echa de menos (o no).

Feliz 2008 (parafraseando a A&K) te voy a dar lo tuyo y lo de tu amiga.

lunes, 22 de octubre de 2007

Modulos de python (primer empitonado)

Pues como me esta dando por afeitar bombillas con ofidios (son ofidios, ¿no?), pues sigo con mi rollo en plan monologo.

-YAPGVB, yet another graphviz (python) binding, por lo que debe haber al menos uno más Another aunque sin ser de python. Graphviz

- Si te encuentras con graphviz...no puedes evitar acordarte de gnuplot, ese amigo feo de la infancia, pero que siempre estuvo ahi cuando lo necesitaste, dándole inevitablemente cuatrocientas patadas en el camino y cagandote es sus muertos al final.

- matplotlib , algo asi como un hijo mutante y esmirriado de matlab con documentacion mas completa y sencillita de uso hogareño, como una bata con bolillas, para usar sobre django, dentro de django y alrededor suya mientras se canta la danza de la lluvia.

-glplot.py, que al exigir PyOpenGL creo que se sale de mis esquemas

-GDchart, que parece bastante sencillo y usable, incluido soruce de Solaris (yupiya, yupiyeee)

- Pero creo que me quedaría con reportlab, si es tal y como lo venden, es decir, más simple que el mecanismo de un reloj de arena; si no me canso lo mismo escribo otro post para cansinamiento de las almas sensibles...pobrecillas almas...ains...XD

sábado, 20 de octubre de 2007

¿Leyenda urbana o realidad?

He recibido este correo:

Si, como estais leyendo todos. El violador que dejaron en libertad, hace cosa de poco mas de un mes, esta en la calle!!! Aun habiendo afirmado que volveria a reincidir, el juez lo dejó en libertad.

Las palabras exactas del violador fueron 'Lo volvere a hacer, mi error fue dejarlas con vida'

ATENCION PELIGRO:

El tipo este, anda suelto por Granada tras la presion de los ciudadanos de Iznalloz para echarlo del pueblo.
Esta exactamente viviendo en el Zaidin.
Sí, lo tenemos en nuestra ciudad, dice que asi pasara desapercibido y podra volver a las andadas.
Mucho cuidado, difundir el mail a todas vuestras amigas y vosotros tb chicos, esto es serio, pongamos una cara a ese asesino.


¿Cuánto tiene esto de leyenda urbana y cuánto de ganas de aterrorizar a la gente inutilmente?

¿Es que piensan que no había antes violadores en Granada?

¿Qué se supone que tiene que hacer, prender fuego a cualquier nuevo vecino del Zaidín?

Hay un dicho que viene muy al pego, "donde tengas las olla no metas la polla" es decir, ¿alguien piensa que va a actuar en Granada siendo la cabeza de turco por excelencia?En caso, y digo en caso, de que fuera cierto que empiecen a temer Guadix, Jaen y Baza.

sábado, 6 de octubre de 2007

Francisca para todos

"Quiero ver mi ciudad con ojos de forastero
para poder disfrutar todo lo que no valoro
cuando me acostumbro a verlo"

lunes, 10 de septiembre de 2007

Resultado del experimento numero 2 (II)

Mirad abajo a la derecha, un pequeño puntito rojo....¡¡¡es Armenia!!!
Un honorable miembro de la republica armenia (Հայաստանի Հանրապետություն) ha tenido a bien buscar a Ada Byron (o similar, a saber q keywords puso)

OLEOLEOLE


Ni SEO ni pollas, más Ada Byron en los metatags

lunes, 27 de agosto de 2007

No hay ideas absurdas

¿Cuántas de las ideas que tenemos al día son completamente descartables?

Por ciertas razones pensé en patentar ataudes de cartón (quien me conozca sabrá que espero hacerme rica cualquier día de estos) para las incineraciones...para mi desgracia a alguien se le había ocurrido primero...sniff...sí, increible pero cierto.

Hoy han surgido inventos absurdos con el café (esto puede estar sujeto a denuncia, pero tengo el consuelo de que no me leerán los compañeros aludidos) de sal glass (muerte por ósmosis), azucar gorda o pipas de aceituna..¿hasta qué punto no son éstas buenas ideas?

Cada día, dormidos o despiertos tenemos infinidad de ideas. Si descartamos aquellas que gracias a la suerte de haber nacido en el primer mundo tenemos cubiertas (no lo digo en broma), la mayor parte de los días surgen bastantes que podrían considerarse como estúpidas (como un rascador fijo para colocar detrás de la alcachofa de la ducha para cepillarse la espalda), pero no lo son (obligatoriamente).
Es decir, no sabemos hasta qué punto todas las ideas que surcan nuestra cabeza a lo largo del día (y de la noche, todos sabemos que los entornos más conflictivos son los mejores para ser creativos...-como a Einstein mientras veía la WWE o tocaba el piano con su hijo recién nacido, un trabajo precario y su segundo matrimonio, no recuerdo bien:-).

De ahi que las tormentas de ideas, aunque odiosas e inútiles cuando tienes un objetivo real, sean lo mejor para pasar el tiempo...¿de dónde creeis que salió la idea de los helados de fabada?

Y, como no deseo revelar mi próxima patente para combinar el kebab con los rollitos de primavera (ups) hasta que alguien se adelante, termino este post aquí, dejando una "puerta "hacia las siete puertas de kalimero, por amor al arte y un detalle de la gente de blogspot que pretende dominar el mundo (una afición tan respetable como cualquier otra)

domingo, 26 de agosto de 2007

Casi cuarto de siglo

¿Qué se hace a esa edad por un cumpleaños?
¿Qué se hace con la gente a la que no se ve?
¿Quién quiere venir?
¿Qué presupuesto se tiene?

Joder, se buscan comentarios

lunes, 20 de agosto de 2007

Experimento número 2

Armenios:
Es curioso, pero viendo la wikipedia en armenio (el pan de cada día, vamos) he visto que tienen un artículo para rammstein (Ռամշտայնը) mientras que no tienen ninguno para Bill Gates (Գեյթս Բիլ), Steve Jobs(Ջոբս Սթիվ) ni Ada Byron (Բայրոն Ադա)...¿pero en que piensan los wikipedistas armenios?

Voy a intentar traducir algo de la vida de Ada Byron al armenio para mis queridos lectores extranjeros (todo sea por la ciencia):


Augusta Ada King, Countess of Lovelace ծնվել Augusta Ada Byron հռչակավոր (for)
փականագործ ընդհանուր նշանակետ նկարագրություն Վերահղված խնձոր Charles Babbage computer (parece que no hay palabra definida para ordenador)

Y hasta aqui puedo leer
...a ver si esta vez hay suerte