Download - ¿Cómo iniciarse en programación Android?

Transcript
Page 1: ¿Cómo iniciarse en programación Android?
Page 2: ¿Cómo iniciarse en programación Android?

1) Fomentar el gusto por la programación Android y móvil2) Señalar la importancia de las aplicaciones móviles en el mundo actual.3) Proporcionar un panorama general del ambiente y competencias necesarias para desarrollar en plataforma Android4) Mostrar un punto de inicio y ruta con el cual puedan iniciarse en el desarrollo móvil

Agenda

Page 3: ¿Cómo iniciarse en programación Android?

•Cadadíamásde1millóndedispositivossonactivadosa

nivelmundial•300partnersdehardware,

software,ycarrier•1.5billionesdedescargasal

mesycontando

•Monetizarenlaformaenquefuncionemejor

¿Por qué Aprender Android?

85,5 % de las consultas a Internet son hechas a través de un móvil

Page 4: ¿Cómo iniciarse en programación Android?

¿Cuanto nos cuesta Desarrollar en Móvil?

•Licencia de desarrollador: $25 US•Dispositivo: Nexus 7 (nuevo libre $315

US)•Ordenador: $580 US (HP gama media)•Total: $920 US

•Licencia de desarrollador: $110.07 US al año•Dispositivo: iPhone 5 (nuevo libre $920.48)•Ordenador: La gama más baja es Mac mini

(nuevo $892.96 US)•Total: $1,923.51 US

¡Requiere 209% más inversión desararrollar iOS!

Page 5: ¿Cómo iniciarse en programación Android?

¿Qué es Android?•SistemaoperativoparamóvilesOpenSourcepersonalizable•Laplataformamóvilmáspopularanivelmundial•BasadoenLinux•DiseñadoparaDispositivosMóvilesconpantallatáctil•SecomponedeappsqueseejecutanenunframeworkJavasobreunaMáquinaVirtualllamadaDalvik

Page 6: ¿Cómo iniciarse en programación Android?

Vista de alto nivel del stack de software Android

AndroidSDK

Runtime

OpenGL,WebKit,Graphics,SQLite,Media,FreeType

Drivers

Page 7: ¿Cómo iniciarse en programación Android?

Herramientas del Desarrollador Android

Page 8: ¿Cómo iniciarse en programación Android?

Android Developer Tools

Podemoshacernosdeestaherramientadevariasformas:

•PaqueteBundlequeincluyeEclipse+ADTplugin+AndroidSDKTools•SiyatenemosunIDEpodemosdescargarADTplugin+AndroidSDKTools•AndroidStudio.BasadoenIntelliJ(Beta)

http://developer.android.com/sdk/index.html

Page 9: ¿Cómo iniciarse en programación Android?

¿Y si no tengo un dispositivo físico ?

•ADTnosproveeconunaherramientaquenospermiteemularcualquierdispositivoycualquierversióndelsistemaoperativo,estaherramientaeselAVDManager(Android Virtual Device).

Page 10: ¿Cómo iniciarse en programación Android?

Habilidades del Desarrollador

Page 11: ¿Cómo iniciarse en programación Android?

¿Qué debo saber para desarrollar en Android?1.Java+Programación Orientada a Objetos+XML2.ReglasdelJuegoAndroid

+ CiclodeVidadelaaplicación+ ManejodeRecursos

3.PatronesdeDiseño(Programación)4.DiseñodeInterfacesGráficas,UX

+ MiAndroidnoesuniphone+ DiseñolimpiosypensarencadapantalladelaappcomounaActividadquesepuederealizar.

5.Deseable:TesteodeAplicaciones

Page 12: ¿Cómo iniciarse en programación Android?

“Saber java no te hace un Programador Android, pero como te ayuda”

Page 13: ¿Cómo iniciarse en programación Android?

¿Cómo estructurar una aplicación Android?: Actividades y Fragmentos1.Androidsebasaenlametáforadeloquehacemosencadapantallaesunaactividad(Activity).

2. Fragmento(Fragment),queesunaporcióndelcomportamientodeunaactividad,dichodeotra,unaporcióndelainterfazgráfica.

Page 14: ¿Cómo iniciarse en programación Android?
Page 15: ¿Cómo iniciarse en programación Android?

No hay método Main

<activity android:name=”.MainActivity” android:label=”@string/app_name”><intent-filter> <action android:name=”android.intent.action.MAIN” /> <category android:name=”android.intent.category.LAUNCHER” /></intent-filter></activity> AndroidManifest.xml

Page 16: ¿Cómo iniciarse en programación Android?

Ciclo de vida de las Aplicaciones Android

Estados de la App:+ Resumed+ Paused+ Stopped

Page 17: ¿Cómo iniciarse en programación Android?

Organización de Recursos

•src: ArchivosfuentesJava•layout:Interfacesgráficas•values:Valores(cadenasdetexto)•menu:Menús(contextualesodelabarradeacción)•drawable:Losdrawablessonarchivosdeimágenes(png,jpg,gif,etc)oanimacionesXML

R

•layout

•values

•menu

•drawable

Page 18: ¿Cómo iniciarse en programación Android?

Todo se maneja por Intenciones

Intent.:Esunobjetodemensajequeseutilizaparasolicitarunaaccióndeotrocomponentedeaplicación:• Iniciar una Actividad• Iniciar un Servicio• Entregar un Broadcast

Intent

Explicito Implicito

Page 19: ¿Cómo iniciarse en programación Android?

InterfazGráficayUX

Page 20: ¿Cómo iniciarse en programación Android?

Resolución

960x1280480x600

720x1280

480x800320x480

320x480

1080x1920

768x1280

480x854

540x960

1136x960

240x320

640x960

xxhdpixhdpi hdpi

ldpi mdpi

Page 21: ¿Cómo iniciarse en programación Android?

Screen Ratio

OlvidensedePixelPerfect

¡Piensen en Relativo!

Page 22: ¿Cómo iniciarse en programación Android?

Diseño de Interfaz•Lostabsvanenlapartesuperior•Nohaybotónde“Atrás”enlaapp,paraesoestáelbotóndelsistema.•LosiconosdelSistemanotienquesercuadrados.•Noserecomiendanspashscreens.•Evitalasopcionesescondidas.•Actionbarpuedetenerinteracción.Usenla!•NavigationDrawer.•Loscoloresyprácticamentetodosepuedepersonalizar.

Page 23: ¿Cómo iniciarse en programación Android?

¿Patrón o Antipatrón?

Page 24: ¿Cómo iniciarse en programación Android?

¿Bien o Mal?

Page 25: ¿Cómo iniciarse en programación Android?

¿Bien o Mal?

Page 26: ¿Cómo iniciarse en programación Android?

¿Bien o Mal?

Page 27: ¿Cómo iniciarse en programación Android?

¿Bien o Mal?

Page 28: ¿Cómo iniciarse en programación Android?

Demo

Page 29: ¿Cómo iniciarse en programación Android?

Conclusiones•Norequieremuchainversión.•Tienesuspropiasreglasdediseño(noclonenAppsdeiOS)•Esimportantesabercomosecomportanlasactividades.•ConvienetenerunabuenabasedeJava.•Esimportantesabermetodologiasybuenasprácticasdedesarrrollo

•¡Android SDK es solo el inicio!

Page 30: ¿Cómo iniciarse en programación Android?

¿Donde puedo aprender más?•www.developer.android.com•Cursos/Diplomados/Talleres•Libros:

+ PROANDROID4+ INTRODUCTIONTOANDROIDAPPLICATIONDEVELOPMENT

•Coursera.org•Comunidades•Youtube•StackOverflow.com

Page 31: ¿Cómo iniciarse en programación Android?

[email protected]://mariouz.com/

desarrolloagileveracruz.wordpress.com

@MariouzAlmriveradominguez1

Gracias,¿Preguntas?