Python

Kivy Python Tutorial

Kivy Python Tutorial
Betydningen av mobilprogramvare i vår verden i dag kan aldri bli understreket, alle beveger seg rundt med enhetene sine uavhengig av operativsystem, og for at enhetene skal være nyttige, er det behov for programvare for å utføre våre daglige oppgaver.

Android-operativsystemet er uten tvil et av de mest brukte operativsystemene på mobile enheter i dag, og det er også veldig effektivt takket være dets tilknytning til Linux-operativsystemet. I denne artikkelen skal vi diskutere hvordan du bygger en prøve Android-app med python.

Så hvorfor Python?

Vi vet at språk som Java, Kotlin, rammeverk som Xamarin, React Native er veldig effektive i å bygge apper, men oftere enn ikke er systemadministratorer kjent med å bruke skriptspråk som Python for sine oppgaver.

Med Kivy kan de bygge minimale Android-apper for enkle oppgaver på Android-enhetene sine uten å måtte oppleve en endring i syntaksen. Ja, vi vet alle at Python ikke er så rask når den brukes i apputvikling, men hvem bryr seg om den gjør den jobben som trengs?

Med dette kan du raskt skrive et web-skrapeskript for eksempel og kompilere til en android-app og kjøre den på farten; det er ganske kult.

For å gjøre dette skal vi bruke et Python-bibliotek kalt Kivy. Kivy brukes til å bygge plattformapps på flere plattformer, så det er ikke nødvendigvis bare for Android-enheter, det støtter også bygging av iOS- og Windows-programvare.


Installasjon av Kivy

Kivy er veldig enkelt å installere, men ting kan gå litt haywire hvis de installerte avhengighetene begynner å kollidere.

For å installere Kivy kan vi bruke "pip" -kommandoen for å installere Python-biblioteker, og vi kan også bruke "apt-get". For at Kivy skal jobbe, har den mange avhengigheter, spesielt når du prøver å bruke funksjoner som kameraet, jeg.e., OpenCV, eller et annet bibliotek som Pillow.

Du kan imidlertid gjøre en enkel installasjon av Kivy.

Du kan installere Kivy for Python 2 med kommandoen nedenfor:

sudo apt-get install python-kivy

Deretter kan Kivy for Python 3 installeres med kommandoen nedenfor:

sudo apt-get install python3-kivy

Hvis du har tenkt å installere med "pip" -kommandoen, vil kommandoen nedenfor gjøre jobben:

pip install kivy

Deretter kan en veldig populær avhengighet som er pygame installeres:

pip installer pygame

Hvis du har tenkt å installere avhengighetene på dette punktet, kan du fortsette og installere.

 For Ubuntu 16.04:

sudo apt-get install python-setuptools python-pygame python-opengl \
python-gst0.10 python-fortryllende gstreamer0.10-plugins-god python-dev \
build-essentialpython-pip libgl1-mesa-dev libgles2-mesa-dev zlib1g-dev

Hvis du har tenkt å installere for andre versjoner av Ubuntu, kan du følge trinnene i Github-dokumentasjonen.

Før vi fortsetter, kan du bekrefte om installasjonen av Kivy er vellykket ved å importere modulen fra det interaktive skallet.

>>> importer kivy
[INFO] [Logger] Registrer pålogging / data / bruker / 0 / ru.iiec.pydroid3 / app_HOME /.kivy /
logger / kivy_18-02-26_0.tekst
[INFO] [Kivy] v1.9.2-dev0
[INFO] [Python] v3.6.2 (standard, 15. okt 2017, 09:18:13)
[GCC 7.2.0]
>>>

Alt du trenger er et resultat i dette formatet; tallene forventes ikke å stemme overens.


Skriving av kode

Vi skal lage en enkel app som viser litt tekst på skjermen.

Lag en python-fil, som vi vil kalle "main.py ”. Denne filen vil ha følgende innhold:

fra kivy.appimport App
klasse HelloApp (App):
 
sende
hvis __name__ == "__main__":
  HelloApp ().løpe()

På overflaten ser det ut som om det ikke gjør noe, men vi vil gå gjennom hva hver kodelinje gjør.

fra kivy.appimport App

Dette importerer App-klassen fra kivy-biblioteket som hjelper til med å generere applikasjonsgrensesnittet, foruten at det har mange andre egenskaper som støtter opprettelsen av en app.

klasse HelloApp (App):
  sende

Dette skaper en klasse HelloApp som arver fra appen som vi importerte tidligere; vi gjør ikke mye her, ettersom alt vi har gjort er å bruke søkeordet "pass".

Så uten å skrive inn noen kode, har den alle metodene i App-klassen.

hvis __name__ == "__main__":
  HelloApp ().løpe()

Så sjekker vi for å se om Python-skriptet kjøres direkte eller importeres. Hvis den kjører direkte, kjører den run () -metoden til App-klassen som ble arvet ellers skjer ingenting.

Vi er nesten ferdig med bare en fil til. Dette er en kv-fil, som vi vil bruke til markeringen vår.

Kv-filen fungerer på kv-språket som har en viss likhet i syntaksen med Python.

Bare lag en ny fil uten navn, og skriv inn følgende kodelinjer.

Merkelapp:
   tekst:
       "Velkommen til Linux-hint"

Ser på det viktigste.py-fil, vil vi legge merke til at vi opprettet en HelloApp () -klasse som arvet fra App, og det var den eneste klassen.

I kv-filen blir Label automatisk koblet til klassene som er opprettet i python-filen. "Etikett" brukes til visning ved bruk av boksmodellen.

Spørsmålet er; hvordan vet vår python-fil at denne filen har markeringen? Det gjør dette gjennom navnet.

Siden HelloApp-klassen vår har to forskjellige ord som er differensiert med store bokstaver, forventes kv-filen å bli navngitt med det første ordet med små bokstaver, og filen vår vil bli hei.kv.

Hvis klassen vår heter LinuxApp eller GameApp, vil kv-filen vår bli kalt linux.kv og vilt.kv henholdsvis.

Nå kan du kjøre python-filen din:

python hoved.py

Du bør få en utskrift som sier "Welcome To Linux Hint".

Dette er bare toppen av isfjellet til hva du kan gjøre med Kivy-biblioteket; du kan gå gjennom hele dokumentasjonen her, du kan også sjekke ut andre eksempler også.


Installere og bruke Buildozer

Hvis du har fulgt denne artikkelen fra begynnelsen, vil du huske at vi måtte vurdere mange avhengigheter ved å installere kivy. Installering av buildozer er derimot ikke så komplisert.

Alt vi ville gjøre er å klone filene fra GitHub-arkivet, vi installerer og bruker deretter.

git klon https: // github.com / kivy / buildozer.git
cd buildozer
sudo python2.7 oppsett.py installere

Her python2.7 ville være den versjonen av python som er installert på systemet ditt; for eksempel hvis du har python 3.5 installert bruker du Python3.5. Selv om noen mennesker hevder å ha problemer med buildozer med Python 3, kan du prøve og hvis det mislykkes, bytter du til Python 2.
Etter installasjon kjører du koden nedenfor. Akkurat som i det første tilfellet, Python2.7 kan endres til hvilken som helst versjon av Python. Det ville være rimelig å bruke versjonen av python som ble brukt til å installere buildozer.

python2.7-m buildozer init

Dette skaper en buildozer.spesifikasjonsfil som inneholder konfigurasjonsinnstillingene for appen vår. Mens du kan fortsette uten å endre noen av konfigurasjonene, kan du sjekke ut filen og endre ting som applikasjonsnavn, pakkenavn osv.
Filen skal være i dette formatet:

[app]
 
# (str) Tittel på søknaden din
tittel = app
 
# (str) Pakkens navn
pakke.navn = myapp
 
# (str) Pakkedomene (nødvendig for Android / iOS-emballasje)
pakke.domene = org.test
.. .
.. .

Etter dette kan du kompilere Android-applikasjonen din, akkurat som de to første tilfellene kan du endre python2.7 til versjonen av python du har installert på maskinen din.

python2.7 buildozer android debug distribusjonskjøring

Hvis du gjør dette for første gang, vil de nødvendige Android SDK-, Android NDK- og Android Ant-filene lastes ned slik at du kan få en kopp kaffe, da det kan ta litt tid, avhengig av hvor rask internettforbindelsen din er.
Når buildozer er ferdig med å kompilere applikasjonen, lagrer den den i papirkurven.
Det er alt for denne opplæringen; nå kan du opprette enkle Android-applikasjoner og kjøre noen skript på Android-enheten din.

Hvordan fange opp og streame spilløkten din på Linux
Tidligere ble spill bare ansett som en hobby, men med tiden så spillindustrien en enorm vekst når det gjelder teknologi og antall spillere. Spillpubli...
Beste spill å spille med håndsporing
Oculus Quest introduserte nylig den gode ideen om håndsporing uten kontrollere. Med et stadig økende antall spill og aktiviteter som utfører støtte en...
Hvordan vise OSD-overlegg i fullskjerm Linux-apper og spill
Å spille fullskjermspill eller bruke apper i distraksjonsfri fullskjermmodus kan avskrekke deg fra relevant systeminformasjon som er synlig i et panel...