msgbartop
Desarrollador web, con todo lo que ello implica
msgbarbottom

11 Mar 10 Mostrar/cargar imagen externa en una aplicación Android

Muchas veces nos encontramos con el problema de tener que cargar imagenes, que tenemos alojadas en un servidor externo, en nuestra aplicación Android. Las imágenes básicas las podemos incluir en la propia aplicación pero imágenes como, por ejemplo, los avatares de los usuarios los tenemos que cargar directamente desde el servidor.

Primero creamos el layout (main.xml):

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"> 
 
 <ImageView android:id="@+id/image_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
 
</LinearLayout>

Ahora creamos la activity que cargará la imagen del servidor y la mostrará en el layout anterior (Main.java):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.jonsegador.examples.externalimage;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.Toast;
 
public class Main extends Activity {
    private ImageView imageView;
    private Bitmap loadedImage;
    private String imageHttpAddress = "http://jonsegador.com/wp-content/apezz.png";            
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        imageView = (ImageView) findViewById(R.id.image_view);       
        downloadFile(imageHttpAddress);
    }
 
    void downloadFile(String imageHttpAddress) {
        URL imageUrl = null;
        try {
            imageUrl = new URL(imageHttpAddress);
            HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
            conn.connect();
            loadedImage = BitmapFactory.decodeStream(conn.getInputStream());
            imageView.setImageBitmap(loadedImage);
        } catch (IOException e) {
            Toast.makeText(getApplicationContext(), "Error cargando la imagen: "+e.getMessage(), Toast.LENGTH_LONG).show();
            e.printStackTrace();
        }
    }
}

Por último, incluimos la Activity en el AndroidManifest.xml y damos permisos para acceder a internet.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.jonsegador.examples.externalimage"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Main" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>    
    </application>
    <uses-sdk android:minSdkVersion="3" />  
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

Y este debería de ser el resultado:
imagen_externa_android

Etiquetas: , , , ,

23 Feb 10 Tutorial Android paso a paso III: Desarrollo de la aplicación Notepad

En este tercer y último post del tutorial, vamos a practicar el ciclo de vida de la aplicación, y como guardar y recuperar el estado de la aplicación.

Puedes ver los anteriores artículos:
Tutorial Android paso a paso I: Desarrollo de la aplicación Notepad
Tutorial Android paso a paso II: Desarrollo de la aplicación Notepad

Objetivos:
• Conocer los eventos del ciclo de vida de la aplicación.
• Tecnicas para mantener el estado de la aplicación.

Paso 1

La aplicación actual contiene algunos problemas. Para solucionarlo, vamos a mover la funcionalidad de edición de notas a la clase NoteEdit.

1. Eliminar el siguiente código de la clase NoteEdit, que obtiene los datos de la nota a través del Bundle. Vamos a pasar a utilizar la clase DBHelper para obtener los datos directamente de la base de datos.

1
2
3
4
5
Bundle extras = getIntent().getExtras();String title = extras.getString(NotesDbAdapter.KEY_TITLE);
String body = extras.getString(NotesDbAdapter.KEY_BODY);
mRowId = extras.getLong(NotesDbAdapter.KEY_ROWID);

2. Además, eliminamos la asignación de los datos a la interfaz de usuario

1
2
3
4
5
6
if (title != null) {
    mTitleText.setText(title);
}
if (body != null) {
    mBodyText.setText(body);
}

(more…)

Etiquetas: , , ,

20 Feb 10 Tutorial Android paso a paso II: Desarrollo de la aplicación Notepad

Continuamos con la segunda parte del tutorial para el desarrollo de una aplicación para Android paso a paso. La primera parte la puedes consultar en Tutorial Android paso a paso I: Desarrollo de la aplicación Notepad.

En este segundo post, vamos a crear una segunda actividad que nos permita crear y editar notas. Además, vamos a poder tener la posibilidad de eliminar notas a través del un menú contextual.

Objetivos:
• Crear una nueva actividad.
• Realizar llamadas a la nueva actividad.
• Paso de datos entre las actividades.
• Crear un nuevo menu contextual.
(more…)

Etiquetas: , , ,

17 Feb 10 Tutorial Android paso a paso I: Desarrollo de la aplicación Notepad

Me he decidido a hacer una serie de posts a modo de curso para empezar a desarrollar aplicaciones para Android. Voy a omitir la instalación del entorno de desarrollo (eclipse + sdk android) ya que existen numerosos manuales disponibles en internet. De todas formas, para instalarlo recomiendo este enlace. Después seguiremos los manuales disponibles en inglés en la web oficial de Android (http://developer.android.com/resources/tutorials/notepad/index.html), pero en castellano y con pasos muy fáciles de seguir (no será una traducción al pie de la letra).

Nos deberemos descargar los ejemplos que encontraremos aquí para seguir el curso.

Empezamos!

Desarrollo de la aplicación Notepad

A través de este tutorial vamos a crear una aplicación para tomar notas, que nos introducirá a los aspectos básicos y herramientas para el desarrollo en Android. Comenzando por un proyecto base, seguiremos los pasos  para crear una simple aplicación, viendo como desarrollar la lógica de negocio y las interfaces, así como compilar y ejecutar la aplicación.

En este ejercicio, vamos a construir una simple lista de notas, permitiendo al usuario añadir nuevas notas, pero no editarlas.

Objetivos:
• Conocer ListActivities y crear menus de aplicación.
• Utilizar SQLite para almacenar datos.
• Cómo recuperar los datos de una base de datos y mostrarlos en pantalla.
• Conceptos básicos sobre cómo interactuar con la interfaz de usuario.

(more…)

Etiquetas: , , ,

30 Jan 10 Horarios de trenes de cercanías Renfe en tu móvil Android

Al fín he terminado esta aplicación que tenía en mente desde que tengo un móvil con Android. Muchas veces me he visto obligado a mirar la página web de Renfe para conocer los horarios de trenes o a que hora era el próximo tren. Y siempre me decía que tenerlo en el móvil sería bastante útil.

Y aquí está. La aplicación es para toda España ya que se puede elegir el núcleo urbano donde nos encontramos y despues seleccionaremos nuestra estación de origen y la de destino. La siguiente pantalla será la lista de todos los horarios de trenes entre estas dos estaciones para el día de hoy. Próximamente haré que se pueda elegir el día de consulta de horarios, pero de momento cumple con su objetivo (ya es posible seleccionar la fecha de la consulta de los horarios).

Espero que os sea de ayuda, para mí seguro que lo es ya que todos los días hago uso de este medio de transporte.

Cualquier duda, queja, sugerencia, etc. no dudeis en dejar un comentario. Gracias.

La aplicación es gratuita, la podeis descargar mediante el siguiente código QR o buscando “renfe” en el Market (la que aparece como gratuita y desarrollada por Jon Segador).

qrcode

Puedes ver más información en:
Cercanías renfe en bubiloop

Etiquetas: , , , ,

02 Oct 09 Aplicación Athletic Club Bilbao para Android

Hacía tiempo que no escribia y lo hago para presentar mi primera aplicación para Android y publicada en el Market.

La aplicación consiste en poder consultar los partidos y resultados del Athletic de Bilbao desde nuestro movil. La actualización de los datos se hace en tiempo real por lo que nada más acabar cada partido, lo tendremos actualizado en nuestro móvil. Los partidos que podemos ver son tanto los de Liga como de Uefa.

Si te quieres descargar la aplicación, puedes hacerlo utilizando el lector de código de barras del movil sobre esta imagen:

También puedes buscar “athletic” en el Market y te debería aparecer en el listado (aparece, envidentemente, el escudo del Athletic).

Aún quedan por realizar mejoras, como puede ser incluir la clasificación en liga, partido en vivo, resumen de cada partido jugado, incluir los escudos de los equipos, mejorar el diseño… pero la función principal la cumple sin problemas, que es poder ver los partidos y los resultados del Athletic.

En próximos posts intentaré explicar el proceso de desarrollo de la aplicación, así como su subida al Market.

Etiquetas: , , ,