jueves, 31 de marzo de 2011

Curso Android

Buenas de nuevo!

Se que he tardado mucho en volver a escribir. He estado liado con proyectos web en los que he aprendido a desarrollar con CakePHP[1], un framework de PHP que me ha gustado enormemente. Simplifica muchísimo las tareas comunes y tiene muchas cosas implementadas que se usan comúnmente y que funcionan sin mucho esfuerzo, pero bueno, eso es para otro blog.
A ver si poco a poco retomo el blog de light byte :)

Sobre Android:

Quiero decir que estoy en un curso de Android en la Universidad Rey Juán Carlos[2] impartido por LibreSoft[3]. El curso se imparte los viernes de 16:00 a 21:00 y el tiempo se pasa volando. Ya llevamos 4 sesiones y tengo unas ganas tremendas de que llegue el próximo viernes para aprender más cosas.

Hasta ahora hemos visto bastantes cosas, la mayoría ya las había visto de forma autodidacta haciendo los ejemplos de la web de android[4]. Pero me gusta repasar conceptos y corregir fallos.
Algunas cosas que me han llamado la atención:

  • Que Android es una plataforma de software libre que no sigue al pie de la letra la filosofía de software libre, ya que Google es quien modifica el código y no permite modificaciones de fuera.

  • Que se puede programar directamente sobre las librerías de C que van sobre el kernel de linux por medio del NDK[5] y así obtener más velocidad, pero tiene la parte negativa de que nadie te asegura que vaya a funcionar igual en posteriores versiones de Android. En cambio si desarrollas sobre el SDK (la API de Android) te aseguras que tu aplicación funcione en posteriores versiones.

    En la siguiente imagen se puede ver en la parte azul el API de Android para trabajar de forma estandar (SDK) y en la parte verde, las librerías con las que trabajar en el NDK. Esto del NDK no lo he probado así que no se más jeje.


  • Vimos que hay varios markets pero que el market de Android no permite que se puedan descargar otra aplicación market de un tercero.

  • Como construir layouts complejos usando los LinearLayout, RelativeLayout, TabLayout, etc.

  • Como crear menús contextuales y de layout.

  • Como usar los Intents para llamar a otros layouts, digamos que es la forma de Android de abrir "ventanas" o "vistas" y con los que puedes pasar parámetros al layout que se llama.
  • Como crear nuestro propio Adapter para rellenar los ListView.

  • Como crear una View por código desde un recurso usando el LayoutInflater:
    LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    view = inflater.inflate(R.layout.advanced_list, null);
  • Como usar los mapas de Google así como obtener una clave para poder trabajar con los mapas[6].
    Aunque esto merece un post aparte diré que es necesario unos pasos básicos para no desesperarse:
    • En el AndroidManifest.xml añadir la siguiente línea dentro de la etiqueta "Application":
      <uses-library android:name="com.google.android.maps" />
    • Y añadir también en la etiqueta "manifest" los permisos:
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
      <uses-permission android:name="android.permission.INTERNET"></uses-permission>

Bueno, me dejo muchos detalles de como hacer las cosas, pero no se puede hacer todo en un día ;)


Enlaces:
[1] CakePHP
[2] Universidad Rey Juán Carlos
[3] LibreSoft 
[4] Android developers
[5] NDK
[6] Google Projects for Android: Google APIs

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...