SlideShare une entreprise Scribd logo
1  sur  124
  Desarrollo en Android
Índice
Introducción a Android: un poco de historia ,[object Object],[object Object],[object Object],[object Object],[object Object]
Introducción a Android: un poco de historia (II) Primeros prototipos de Android:
Índice
Introducción a Android: qué es Android? ,[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]
Índice
Arquitectura del sistema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura del sistema (II)
Arquitectura del sistema:Linux Kernel ,[object Object],[object Object],[object Object]
Arquitectura del sistema:Linux Kernel (II) ,[object Object],Versión Android Versión Linux Fecha release Android 1.5 (Cupcake) 2.6.27 30 abril de 2009 Android 1.6 (Donut) 2.6.29 15 septiembre de 2009 Android 2.0 (Eclair) 2.6.29 26 octubre de 2009 Android 2.2 (FroYo) 2.6.32 Mayo de 2010 ?
Arquitectura del sistema:Android runtime ,[object Object],[object Object],[object Object]
Arquitectura del sistema: Framework de aplicaciones ,[object Object],[object Object],[object Object],[object Object]
Arquitectura del sistema: Capa de aplicaciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura del sistema: Dalvik Virtual Machine ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura del sistema: Librerías Android (I) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura del sistema: Librerías Android (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Índice
Arquitectura de las aplicaciones Android: introducción ,[object Object]
Arquitectura de las aplicaciones: Componentes de aplicación ,[object Object],[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: Componente Activity
Arquitectura de las aplicaciones: Componente Activity (II) ,[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Componente Activity (III) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Activity Manager ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Activity Manager (II) Mensaje ANR:
Arquitectura de las aplicaciones: Notification Manager ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Resource Manager ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Resource Manager Estructura típica:
Arquitectura de las aplicaciones: Ciclo de vida de los componentes (Activity) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Ciclo de vida de los componentes (Activity) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura de las aplicaciones: Ciclo de vida de los componentes (Activity)
[object Object],[object Object],[object Object],[object Object],Arquitectura de las aplicaciones: Ciclo de vida de los componentes (Service)
Arquitectura de las aplicaciones: Ciclo de vida de los componentes (Service) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ciclo de vida del Service (según creación)
Arquitectura de las aplicaciones: Ciclo de vida de los componentes (Broadcast Receiver) ,[object Object],[object Object],[object Object],[object Object]
Índice
Primera aplicación ,[object Object]
Primera aplicación: emulador Android ,[object Object],[object Object],[object Object],[object Object]
Primera aplicación: emulador Android (II) Imagen del emulador
Primera aplicación: emulador Android (III) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Primera aplicación: DDMS ,[object Object],[object Object],[object Object],[object Object],[object Object]
Primera aplicación: DDMS (II)
Primera aplicación: DDMS (III)
Primera aplicación: configuración del SDK ,[object Object],[object Object],[object Object],[object Object]
Primera aplicación: configurando el entorno ,[object Object],[object Object],[object Object],[object Object]
Primera aplicación AndroidManifest.xml ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Primera aplicación AndroidManifest.xml (II) <? 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 >
Primera aplicación: 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: más ejemplos ,[object Object]
Índice
Interfaces de usuario ,[object Object],[object Object],[object Object],[object Object],[object Object]
Interfaces de usuario (II) ,[object Object],[object Object]
Interfaces de usuario (III)
Interfaces de usuario: Views ,[object Object],[object Object],[object Object],[object Object],[object Object]
Interfaces de usuario: Creación de vista por XML ,[object Object],[object Object],[object Object],[object Object]
Interfaces de usuario: Creación de vista por XML (II) ,[object Object],< 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 widet TextView --> </ LinearLayout >
Interfaces de usuario: Creación de vista por código  public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView myTextView = new TextView(this); setContentView(myTextView); myTextView.setText(“Hello, Android”); }
Interfaces de usuario: ViewGroups ,[object Object],[object Object],[object Object]
Interfaces de usuario: Widgets ,[object Object],[object Object],[object Object]
Interfaces de usuario: Widgets toolbox ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Interfaces de usuario: Widgets toolbox (II) TextView EditText con un Button ListView Spinner
Interfaces de usuario: Widgets toolbox (III) DatePicker TimePicker AutoComplete
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]
Interfaces de usuario: Layouts (III) LinearLayout RelativeLayout AbsoluteLayout
Interfaces de usuario: ejemplo ,[object Object]
Interfaces de usuario: Adapters ,[object Object],[object Object],[object Object],[object Object],[object Object]
Índice
Eventos: Intents ,[object Object],[object Object],[object Object],[object Object]
Eventos: Intents (II) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Eventos: Intents (III)  ,[object Object],[object Object],[object Object],[object Object]
Eventos: Intents (IV) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Eventos: 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]
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]
Eventos: Broadcast Intents (II) ,[object Object],[object Object]
Eventos: Broadcast Intents (III) Intent  intent = new Intent(NEW_INTENT); intent.putExtra(“param1”, value1); intent.putExtra(“param2”, value2); intent.putExtra(“param3”, value3); sendBroadcast (intent);
Eventos: Broadcast Receivers ,[object Object],[object Object],[object Object],[object Object],import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class MyBroadcastReceiver extends  BroadcastReceiver  { public void  onReceive(Context context, Intent intent)  { //TODO: React to the Intent received. } }
Eventos: ejemplos ,[object Object]
Índice
Notificaciones al usuario ,[object Object],[object Object],[object Object],[object Object]
Notificaciones al usuario (II) ,[object Object],[object Object],[object Object]
Notificaciones al usuario (III) Toast notification Status Bar Notification Dialog Notification
Índice
Menus ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Menus: Options Menu ,[object Object],[object Object],[object Object],[object Object],[object Object]
Menus: Options Menu (II) /* 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 (III)
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); } }
Menus: Context Menu (III)
Menus: Submenus ,[object Object],[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; }
Menus: Submenus (III)
Índice
Almacenamiento de datos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Almacenamiento de datos (II) ,[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],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: ficheros locales (II) ,[object Object],[object Object],[object Object],[object Object]
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 );
Almacenamiento de datos: SQLite borrado de registro myDatabase.delete(DATABASE_TABLE, KEY_ID + “=” + rowId,  null );
Índice
Content Providers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Content Providers: consultas 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: 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]
Índice
Services ,[object Object],[object Object],[object Object],[object Object],[object Object]
Services: creación de servicios Ejemplo de creación de un servicio: import android.app.Service; import android.content.Intent; import android.os.IBinder; public class MyService extends  Service  { @Override public void  onCreate()  { // TODO: Actions to perform when service is created. } @Override public IBinder  onBind(Intent intent)  { // TODO: Replace with service binding implementation. return null; } And update the manifest file with : <service android:enabled=”true” android:name=”.MyService”></service>
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()));
Índice
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 >

Contenu connexe

Tendances

Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaKaren Nuñez
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo androidmrd2013
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo androidingrythf
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Androidandresuarezz26
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosGabriel Huecas
 
SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15Lamar Smith
 
Concepto de Sistema Operativo Android
Concepto de Sistema Operativo AndroidConcepto de Sistema Operativo Android
Concepto de Sistema Operativo Androidingjmlobaton
 
"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
 
"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1Android UNAM
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo androidRlaxYeah
 
"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3Android UNAM
 
"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4Android UNAM
 
"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2Android UNAM
 
Sistema operativo android (1)
Sistema operativo android (1)Sistema operativo android (1)
Sistema operativo android (1)FranCy TEllo
 

Tendances (20)

Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historia
 
Exposición - Android
Exposición - AndroidExposición - Android
Exposición - Android
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
Fundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para AndroidFundamentos desarrollo de Apps para Android
Fundamentos desarrollo de Apps para Android
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos Básicos
 
SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15SISTEMA OPERATIVO ANDROID 27-03-15
SISTEMA OPERATIVO ANDROID 27-03-15
 
Concepto de Sistema Operativo Android
Concepto de Sistema Operativo AndroidConcepto de Sistema Operativo Android
Concepto de Sistema Operativo Android
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Introduccion a Android
Introduccion a AndroidIntroduccion a Android
Introduccion a Android
 
"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
 
Power point
Power pointPower point
Power point
 
"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1"Android de la A a la Z" -- Unidad 1
"Android de la A a la Z" -- Unidad 1
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3"Android de la A a la Z" -- Unidad 3
"Android de la A a la Z" -- Unidad 3
 
"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4"Android de la A a la Z" -- Unidad 4
"Android de la A a la Z" -- Unidad 4
 
Android
AndroidAndroid
Android
 
"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2"Android de la A a la Z" -- Unidad 2
"Android de la A a la Z" -- Unidad 2
 
Sistema operativo android
Sistema operativo androidSistema operativo android
Sistema operativo android
 
Sistema operativo android (1)
Sistema operativo android (1)Sistema operativo android (1)
Sistema operativo android (1)
 

Similaire à Curso desarrollo en android

Curso introducción a Android
Curso introducción a AndroidCurso introducción a Android
Curso introducción a AndroidSlashMobility.com
 
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
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android introhojalataverde
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones androidedwin
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo AndroidAlfredo Aguayo
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en androidKarla Silva
 
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
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2Frank Jorge
 
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
 
Arquitectura android
Arquitectura androidArquitectura android
Arquitectura androidalerop
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid textoHenry Ortiz
 
Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...TELCON UNI
 

Similaire à Curso desarrollo en android (20)

Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 
Curso introducción a android
Curso introducción a android   Curso introducción a android
Curso introducción a android
 
Curso introducción a Android
Curso introducción a AndroidCurso introducción a Android
Curso introducció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
 
Píldora 1: Android intro
Píldora 1: Android introPíldora 1: Android intro
Píldora 1: Android intro
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones android
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
 
Taller de prog. en android
Taller de prog. en androidTaller de prog. en android
Taller de prog. en android
 
Unidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con androidUnidad 2 Primeros pasos con android
Unidad 2 Primeros pasos con android
 
App inventor
App inventorApp inventor
App inventor
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Android
AndroidAndroid
Android
 
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
 
Material rap1
Material rap1Material rap1
Material rap1
 
Arquitectura android
Arquitectura androidArquitectura android
Arquitectura android
 
12j sistemaandroid texto
12j sistemaandroid texto12j sistemaandroid texto
12j sistemaandroid texto
 
Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...Implementación de una aplicación para la Administración remota de servidores ...
Implementación de una aplicación para la Administración remota de servidores ...
 

Plus de Emilio Aviles Avila

Experiencias emprendedor de apps - AppCierta
Experiencias emprendedor de apps - AppCiertaExperiencias emprendedor de apps - AppCierta
Experiencias emprendedor de apps - AppCiertaEmilio Aviles Avila
 
Aplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedorAplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedorEmilio Aviles Avila
 
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
Charla estrategia desarrollo aplicaciones móviles Universidad GironaCharla estrategia desarrollo aplicaciones móviles Universidad Girona
Charla estrategia desarrollo aplicaciones móviles Universidad GironaEmilio Aviles Avila
 
Desarrollo android - 6 - multimedia
Desarrollo android - 6 - multimediaDesarrollo android - 6 - multimedia
Desarrollo android - 6 - multimediaEmilio Aviles Avila
 
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android  -  5 - almacenamiento de datosDesarrollo android  -  5 - almacenamiento de datos
Desarrollo android - 5 - almacenamiento de datosEmilio Aviles Avila
 
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
 
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
 
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 android -1 - introduccion
Desarrollo android  -1 - introduccionDesarrollo android  -1 - introduccion
Desarrollo android -1 - introduccionEmilio Aviles Avila
 
El mercado de las aplicaciones moviles
El mercado de las aplicaciones movilesEl mercado de las aplicaciones moviles
El mercado de las aplicaciones movilesEmilio Aviles Avila
 
Curso Taller Android Procesado Imagen
Curso Taller Android Procesado ImagenCurso Taller Android Procesado Imagen
Curso Taller Android Procesado ImagenEmilio Aviles Avila
 
Curso taller android radio streaming
Curso taller android  radio streamingCurso taller android  radio streaming
Curso taller android radio streamingEmilio Aviles Avila
 
Curso Uml 3.1 Modelos De Desarrollo De Software
Curso Uml   3.1 Modelos De Desarrollo De SoftwareCurso Uml   3.1 Modelos De Desarrollo De Software
Curso Uml 3.1 Modelos De Desarrollo De SoftwareEmilio Aviles Avila
 
Curso Uml 2.5 Diagramas De ImplementacióN
Curso Uml   2.5 Diagramas De ImplementacióNCurso Uml   2.5 Diagramas De ImplementacióN
Curso Uml 2.5 Diagramas De ImplementacióNEmilio Aviles Avila
 

Plus de Emilio Aviles Avila (20)

Experiencias emprendedor de apps - AppCierta
Experiencias emprendedor de apps - AppCiertaExperiencias emprendedor de apps - AppCierta
Experiencias emprendedor de apps - AppCierta
 
Apps Ser o Estar
Apps Ser o EstarApps Ser o Estar
Apps Ser o Estar
 
Aplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedorAplicaciones móviles, experiencias de emprendedor
Aplicaciones móviles, experiencias de emprendedor
 
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
Charla estrategia desarrollo aplicaciones móviles Universidad GironaCharla estrategia desarrollo aplicaciones móviles Universidad Girona
Charla estrategia desarrollo aplicaciones móviles Universidad Girona
 
Desarrollo android - 6 - multimedia
Desarrollo android - 6 - multimediaDesarrollo android - 6 - multimedia
Desarrollo android - 6 - multimedia
 
Desarrollo android - 5 - almacenamiento de datos
Desarrollo android  -  5 - almacenamiento de datosDesarrollo android  -  5 - almacenamiento de datos
Desarrollo android - 5 - almacenamiento de datos
 
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
 
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android  - 3 - entorno de desarrolloDesarrollo android  - 3 - entorno de desarrollo
Desarrollo android - 3 - entorno de desarrollo
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
 
Desarrollo android -1 - introduccion
Desarrollo android  -1 - introduccionDesarrollo android  -1 - introduccion
Desarrollo android -1 - introduccion
 
El mercado de las aplicaciones moviles
El mercado de las aplicaciones movilesEl mercado de las aplicaciones moviles
El mercado de las aplicaciones moviles
 
Curso Taller Android Procesado Imagen
Curso Taller Android Procesado ImagenCurso Taller Android Procesado Imagen
Curso Taller Android Procesado Imagen
 
Taller Curso android WhereAmI
Taller Curso android WhereAmITaller Curso android WhereAmI
Taller Curso android WhereAmI
 
Curso taller android radio streaming
Curso taller android  radio streamingCurso taller android  radio streaming
Curso taller android radio streaming
 
Como ganar dinero con las apps
Como ganar dinero con las appsComo ganar dinero con las apps
Como ganar dinero con las apps
 
TeCHmi Service Portfolio
TeCHmi Service PortfolioTeCHmi Service Portfolio
TeCHmi Service Portfolio
 
Curso Uml 3.2 Proceso Unificado
Curso Uml   3.2 Proceso UnificadoCurso Uml   3.2 Proceso Unificado
Curso Uml 3.2 Proceso Unificado
 
Curso Uml 3.1 Modelos De Desarrollo De Software
Curso Uml   3.1 Modelos De Desarrollo De SoftwareCurso Uml   3.1 Modelos De Desarrollo De Software
Curso Uml 3.1 Modelos De Desarrollo De Software
 
Curso Uml 2.6 Otros Diagramas
Curso Uml   2.6 Otros DiagramasCurso Uml   2.6 Otros Diagramas
Curso Uml 2.6 Otros Diagramas
 
Curso Uml 2.5 Diagramas De ImplementacióN
Curso Uml   2.5 Diagramas De ImplementacióNCurso Uml   2.5 Diagramas De ImplementacióN
Curso Uml 2.5 Diagramas De ImplementacióN
 

Dernier

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
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
 
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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
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
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
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
 

Dernier (20)

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
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
 
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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
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ú
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 

Curso desarrollo en android

  • 1. Desarrollo en Android
  • 3.
  • 4. Introducción a Android: un poco de historia (II) Primeros prototipos de Android:
  • 6.
  • 7.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Arquitectura de las aplicaciones: Activity Manager (II) Mensaje ANR:
  • 27.
  • 28.
  • 29. Arquitectura de las aplicaciones: Resource Manager Estructura típica:
  • 30.
  • 31.
  • 32. Arquitectura de las aplicaciones: Ciclo de vida de los componentes (Activity)
  • 33.
  • 34.
  • 35. Ciclo de vida del Service (según creación)
  • 36.
  • 38.
  • 39.
  • 40. Primera aplicación: emulador Android (II) Imagen del emulador
  • 41.
  • 42.
  • 45.
  • 46.
  • 47.
  • 48. Primera aplicación AndroidManifest.xml (II) <? 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 >
  • 49. Primera aplicación: 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); } }
  • 50.
  • 52.
  • 53.
  • 55.
  • 56.
  • 57.
  • 58. Interfaces de usuario: Creación de vista por código public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView myTextView = new TextView(this); setContentView(myTextView); myTextView.setText(“Hello, Android”); }
  • 59.
  • 60.
  • 61.
  • 62. Interfaces de usuario: Widgets toolbox (II) TextView EditText con un Button ListView Spinner
  • 63. Interfaces de usuario: Widgets toolbox (III) DatePicker TimePicker AutoComplete
  • 64.
  • 65.
  • 66. Interfaces de usuario: Layouts (III) LinearLayout RelativeLayout AbsoluteLayout
  • 67.
  • 68.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77. 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 >
  • 78.
  • 79.
  • 80. Eventos: Broadcast Intents (III) Intent intent = new Intent(NEW_INTENT); intent.putExtra(“param1”, value1); intent.putExtra(“param2”, value2); intent.putExtra(“param3”, value3); sendBroadcast (intent);
  • 81.
  • 82.
  • 84.
  • 85.
  • 86. Notificaciones al usuario (III) Toast notification Status Bar Notification Dialog Notification
  • 88.
  • 89.
  • 90. Menus: Options Menu (II) /* 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 ; }
  • 92.
  • 93. 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); } }
  • 95.
  • 96. 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; }
  • 99.
  • 100.
  • 101.
  • 102. 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(); } }
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108. 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); }
  • 109. 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);
  • 110. 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();
  • 111. 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);
  • 112. 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 );
  • 113. Almacenamiento de datos: SQLite borrado de registro myDatabase.delete(DATABASE_TABLE, KEY_ID + “=” + rowId, null );
  • 115.
  • 116. Content Providers: consultas 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);
  • 117. 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);
  • 118.
  • 120.
  • 121. Services: creación de servicios Ejemplo de creación de un servicio: import android.app.Service; import android.content.Intent; import android.os.IBinder; public class MyService extends Service { @Override public void onCreate() { // TODO: Actions to perform when service is created. } @Override public IBinder onBind(Intent intent) { // TODO: Replace with service binding implementation. return null; } And update the manifest file with : <service android:enabled=”true” android:name=”.MyService”></service>
  • 122. 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()));
  • 124.