¿Cómo iniciarse en programación Android?

Post on 29-Nov-2014

274 views 8 download

description

Presentación en el marco del día mundial del Internet en la biblioteca Digital Telmex Nuevo Veracruz(17-05-2014). Agenda 1) Fomentar el gusto por la programación Android y móvil 2) 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 Android 4) Mostrar un punto de inicio y ruta con el cual puedan iniciarse en el desarrollo móvil

Transcript of ¿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

•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

¿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!

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

Vista de alto nivel del stack de software Android

AndroidSDK

Runtime

OpenGL,WebKit,Graphics,SQLite,Media,FreeType

Drivers

Herramientas del Desarrollador Android

Android Developer Tools

Podemoshacernosdeestaherramientadevariasformas:

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

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

¿Y si no tengo un dispositivo físico ?

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

Habilidades del Desarrollador

¿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

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

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

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

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

Ciclo de vida de las Aplicaciones Android

Estados de la App:+ Resumed+ Paused+ Stopped

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

Todo se maneja por Intenciones

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

Intent

Explicito Implicito

InterfazGráficayUX

Resolución

960x1280480x600

720x1280

480x800320x480

320x480

1080x1920

768x1280

480x854

540x960

1136x960

240x320

640x960

xxhdpixhdpi hdpi

ldpi mdpi

Screen Ratio

OlvidensedePixelPerfect

¡Piensen en Relativo!

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

¿Patrón o Antipatrón?

¿Bien o Mal?

¿Bien o Mal?

¿Bien o Mal?

¿Bien o Mal?

Demo

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

•¡Android SDK es solo el inicio!

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

+ PROANDROID4+ INTRODUCTIONTOANDROIDAPPLICATIONDEVELOPMENT

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

ace.mrivera@gmail.comhttp://mariouz.com/

desarrolloagileveracruz.wordpress.com

@MariouzAlmriveradominguez1

Gracias,¿Preguntas?