Documentos de Académico
Documentos de Profesional
Documentos de Cultura
D3 2
D3 2
ACCIONES COFINANCIADAS CON FONDOS COMUNITARIOS DEL FONDO SOCIAL EUROPEO, A TRAVS DEL PROGRAMA OPERATIVO FONDO SOCIAL EUROPEO DE CANARIAS 20072013 CON UN PORCENTAJE DE CONFINANCIACIN DEL 85%.
Da 1 Qu es Android? Actividades e intenciones Da 2 Layouts y controles grficos Recursos, mens y dilogos Da 3 Persistencia de datos y content providers Grficos y animaciones 2D y 3D Da 4 Servicios en segundo plano Control del hardware especial Da 5 App Widgets y Live folders Publicacin de aplicaciones
View
Sobrescribir mtodo onDraw() API Grfica `Clsica Canvas
Tiene las operaciones de pintado
Paint
Es el pincel con el que pintamos
Bitmap
Es el lugar donde pintamos (encapsulado por el Canvas)
SurfaceView
Actualizado por un segundo hilo Ideal para operaciones pesadas de pintado No bloquea la aplicacin Adios al dialogo La actividad no responde! Ideal para previsualizar la cmara, 3D, etc. Mayor uso de memoria No todo son ventajas
Drawable
android.graphics.drawable.*
Drawable
Simples:
Bitmap. Nine Patch. PNG especial con marcas para su redimensin. Shape. Vectorial, al modificar tamao mantiene calidad.
Compuestos:
Layers. Muestra unos sobre otros. States. Muestra uno basado en su estado (pulsado, ). Levels. Muestra uno basado en su nivel (ej. batera).
Drawable
Ej. Shape
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" android:innerRadiusRatio="3" android:thicknessRatio="8" android:useLevel="false"> <gradient android:type="sweep" android:useLevel="false" android:startColor="#4c737373" android:centerColor="#4c737373" android:centerY="0.50" android:endColor="#ffffd300" /> </shape>
Dos tipos
Frame by Frame Interpolado
Frame by Frame
Se basa en mostrar diferentes elementos
Frame by Frame
Definicin XML
<animation-list android:id="selected" android:oneshot="false"> <item android:drawable="@drawable/wheel0" android:duration="50" <item android:drawable="@drawable/wheel1" android:duration="50" <item android:drawable="@drawable/wheel2" android:duration="50" <item android:drawable="@drawable/wheel3" android:duration="50" <item android:drawable="@drawable/wheel4" android:duration="50" <item android:drawable="@drawable/wheel5" android:duration="50" </animation-list> /> /> /> /> /> />
Frame by Frame
Asignacin y comienzo por cdigo
ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image); img.setBackgroundResource(R.drawable.spin_animation); AnimationDrawable animation = (AnimationDrawable) img.getBackground(); animation.start()
Interpolado
til para transiciones y feedback al usuario Transicin entre actividades, layouts, contenidos, `Agitar un campo errneo Se definen estados inicial y final El sistema interpola la modificacin gradual conforme al tiempo Simple de usar y ms eficiente que pintar `a
mano
Interpolado
Transformaciones Opacidad AlphaAnimation Rotacin RotateAnimation Escalado ScaleAnimation Traslacin TranslateAnimation AnimationSet Permite combinar transformaciones
Interpolado
<?xml version=1.0 encoding=utf-8?> <set xmlns:android=http://schemas.android.com/apk/res/android
android:shareInterpolator=true>
<rotate android:fromDegrees=0 android:toDegrees=360 android:pivotX=50% android:pivotY=50% android:startOffset=0 android:duration=1000 /> <alpha android:fromAlpha=1.0 android:toAlpha=0.0 android:startOffset=500 android:duration=500 /> </set>
Interpolado
Animation exampleAnim = AnimationUtils.loadAnimation(this,
exampleAnim.setRepeatMode(Animation.RESTART); exampleAnim.setRepeatCount(Animation.INFINITE); myView.startAnimation(exampleAnim);
R.anim .example_anim);
Interpolado
Diferentes interpoladores
AccelerateDecelerateInterpolator AccelerateInterpolator AnticipateInterpolator AnticipateOvershootInterpolator BounceInterpolator CycleInterpolator DecelerateInterpolator LinearInterpolator OvershootInterpolator
Interpolado
LayoutAnimation Permite animar layouts y view groups Tiene lugar cuando se hace el layout LayoutAnimationController
Aplica una animacin a cada vista hija Interpolador, direccin y el delay de comienzo config. Se puede personalizar getDelayForView()
GridLayoutAnimationController
Adicionalmente permite indicar la secuencia usando como referencia fila/columna
Interpolado
Cundo empieza o termina una animacin? AnimationListener
onAnimationStart onAnimationEnd onAnimationRestart
Showroom
Speed Forge 3D
Desarrollado por un desarrollador independiente Control con acelermetro Pionero en grficos 3D Usado para demostrar
capacidad grfica
Grficos 3D == OpenGL ES
Soportada versin 1.0 Corresponde a 1.3 de la versin de escritorio Soporte bsico de 1.1, no completo
GLSurfaceView
Vista sobre la que pinta OpenGL Deriva de SurfaceView Dos modo de pintado Continuo Bajo demanda Necesita ser notificado del ciclo de vida de la
GLSurfaceView
Comunicacin entre threads Uso de queueEvent Necesitaremos comunicar UI Thread con Renderer Thread
Toda entrada del usuario la recibiremos en el UI Thread
setRenderer() Solo se debe llamar una vez por GLSurfaceView Dispara el hilo de renderizacin
GLSurfaceView.Renderer
A partir de 1.5 Permite de forma sencilla realizar
GLSurfaceView.Renderer
onSurfaceCreated Configuracin onSurfaceChanged Viewport Matriz de proyeccin Frustum onDrawFrame Limpiar Pintar
Grficos 2D y Animaciones
Android Developer Reference
http://developer.android.com/guide/topics/graphics/2d-graphics.html
OpenGL
Khronos Groups OpenGL ES Overview
http://www.khronos.org/opengles/