SlideShare a Scribd company logo
1 of 16
Python & Android




               @yedpodtrzitko
TL;DR
Dalvik apps




         Application framework



Dalvik
 VM
                  Libs




              Linux kernel
Dalvik apps




            Application framework



            Dalvik
Python       VM
                               Libs
(bin/lib)



                 Linux kernel
Dalvik apps




            Application framework



            Dalvik
Python       VM
                               Libs
(bin/lib)



                 Linux kernel
Scripting
 Layer 4                  Dalvik apps
Android



              Application framework



              Dalvik
  Python       VM
                              Libs
  (bin/lib)



                   Linux kernel
/sdcard/
                   import android
SL4A/app.py
 Scripting               Dalvik apps
                   droid = android.Android()
   Layer 4
  Android           name = droid.
                    getInput("Hi!", "Ur name?")
               Application framework
    RPC             res = name.result

                    droid.makeToast("Hi,
               Dalvik %s"%res)
   Python       VM
                               Libs
   (bin/lib)



                   Linux kernel
/sdcard/
SL4A/app.py
 Scripting                 Dalvik apps
   Layer 4
  Android


               Application framework
    RPC


               Dalvik
   Python       VM
                               Libs
   (bin/lib)



                    Linux kernel
Scripting
                                         PySide
 Layer 4             Dalvik apps
                                        Launcher
Android



                Application framework


                                          PySide
            Dalvik
Python       VM
                        Libs
(bin/lib)
                                            QT


                     Linux kernel
from PySide.QtCore import *
                                           /sdcard/
from PySide.QtGui import *
 Scripting                                 main.py
  Layer 4        Dalvik apps
app = QApplication()
  Android                                  PySide
w = QLabel('Foo bar')                     Launcher
w.show()
app.exec_()
                  Application framework


                                            PySide
              Dalvik
  Python       VM
                          Libs
  (bin/lib)
                                              QT


                       Linux kernel
/sdcard/
Scripting                                main.py
 Layer 4             Dalvik apps
Android                                  PySide
                                        Launcher


                Application framework


                                          PySide
            Dalvik
Python       VM
                        Libs
(bin/lib)
                                            QT


                     Linux kernel
Scripting        Kivy                       PySide
 Layer 4                     Dalvik apps
               Launcher                    Launcher
Android



                Application framework


                                             PySide
            Dalvik
Python       VM
                          Libs
(bin/lib)
                                               QT


                     Linux kernel
import android
             /sdcard/<app>/
Scripting                   import kivy.uix.button as b
                main.py                     PySide
 Layer 4                    from kivy.app import App
                             Dalvik apps
                                          Launcher
Android          Kivy
               Launcher    class TestApp(App):
                                def build(self):
                                  return b.Button(
                Application frameworktext='foo bar')

                            TestApp().run()

                                              PySide
            Dalvik
Python       VM                  JNI
(bin/lib)                 Libs
                                               QT


                     Linux kernel
/sdcard/<app>/
Scripting       main.py                      PySide
 Layer 4                      Dalvik apps
                                            Launcher
Android          Kivy
               Launcher


                Application framework


                                              PySide
            Dalvik
Python       VM                   JNI
(bin/lib)                 Libs
                                                QT


                      Linux kernel
Framework Kivy, který
 vyrobili př i práci v
 ků lně a na podzimku
 žáci školy v
 Maleticích, je to
 nejmoderně jší, co pro
 Android máme. Co
 byste po mně chtě li!!
 1
EOF
Sources:
http://kivy.org
http://thp.io/2011/pyside-android/
https://code.google.com/p/android-scripting/




                                     @yedpodtrzitko

More Related Content

What's hot

Android NDK and the x86 Platform
Android NDK and the x86 PlatformAndroid NDK and the x86 Platform
Android NDK and the x86 Platform
Sebastian Mauer
 
Automated Detection of Software Bugs and Vulnerabilities in Linux
Automated Detection of Software Bugs and Vulnerabilities in LinuxAutomated Detection of Software Bugs and Vulnerabilities in Linux
Automated Detection of Software Bugs and Vulnerabilities in Linux
Silvio Cesare
 

What's hot (20)

Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
 
containerD
containerDcontainerD
containerD
 
containerdの概要と最近の機能
containerdの概要と最近の機能containerdの概要と最近の機能
containerdの概要と最近の機能
 
Comparing Next-Generation Container Image Building Tools
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
 
ICSE10a.ppt
ICSE10a.pptICSE10a.ppt
ICSE10a.ppt
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
Startup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image DistributionStartup Containers in Lightning Speed with Lazy Image Distribution
Startup Containers in Lightning Speed with Lazy Image Distribution
 
Docker basic on azure
Docker basic on azureDocker basic on azure
Docker basic on azure
 
Hello World! with Python
Hello World! with PythonHello World! with Python
Hello World! with Python
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 Introduction
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
P2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctlP2P Container Image Distribution on IPFS With containerd and nerdctl
P2P Container Image Distribution on IPFS With containerd and nerdctl
 
Docker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOSDocker on Raspberry Pi and CoreOS
Docker on Raspberry Pi and CoreOS
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
Use MQTT in Docker on Raspberry Pi
Use MQTT in Docker on Raspberry PiUse MQTT in Docker on Raspberry Pi
Use MQTT in Docker on Raspberry Pi
 
Android NDK and the x86 Platform
Android NDK and the x86 PlatformAndroid NDK and the x86 Platform
Android NDK and the x86 Platform
 
Automated Detection of Software Bugs and Vulnerabilities in Linux
Automated Detection of Software Bugs and Vulnerabilities in LinuxAutomated Detection of Software Bugs and Vulnerabilities in Linux
Automated Detection of Software Bugs and Vulnerabilities in Linux
 
2018 20 best id es for python programming
2018 20 best id es for python programming2018 20 best id es for python programming
2018 20 best id es for python programming
 
PySide
PySidePySide
PySide
 

Viewers also liked

French 1 food webquest
French 1 food webquestFrench 1 food webquest
French 1 food webquest
AshleyDeAnna
 
A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)
A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)
A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)
Burning Eye
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
Anahi Bustos
 
[Arquitetura] projetos de casas suomi
[Arquitetura] projetos de casas   suomi[Arquitetura] projetos de casas   suomi
[Arquitetura] projetos de casas suomi
Alessandra Nascimento
 

Viewers also liked (16)

French 1 food webquest
French 1 food webquestFrench 1 food webquest
French 1 food webquest
 
A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)
A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)
A Portrait Of The Artist As A Young Simian by Monkey Poet (SAMPLE)
 
一天五杯熱水完全排毒
一天五杯熱水完全排毒一天五杯熱水完全排毒
一天五杯熱水完全排毒
 
PANIC! by Stef Mo
PANIC! by Stef MoPANIC! by Stef Mo
PANIC! by Stef Mo
 
In Heaven The Onions Make You Laugh by Rob Auton - SAMPLE
In Heaven The Onions Make You Laugh by Rob Auton - SAMPLEIn Heaven The Onions Make You Laugh by Rob Auton - SAMPLE
In Heaven The Onions Make You Laugh by Rob Auton - SAMPLE
 
Ciudad de Cuenca
Ciudad de CuencaCiudad de Cuenca
Ciudad de Cuenca
 
Mobile in 2015 - eduWeb 2014
Mobile in 2015 -  eduWeb 2014Mobile in 2015 -  eduWeb 2014
Mobile in 2015 - eduWeb 2014
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
My school 7
My school 7My school 7
My school 7
 
HashtagPoetry# StAnza Installation by Clive Birnie
HashtagPoetry# StAnza Installation by Clive BirnieHashtagPoetry# StAnza Installation by Clive Birnie
HashtagPoetry# StAnza Installation by Clive Birnie
 
Social Technology Sparks Agility for Small Business
Social Technology Sparks Agility for Small BusinessSocial Technology Sparks Agility for Small Business
Social Technology Sparks Agility for Small Business
 
Boost Engagement and Performance with Your Talent Management System in 2015
Boost Engagement and Performance with Your Talent Management System in 2015Boost Engagement and Performance with Your Talent Management System in 2015
Boost Engagement and Performance with Your Talent Management System in 2015
 
Grazing in the grass @ ithaka
Grazing in the grass @ ithakaGrazing in the grass @ ithaka
Grazing in the grass @ ithaka
 
Marketing Automation 2015 in 10 numbers
Marketing Automation 2015 in 10 numbersMarketing Automation 2015 in 10 numbers
Marketing Automation 2015 in 10 numbers
 
[Arquitetura] projetos de casas suomi
[Arquitetura] projetos de casas   suomi[Arquitetura] projetos de casas   suomi
[Arquitetura] projetos de casas suomi
 
Umowa najmu
Umowa najmuUmowa najmu
Umowa najmu
 

Similar to Py on Android

Jax2013 PaaS-Parade - Part 1: Cloud Foundry
Jax2013 PaaS-Parade - Part 1: Cloud FoundryJax2013 PaaS-Parade - Part 1: Cloud Foundry
Jax2013 PaaS-Parade - Part 1: Cloud Foundry
martinlippert
 

Similar to Py on Android (20)

Introduction to the Android NDK
Introduction to the Android NDKIntroduction to the Android NDK
Introduction to the Android NDK
 
Kivy report
Kivy reportKivy report
Kivy report
 
Arquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y ContenedoresArquitectura de Microservicios con .NET Core y Contenedores
Arquitectura de Microservicios con .NET Core y Contenedores
 
Introduction to the Android NDK
Introduction to the Android NDKIntroduction to the Android NDK
Introduction to the Android NDK
 
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
Puzzle ITC Talk @Docker CH meetup CI CD_with_Openshift_0.2
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Applied Computer Science Concepts in Android
Applied Computer Science Concepts in AndroidApplied Computer Science Concepts in Android
Applied Computer Science Concepts in Android
 
Custom Buildpacks and Data Services
Custom Buildpacks and Data ServicesCustom Buildpacks and Data Services
Custom Buildpacks and Data Services
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The Things
 
Jax2013 PaaS-Parade - Part 1: Cloud Foundry
Jax2013 PaaS-Parade - Part 1: Cloud FoundryJax2013 PaaS-Parade - Part 1: Cloud Foundry
Jax2013 PaaS-Parade - Part 1: Cloud Foundry
 
Getting Native with NDK
Getting Native with NDKGetting Native with NDK
Getting Native with NDK
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Android OS Porting: Introduction
Android OS Porting: IntroductionAndroid OS Porting: Introduction
Android OS Porting: Introduction
 
Core Android
Core AndroidCore Android
Core Android
 
Android ndk - Introduction
Android ndk  - IntroductionAndroid ndk  - Introduction
Android ndk - Introduction
 
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
TDC2018FLN | Trilha Containers - Kubernetes para usuarios Docker.
 
Swift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloudSwift at IBM: Mobile, open source and the drive to the cloud
Swift at IBM: Mobile, open source and the drive to the cloud
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
 
indico-workshop-container-deployment.pdf
indico-workshop-container-deployment.pdfindico-workshop-container-deployment.pdf
indico-workshop-container-deployment.pdf
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Py on Android

  • 1. Python & Android @yedpodtrzitko
  • 3. Dalvik apps Application framework Dalvik VM Libs Linux kernel
  • 4. Dalvik apps Application framework Dalvik Python VM Libs (bin/lib) Linux kernel
  • 5. Dalvik apps Application framework Dalvik Python VM Libs (bin/lib) Linux kernel
  • 6. Scripting Layer 4 Dalvik apps Android Application framework Dalvik Python VM Libs (bin/lib) Linux kernel
  • 7. /sdcard/ import android SL4A/app.py Scripting Dalvik apps droid = android.Android() Layer 4 Android name = droid. getInput("Hi!", "Ur name?") Application framework RPC res = name.result droid.makeToast("Hi, Dalvik %s"%res) Python VM Libs (bin/lib) Linux kernel
  • 8. /sdcard/ SL4A/app.py Scripting Dalvik apps Layer 4 Android Application framework RPC Dalvik Python VM Libs (bin/lib) Linux kernel
  • 9. Scripting PySide Layer 4 Dalvik apps Launcher Android Application framework PySide Dalvik Python VM Libs (bin/lib) QT Linux kernel
  • 10. from PySide.QtCore import * /sdcard/ from PySide.QtGui import * Scripting main.py Layer 4 Dalvik apps app = QApplication() Android PySide w = QLabel('Foo bar') Launcher w.show() app.exec_() Application framework PySide Dalvik Python VM Libs (bin/lib) QT Linux kernel
  • 11. /sdcard/ Scripting main.py Layer 4 Dalvik apps Android PySide Launcher Application framework PySide Dalvik Python VM Libs (bin/lib) QT Linux kernel
  • 12. Scripting Kivy PySide Layer 4 Dalvik apps Launcher Launcher Android Application framework PySide Dalvik Python VM Libs (bin/lib) QT Linux kernel
  • 13. import android /sdcard/<app>/ Scripting import kivy.uix.button as b main.py PySide Layer 4 from kivy.app import App Dalvik apps Launcher Android Kivy Launcher class TestApp(App): def build(self): return b.Button( Application frameworktext='foo bar') TestApp().run() PySide Dalvik Python VM JNI (bin/lib) Libs QT Linux kernel
  • 14. /sdcard/<app>/ Scripting main.py PySide Layer 4 Dalvik apps Launcher Android Kivy Launcher Application framework PySide Dalvik Python VM JNI (bin/lib) Libs QT Linux kernel
  • 15. Framework Kivy, který vyrobili př i práci v ků lně a na podzimku žáci školy v Maleticích, je to nejmoderně jší, co pro Android máme. Co byste po mně chtě li!! 1