Desarrollo de software sobre dispositivos moviles

4,374 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,374
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
319
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • * Application framework enabling reuse and replacement of components * Dalvik virtual machine optimized for mobile devices * Integrated browser based on the open source WebKit engine * Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) * SQLite for structured data storage * Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) * GSM Telephony (hardware dependent) * Bluetooth, EDGE, 3G, and WiFi (hardware dependent) * Camera, GPS, compass, and accelerometer (hardware dependent) * Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
  • Applications Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language. Application Framework Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user. Underlying all applications is a set of services and systems, including: * A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser * Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data * A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files * A Notification Manager that enables all applications to display custom alerts in the status bar * An Activity Manager that manages the life cycle of applications and provides a common navigation backstack For more details and a walkthrough of an application, see Writing an Android Application. Libraries Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below: * System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices * Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG * Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications * LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view * SGL - the underlying 2D graphics engine * 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer * FreeType - bitmap and vector font rendering * SQLite - a powerful and lightweight relational database engine available to all applications Android Runtime Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management. Linux Kernel Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
  • Desarrollo de software sobre dispositivos moviles

    1. 1. DESARROLLO DE APLICACIONES MOVILES - ANDROID - Facultad de ciencias exactas y tecnologicas Universidad “UTEPSA” Ing. Frank Ortiz
    2. 2. NECESITAMOS DISPOSITIVOS MOVILES ?
    3. 3. DISPOSITIVOS MOVILES
    4. 4. APLICANDO TECNOLOGIA MOVIL
    5. 5. <ul><li>Según Amipci-Amece (www.amece.org.mx), 96% de los internautas poseen celular: </li></ul><ul><ul><ul><li>Nokia 26% </li></ul></ul></ul><ul><ul><ul><li>SonyEricsson 23% </li></ul></ul></ul><ul><ul><ul><li>Motorola 21% </li></ul></ul></ul><ul><ul><ul><li>LG 6% </li></ul></ul></ul><ul><ul><ul><li>Ericsson 5% </li></ul></ul></ul><ul><ul><ul><li>Samsung 4% </li></ul></ul></ul><ul><ul><ul><li>Siemens, BenQ, Blackberry 1% (cada uno) </li></ul></ul></ul><ul><ul><ul><li>Otros 8% </li></ul></ul></ul>ESTADISTICAS
    6. 6. ESQUEMA FUNCIONAL CLIENT APPLICATION SERVER DATABASE
    7. 7. <ul><li>Diferentes dispositivos </li></ul><ul><li>PDAs (Pocket PC) </li></ul><ul><li>SmartPhone </li></ul><ul><li>Híbridos </li></ul><ul><li>Otros … </li></ul><ul><li>Diferentes tecnologías de comunicaciones </li></ul><ul><li>Bluetooth </li></ul><ul><li>IrDa </li></ul><ul><li>WiFi </li></ul><ul><li>WiMax </li></ul><ul><li>GSM </li></ul><ul><li>GPRS </li></ul><ul><li>UMTS … </li></ul>ALTERNATIVAS EN EL DESARROLLO (1)
    8. 8. <ul><li>Posibles aplicaciones: </li></ul><ul><ul><li>Aplicaciones web / instalación en el servidor </li></ul></ul><ul><ul><li>Aplicaciones locales / instalación en el cliente. </li></ul></ul><ul><li>A) Envío de datos a larga distancia </li></ul><ul><ul><ul><ul><ul><li>Servicios Web Xml </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Sockets – Definición de protocolo </li></ul></ul></ul></ul></ul><ul><li>B) Envío de datos a corta distancia </li></ul><ul><ul><ul><ul><ul><li>Bluetooth </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Infrarrojos </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>RAPI (ActiveSync) </li></ul></ul></ul></ul></ul>ALTERNATIVAS EN EL DESARROLLO (2)
    9. 9. <ul><li>J2ME (Java Micro Edition) -> Netbeans, Eclipse </li></ul><ul><li>.NET Compact Framework -> Visual Studio.Net </li></ul><ul><li>Aplicaciones Nativas (C, C++): eMbedded Visual Tools: está conformada por eMbedded Visual Basic y eMbedded Visual C++. -> CodeWrite Borland. </li></ul><ul><li>Symbian SDK, Netbeans, Eclipse </li></ul><ul><li>Android SDK (Java), Eclipse, pronto Netbeans </li></ul>PLATAFORMA/HERRAMIENTA DE DESARROLLO / RAD SMARTCLIENT
    10. 10. <ul><li>Servidores de aplicaciones: </li></ul><ul><li>IIS – Internet Information Server + complemento </li></ul><ul><li>Apache + complemento </li></ul><ul><li>Mobile Information Server </li></ul><ul><li>Volantis Mobility Server (http://www.volantis.com) </li></ul><ul><li>Enhydra Server (http://www.enhydra.org),Open Source Java/XML application and webservice server </li></ul>PLATAFORMAS DE PRODUCCION APPLICATION SERVER
    11. 11. <ul><li>Tecnología en Infrastructura </li></ul><ul><ul><li>Servidor(es) </li></ul></ul><ul><ul><li>Networking </li></ul></ul><ul><ul><li>Seguridad </li></ul></ul><ul><ul><li>Acceso a Internet </li></ul></ul><ul><ul><li>Direcciones IP publicas/Dominio </li></ul></ul><ul><ul><li>Etc. </li></ul></ul><ul><li>Costos </li></ul><ul><ul><li>Infraestructura </li></ul></ul><ul><ul><li>Software/Tools/Frameworks </li></ul></ul><ul><ul><li>Medios de comunicacion/Transmision de data </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>FACTORES A TOMAR ENCUENTA
    12. 12. ANDROID - GOOGLE PHONE -
    13. 13. <ul><li>Que es Android? </li></ul><ul><li>La plataforma Android es una conjunto de software para dispositivos móviles que incluye un sistema operativo, middleware y aplicaciones clave. Los desarrolladores pueden crear aplicaciones para la plataforma usando el SDK de Android. Las solicitudes se han escrito utilizando el lenguaje de programación Java y se ejecutan en Dalvik, una máquina virtual personalizado diseñado para uso embebido que se ejecuta en la parte superior de un núcleo de Linux </li></ul>ANDROID
    14. 14. <ul><li>Application Framework </li></ul><ul><li>Dalvik virtual machine </li></ul><ul><li>Integrated (webkit) browser </li></ul><ul><li>2D and 3D graphics APIs with HW </li></ul><ul><li>SQLite </li></ul><ul><li>Video and audio codecs </li></ul><ul><li>Bluetooth, EDGE, 3G, and WiFi </li></ul><ul><li>Camera, GPS, compass, and accelerometer </li></ul>Características de Android
    15. 15. APLICATION FRAMEWORK
    16. 16. <ul><li>Java Development Kit, JDK 5 or JDK 6 </li></ul><ul><ul><li>http://java.sun.com </li></ul></ul><ul><li>Eclipse </li></ul><ul><ul><li>http://www.eclipse.org/downloads/ </li></ul></ul><ul><li>ADT (Android Development Tool) y Android SDK (Emulator) </li></ul><ul><ul><li>http://code.google.com/android/download.html </li></ul></ul>REQUISITOS DE INSTALACION ANDROID
    17. 17. <ul><li>Anatomia de aplicaciones Android </li></ul><ul><li>Tenemos 4 building blocks: </li></ul><ul><ul><li>Activity </li></ul></ul><ul><ul><li>Broadcast Intent Receiver </li></ul></ul><ul><ul><li>Service </li></ul></ul><ul><ul><li>Content Provider </li></ul></ul>PROGRAMMING (1)
    18. 18. package com.fortiz.contadorrings; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ContadorRings extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText(&quot;Hello, Android&quot;); setContentView( tv ); //setContentView(R.layout.main); } } PROGRAMMING (2)
    19. 19. PROGRAMMING (3)
    20. 20. PROGRAMMING (4)
    21. 21. PROGRAMMING (5)
    22. 22. VIDEO RELAX
    23. 23. <ul><li>El cómputo móvil llegó para quedarse y es toda una realidad (ya no es una tecnología emergente). </li></ul><ul><li>El cómputo móvil apenas se empieza a desarrollar por lo que existen muchas áreas de oportunidad ($). </li></ul><ul><li>La mayoría de las aplicaciones son para el área de entretenimiento </li></ul><ul><li>El cómputo móvil no va sustituir otra clase de cómputo pero si está modificando el actual. </li></ul><ul><li>Se deben tomar consideraciones muy particulares para el desarrollo de software en dispositivos móviles ya que no es cierto que sean “aplicaciones en miniaturas”. </li></ul><ul><li>Tenemos una nueva alternativa Abierta para el futuro de las aplicaciones moviles </li></ul>CONCLUSIONES
    24. 24. Gracias !

    ×