SlideShare a Scribd company logo
1 of 82
  Desarrollo en Android
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introducción a Android: un poco de historia
Introducción a Android: releases Versión Android Fecha release Android 1.5 (Cupcake) 30 abril de 2009 Android 1.6 (Donut) 15 septiembre de 2009 Android 2.0 (Eclair) 26 octubre de 2009 Android 2.2 (FroYo) Mayo de 2010 Gingerbread Finales de 2010
Introducción a Android: un poco de historia (II) Prototipo HTC Dream Nexus One Xperia x10 HTC Liquid GeeksPhone Samsung I7500
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introducción a Android: ¿qué es Android? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Introducción a Android: ¿qué es Android? (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura Android
Arquitectura Android :Linux Kernel ,[object Object],[object Object],[object Object]
Arquitectura Android:Linux Kernel (II) ,[object Object],Versión Android Versión Linux Android 1.5 (Cupcake) 2.6.27 Android 1.6 (Donut) 2.6.29 Android 2.0 (Eclair) 2.6.29 Android 2.2 (Froyo) 2.6.32 Gingerbread  2.6.33
Arquitectura Android :Android runtime ,[object Object],[object Object],[object Object]
Arquitectura Android : Dalvik Virtual Machine ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Librerías Android (I) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Librerías Android (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura Android : Framework de aplicaciones ,[object Object],[object Object],[object Object],[object Object]
Arquitectura Android: Capa de aplicaciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],.JAVA .CLASS .DEX javac dx JVM DVM
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Componentes de aplicación Principales componentes para el  desarrollo  de aplicaciones en Android:
Entorno de desarrollo: AndroidManifest.xml ,[object Object],[object Object],[object Object],<? xml   version = &quot;1.0&quot;   encoding = &quot;utf-8&quot; ?> < manifest   xmlns:android = &quot;http://schemas.android.com/apk/res/android&quot; package = &quot;prueba.Android&quot; android:versionCode = &quot;1&quot; android:versionName = &quot;1.0&quot; > < application   android:icon = &quot;@drawable/icon&quot;   android:label = &quot;@string/app_name&quot; > < activity   android:name = &quot;.HelloWord&quot; android:label = &quot;@string/app_name&quot; > < intent-filter > < action   android:name = &quot;android.intent.action.MAIN&quot;   /> < category   android:name = &quot;android.intent.category.LAUNCHER&quot;   /> </ intent-filter > </ activity > </ application > < uses-sdk   android:minSdkVersion = &quot;7&quot;   /> </ manifest >
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Arquitectura de las aplicaciones: Componente Activity
[object Object],[object Object],[object Object],[object Object],[object Object]
Ciclo de vida de la Activity ,[object Object],[object Object],Mensaje ANR Estados de la Activity
Arquitectura de las aplicaciones: Componente Service ,[object Object],[object Object],[object Object],[object Object],[object Object]
Services: creación de servicios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Services: control de los servicios Para iniciar un servicio: startService(new Intent(MyService.MY_ACTION)); Para parar un servicio iniciado: ComponentName service = startService(new Intent(this, BaseballWatch.class)); // Stop a service using the service name. stopService(new Intent(this, service.getClass()));
Ciclo de vida del Service (según creación)
Arquitectura de las aplicaciones: Componente Content Provider ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Para recuperar todos los registros: Cursor allRows = getContentResolver().query(MyProvider.CONTENT_URI, null, null, null, null); Para consultar todos los registros tales que la columna KEY_COL3  tiene un determinado valor, y ordenada por la columna KEY_COL5: String where = KEY_COL3 + “=” + requiredValue; String order = KEY_COL5; Cursor someRows = getContentResolver().query(MyProvider.CONTENT_URI, null, where, null,order); Content Providers: consultas
Content Providers: modificaciones Insert: newValues.put(COLUMN_NAME, newValue); Uri myRowUri = getContentResolver().insert(MyProvider.CONTENT_URI, newValues); Delete: getContentResolver().delete(myRowUri, null, null); Update: getContentResolver().update(MyProvider.CONTENT_URI, newValues, where, null);
Content Providers: Proveedores nativos Android ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Intents ,[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Intents (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Intents (III) ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Eventos: Intents (III)
Arquitectura de las aplicaciones: Intents (V) ,[object Object],[object Object],[object Object],[object Object]
Intents: Acciones predeterminadas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Eventos: Intent filters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Intent filters Intent Intent
Eventos: ejemplo de Intent Filter  <? xml   version = &quot;1.0&quot;   encoding = &quot;utf-8&quot; ?> < manifest   xmlns:android = &quot;http://schemas.android.com/apk/res/android&quot; package = &quot;prueba.Android&quot; android:versionCode = &quot;1&quot; android:versionName = &quot;1.0&quot; > < application   android:icon = &quot;@drawable/icon&quot;   android:label = &quot;@string/app_name&quot; > < activity   android:name = &quot;.ApiDemos&quot; android:label = &quot;@string/app_name&quot; > < intent-filter > < action   android:name = &quot;android.intent.action.MAIN&quot;   /> < category   android:name = &quot;android.intent.category.LAUNCHER&quot;   /> </ intent-filter > </ activity > </ application > < uses-sdk   android:minSdkVersion = &quot;7&quot;   /> </ manifest >
Eventos: Broadcast Intents ,[object Object],[object Object],[object Object],[object Object],[object Object],Intent  intent = new Intent(NEW_INTENT); intent.putExtra(“param1”, value1); intent.putExtra(“param2”, value2); intent.putExtra(“param3”, value3); sendBroadcast (intent); Lanzamiento de Broadcast Intent
Arquitectura de las aplicaciones: Broadcast Intents Intent Intents
Arquitectura de las aplicaciones: Componente Broadcast Receiver ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Resources ,[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Interfaces de usuario ,[object Object],[object Object],[object Object]
Interfaces de usuario: Views ,[object Object],[object Object],[object Object],[object Object],[object Object],public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView myTextView = new TextView(this); setContentView(myTextView); myTextView.setText(“Hello, Android”); }
En el código de la Activity, se crea el contenido a partir de un recurso XML:  public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); //recurso main.xml, añade una vista con un widget TextView ... TextView myTextView =  (TextView)findViewById(R.id.myTextView); //Podemos acceder al TextView buscándolo por Id, ahora podemos trabajar con el } Interfaces de usuario: Creación de vista por XML
Interfaces de usuario: Creación de vista por XML (II) En el archivo /res/layout/main.xml: < LinearLayout   xmlns:android = &quot;http://schemas.android.com/apk/res/android&quot; android:orientation = &quot;vertical&quot; android:layout_width = &quot;fill_parent&quot; android:layout_height = &quot;fill_parent&quot; > <!-- crea un layout con  la distribución de los elementos visuales --> < TextView   android:id = &quot;@+id/myTestView&quot; android:layout_width = &quot;fill_parent&quot; android:layout_height = &quot;fill_parent&quot; android:src = &quot;@drawable/jupiter&quot; /> <!-- crea un widget TextView --> </ LinearLayout >
Interfaces de usuario: Layouts ,[object Object],[object Object],[object Object],[object Object],[object Object]
Interfaces de usuario: Layouts (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],LinearLayout RelativeLayout AbsoluteLayout
Arquitectura de las aplicaciones: Notificaciones al usuario ,[object Object],[object Object],[object Object],[object Object],Toast Status Ba r Dialog
Interfaces de usuario: componentes compuestos (I) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interfaces de usuario: componentes compuestos (II) TextView EditText con un Button ListView Spinner
Interfaces de usuario: componentes compuestos (III) DatePicker TimePicker AutoComplete
Interfaces de usuario: Menus ,[object Object],[object Object],[object Object],[object Object],[object Object]
Menus: Options Menu ,[object Object],[object Object],[object Object],[object Object]
/* Creates the menu items */ public   boolean   onCreateOptionsMenu(Menu  menu )  { menu.add(0,  MENU_NEW_GAME , 0,  &quot;New Game&quot; ); menu.add(0,  MENU_QUIT , 0,  &quot;Quit&quot; ); return   true ; } /* Handles item selections */ public   boolean   onOptionsItemSelected(MenuItem  item )  { switch  (item.getItemId()) { case   MENU_NEW_GAME : newGame (); return   true ; case   MENU_QUIT : quit (); return   true ; } return   false ; } Menus: Options Menu (II) Creación de Option Menu vía código:
Menus: Context Menu ,[object Object],[object Object],[object Object],[object Object]
Menus: Context Menu (II) public   void   onCreateContextMenu(ContextMenu  menu ,   View  v , ContextMenuInfo  menuInfo )  { super .onCreateContextMenu(menu, v, menuInfo); menu.add(0,  EDIT_ID , 0,  &quot;Edit&quot; ); menu.add(0,  DELETE_ID , 0,  &quot;Delete&quot; ); } public   boolean   onContextItemSelected(MenuItem  item )  { AdapterContextMenuInfo  info = ( AdapterContextMenuInfo )  item.getMenuInfo(); switch  (item.getItemId()) { case   EDIT_ID : editNote(info.id); return   true ; case   DELETE_ID : deleteNote(info.id); return   true ; default : return   super .onContextItemSelected(item); } } Creación de Context Menu vía código:
Menus: Submenus ,[object Object],[object Object],[object Object]
Menus: Submenus (II) public   boolean   onCreateOptionsMenu(Menu  menu )  { boolean  result =  super .onCreateOptionsMenu(menu); SubMenu  fileMenu = menu.addSubMenu( &quot;File&quot; ); SubMenu  editMenu = menu.addSubMenu( &quot;Edit&quot; ); fileMenu.add( &quot;new&quot; ); fileMenu.add( &quot;open&quot; ); fileMenu.add( &quot;save&quot; ); editMenu.add( &quot;undo&quot; ); editMenu.add( &quot;redo&quot; ); return  result; } Creación de SubMenu vía código:
Arquitectura de las aplicaciones: Seguridad y permisos ,[object Object],[object Object],[object Object],< permission android:name=”com.paad.DETONATE_DEVICE” android:protectionLevel=”dangerous” android:label=”Self Destruct” android:description=”@string/detonate_description”> </ permission > Y se pueden asignar en el tag activity: < activity android:name=”.MyActivity” android:label=”@string/app_name” android:permission=”com.paad.DETONATE_DEVICE” > </ activity >
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entorno de desarrollo: emulador Android ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entorno de desarrollo: DDMS ,[object Object],[object Object],[object Object],[object Object],[object Object]
Entorno de desarrollo: configuración ,[object Object],[object Object],[object Object],[object Object]
Entorno de desarrollo: Hello Android!  package com.android.helloandroid; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public   class  HelloAndroid  extends  Activity  { /** Called when the activity is first created. */ public void  onCreate(Bundle savedInstanceState)  { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText(&quot;Hello, Android&quot;); setContentView(tv); } }
Primera aplicación AndroidManifest.xml ,[object Object],[object Object],[object Object],<? xml   version = &quot;1.0&quot;   encoding = &quot;utf-8&quot; ?> < manifest   xmlns:android = &quot;http://schemas.android.com/apk/res/android&quot; package = &quot;prueba.Android&quot; android:versionCode = &quot;1&quot; android:versionName = &quot;1.0&quot; > < application   android:icon = &quot;@drawable/icon&quot;   android:label = &quot;@string/app_name&quot; > < activity   android:name = &quot;.HelloWord&quot; android:label = &quot;@string/app_name&quot; > < intent-filter > < action   android:name = &quot;android.intent.action.MAIN&quot;   /> < category   android:name = &quot;android.intent.category.LAUNCHER&quot;   /> </ intent-filter > </ activity > </ application > < uses-sdk   android:minSdkVersion = &quot;7&quot;   /> </ manifest >
Índice ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos ,[object Object],[object Object],[object Object]
Almacenamiento de datos: Preferences ,[object Object],[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos: Preferences (II) import  android.app.Activity; import  android.content.SharedPreferences; public   class   Calc   extends  Activity { public   static   final  String  PREFS_NAME  =  &quot;MyPrefsFile&quot; ; . . .   @ Override protected   void   onCreate(Bundle state) {  super .onCreate(state); . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean  silent = settings.getBoolean( &quot;silentMode&quot; ,  false ); setSilent (silent); } @Override protected   void  onStop(){ super .onStop(); // Save user preferences. We need an Editor object to // make changes. All objects are from android.context.Context SharedPreferences settings = getSharedPreferences( PREFS_NAME , 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean( &quot;silentMode&quot; ,  mSilentMode ); // Don't forget to commit your edits!!! editor.commit(); } }
Almacenamiento de datos: ficheros locales ,[object Object],[object Object],[object Object],[object Object],String FILE_NAME =  &quot;tempfile.tmp&quot; ; // Create a new output file stream that’s private to this application. FileOutputStream  fos = openFileOutput(FILE_NAME,  Context .MODE_PRIVATE); // Create a new file input stream. FileInputStream  fis = openFileInput(FILE_NAME);
Almacenamiento de datos: SQLite ,[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos: SQLite (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos: SQLite Cursors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos: SQLite creación de tablas private   static   final  String DATABASE_NAME = “myDatabase.db”; private   static   final  String DATABASE_TABLE = “mainTable”; private   static   final  String DATABASE_CREATE = “ create table “ + DATABASE_TABLE + “ ( _id integer primary key  autoincrement,” + “column_one text not  null );”; SQLiteDatabase myDatabase; private   void  createDatabase() { myDatabase = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE,  null ); myDatabase.execSQL(DATABASE_CREATE); }
Almacenamiento de datos: SQLite querys // Return all rows for columns one and three, no duplicates String[] result_columns =  new  String[] {KEY_ID, KEY_COL1, KEY_COL3}; Cursor allRows = myDatabase.query( true , DATABASE_TABLE, result_columns,  null ,  null ,  null ,  null ,  null ,  null ); // Return all columns for rows where column 3 equals a set value // and the rows are ordered by column 5. String where = KEY_COL3 + “=” + requiredValue; String order = KEY_COL5; Cursor myResult = myDatabase.query(DATABASE_TABLE,  null , where, null ,  null ,  null , order);
Almacenamiento de datos: SQLite resultados int  GOLD_HOARDED_COLUMN = 2; Cursor myGold = myDatabase.query(“GoldHoards”,  null ,  null ,  null ,  null , null ,  null ); float  totalHoard = 0f; // Make sure there is at least one row. if  (myGold.moveToFirst()) { // Iterate over each cursor. do  { float  hoard = myGold.getFloat(GOLD_HOARDED_COLUMN); totalHoard += hoard; }  while (myGold.moveToNext()); } float  averageHoard = totalHoard / myGold.getCount();
Almacenamiento de datos: SQLite Añadir un nuevo registro // Create a new row of values to insert. ContentValues newValues =  new  ContentValues(); // Assign values for each row. newValues.put(COLUMN_NAME, newValue); [ ... Repeat  for  each column ... ] // Insert the row into your table myDatabase.insert(DATABASE_TABLE,  null , newValues);
Almacenamiento de datos: SQLite Modificar un registro // Define the updated row content. ContentValues updatedValues =  new  ContentValues(); // Assign values for each row. updatedValues.put(COLUMN_NAME, newValue); [ ... Repeat  for  each column ... ] String where = KEY_ID + “=” + rowId; // Update the row with the specified index with the new values. myDatabase.update(DATABASE_TABLE, updatedValues, where,  null );

More Related Content

What's hot

Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicaciónEmilio Aviles Avila
 
Curso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD ManagerCurso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD ManagerDavid Vaquero
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones androidedwin
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olothojalataverde
 
Componentes necesarios de android docx
Componentes necesarios de android  docxComponentes necesarios de android  docx
Componentes necesarios de android docxgrachika
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalezAndroid UNAM
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistemaEmilio Aviles Avila
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónSlashMobility.com
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesAnder Martinez
 
UDA-Plugin UDA. Guia de uso de plantillas
UDA-Plugin UDA. Guia de uso de plantillasUDA-Plugin UDA. Guia de uso de plantillas
UDA-Plugin UDA. Guia de uso de plantillasAnder Martinez
 
UDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloUDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloAnder Martinez
 
"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6Android UNAM
 

What's hot (20)

Desarrollo android - 4 - arquitectura de aplicación
Desarrollo android  - 4 - arquitectura de aplicaciónDesarrollo android  - 4 - arquitectura de aplicación
Desarrollo android - 4 - arquitectura de aplicación
 
Curso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD ManagerCurso de Android 4.x Unidad 02 SDK y AVD Manager
Curso de Android 4.x Unidad 02 SDK y AVD Manager
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones android
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
 
Iniciación a Android
Iniciación a AndroidIniciación a Android
Iniciación a Android
 
Intro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en OlotIntro. a Android Instituto Bosc de la Coma en Olot
Intro. a Android Instituto Bosc de la Coma en Olot
 
Componentes necesarios de android docx
Componentes necesarios de android  docxComponentes necesarios de android  docx
Componentes necesarios de android docx
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
 
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
Android de la A a la Z  PARTE 2 de 3 ulises gonzalezAndroid de la A a la Z  PARTE 2 de 3 ulises gonzalez
Android de la A a la Z PARTE 2 de 3 ulises gonzalez
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
 
Desarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localizaciónDesarrollo de apps Android basadas en localización
Desarrollo de apps Android basadas en localización
 
Preguntas android
Preguntas androidPreguntas android
Preguntas android
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web services
 
UDA-Plugin UDA. Guia de uso de plantillas
UDA-Plugin UDA. Guia de uso de plantillasUDA-Plugin UDA. Guia de uso de plantillas
UDA-Plugin UDA. Guia de uso de plantillas
 
UDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloUDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrollo
 
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
Entornos-de-Desarrollo-Eclipse-y-Android-SDKEntornos-de-Desarrollo-Eclipse-y-Android-SDK
Entornos-de-Desarrollo-Eclipse-y-Android-SDK
 
"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6"Android de la A a la Z" -- Unidad 6
"Android de la A a la Z" -- Unidad 6
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL31-Android Generalidades Sobre Servicios Webs con MySQL
31-Android Generalidades Sobre Servicios Webs con MySQL
 

Viewers also liked

Iniciación PHP 5. Programación Web
Iniciación PHP 5. Programación WebIniciación PHP 5. Programación Web
Iniciación PHP 5. Programación WebRightster
 
Curso android desarrollo de aplicaciones moviles
Curso android   desarrollo de aplicaciones movilesCurso android   desarrollo de aplicaciones moviles
Curso android desarrollo de aplicaciones movilesJose Antonio Prieto
 
deSymfony 2011 - Tutorial #4: Formularios y seguridad
deSymfony 2011 - Tutorial #4: Formularios y seguridaddeSymfony 2011 - Tutorial #4: Formularios y seguridad
deSymfony 2011 - Tutorial #4: Formularios y seguridadRightster
 
Sesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlSesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlHugo Flores
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajaxjuliocasal
 
Curso programacion android sgoliver net v2.0
Curso programacion android sgoliver net v2.0Curso programacion android sgoliver net v2.0
Curso programacion android sgoliver net v2.0degarden
 
Curso mysql modificado
Curso mysql modificadoCurso mysql modificado
Curso mysql modificadoYusef Yamel
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
 
Iniciación PHP 5. Ejemplos
Iniciación PHP 5. EjemplosIniciación PHP 5. Ejemplos
Iniciación PHP 5. EjemplosRightster
 
Curso Wordpress - Diseña tu Web en Wordpress
Curso Wordpress - Diseña tu Web en WordpressCurso Wordpress - Diseña tu Web en Wordpress
Curso Wordpress - Diseña tu Web en WordpressToni Padrell
 
Iniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidorIniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidorRightster
 
Beyond Virtualisation
Beyond VirtualisationBeyond Virtualisation
Beyond VirtualisationRightster
 
PHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPPHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPRightster
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLRightster
 

Viewers also liked (20)

Iniciación PHP 5. Programación Web
Iniciación PHP 5. Programación WebIniciación PHP 5. Programación Web
Iniciación PHP 5. Programación Web
 
CURSO DE HTML
CURSO DE HTMLCURSO DE HTML
CURSO DE HTML
 
Curso android desarrollo de aplicaciones moviles
Curso android   desarrollo de aplicaciones movilesCurso android   desarrollo de aplicaciones moviles
Curso android desarrollo de aplicaciones moviles
 
deSymfony 2011 - Tutorial #4: Formularios y seguridad
deSymfony 2011 - Tutorial #4: Formularios y seguridaddeSymfony 2011 - Tutorial #4: Formularios y seguridad
deSymfony 2011 - Tutorial #4: Formularios y seguridad
 
Sesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlSesion2 Php Oo Y Mysql
Sesion2 Php Oo Y Mysql
 
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con AjaxDesarrollando Una Mejor Experiencia De Usuario Con Ajax
Desarrollando Una Mejor Experiencia De Usuario Con Ajax
 
Curso programacion android sgoliver net v2.0
Curso programacion android sgoliver net v2.0Curso programacion android sgoliver net v2.0
Curso programacion android sgoliver net v2.0
 
Chuleta de DTD
Chuleta de DTDChuleta de DTD
Chuleta de DTD
 
Curso mysql modificado
Curso mysql modificadoCurso mysql modificado
Curso mysql modificado
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzados
 
Iniciación PHP 5. Ejemplos
Iniciación PHP 5. EjemplosIniciación PHP 5. Ejemplos
Iniciación PHP 5. Ejemplos
 
Optimización del rendimiento con MySQL
Optimización del rendimiento con MySQLOptimización del rendimiento con MySQL
Optimización del rendimiento con MySQL
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
 
Curso Wordpress - Diseña tu Web en Wordpress
Curso Wordpress - Diseña tu Web en WordpressCurso Wordpress - Diseña tu Web en Wordpress
Curso Wordpress - Diseña tu Web en Wordpress
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Iniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidorIniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidor
 
Curso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklanCurso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklan
 
Beyond Virtualisation
Beyond VirtualisationBeyond Virtualisation
Beyond Virtualisation
 
PHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHPPHP Avanzado: Características avanzadas de PHP
PHP Avanzado: Características avanzadas de PHP
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
 

Similar to Curso Desarrollo Android

Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android introhojalataverde
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid textoHenry Ortiz
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructurasFernand Bernowly
 
Fo 2-introduccion-android-arquitectura-de-sistema
Fo 2-introduccion-android-arquitectura-de-sistemaFo 2-introduccion-android-arquitectura-de-sistema
Fo 2-introduccion-android-arquitectura-de-sistemaMike Chavez
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidLorena García Arnau
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweetsJorge Soro
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo AndroidAlfredo Aguayo
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de AndroidJavier Muñoz
 
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android  - 3 - entorno de desarrolloDesarrollo android  - 3 - entorno de desarrollo
Desarrollo android - 3 - entorno de desarrolloEmilio Aviles Avila
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativosJoseteMarta11
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Jorge Ulises
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderjezabelink
 

Similar to Curso Desarrollo Android (20)

Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android intro
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid texto
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
 
Fo 2-introduccion-android-arquitectura-de-sistema
Fo 2-introduccion-android-arquitectura-de-sistemaFo 2-introduccion-android-arquitectura-de-sistema
Fo 2-introduccion-android-arquitectura-de-sistema
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con android
 
Presentacion android mistela&tweets
Presentacion android mistela&tweetsPresentacion android mistela&tweets
Presentacion android mistela&tweets
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Taller deandroid
Taller deandroidTaller deandroid
Taller deandroid
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
 
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android  - 3 - entorno de desarrolloDesarrollo android  - 3 - entorno de desarrollo
Desarrollo android - 3 - entorno de desarrollo
 
Android Pres3
Android Pres3Android Pres3
Android Pres3
 
App inventor
App inventorApp inventor
App inventor
 
Android
AndroidAndroid
Android
 
Android
AndroidAndroid
Android
 
Terminado,sistmas operativos
Terminado,sistmas operativosTerminado,sistmas operativos
Terminado,sistmas operativos
 
Cuestionario android
Cuestionario androidCuestionario android
Cuestionario android
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1
 
Introducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entenderIntroducción a Android: 10 cosas importantes que hay que entender
Introducción a Android: 10 cosas importantes que hay que entender
 

More from SlashMobility.com

Slashfriday Visual Data, estrategias para interpretar la información
Slashfriday Visual Data, estrategias para interpretar la informaciónSlashfriday Visual Data, estrategias para interpretar la información
Slashfriday Visual Data, estrategias para interpretar la informaciónSlashMobility.com
 
SlashFriday: Deep Personalization by MOCA
SlashFriday: Deep Personalization by MOCASlashFriday: Deep Personalization by MOCA
SlashFriday: Deep Personalization by MOCASlashMobility.com
 
SlashFriday. Aplicación al negocio de las redes neuronales artificiales
SlashFriday. Aplicación al negocio de las redes neuronales artificialesSlashFriday. Aplicación al negocio de las redes neuronales artificiales
SlashFriday. Aplicación al negocio de las redes neuronales artificialesSlashMobility.com
 
Customer Experience: vender lo material desde lo inmaterial
Customer Experience: vender lo material desde lo inmaterialCustomer Experience: vender lo material desde lo inmaterial
Customer Experience: vender lo material desde lo inmaterialSlashMobility.com
 
El color, la herramienta más poderosa para diseñar tu app
El color, la herramienta más poderosa para diseñar tu appEl color, la herramienta más poderosa para diseñar tu app
El color, la herramienta más poderosa para diseñar tu appSlashMobility.com
 
Trabajadores más productivos, motivados y felices gracias a los wearables
Trabajadores más productivos, motivados y felices gracias a los wearablesTrabajadores más productivos, motivados y felices gracias a los wearables
Trabajadores más productivos, motivados y felices gracias a los wearablesSlashMobility.com
 
Marketing inbound para empresas B2B
Marketing inbound para empresas B2BMarketing inbound para empresas B2B
Marketing inbound para empresas B2BSlashMobility.com
 
¿Gestionas tu tiempo o te lo gestionan?
¿Gestionas tu tiempo o te lo gestionan? ¿Gestionas tu tiempo o te lo gestionan?
¿Gestionas tu tiempo o te lo gestionan? SlashMobility.com
 
Cómo dar vida a un personaje
Cómo dar vida a un personajeCómo dar vida a un personaje
Cómo dar vida a un personajeSlashMobility.com
 
El combate del siglo: AngularJS vs ReactJS
El combate del siglo: AngularJS vs ReactJSEl combate del siglo: AngularJS vs ReactJS
El combate del siglo: AngularJS vs ReactJSSlashMobility.com
 
Slash friday: Unity 3D - Pasando nuestra primera pantalla
Slash friday: Unity 3D - Pasando nuestra primera pantallaSlash friday: Unity 3D - Pasando nuestra primera pantalla
Slash friday: Unity 3D - Pasando nuestra primera pantallaSlashMobility.com
 
Primeros pasos para crear un videojuego
Primeros pasos para crear un videojuegoPrimeros pasos para crear un videojuego
Primeros pasos para crear un videojuegoSlashMobility.com
 

More from SlashMobility.com (20)

Slashfriday Visual Data, estrategias para interpretar la información
Slashfriday Visual Data, estrategias para interpretar la informaciónSlashfriday Visual Data, estrategias para interpretar la información
Slashfriday Visual Data, estrategias para interpretar la información
 
SlashFriday: Deep Personalization by MOCA
SlashFriday: Deep Personalization by MOCASlashFriday: Deep Personalization by MOCA
SlashFriday: Deep Personalization by MOCA
 
SlashFriday. Aplicación al negocio de las redes neuronales artificiales
SlashFriday. Aplicación al negocio de las redes neuronales artificialesSlashFriday. Aplicación al negocio de las redes neuronales artificiales
SlashFriday. Aplicación al negocio de las redes neuronales artificiales
 
Herramientas de diseño UI
Herramientas de diseño UIHerramientas de diseño UI
Herramientas de diseño UI
 
Hablemos de sueños
Hablemos de sueñosHablemos de sueños
Hablemos de sueños
 
Trabajo en equipo
Trabajo en equipoTrabajo en equipo
Trabajo en equipo
 
Android Wear
Android WearAndroid Wear
Android Wear
 
Customer Experience: vender lo material desde lo inmaterial
Customer Experience: vender lo material desde lo inmaterialCustomer Experience: vender lo material desde lo inmaterial
Customer Experience: vender lo material desde lo inmaterial
 
Diseñando para Apple Watch
Diseñando para Apple WatchDiseñando para Apple Watch
Diseñando para Apple Watch
 
El color, la herramienta más poderosa para diseñar tu app
El color, la herramienta más poderosa para diseñar tu appEl color, la herramienta más poderosa para diseñar tu app
El color, la herramienta más poderosa para diseñar tu app
 
Trabajadores más productivos, motivados y felices gracias a los wearables
Trabajadores más productivos, motivados y felices gracias a los wearablesTrabajadores más productivos, motivados y felices gracias a los wearables
Trabajadores más productivos, motivados y felices gracias a los wearables
 
Desarrollo con stack MEAN
Desarrollo con stack MEANDesarrollo con stack MEAN
Desarrollo con stack MEAN
 
Marketing inbound para empresas B2B
Marketing inbound para empresas B2BMarketing inbound para empresas B2B
Marketing inbound para empresas B2B
 
¿Gestionas tu tiempo o te lo gestionan?
¿Gestionas tu tiempo o te lo gestionan? ¿Gestionas tu tiempo o te lo gestionan?
¿Gestionas tu tiempo o te lo gestionan?
 
Cómo dar vida a un personaje
Cómo dar vida a un personajeCómo dar vida a un personaje
Cómo dar vida a un personaje
 
El combate del siglo: AngularJS vs ReactJS
El combate del siglo: AngularJS vs ReactJSEl combate del siglo: AngularJS vs ReactJS
El combate del siglo: AngularJS vs ReactJS
 
App marketing-ecommbrunch
App marketing-ecommbrunchApp marketing-ecommbrunch
App marketing-ecommbrunch
 
Cómo customizar una app
Cómo customizar una appCómo customizar una app
Cómo customizar una app
 
Slash friday: Unity 3D - Pasando nuestra primera pantalla
Slash friday: Unity 3D - Pasando nuestra primera pantallaSlash friday: Unity 3D - Pasando nuestra primera pantalla
Slash friday: Unity 3D - Pasando nuestra primera pantalla
 
Primeros pasos para crear un videojuego
Primeros pasos para crear un videojuegoPrimeros pasos para crear un videojuego
Primeros pasos para crear un videojuego
 

Recently uploaded

Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 

Recently uploaded (20)

Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 

Curso Desarrollo Android

  • 1. Desarrollo en Android
  • 2.
  • 3. Introducción a Android: un poco de historia
  • 4. Introducción a Android: releases Versión Android Fecha release Android 1.5 (Cupcake) 30 abril de 2009 Android 1.6 (Donut) 15 septiembre de 2009 Android 2.0 (Eclair) 26 octubre de 2009 Android 2.2 (FroYo) Mayo de 2010 Gingerbread Finales de 2010
  • 5. Introducción a Android: un poco de historia (II) Prototipo HTC Dream Nexus One Xperia x10 HTC Liquid GeeksPhone Samsung I7500
  • 6.
  • 7.
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Arquitectura de las aplicaciones: Componentes de aplicación Principales componentes para el desarrollo de aplicaciones en Android:
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Services: control de los servicios Para iniciar un servicio: startService(new Intent(MyService.MY_ACTION)); Para parar un servicio iniciado: ComponentName service = startService(new Intent(this, BaseballWatch.class)); // Stop a service using the service name. stopService(new Intent(this, service.getClass()));
  • 28. Ciclo de vida del Service (según creación)
  • 29.
  • 30. Para recuperar todos los registros: Cursor allRows = getContentResolver().query(MyProvider.CONTENT_URI, null, null, null, null); Para consultar todos los registros tales que la columna KEY_COL3 tiene un determinado valor, y ordenada por la columna KEY_COL5: String where = KEY_COL3 + “=” + requiredValue; String order = KEY_COL5; Cursor someRows = getContentResolver().query(MyProvider.CONTENT_URI, null, where, null,order); Content Providers: consultas
  • 31. Content Providers: modificaciones Insert: newValues.put(COLUMN_NAME, newValue); Uri myRowUri = getContentResolver().insert(MyProvider.CONTENT_URI, newValues); Delete: getContentResolver().delete(myRowUri, null, null); Update: getContentResolver().update(MyProvider.CONTENT_URI, newValues, where, null);
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. Arquitectura de las aplicaciones: Intent filters Intent Intent
  • 41. Eventos: ejemplo de Intent Filter <? xml version = &quot;1.0&quot; encoding = &quot;utf-8&quot; ?> < manifest xmlns:android = &quot;http://schemas.android.com/apk/res/android&quot; package = &quot;prueba.Android&quot; android:versionCode = &quot;1&quot; android:versionName = &quot;1.0&quot; > < application android:icon = &quot;@drawable/icon&quot; android:label = &quot;@string/app_name&quot; > < activity android:name = &quot;.ApiDemos&quot; android:label = &quot;@string/app_name&quot; > < intent-filter > < action android:name = &quot;android.intent.action.MAIN&quot; /> < category android:name = &quot;android.intent.category.LAUNCHER&quot; /> </ intent-filter > </ activity > </ application > < uses-sdk android:minSdkVersion = &quot;7&quot; /> </ manifest >
  • 42.
  • 43. Arquitectura de las aplicaciones: Broadcast Intents Intent Intents
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. En el código de la Activity, se crea el contenido a partir de un recurso XML: public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); //recurso main.xml, añade una vista con un widget TextView ... TextView myTextView = (TextView)findViewById(R.id.myTextView); //Podemos acceder al TextView buscándolo por Id, ahora podemos trabajar con el } Interfaces de usuario: Creación de vista por XML
  • 49. Interfaces de usuario: Creación de vista por XML (II) En el archivo /res/layout/main.xml: < LinearLayout xmlns:android = &quot;http://schemas.android.com/apk/res/android&quot; android:orientation = &quot;vertical&quot; android:layout_width = &quot;fill_parent&quot; android:layout_height = &quot;fill_parent&quot; > <!-- crea un layout con la distribución de los elementos visuales --> < TextView android:id = &quot;@+id/myTestView&quot; android:layout_width = &quot;fill_parent&quot; android:layout_height = &quot;fill_parent&quot; android:src = &quot;@drawable/jupiter&quot; /> <!-- crea un widget TextView --> </ LinearLayout >
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. Interfaces de usuario: componentes compuestos (II) TextView EditText con un Button ListView Spinner
  • 55. Interfaces de usuario: componentes compuestos (III) DatePicker TimePicker AutoComplete
  • 56.
  • 57.
  • 58. /* Creates the menu items */ public boolean onCreateOptionsMenu(Menu menu ) { menu.add(0, MENU_NEW_GAME , 0, &quot;New Game&quot; ); menu.add(0, MENU_QUIT , 0, &quot;Quit&quot; ); return true ; } /* Handles item selections */ public boolean onOptionsItemSelected(MenuItem item ) { switch (item.getItemId()) { case MENU_NEW_GAME : newGame (); return true ; case MENU_QUIT : quit (); return true ; } return false ; } Menus: Options Menu (II) Creación de Option Menu vía código:
  • 59.
  • 60. Menus: Context Menu (II) public void onCreateContextMenu(ContextMenu menu , View v , ContextMenuInfo menuInfo ) { super .onCreateContextMenu(menu, v, menuInfo); menu.add(0, EDIT_ID , 0, &quot;Edit&quot; ); menu.add(0, DELETE_ID , 0, &quot;Delete&quot; ); } public boolean onContextItemSelected(MenuItem item ) { AdapterContextMenuInfo info = ( AdapterContextMenuInfo ) item.getMenuInfo(); switch (item.getItemId()) { case EDIT_ID : editNote(info.id); return true ; case DELETE_ID : deleteNote(info.id); return true ; default : return super .onContextItemSelected(item); } } Creación de Context Menu vía código:
  • 61.
  • 62. Menus: Submenus (II) public boolean onCreateOptionsMenu(Menu menu ) { boolean result = super .onCreateOptionsMenu(menu); SubMenu fileMenu = menu.addSubMenu( &quot;File&quot; ); SubMenu editMenu = menu.addSubMenu( &quot;Edit&quot; ); fileMenu.add( &quot;new&quot; ); fileMenu.add( &quot;open&quot; ); fileMenu.add( &quot;save&quot; ); editMenu.add( &quot;undo&quot; ); editMenu.add( &quot;redo&quot; ); return result; } Creación de SubMenu vía código:
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68. Entorno de desarrollo: Hello Android! package com.android.helloandroid; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText(&quot;Hello, Android&quot;); setContentView(tv); } }
  • 69.
  • 70.
  • 71.
  • 72.
  • 73. Almacenamiento de datos: Preferences (II) import android.app.Activity; import android.content.SharedPreferences; public class Calc extends Activity { public static final String PREFS_NAME = &quot;MyPrefsFile&quot; ; . . . @ Override protected void onCreate(Bundle state) { super .onCreate(state); . . . // Restore preferences SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); boolean silent = settings.getBoolean( &quot;silentMode&quot; , false ); setSilent (silent); } @Override protected void onStop(){ super .onStop(); // Save user preferences. We need an Editor object to // make changes. All objects are from android.context.Context SharedPreferences settings = getSharedPreferences( PREFS_NAME , 0); SharedPreferences.Editor editor = settings.edit(); editor.putBoolean( &quot;silentMode&quot; , mSilentMode ); // Don't forget to commit your edits!!! editor.commit(); } }
  • 74.
  • 75.
  • 76.
  • 77.
  • 78. Almacenamiento de datos: SQLite creación de tablas private static final String DATABASE_NAME = “myDatabase.db”; private static final String DATABASE_TABLE = “mainTable”; private static final String DATABASE_CREATE = “ create table “ + DATABASE_TABLE + “ ( _id integer primary key autoincrement,” + “column_one text not null );”; SQLiteDatabase myDatabase; private void createDatabase() { myDatabase = openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null ); myDatabase.execSQL(DATABASE_CREATE); }
  • 79. Almacenamiento de datos: SQLite querys // Return all rows for columns one and three, no duplicates String[] result_columns = new String[] {KEY_ID, KEY_COL1, KEY_COL3}; Cursor allRows = myDatabase.query( true , DATABASE_TABLE, result_columns, null , null , null , null , null , null ); // Return all columns for rows where column 3 equals a set value // and the rows are ordered by column 5. String where = KEY_COL3 + “=” + requiredValue; String order = KEY_COL5; Cursor myResult = myDatabase.query(DATABASE_TABLE, null , where, null , null , null , order);
  • 80. Almacenamiento de datos: SQLite resultados int GOLD_HOARDED_COLUMN = 2; Cursor myGold = myDatabase.query(“GoldHoards”, null , null , null , null , null , null ); float totalHoard = 0f; // Make sure there is at least one row. if (myGold.moveToFirst()) { // Iterate over each cursor. do { float hoard = myGold.getFloat(GOLD_HOARDED_COLUMN); totalHoard += hoard; } while (myGold.moveToNext()); } float averageHoard = totalHoard / myGold.getCount();
  • 81. Almacenamiento de datos: SQLite Añadir un nuevo registro // Create a new row of values to insert. ContentValues newValues = new ContentValues(); // Assign values for each row. newValues.put(COLUMN_NAME, newValue); [ ... Repeat for each column ... ] // Insert the row into your table myDatabase.insert(DATABASE_TABLE, null , newValues);
  • 82. Almacenamiento de datos: SQLite Modificar un registro // Define the updated row content. ContentValues updatedValues = new ContentValues(); // Assign values for each row. updatedValues.put(COLUMN_NAME, newValue); [ ... Repeat for each column ... ] String where = KEY_ID + “=” + rowId; // Update the row with the specified index with the new values. myDatabase.update(DATABASE_TABLE, updatedValues, where, null );