SlideShare una empresa de Scribd logo
  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 );

Más contenido relacionado

La actualidad más candente

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
Emilio 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 Manager
David Vaquero
 
Aplicaciones android
Aplicaciones androidAplicaciones android
Aplicaciones android
edwin
 
Curso desarrollo en android
Curso desarrollo en androidCurso desarrollo en android
Curso desarrollo en android
Emilio Aviles Avila
 
Iniciación a Android
Iniciación a AndroidIniciación a Android
Iniciación a Android
aleatechnology
 
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
hojalataverde
 
Componentes necesarios de android docx
Componentes necesarios de android  docxComponentes necesarios de android  docx
Componentes necesarios de android docxgrachika
 
Taller de Android
Taller de AndroidTaller de Android
Taller de Android
Dr. Edwin Hernandez
 
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
Android UNAM
 
Desarrollo android - 2 - arquitectura del sistema
Desarrollo android   - 2 - arquitectura del sistemaDesarrollo android   - 2 - arquitectura del sistema
Desarrollo android - 2 - arquitectura del sistema
Emilio 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ón
SlashMobility.com
 
Curso Android 2021
Curso Android  2021Curso Android  2021
Curso Android 2021
elprofenava2002
 
UDA-Guia desarrollo web services
UDA-Guia desarrollo web servicesUDA-Guia desarrollo web services
UDA-Guia desarrollo web services
Ander 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 plantillas
Ander Martinez
 
UDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloUDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrollo
Ander Martinez
 
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
Pedro Antonio Villalta (Pavillalta)
 
"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
Android UNAM
 
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)
Isidro José López Martínez
 
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
Pedro Antonio Villalta (Pavillalta)
 

La actualidad más candente (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
 

Destacado

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
Rightster
 
CURSO DE HTML
CURSO DE HTMLCURSO DE HTML
CURSO DE HTML
nfernandezcnad
 
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 seguridad
Rightster
 
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 Ajax
juliocasal
 
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
 
Chuleta de DTD
Chuleta de DTDChuleta de DTD
Chuleta de DTD
Abrirllave
 
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 avanzados
Irontec
 
Iniciación PHP 5. Ejemplos
Iniciación PHP 5. EjemplosIniciación PHP 5. Ejemplos
Iniciación PHP 5. Ejemplos
Rightster
 
Optimización del rendimiento con MySQL
Optimización del rendimiento con MySQLOptimización del rendimiento con MySQL
Optimización del rendimiento con MySQL
Víctor Jiménez Cerrada
 
Mysql Administracion
Mysql AdministracionMysql Administracion
Mysql Administracion
Miguel Angel Nieto
 
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
Toni Padrell
 
Curso Php
Curso PhpCurso Php
Curso Php
larasaregune
 
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
Rightster
 
Curso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklanCurso iniciacion-joomla-3.3-oklan
Curso iniciacion-joomla-3.3-oklan
Enrique Ruíz Millán
 
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 PHP
Rightster
 
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
Rightster
 

Destacado (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 a 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 estructuras
Fernand 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 android
Lorena 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 Android
Alfredo Aguayo
 
Sistema Operativo Android
Sistema Operativo AndroidSistema Operativo Android
Sistema Operativo Android
Alfredito Aguayo
 
Taller deandroid
Taller deandroidTaller deandroid
Taller deandroid
Dr. Edwin Hernandez
 
Taller Práctico de Android
Taller Práctico de AndroidTaller Práctico de Android
Taller Práctico de Android
Javier Muñoz
 
Desarrollo android - 3 - entorno de desarrollo
Desarrollo android  - 3 - entorno de desarrolloDesarrollo android  - 3 - entorno de desarrollo
Desarrollo android - 3 - entorno de desarrollo
Emilio Aviles Avila
 
App inventor
App inventorApp inventor
App inventor
Mariaelena Moscoso
 
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 1
Jorge 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 entender
jezabelink
 

Similar a 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
 

Más de 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ón
SlashMobility.com
 
SlashFriday: Deep Personalization by MOCA
SlashFriday: Deep Personalization by MOCASlashFriday: Deep Personalization by MOCA
SlashFriday: Deep Personalization by MOCA
SlashMobility.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 artificiales
SlashMobility.com
 
Herramientas de diseño UI
Herramientas de diseño UIHerramientas de diseño UI
Herramientas de diseño UI
SlashMobility.com
 
Hablemos de sueños
Hablemos de sueñosHablemos de sueños
Hablemos de sueños
SlashMobility.com
 
Trabajo en equipo
Trabajo en equipoTrabajo en equipo
Trabajo en equipo
SlashMobility.com
 
Android Wear
Android WearAndroid Wear
Android Wear
SlashMobility.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 inmaterial
SlashMobility.com
 
Diseñando para Apple Watch
Diseñando para Apple WatchDiseñando para Apple Watch
Diseñando para Apple Watch
SlashMobility.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 app
SlashMobility.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
 
Desarrollo con stack MEAN
Desarrollo con stack MEANDesarrollo con stack MEAN
Desarrollo con stack MEAN
SlashMobility.com
 
Marketing inbound para empresas B2B
Marketing inbound para empresas B2BMarketing inbound para empresas B2B
Marketing inbound para empresas B2B
SlashMobility.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 personaje
SlashMobility.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 ReactJS
SlashMobility.com
 
App marketing-ecommbrunch
App marketing-ecommbrunchApp marketing-ecommbrunch
App marketing-ecommbrunch
SlashMobility.com
 
Cómo customizar una app
Cómo customizar una appCómo customizar una app
Cómo customizar una app
SlashMobility.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 pantalla
SlashMobility.com
 
Primeros pasos para crear un videojuego
Primeros pasos para crear un videojuegoPrimeros pasos para crear un videojuego
Primeros pasos para crear un videojuego
SlashMobility.com
 

Más de 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
 

Último

Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 

Último (20)

Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 

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 );