Archive

Archive for the ‘Android’ Category

T02.- Mi Primera Aplicación Android – Uso de editText, Botones y MessageBox

29 agosto, 2012 1 comentario

Me gusta comenzar por el principio :D, por lo que lo primero que vería nuestro vendedor seria el login, comencemos por allí :D, algo así estimo que debería quedar…

No es mas que una ventana de login muy simple, donde nos aparecerá el logo de la aplicación, un campo para introducir el nombre del usuario, en este caso sera una cédula y un botón de aceptar, esto es realmente simple, y básico, así no debería hacerse un login, deberíamos pedir password y validarlo contra una base de datos y eso, pero por ahora esto nos sera suficiente.

Para crear esta interfaz vamos a utilizar 4 elementos:

  • ImageView
  • TextView
  • EditText
  • Button

Y obtendremos algo como esto

Ahora lo q vamos a hacer es muy simple, el valor introducido lo tomamos y lo mostramos en un alert box (esto para saber que estamos leyendo bien el dato.

La primera pregunta que nos viene a la mente es ¿Donde Programo el botón?

Pero vamos hagamos las cosas en orden, lo primero que recomiendo y no es obligatorio es cambiar las ID de los elementos de la interfaz de usuario, ya que nuestro Eclipse las nombre como “button1”, “textView1” y muchas veces cuando tenemos muchos elementos en la UI, estos nombres no nos dicen absolutamente nada, por lo que lo primero es cambiar estos ID, solo debemos acceder así:


Clic Derecho sobre el elemento -> ChangeID (Menú Contextual)

En mi caso, verán a lo largo del desarrollo que estaré mis ID tienen cierto patrón y es algo como:

abreviaturatipoelemento_NombreEnIngles

Siempre es bueno tener un Estándar de como codificar los elementos para tener un orden en el desarrollo.

La primera pregunta es donde capturamos el eventos clic del botón deseado, en Android es llamado OnClickListener, esto lo crearemos en la actividad principal, en este caso sera: PrincipalActivity.java la cual nos trae el siguiente codigo:

package com.pedidos.oserpa;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class PrincipalActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.principal);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.principal, menu);
        return true;
    }
}

Debemos importar algunas librerías adicionales para poder activar el escuchador de eventos en nuestra aplicación.

import android.view.View;
import android.widget.Button;

Ahora solo falta implemente los metodos para que sea capturado el evento click.. quedando algo asi…

package com.pedidos.oserpa;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class PrincipalActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.principal);
        
        final Button btn_pedido = (Button) findViewById(R.id.bt_Acept);
        btn_pedido.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	MessageBox("Prueba");
            }
        });
        
    }

    public void MessageBox(String message){
        Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.principal, menu);
        return true;
    }
}

Con esto, ya vemos como podemos mostrar un mensaje, pero no es lo que queremos al final, al menos deberíamos capturar el código, y mostrarlo en un MessageBox…

package com.pedidos.oserpa;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class PrincipalActivity extends Activity {
	EditText codigo;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.principal);
        
        codigo = (EditText)findViewById(R.id.et_CodeSeller);

        final Button btn_pedido = (Button) findViewById(R.id.bt_Acept);
        btn_pedido.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            	String str = codigo.getText().toString();
            	MessageBox(str);
            }
        });
        
    }

    public void MessageBox(String message){
        Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.principal, menu);
        return true;
    }
}

Por ahora esto es suficiente, podemos seguir jugando un rato esto que hemos aprendido, agregar mas editText, mas botones, en fin… hacer mas operaciones con botones y texto, al final cualquier aplicación se basa en este evento… Evento Clic.

No olvides visitar el repositorio para revisar las modificaciones al código
.

T01.- Mi Primera Aplicación Android: Creando un Proyecto Android y un Dispositivo Virtual

25 agosto, 2012 1 comentario

El primer paso para crear una aplicación en Android valiéndose de su SDK + Eclipse que hace tiempo explique como realizarlo (aquí). y bueno en el Post anterior explique un poco las razones de esta serie de tutoriales y de que se tratara la aplicación que vamos a desarrollar, es importante que cualquier duda o sugerencia la haga vía comentarios en este articulo… bueno comenzamos.

1.-  Crear el Proyecto Android

2.- Crear el Proyecto Android

En la ventana que se nos presenta, debemos indicar el nombre de la Aplicación, Proyecto y empaquetado (este es como el S.O Android identificara el proceso)

Luego debemos seleccionar cual sera el la versión del SDK que usaremos para nuestro desarrollo, particularmente recomiendo si la aplicación no va a ser algo DEMASIADO ESPECIFICA usar la 2.3.3 o API10, ya que esta es la versión mas difundida globalmente (Fuente en Open Signal Maps)

Y no esta de mas hacer check para crear un Icono de la Aplicación.

3.- Configurar icono para el Launcher

Aqui podremos ajustar el icono de nuestra aplicación, si tienes problemas de creatividad para desarrollar tu icono, seguramente en iconfinder encontraras la inspiración necesaria.

Primero podremos seleccionar entre una imagen, un clipart o  solamente texto, agregarle un fondo, posicionarlo y otros detalles..

Si se preguntan que es ldpi, mdpi, hdpi y xdpi es y para ponérselos simple es una relación entre resolución y densidad…

Proporción base: 480*800

  • ldpi = 0.75 = 360*600
  • mdpi = 1 = 480*800
  • hdpi = 1.5 = 720*1200
  • xdpi = 2 = 960*1600 (sin apenas uso)

Proporción base: 320*480

  • ldpi = 0.75 = 240*360
  • mdpi = 1 = 320*480
  • hdpi = 1.5 = 480*720
  • xdpi = 2 = 640*960

Si quieren mas información sobre las resoluciones no dejen de leer esto Supporting Multiple Screens

3.- Crear activitiy

El concepto es algo complicado, así que voy a hacer un extracto de la gente de nosolounix para no estar inventando teoría que no se :D.

La clase “Activity”, esta clase es la base de cualquier aplicación Android con interfaz de usuario, es decir, si tiene interfaz de usuario tendrá al menos una clase Activity, o más bien una clase que hereda de “Activity”.

Por lo tanto, podemos resumirlo en que cada Activity está relacionada con un pantalla visible. Una aplicación puede tener más de una pantalla visible, cada una muestra una IU y responde a eventos iniciados por el sistema o por el usuario. Además, las Activity-s utilizan una o varias Views para presentar al usuario los elementos de la IU.

Esta información es lo que por ahora necesitamos saber, pero en conclusión una Activity es una interfaz visual…

4.- Detalles de Activity

Simplemente llenaremos los datos de la activity o sus componentes, como definir su clase, el nombre de su layout, y otros detalles.

5.- Proyecto Creado

Con esto ya el proyecto esta creado… y tenemos nuestro primer Hola Mundo, pero ¿Como ejecutarlo?

6.- Preparando nuestro en dispositivo para Depuración

Si queremos ver la ejecución de nuestra aplicación y tenemos un dispositivo android a la mano, en primer lugar y para debemos de colocar al dispositivo en modo “Depuración USB” cuando este conectado. Busca Ajustes –> Aplicaciones –> Desarrollo –> Y seleccionas la opción “Depuración USB”.

7.- Creando un Dispositivo virtual

En caso de que no poseamos un dispositivo android, para hacer nuestras pruebas, o simplemente no deseemos usarlo para esto, podemos siempre crear un dispositivo virtual para hacer nuestras depuraciones y/o ejecuciones, lo importante es que no todo es posible visualizarlo, por ejemplo no tendrás resultados de los sensores, bluetooth, nfc y otros detalles, pero el movimiento básico de la aplicación lo puedes fácilmente probar.

8.- Invocamos el Android Virtual Device Manager

9.- Pedimos crear un nuevo Dispositivo Virtual

10.- Pedimos crear un nuevo Dispositivo Virtual

Aquí solo parametrizamos el dispositivo Virtual que recién creamos, básicamente debemos seleccionar que versión de android queremos que posea, tamaño de pantalla, de memoria interna y otros detalles…

11.- Subir a repositorio

Como todo programador serio que aspiro ser y seguro eres, todo proyecto importante debe tener su repositorio de control de versiones, esto es de GRAN ayuda a la hora de algún problema, o revisión que deseemos hacer.

En este caso no voy a explicar que es GIT, ni por que seleccione github ni nada de ni como usar git, creo que no corresponde a este tutorial sino que debe ser parte de otro, pero si quieres mas información google sera quien te pueda ayudar.


$ cd Desarrollo/eclipse/OsERPa/
$ git init
$ git add .
$ git commit -m "Iniciamos el Proyecto"
$ git remote add origin https://github.com/aasanchez/OsERPA.git
$ git push -u origin master

Ya con esto tenemos creado nuestro Proyecto y tenemos el repositorio git para mayor seguridad.

Categorías:Android Sdk Etiquetas: , , , ,

T00.- Mi Primera Aplicación Android (Razones)

24 agosto, 2012 3 comentarios

El día de ayer asistí a una entrevista técnica en una conocida empresa de la ciudad de barquisimeto, donde buscaban un desarrollador Android, como sabrán muchos mis conocimientos de Android son bastante básicos no mas que un par de cosas simples, y cuando me presentaron el examen mi cara fue algo así…

Ser buen programador no depende de cuantos lenguajes sepas, sino de tu capacidad de comprender y adaptarte a todos los lenguajes, casi todos o son algo como java o algo como C, me apreté el pantalón, saque los zapatos y comenzé a desarrollar y aliándome con Google para todo lo que no sabia (casi todo)…

Este fue el examen:

Diseñar una app que permita tomar pedido a los clientes almacenados en la base de datos local.

La Aplicación al iniciar debe solicitar el código del vendedor el cual estará incluido en el pedido, para identificar el vendedor que tomo el mismo.

La aplicación debe traer cargado 5 clientes (rif, razón social) y 10 productos (código, descripción, precio).

La aplicación debe tener los siguientes módulos:

  1. Toma de Pedido
  2. Reporte
    1. Pedidos
    2. Clientes

Descripción de modelos
Toma de Pedido: En este módulo se debe seleccionar el cliente, producto con sus respectivas unidades del mismo, requerida por el cliente.

Reporte – Pedidos: En este módulo se listaran los pedidos tomados desde la aplicación. En dicha lista se debe mostrar el número de pedido, cliente y código de vendedor. Dicha opción debe permitir visualizar el detalle de un pedido.

Reporte – Clientes: En este módulo se listarán los clientes disponibles en la aplicación.

La arquitectura para el diseño para la aplicación sera la siguiente:
Base de datos local.
POO.

Obviamente no logre hacer un buen trabajo, tarde demasiado intentar usar una base de datos SQLite, y casi toda la mañana la perdí por problema del computador que me habían entregado, bueno aunque hoy ya las escusas sobran, al final no quede contento con mi trabajo, sin embargo me he dispuesto a realizar la aplicación de nuevo, pero como debería hacerse, en el proceso aprender mas sobre Android y su SDK, y bueno que mejor forma escusa para aprender que dedicarse a enseñar…

Así que ahora comenzare una serie de entradas en este blog, de como se deberia desarrollar una aplicación de este tipo en Android, para que todo aquel interesado pueda ir aprendiendo sobre programación en Android

El Desarrollo lo estaré alojando en mi cuenta en github, en el siguiente repositorio https://github.com/aasanchez/OsERPA
Esto fue lo que pude entregar durante el examen: Versión Original

Respuesta a: 3 Motivos para elegir Windows Phone antes que Android

21 mayo, 2012 4 comentarios

Hoy varios conocidos me han publicado por facebook una entrada de un site llamado celularis.com donde el autor habla del por que debemos , por un momento pensé en responder vía facebook a mis amigos, luego pensé en responderle directamente en la entrada del site ya mencionado, pero recordé que tenia un blog y bueno pensé mas bien en hablar por acá.

Metro:

La primera razón resulta obvia, siendo la primera cosa que nos encontramos al encender la pantalla de un Windows Phone y la que más facilita el uso de un dispositivo a diario. ¿Por qué me gusta Metro? Porque es una forma de mostrar contenido natural, con la que ya estamos acostumbrados y crecemos basada en la de los servicios públicos, estaciones y aeropuertos.

No se Uds pero en mi ciudad no hay metro, y no encuentro vinculación entre esto:

metro

y esto:

Pero si te gusta ese tipo de interfaz, ya en Android hay varios Launchers (Entornos de Escritorios o Interfaz como quieras llamarlo) que trabajan al estilo metro

Y a diferencia de Windows Phone, no estamos atados a una interfaz, sino podemos tener gran variedad y modificaciones de interfaz, en este vídeo se pueden ver algunas, algunos con cambios ligeros, otros muy radicales.


Diseño

Content before chrome, contenido antes que adornos. Tres palabras que, sin duda, definen a grandes rasgos la filosofía que Microsoft quiso implantar en Metro y donde marcó el hito diferenciador con Android e iOS. Antes de Metro, el contenido se englobaba dentro de un marco, un adorno que no aportaba nada al usuario, pero que era necesario para que el dispositivo pudiese interactuar con él. Como respuesta innovadora Microsoft propuso hacer que sea el mismo contenido la forma de interactuar con el usuario, dándole más importancia en espacio de pantalla y atención; total, los controles para navegación están presentes físicamente en todo Windows Phone.

Ah ok es que ver el nivel de Batería no es importante, pero si es que lo que quieres es ver el contenido de tus aplicaciones a pantalla completa, eso se hace un un click en la configuración por de nuestro Dispositivo Android, y hay Launchers que hacen esto por defecto… NO ESTAMOS ATADOS A UN DISEÑO…

Experiencia de usuario

Metro no es sólo un lenguaje de desarrollo, es una filosofía para mostrar contenido. Metro no es sólo una filosofía, es “ser digital”, mostrar empeño en el diseño, hacer que el usuario sepa manejar un dispositivo antes de haberlo tenido en sus manos. Y esto es justo lo que pasa con un Windows Phone, ya sabes manejarlo. Al contrario que en Android e igual que en iOS, en Windows Phone existen unas directrices claras desde el principio sobre cómo deben ser las interfaces de usuario, lo que elimina la fragmentación de interfaces, el mayor problema de los usuarios del sistema de Google, quienes creen que la fragmentación se refiere solo a que yo no pueda tener ICS en un Motorola del año pasado de manera oficial.

Personalmente he visto Metro, y de primera mano JAMAS es fácil de usar, te acostumbras rápido si… pero de que sabes usarlo antes de tenerlo en las manos, es falso y absurdo. Ya es el tercer punto en el que el autor original se refiere a la interfaz, ¿sera esto lo único que creen que es bueno en WP7? y ya hay launcher que lo hacen en Android… ¿Por que ver la posibilidad de tener una interfaz personalizada y acorde a mis necesidades se es visto por el autor como algo malo?…

Ahora pensando en en la interfaz veo que si se parece algo a Metro… es que es una columna de cosas amontonadas una detras de la otra como los vagones de un metro.,.. solo eso…

Sistema cerrado

Aquí es donde los seguidores de Stallman y fandroids se arrancan las barbas, o intentan venir a por las mías. Señores: hay que cambiar el chip, mejor dicho, hay que diferenciar chips. Yo también soy desarrollador, y mentiría vilmente si dijera que no he aprovechado software con su código en CodePlex o Github para hacer mis propias aplicaciones, pero lo que hay que tener en cuenta cuando uso un dispositivo móvil no es si su código lo puedo ver (por cierto, Android tampoco se lleva la palma en sistemas móviles abiertos), lo que hay que tener en cuenta es “¿qué me permite hacer y con qué facilidad?”. Cuando uso un Windows Phone o iOS no pienso en “Vaya, no puedo ver cómo funciona esto”, pienso en que funciona maravillosamente, pienso en lo que estoy haciendo con el aparato, ya sea enviar un correo o llamar o cualquier cosa; contrario a lo que pasa cuando uso mi Defy con la ROM oficial, momentos en los que pienso qué bien está pavimentado el suelo de mi calle o qué habrá de comer hoy en casa mientras espero que las aplicaciones abran, pero de la inmadurez de Dalvik y la inefectividad de Java hablaremos otro día (aquí es donde los fandroids dicen que su teléfono va fluido).

Poder montar Android sobre cualquier dispositivo tiene más contras que pros. Sí, está genial que cualquier empresa que disponga de un hardware pueda darle vida con Android, pero eso es lo que está mal de cara a la experiencia del usuario final. Antes remarcaba con negritas que los usuarios del SO verde decían que su teléfono iba bien, el por qué ese remarque está en el posesivo: lo que queremos no es que determinados n-cores vayan bien, lo que queremos es un dispositivo que con menos hardware logre las mejores prestaciones, como ya lo mencionaba Gerardo Torrealba; los usuarios que creen que ahorran comprando un ZTE frente a un Lumia 610 se equivocan: ahorrar es obtener las mejores prestaciones con los mínimos recursos.

Pensemos en algo, muchos que leerán esto quizás tengan un vehículo, o tengan un conocido que tenga un vehículo, por ejemplo si deseo modificar las prestaciones del motor de mi vehículo (carro, camioneta), solo basta googlear un poco y ver que puedo modificar, desde cambiar la suspencion y colocar una mejor de la que viene de fabrica, mejores cauchos, cambiar el radio, etc… Sabemos que esto es posible en nuestros vehículos, pero quiere decir que debemos hacerlo nosotros o estamos atados a obligar a saber como se hace o pensar en hacerlo constantemente, la verdad no, mi mama tiene un Yaris 2001 y no sabe ni siquiera medirle el aceite, y lo tiene desde hace varios años, ¿entonces?, pero hay personas que se puedes especializar en hacer estas modificaciones y las podemos buscar para que lo hagan, y así mejorar el rendimiento y/o prolongar la vida de nuestro vehículo… Pasa lo mismo con el Software, el hecho de que el software sea abierto no quiere decir que tenemos que entender como funciona, pero si quiere decir que hay personas que si están interesadas en saberlo y pueden hacer mejoras que pueden ayudar en las prestaciones de nuestro sistema.

Redes sociales

Windows Phone tiene algo único en cuanto a redes sociales: People Hub. En pocas palabras: acceso en un click a todas las actualizaciones de tus redes sociales (Facebook, Twitter, LinkedIn,…) y a actualizar el estado en todas ellas al mismo tiempo. Con una descripción tan corta diréis que es una basura de feature, pero estas son las funcionalidades más jugosas: las que te permiten hacer muchas cosas de la manera más sencilla posible.

Aparte de la integración con las redes sociales, Windows Phone se integra de manera genial con SkyDrive, el gran desconocido -hasta hace poco- de los servicios Live, permitiéndote tener 25 (o 7, si eres nuevo) Gb de almacenamiento en línea para cualquier archivo, hacer presentaciones desde el teléfono o compartir documentos en la nube.

Eso de People Hub. es algo que hacen gran cantidad de aplicaciones desde que android existe. La que recomiendo personalmente esTambien tenemosentre muchas otras… Asi como aplicaciones oficiales de los dueños las redes sociales, como twitter, facebook y pare de contar, que tienen 100% integración con nuestros contactos y todo nuestro dispositivo.

Skydrive, bueno si te gusta Skydrive en Android hay gran cantidad de aplicaciones clientes para este servicio, pero también tenemos Dropbox (Que ahora en alianza con samsung con el S3, viene con 50gb de almacenamiento), Ubuntu One, entre muchos.

Pero recientemente nacio Google Drive, del que no voy a hablar mucho, sino que voy a darles un enlace con una buena noticia sobre este servicio: Google Drive, el disco duro en la nube, ya disponible;  El Android Libre.

Bueno y Ofimática Online, pues… tenemos igual un gran universo de Aplicaciones.

Desarrolladores

Como comentaba anteriormente, Windows Phone es un sistema cerrado. Y Microsoft lo quiere mimar, que sus aplicaciones sean de calidad y ofrezcan utilidad real a sus usuarios, no que cualquiera pague US$25 y se ponga a programar copypasteando de quién sabe dónde. Esto no significa que Microsoft no te ponga las cosas fáciles, todo lo contrario, ofrece más facilidades que Apple o Google para desarrollar en Windows Phone 7:

  • Si eres estudiante, Microsoft te regala la licencia de desarrollo y publicación en el Marketplace para Windows Phone, pudiendo rentabilizar tu tiempo libre.
  • La documentación de desarrollo en el MSDN es amplísima y con muy buenos ejemplos, el SDK es gratuito para cualquiera que quiera jugar con el emulador.
  • Si quiero a Microsoft por algo, es por hacer SDKs y Frameworks maravillosos, en Windows Phone no han defraudado, Visual Studio es genial y el emulador funciona.

Admito que el Marketplace tiene pocas aplicaciones, pero ¿es necesario tener cientos de miles de aplicaciones que no usaré?. Yo prefiero tener las esenciales, en lugar de tener que bucear en un Play lleno de baratijas.

No crean mucho esto de que les regalan una “licencia de Desarrollo”, por que lo que da DreamSpark son versiones Express de sus producto, es decir, versiones limitadas, cosa que no pasa con el desarrollo en Android, que podemos tener un IDE completo, como Eclipse con todo lo necesario para el desarrollo… Que de paso es Multiplataforma y es también nos sirve para desarrollar gran cantidad de Aplicaciones y Lenguajes distintos, cosa que no pasa con VS.net que no edita mas que un puñado de lenguajes.

Documentacíon,tenemos Una amplísima cartelara Oficial, y mucho mas grande comunitaria, basta con googlear algo para conseguirlo, incluso mi blog ofrece como instalar el IDE.

Y Quizás esa aplicación que a ti no te hace falta, a alguien si la necesita.

En resumen

En Resumen Windows Phone nos pone una interfaz y un diseño estático y único, que te dicen o te gusta o hacemos que te guste, de paso si eres un acolito de Microsoft te obligan a desarrollar algo para ellos, algo para Windows Phone, tengo varios amigos de este clan se han visto “muy incentivados” a desarrollar algo si querían seguir manteniendo su estatus, cosa que no pasa con Android, sistema abierto que puedo adaptarlo a mis necesidades y conseguir una configuración que realmente me guste y se adapte a mis necesidades.

Instalando el SDK de Android

23 agosto, 2011 4 comentarios

(Actualizado al 09-06-2015)
Si deseas comenzar a desarrollar aplicaciones para Android, y Appinventor crees que ya no puedes sacarle mas, no tienes otra opción que trabajar directamente con el Sdk, pero para esto primero debes instalarlo, así como un buen IDE de desarrollo, en este caso usaremos el mas recomendado y archiconocido Eclipse.

Instalamos el SDK
Primero debemos crear un lugar donde alojar todos nuestro archivos, particularmente acostumbro a instalar este tipo de aplicaciones en el directorio /opt. Teniendo esto claro, ahora nos descargamos el SDK a nuestro Home.

$ wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz

O visitamos http://developer.android.com/sdk/index.html y descargamos la versión para Linux i386

Esto tomara unos minutos dependiendo de tu velocidad de conexión, ya con el sdk en nuestro computador, sera trasladarlo al directorio, descomprimirlo, garantizar los permisos, eliminar lo descargado para no embasurar el Disco Duro.

# mv android-sdk_r24.2-linux.tgz /opt
# cd /opt
# tar -zxvf android-sdk_r24.2-linux.tgz
# chmod -R 777 /opt/android-sdk-linux
# rm android-sdk_r24.2-linux.tgz

Creamos un alias en la consola para invocar el sdk
Como ahora la ruta para ubicar el sdk esta algo fastidiosa, /opt/android-sdk-linux/tools/, es posible que invocar el sdk se vuelva un poco fastidioso, entonces para ahorrarnos un trabajo primero editamos el fichero .bashrc alojado en tu directorio home.

$ gedit ~/.bashrc

y al final agreamos la siguiente linea:

export PATH=${PATH}:/opt/android-sdk-linux/tools

Para que este alias funcione correctamente debemos cerrar y abrir de nuevo la terminal.

Instalando el SDK

Al Ejecutar:

$ android

Nos aparecerá esta ventana:
Captura de pantalla de 2014-06-13 19:07:20
Y esta es la interfaz de administracion del sdk, solo seleccionaremos los paquetes del sdk y las versiones de Android que deseamos trabajar. En mi caso voy a instalar todo lo que hay en el Android Repository. Solo por que simplmente puedo y quiero 😀

Captura de pantalla de 2014-06-13 19:07:49

 

Luego de instalar, ya tenemos nuestro sdk instalado, ahora solo falta decidir en donde lo vamos a utilizar.

Instalando Eclipse

Como dije al comienzo, el IDE para desarrollar tus aplicaciones para Android el ideal es el reconocido Eclipse, algo que debemos saber es que el que viene en los repositorios no nos sirve,
tendremos que bajar la ultima versión desde el sitio oficial de este editor, en su versión Eclipse IDE for Java Developers actualmente en la pagina de.

Para Instalar eclipse, simplemente lo haremos al igual que el Sdk, lo instalaremos en el directorio /opt, y repetiremos exactamente el mismo procedimiento.

# mv Descargas/eclipse-java-kepler-SR1-linux-gtk.tar.gz /opt/
# cd /opt/
# tar -zxvf eclipse-java-kepler-SR1-linux-gtk.tar.gz
# chmod -R 777 /opt/eclipse
# rm eclipse-java-kepler-SR1-linux-gtk.tar.gz

Agregamos la siguiente linea al final del archivo .bashrc

export PATH=${PATH}:/opt/eclipse

Configurando eclipse
La primera vez que ejecutamos Eclipse nos aparecerá una ventana para preguntarnos donde vamos a guardar nuestro espacio de trabajo. Selecciona la ruta que más te guste, yo coloque algo como /home/alexis/Desarrollo/eclipse.

Bien, ya estamos en Eclipse. Ahora hay que instalar el plugin del SDK de Android así que vamos a Help > Install New Software… donde debemos pulsar el botón Add… y poner los siguientes datos:

Nos aparecerá un Developer Tools, seleccionamos todo y pulsamos Next > para que compruebe las dependencias necesarias.

Solo resta terminar de aceptar y esperar a que se ejecute toda la descarga, igual tomara unos minutos.

Normalmente habrá que reiniciar Eclipse. Si no os lo pide, hazlo igualmente.

Por último nos queda indicar donde está el SDK en nuestro equipo. Para ello vamos a Window > Preferences > Android y donde pone SDK Location pulsamos el botón Browse… y buscamos la carpeta donde está instalado el SDK de Android que en este caso sera:

/opt/android-sdk-linux_x86/

Y listo, ya tenemos todo lo necesario para comenzar a crear nuevas aplicaciones para Android, ahora con el sdk. Pronto el primero “Hola Mundo!!”

Como planchar una sbf a tu milestone desde GNU/Linux

21 agosto, 2011 Deja un comentario

sbf_flash es la versión GNU/Linux para el programa RSDLite al que estamos aconstumbrados en Windows, que permite flashear una ROM a un Milestone a partir de la imagen del archivo .sbf.

Primer paso, Descargamos sbf_flash desde


$ mkdir sbf_flash
$ cd sbf_flash
$ wget http://blog.opticaldelusion.org/search/label/sbf_flash

Cambiamos los permisos para que el script sea ejecutable

$ chmod +x sbf_flash

Solicitamos sus datos de version y datos de uso:

$ ./sbf_flash -v
SBF FLASH 1.23 (mbm)
http://opticaldelusion.org

Usage: /tmp/sbf_flash_3868_3481/Linux

Ya estamos listos para instalar la sbf de nuestra preferencia. Ahora solo debemos colocar el telefono en modo bootloader.

Desconectamos el celular de la PC, lo apagamos y lo prendemos mientras mantenemos oprimido el cursor hacia arriba en el D-Pad, hasta que la pantalla encienda. Nos debe aparecer algo como esto:

Ahora conectamos el celular al PC mediante el cable USB, y la pantalla cambia para mostrar:


Transfer Mode:
USB

Ejecutamos:

sudo ./sbf_flash miarchivo.sbf
SBF FLASH 1.23 (mbm)

=== miarchivo.sbf ===
00: RDL03 0x82000000-0x8204CFFF 2FC7 AP
01: CG31 0xB01C0000-0xB01C47FF 24FE AP
02: CG33 0xD13FB000-0xD1BB783F E479 AP
03: CG34 0xB03A0000-0xB03A47FF CC19 AP
04: CG35 0xB07A0000-0xB0A607FF 1011 AP
05: CG36 0xF0B7D000-0xF0C0183F DA20 AP
06: CG37 0xE4034000-0xE40379BF 13C6 AP
07: CG39 0xD1D64000-0xD9E4C83F EB96 AP
08: CG40 0xDD2E4000-0xDD2E483F FDFF AP
09: CG42 0xB06A0000-0xB06DFFFF 73E3 AP
10: CG45 0xB0B20000-0xB0E207FF 4D87 AP
11: CG47 0xB0EE0000-0xB12A07FF B7AF AP
12: CG53 0xCFD80000-0xCFD807FF FDFF AP
13: CG61 0xB0640000-0xB06607FF CBEC AP

Milestone found.
>> uploading RDL03
Uploading: 100% OK
>> verifying ramloader
-- OK
>> executing ramloader
Milestone found.
>> sending erase
>> uploading CG31
Uploading: 100% OK
>> uploading CG33
Uploading: 100% OK
>> uploading CG34
Uploading: 100% OK
>> uploading CG35
Uploading: 100% OK
>> uploading CG36
Uploading: 100% OK
>> uploading CG37
Uploading: 100% OK
>> uploading CG39
Uploading: 100% OK
>> uploading CG40
Uploading: 100% OK
>> uploading CG42
Uploading: 100% OK
>> uploading CG45
Uploading: 100% OK
>> uploading CG47
Uploading: 100% OK
>> uploading CG53
Uploading: 100% OK
>> uploading CG61
Uploading: 100% OK
>> verifying CG31
-- OK
>> verifying CG33
-- OK
>> verifying CG34
-- OK
>> verifying CG35
-- OK
>> verifying CG36
-- OK
>> verifying CG37
-- OK
>> verifying CG39
-- OK
>> verifying CG40
-- OK
>> verifying CG42
-- OK
>> verifying CG45
-- OK
>> verifying CG47
-- OK
>> verifying CG53
-- OK
>> verifying CG61
-- OK
>> rebooting

Durante el proceso de actualización que dura algunos minutos, la pantalla del celular muestra:

SW Update
In Progress..

El celular se reinicia automáticamente, quizas tarde algo mas de lo normal.

Nota: Siempre deben hacer hacer una backup antes de hacer cualqueir Operacion de esta magnitud en su telefono, y no me hago responsable por algun daño causado a sus equipos por seguir estos pasos.

Probando SpeechRecognizer de Appinventor

17 agosto, 2011 5 comentarios


Hoy me dispuse a probar un componente que me llamaba mucho la atención que esta disponible para el uso en Appinventor, pues es el Speech Recognizer, Un componente que nos permite reconocer patrones de voz y llevarla a texto.

Este componente posee, 1 Propiedad, 1 Método y 2 Eventos:
Propiedades:

El último texto producido por el Componente.

Métodos:

Habilita una ventana modal que le indica al usuario que hable para comenzar el reconocimiento.

Eventos

Es invocado luego de obtener un resultado del reconocimiento.


Es invocado antes de solicitar al usuario que comience el proceso de reconocimiento.

Con esto comenzamos a ver que el componente es bastante sencillo de usar… para nuestro primer ejemplo solo usaremos:
2 label
1 Button
1 SpeechRecognizer

Obteniendo una interfaz como esto:

Pues no hay mucho que decir, solo debes hacer algo asi en el IDE y listo, puedes comenzar a probar esto.

Aqui tienes un código funcional de ejemplo: http://bit.ly/oo1oCq