SlideShare uma empresa Scribd logo
1 de 18
#MéridaTechMeetup
Desarrollo de aplicaciones multiplataforma con python y Kivy
Ernesto Crespo
● Blog: http://blog.crespo.org.ve
● Blog: http://ecrespo.github.io
● Github: https://github.com/ecrespo
● Bitbucket https://bitbucket.org/ecrespo
● Twitter: https://twitter.com/_seraph1
#MéridaTechMeetup
Desarrollo de aplicaciones multiplataforma con python y Kivy
“Sé curioso. Lee mucho. Trata nuevas cosas. Creo que lo que mucha gente
llama inteligencia solo se reduce a la curiosidad”. Aaron Swartz
"Desarrollo de aplicaciones multiplataforma con python y Kivy " by
Ernesto Crespo is licensed under a Creative Commons
Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
#MéridaTechMeetup
Desarrollo de aplicaciones multiplataforma con python y Kivy
Agenda:
● ¿Qué es Kivy?
● Soporta
● Instalación
● “Hola Mundo!” primera versión
● “Hola Mundo!” segunda versión
● Un botón
● Widget scatter (drag, rotar y escala)
● Reproductor de vídeo
● Demostraciones
● Referencias
● Preguntas
#MéridaTechMeetup
¿Qué es kivy?
Es una librería que permite usar Python para crear aplicaciones para el escritorio y
dispositivos móviles con soporte multitouch (multiplataforma).
#MéridaTechMeetup
Soporta
● GNU/Linux (Debian, Ubuntu, Fedora, ArchLinux, etc).
● Raspberry Pi
● IOS de Apple
● OSX de Apple
● Windows
● Android
#MéridaTechMeetup
Instalación
● Debian, Ubuntu y LinuxMint
● apt-get install python-kivy python3-kivy python-kivy-examples
● Con pip de Python
● pip install kivy (aplica para Linux en general, Windows y Mac si tienen pip instalado)
● Android e IOS (se necesita el SDK y NDK de Android en el equipo )
● https://bytedebugger.wordpress.com/2014/05/24/how-to-build-python-application-for-android-ios-and-desktop/
#MéridaTechMeetup
Primer programa (Hola Mundo, versión 1):
#!/usr/bin/env python
#Se importa kivy
import kivy
#Se válida que se esté usando la versión 1.8.0 de kivy
kivy.require('1.8.0')
#Se importa la clase App y el widget Label
from kivy.app import App
from kivy.uix.label import Label
#Se crea la clase HolaApp que hereda de App
class HolaApp(App):
#Se crea la función build
def build(self):
#Se retorna el widget Label con un texto y el tamaño del mismo
return Label(text='Hola Mundo!!!',
font_size=100)
if __name__ == "__main__":
#Se instancia la clase y se ejecuta
HolaApp().run()
#MéridaTechMeetup
Primer programa (Hola Mundo, versión 2): hola2.py
#!/usr/bin/env python
#Se importa kivy
import kivy
#Se valida que se use la versión 1.8.0 de kivy
kivy.require('1.8.0')
#Se importa la case App y el widget Label
from kivy.app import App
from kivy.uix.label import Label
#Se crea la Clase Hola2App que hereda de App
class Hola2App(App):
#Se define la función build que retorna el widget Label
#Esta vez sin ningún argumento ya que será manejado por el archivo hola2.kv
def build(self):
return Label()
if __name__ == "__main__":
#Se instancia la clase Hola2App y se ejecuta.
Hola2App().run()
#MéridaTechMeetup
Primer programa (Hola Mundo, versión 2): hola2.kv
# File name: hola2.kv
#:kivy 1.8.0
<Label>:
text: 'Hola mundo v 2!'
font_size:100
#MéridaTechMeetup
Segundo programa (Botón): hola3.py
#!/usr/bin/env python
#Se importa kivy
import kivy
#Se valida que se tiene la versión 1.8.0 de kivy
kivy.require('1.8.0')
#Se importa la clase App y el widget Button
from kivy.app import App
from kivy.uix.button import Button
#Se crea la clase Hola3App que hereda de App
class Hola3App(App):
#Se define el método build que devuelve el widget Button sin argumentos.
def build(self):
return Button()
if __name__ == "__main__":
#Se crea la instancia de la clase y se ejecuta.
Hola3App().run()
#MéridaTechMeetup
Segundo programa (Botón): hola3.kv
# File name: hello3.kv
#:kivy 1.8.0
<Button>:
text: 'Hola mundo v3!'
font_size:100
background_color:(0,0,1,1)
#MéridaTechMeetup
Widget de comportamiento scatter (drag, rotar, escala): hola4.py
#!/usr/bin/env python
#se importa kivy
import kivy
#Se válida que la versión de kivy sea la 1.8.0
kivy.require('1.8.0')
#Se importa la clase App
from kivy.app import App
#Se importa Scatter, Label y FloatLayout
from kivy.uix.scatter import Scatter
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
#Se crea la clase Hola4App que hereda de App
class Hola4App(App):
#Se define el método build
def build(self):
#Se instancia al objeto FloatLayout
f = FloatLayout()
#Se instancia al objeto Scatter
s = Scatter()
#Se instancia al objeto Label con el texto y el tamaño.
l = Label(text="Hola v4",font_size=100)
#Se agrega a FloatLayout la instancia del widget scatter
f.add_widget(s)
#Se agrega el widget Label a Scatter
s.add_widget(l)
#Se retorna la instancia de FloatLayout
return f
if __name__ == "__main__":
#Se ejecuta run de la instancia del objeto Hola4App
Hola4App().run()
#MéridaTechMeetup
Reproductor de Vídeo: video.py
#Se importa kivy y se valida que es la versión 1.8.0
import kivy
kivy.require('1.8.0')
#Se importa la clase App
from kivy.app import App
#Se importa Button, Widget y VideoPlayer
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.videoplayer import VideoPlayer
#Se instancia Widget y Button.
parent= Widget()
button= Button()
#MéridaTechMeetup
Reproductor de Vídeo: video.py
#Se crea la clase MyApp que hereda de App
class MyApp(App):
#Se define el método build.
def build(self):
#Se instancia Button con su texto y tamaño del mismo.
button = Button(text='Reproductor Video', font_size=14)
#Se asocia al boton la función on_button_press al argumento on_press
button.bind(on_press=on_button_press)
#Se agrega button a la instancia de parent
parent.add_widget(button) #agrega el boton
#Retorna parent
return parent
#MéridaTechMeetup
Reproductor de Vídeo: video.py
#Se define la función on_button_press
def on_button_press(self):
#Se crea la instancia de VideoPlayer donde se le pasa como argumento la fuente de vídeo,
#el estado y la opción allow_stretch True.
video= VideoPlayer(source='Tribus-SethGodin.webm', state='play',options={'allow_stretch': True})
#Se agrega el vídeo a la instancia parent
parent.add_widget(video) #add videoplayer
#Se retorna parent
return parent
if __name__ == '__main__':
MyApp().run()
#MéridaTechMeetup
Demostraciones!!
#MéridaTechMeetup
Referencias:
● Cómo construir una aplicación para Android, IOS y el escritorio
● https://bytedebugger.wordpress.com/2014/05/24/how-to-build-python-application-for-android-ios-and-desktop/
● Cómo construir una aplicación python para Android con Ubuntu y Buildozer
● https://kivyspacegame.wordpress.com/2014/06/30/tutorial-how-to-build-python-for-android-with-ubuntu-and-buildozer/
● Python para Android (usando el acelerometro:
● https://bytedebugger.wordpress.com/2014/07/17/python-for-android-tutorial-1-using-the-accelerometer/
● Python para Android (tomando una foto):
● https://bytedebugger.wordpress.com/2015/01/11/python-for-android-tutorial-3-user-interface-with-kivy-designer/
● Python para Android (Interface de usuario con Kivy Designer):
● https://bytedebugger.wordpress.com/2015/01/11/python-for-android-tutorial-3-user-interface-with-kivy-designer/
● Python para Android (Creando un juego con Kivy):
● https://bytedebugger.wordpress.com/2015/01/24/python-for-android-tutorial-5-our-first-mobile-game-with-kivy/
● Depurando el código con Android Studio:
● https://bytedebugger.wordpress.com/2015/01/17/python-for-android-tutorial-4-debugging-your-code-with-android-studio/
● Proyectos de kivy:
● https://github.com/kivy/kivy/wiki/List-of-Kivy-Projects
● Creando una aplicación con kivy:
● http://archlinux.me/dusty/2013/08/26/creating-an-application-in-kivy-part-9/
#MéridaTechMeetup
¿Preguntas?
Descarga de la presentación:
http://www.slideshare.net/ecrespo/desarrollo-de-aplicaciones-multiplataforma-con-python-y-kivy
Blog:http://blog.crespo.org.ve/search/label/kivy

Mais conteúdo relacionado

Destaque

Destaque (20)

Python para desarrollo web de ultima generación
Python para desarrollo web de ultima generaciónPython para desarrollo web de ultima generación
Python para desarrollo web de ultima generación
 
Kivy for you
Kivy for youKivy for you
Kivy for you
 
Python en Android
Python en AndroidPython en Android
Python en Android
 
Tutorial de matplotlib
Tutorial de matplotlibTutorial de matplotlib
Tutorial de matplotlib
 
Apresentação para Candidatos do MPCOMP Turma Aracati
Apresentação para Candidatos do MPCOMP Turma AracatiApresentação para Candidatos do MPCOMP Turma Aracati
Apresentação para Candidatos do MPCOMP Turma Aracati
 
Developing apps with Kivy
Developing apps with KivyDeveloping apps with Kivy
Developing apps with Kivy
 
Inteligência Artificial - Data Mining
Inteligência Artificial - Data MiningInteligência Artificial - Data Mining
Inteligência Artificial - Data Mining
 
Localización española de OpenERP: Instalación y funcionalidad
Localización española de OpenERP: Instalación y funcionalidadLocalización española de OpenERP: Instalación y funcionalidad
Localización española de OpenERP: Instalación y funcionalidad
 
nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)nombres, alcances y enlaces (lenguajes de programación)
nombres, alcances y enlaces (lenguajes de programación)
 
Internet de las cosas
Internet  de las cosasInternet  de las cosas
Internet de las cosas
 
Tutorial de numpy
Tutorial de numpyTutorial de numpy
Tutorial de numpy
 
Curso de IA - Parte 4 -
Curso de IA - Parte 4 -Curso de IA - Parte 4 -
Curso de IA - Parte 4 -
 
Curso de Inteligência Artificial - Parte 3 -
Curso de Inteligência Artificial - Parte 3 -Curso de Inteligência Artificial - Parte 3 -
Curso de Inteligência Artificial - Parte 3 -
 
Curso Inteligência Artificial - Parte 2 -
Curso Inteligência Artificial - Parte 2 -Curso Inteligência Artificial - Parte 2 -
Curso Inteligência Artificial - Parte 2 -
 
Informes en Odoo 8
Informes en Odoo 8Informes en Odoo 8
Informes en Odoo 8
 
Inteligência Artificial - Parte 5 -
Inteligência Artificial - Parte 5 - Inteligência Artificial - Parte 5 -
Inteligência Artificial - Parte 5 -
 
Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -Curso Inteligência Artificial - Parte 1 -
Curso Inteligência Artificial - Parte 1 -
 
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
Bases de Datos para Dispositivos Móviles - Unidad I Introducción a la Progra...
 
Tutorial para publicar cmap en web
Tutorial para publicar cmap en webTutorial para publicar cmap en web
Tutorial para publicar cmap en web
 
Logica programacao python-slides
Logica programacao python-slidesLogica programacao python-slides
Logica programacao python-slides
 

Semelhante a Desarrollo de aplicaciones multiplataforma con python y Kivy

Uso de Liferay SDK + Netbeans
Uso de Liferay SDK + NetbeansUso de Liferay SDK + Netbeans
Uso de Liferay SDK + Netbeans
Albert Coronado
 
Presentación Evenge #hackathonugr
Presentación Evenge #hackathonugrPresentación Evenge #hackathonugr
Presentación Evenge #hackathonugr
Ivan Ortega
 

Semelhante a Desarrollo de aplicaciones multiplataforma con python y Kivy (20)

S8-DS2.pptx
S8-DS2.pptxS8-DS2.pptx
S8-DS2.pptx
 
S8 ds2
S8 ds2S8 ds2
S8 ds2
 
Practica adicional
Practica adicionalPractica adicional
Practica adicional
 
Charla Hello Real World para PHPmad
Charla Hello Real World para PHPmadCharla Hello Real World para PHPmad
Charla Hello Real World para PHPmad
 
Tutorial CodeIgniter + Netbeans 7
Tutorial CodeIgniter + Netbeans 7Tutorial CodeIgniter + Netbeans 7
Tutorial CodeIgniter + Netbeans 7
 
¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?
 
Uso de Liferay SDK + Netbeans
Uso de Liferay SDK + NetbeansUso de Liferay SDK + Netbeans
Uso de Liferay SDK + Netbeans
 
Symfony
SymfonySymfony
Symfony
 
Presentación Evenge #hackathonugr
Presentación Evenge #hackathonugrPresentación Evenge #hackathonugr
Presentación Evenge #hackathonugr
 
Fundamentos de python con orientación a objetos y basado en problemas con bas...
Fundamentos de python con orientación a objetos y basado en problemas con bas...Fundamentos de python con orientación a objetos y basado en problemas con bas...
Fundamentos de python con orientación a objetos y basado en problemas con bas...
 
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+DinLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
inLab FIB MeteorJS workshop by uLab UPC - Telefonica I+D
 
WXWIDGET.PDF
WXWIDGET.PDFWXWIDGET.PDF
WXWIDGET.PDF
 
Virtualenv y buildout
Virtualenv y buildoutVirtualenv y buildout
Virtualenv y buildout
 
Instalacion de java y NetBeans
Instalacion de java y NetBeansInstalacion de java y NetBeans
Instalacion de java y NetBeans
 
Framework
FrameworkFramework
Framework
 
Desenredando el toolchain de Javascript
Desenredando el toolchain de JavascriptDesenredando el toolchain de Javascript
Desenredando el toolchain de Javascript
 
UDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrolloUDA-Plugin UDA. Guia de desarrollo
UDA-Plugin UDA. Guia de desarrollo
 
JSR354: Moneda y Dinero - Taller
JSR354: Moneda y Dinero - TallerJSR354: Moneda y Dinero - Taller
JSR354: Moneda y Dinero - Taller
 
Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
internet of things day 2014 (taller)
internet of things day 2014 (taller)internet of things day 2014 (taller)
internet of things day 2014 (taller)
 

Mais de Ernesto Crespo

Sistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y PythonSistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y Python
Ernesto Crespo
 
¿Como colaborar en Debian?
¿Como colaborar en Debian?¿Como colaborar en Debian?
¿Como colaborar en Debian?
Ernesto Crespo
 

Mais de Ernesto Crespo (12)

Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando Python
 
Usando Django con Docker
Usando Django con DockerUsando Django con Docker
Usando Django con Docker
 
"Ley de Infogobierno: antecedentes, situación actual y lo que se espera a fu...
 "Ley de Infogobierno: antecedentes, situación actual y lo que se espera a fu... "Ley de Infogobierno: antecedentes, situación actual y lo que se espera a fu...
"Ley de Infogobierno: antecedentes, situación actual y lo que se espera a fu...
 
Colaborar debian
Colaborar debianColaborar debian
Colaborar debian
 
Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012
 
Sistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y PythonSistema de Mensajeria de Colas con ZeroMQ y Python
Sistema de Mensajeria de Colas con ZeroMQ y Python
 
Taller de Empaquetado para Debian y Canaima
Taller de Empaquetado para Debian y CanaimaTaller de Empaquetado para Debian y Canaima
Taller de Empaquetado para Debian y Canaima
 
Gestión de configuración distribuída para la plataforma de Canaima
Gestión de configuración distribuída para la plataforma de Canaima Gestión de configuración distribuída para la plataforma de Canaima
Gestión de configuración distribuída para la plataforma de Canaima
 
Colaborar en Debian
Colaborar en DebianColaborar en Debian
Colaborar en Debian
 
Gestión de configuración con mercurial y etckeeper
Gestión de configuración con mercurial y etckeeperGestión de configuración con mercurial y etckeeper
Gestión de configuración con mercurial y etckeeper
 
Empaquetar un paquete Debian por medio de mercurial
Empaquetar un paquete Debian por medio de mercurialEmpaquetar un paquete Debian por medio de mercurial
Empaquetar un paquete Debian por medio de mercurial
 
¿Como colaborar en Debian?
¿Como colaborar en Debian?¿Como colaborar en Debian?
¿Como colaborar en Debian?
 

Desarrollo de aplicaciones multiplataforma con python y Kivy

  • 1. #MéridaTechMeetup Desarrollo de aplicaciones multiplataforma con python y Kivy Ernesto Crespo ● Blog: http://blog.crespo.org.ve ● Blog: http://ecrespo.github.io ● Github: https://github.com/ecrespo ● Bitbucket https://bitbucket.org/ecrespo ● Twitter: https://twitter.com/_seraph1
  • 2. #MéridaTechMeetup Desarrollo de aplicaciones multiplataforma con python y Kivy “Sé curioso. Lee mucho. Trata nuevas cosas. Creo que lo que mucha gente llama inteligencia solo se reduce a la curiosidad”. Aaron Swartz "Desarrollo de aplicaciones multiplataforma con python y Kivy " by Ernesto Crespo is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
  • 3. #MéridaTechMeetup Desarrollo de aplicaciones multiplataforma con python y Kivy Agenda: ● ¿Qué es Kivy? ● Soporta ● Instalación ● “Hola Mundo!” primera versión ● “Hola Mundo!” segunda versión ● Un botón ● Widget scatter (drag, rotar y escala) ● Reproductor de vídeo ● Demostraciones ● Referencias ● Preguntas
  • 4. #MéridaTechMeetup ¿Qué es kivy? Es una librería que permite usar Python para crear aplicaciones para el escritorio y dispositivos móviles con soporte multitouch (multiplataforma).
  • 5. #MéridaTechMeetup Soporta ● GNU/Linux (Debian, Ubuntu, Fedora, ArchLinux, etc). ● Raspberry Pi ● IOS de Apple ● OSX de Apple ● Windows ● Android
  • 6. #MéridaTechMeetup Instalación ● Debian, Ubuntu y LinuxMint ● apt-get install python-kivy python3-kivy python-kivy-examples ● Con pip de Python ● pip install kivy (aplica para Linux en general, Windows y Mac si tienen pip instalado) ● Android e IOS (se necesita el SDK y NDK de Android en el equipo ) ● https://bytedebugger.wordpress.com/2014/05/24/how-to-build-python-application-for-android-ios-and-desktop/
  • 7. #MéridaTechMeetup Primer programa (Hola Mundo, versión 1): #!/usr/bin/env python #Se importa kivy import kivy #Se válida que se esté usando la versión 1.8.0 de kivy kivy.require('1.8.0') #Se importa la clase App y el widget Label from kivy.app import App from kivy.uix.label import Label #Se crea la clase HolaApp que hereda de App class HolaApp(App): #Se crea la función build def build(self): #Se retorna el widget Label con un texto y el tamaño del mismo return Label(text='Hola Mundo!!!', font_size=100) if __name__ == "__main__": #Se instancia la clase y se ejecuta HolaApp().run()
  • 8. #MéridaTechMeetup Primer programa (Hola Mundo, versión 2): hola2.py #!/usr/bin/env python #Se importa kivy import kivy #Se valida que se use la versión 1.8.0 de kivy kivy.require('1.8.0') #Se importa la case App y el widget Label from kivy.app import App from kivy.uix.label import Label #Se crea la Clase Hola2App que hereda de App class Hola2App(App): #Se define la función build que retorna el widget Label #Esta vez sin ningún argumento ya que será manejado por el archivo hola2.kv def build(self): return Label() if __name__ == "__main__": #Se instancia la clase Hola2App y se ejecuta. Hola2App().run()
  • 9. #MéridaTechMeetup Primer programa (Hola Mundo, versión 2): hola2.kv # File name: hola2.kv #:kivy 1.8.0 <Label>: text: 'Hola mundo v 2!' font_size:100
  • 10. #MéridaTechMeetup Segundo programa (Botón): hola3.py #!/usr/bin/env python #Se importa kivy import kivy #Se valida que se tiene la versión 1.8.0 de kivy kivy.require('1.8.0') #Se importa la clase App y el widget Button from kivy.app import App from kivy.uix.button import Button #Se crea la clase Hola3App que hereda de App class Hola3App(App): #Se define el método build que devuelve el widget Button sin argumentos. def build(self): return Button() if __name__ == "__main__": #Se crea la instancia de la clase y se ejecuta. Hola3App().run()
  • 11. #MéridaTechMeetup Segundo programa (Botón): hola3.kv # File name: hello3.kv #:kivy 1.8.0 <Button>: text: 'Hola mundo v3!' font_size:100 background_color:(0,0,1,1)
  • 12. #MéridaTechMeetup Widget de comportamiento scatter (drag, rotar, escala): hola4.py #!/usr/bin/env python #se importa kivy import kivy #Se válida que la versión de kivy sea la 1.8.0 kivy.require('1.8.0') #Se importa la clase App from kivy.app import App #Se importa Scatter, Label y FloatLayout from kivy.uix.scatter import Scatter from kivy.uix.label import Label from kivy.uix.floatlayout import FloatLayout #Se crea la clase Hola4App que hereda de App class Hola4App(App): #Se define el método build def build(self): #Se instancia al objeto FloatLayout f = FloatLayout() #Se instancia al objeto Scatter s = Scatter() #Se instancia al objeto Label con el texto y el tamaño. l = Label(text="Hola v4",font_size=100) #Se agrega a FloatLayout la instancia del widget scatter f.add_widget(s) #Se agrega el widget Label a Scatter s.add_widget(l) #Se retorna la instancia de FloatLayout return f if __name__ == "__main__": #Se ejecuta run de la instancia del objeto Hola4App Hola4App().run()
  • 13. #MéridaTechMeetup Reproductor de Vídeo: video.py #Se importa kivy y se valida que es la versión 1.8.0 import kivy kivy.require('1.8.0') #Se importa la clase App from kivy.app import App #Se importa Button, Widget y VideoPlayer from kivy.uix.button import Button from kivy.uix.widget import Widget from kivy.uix.videoplayer import VideoPlayer #Se instancia Widget y Button. parent= Widget() button= Button()
  • 14. #MéridaTechMeetup Reproductor de Vídeo: video.py #Se crea la clase MyApp que hereda de App class MyApp(App): #Se define el método build. def build(self): #Se instancia Button con su texto y tamaño del mismo. button = Button(text='Reproductor Video', font_size=14) #Se asocia al boton la función on_button_press al argumento on_press button.bind(on_press=on_button_press) #Se agrega button a la instancia de parent parent.add_widget(button) #agrega el boton #Retorna parent return parent
  • 15. #MéridaTechMeetup Reproductor de Vídeo: video.py #Se define la función on_button_press def on_button_press(self): #Se crea la instancia de VideoPlayer donde se le pasa como argumento la fuente de vídeo, #el estado y la opción allow_stretch True. video= VideoPlayer(source='Tribus-SethGodin.webm', state='play',options={'allow_stretch': True}) #Se agrega el vídeo a la instancia parent parent.add_widget(video) #add videoplayer #Se retorna parent return parent if __name__ == '__main__': MyApp().run()
  • 17. #MéridaTechMeetup Referencias: ● Cómo construir una aplicación para Android, IOS y el escritorio ● https://bytedebugger.wordpress.com/2014/05/24/how-to-build-python-application-for-android-ios-and-desktop/ ● Cómo construir una aplicación python para Android con Ubuntu y Buildozer ● https://kivyspacegame.wordpress.com/2014/06/30/tutorial-how-to-build-python-for-android-with-ubuntu-and-buildozer/ ● Python para Android (usando el acelerometro: ● https://bytedebugger.wordpress.com/2014/07/17/python-for-android-tutorial-1-using-the-accelerometer/ ● Python para Android (tomando una foto): ● https://bytedebugger.wordpress.com/2015/01/11/python-for-android-tutorial-3-user-interface-with-kivy-designer/ ● Python para Android (Interface de usuario con Kivy Designer): ● https://bytedebugger.wordpress.com/2015/01/11/python-for-android-tutorial-3-user-interface-with-kivy-designer/ ● Python para Android (Creando un juego con Kivy): ● https://bytedebugger.wordpress.com/2015/01/24/python-for-android-tutorial-5-our-first-mobile-game-with-kivy/ ● Depurando el código con Android Studio: ● https://bytedebugger.wordpress.com/2015/01/17/python-for-android-tutorial-4-debugging-your-code-with-android-studio/ ● Proyectos de kivy: ● https://github.com/kivy/kivy/wiki/List-of-Kivy-Projects ● Creando una aplicación con kivy: ● http://archlinux.me/dusty/2013/08/26/creating-an-application-in-kivy-part-9/
  • 18. #MéridaTechMeetup ¿Preguntas? Descarga de la presentación: http://www.slideshare.net/ecrespo/desarrollo-de-aplicaciones-multiplataforma-con-python-y-kivy Blog:http://blog.crespo.org.ve/search/label/kivy