Python

Kivy Python-vejledning

Kivy Python-vejledning
Betydningen af ​​mobil software i vores verden i dag kan aldrig understreges, alle bevæger sig rundt med deres enheder uanset operativsystem, og for at enhederne skal være nyttige, er der behov for software til at hjælpe med at udføre vores daglige opgaver.

Android-operativsystemet er uden tvivl et af de mest anvendte operativsystemer på mobile enheder i dag, og det er også meget effektivt takket være dets tilknytning til Linux-operativsystemet. I denne artikel skal vi diskutere, hvordan man opbygger en Android-appeksempel med python.

Så hvorfor Python?

Vi kender sprog som Java, Kotlin, rammer som Xamarin, React Native er meget effektive i opbygningen af ​​apps, men systemadministratorer er oftere end ikke fortrolige med at bruge scriptsprog som Python til deres opgaver.

Med Kivy kan de bygge minimale Android-apps til enkle opgaver på deres Android-enheder uden at skulle opleve en ændring i syntaksen. Ja, vi ved alle, at Python ikke er så hurtig, når den bruges i appudvikling, men hvem er ligeglad med, om den gør det nødvendige job?

Med dette kan du hurtigt skrive et webskrabningscript for eksempel og kompilere til en Android-app og køre den på farten; det er ret sejt.

For at gøre dette skal vi bruge et Python-bibliotek kaldet Kivy. Kivy bruges til at opbygge mobilapps på tværs af platforme, så det er ikke nødvendigvis kun til Android-enheder, det understøtter også opbygning af iOS- og Windows-software.


Installation af Kivy

Kivy er meget let at installere, men tingene kan gå lidt haywire, hvis de installerede afhængigheder begynder at kollidere.

For at installere Kivy kan vi bruge kommandoen "pip" til installation af Python-biblioteker, og vi kan også bruge "apt-get". For at Kivy skal arbejde, har det mange afhængigheder, især når du prøver at gøre brug af funktioner såsom kameraet, jeg.e., OpenCV eller et andet bibliotek såsom Pillow.

Du kan dog lave en simpel installation af Kivy.

Du kan installere Kivy til Python 2 med kommandoen nedenfor:

sudo apt-get install python-kivy

Derefter kan Kivy for Python 3 installeres med kommandoen nedenfor:

sudo apt-get install python3-kivy

Hvis du agter at installere med "pip" -kommandoen, udfører kommandoen nedenfor jobbet:

pip install kivy

Derefter kan der installeres en meget populær afhængighed, som er pygame:

pip install pygame

Hvis du agter at installere afhængighederne på dette tidspunkt, kan du gå videre og installere.

 Til 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 agter at installere til andre versioner af Ubuntu, kan du følge trinene i Github-dokumentationen.

Inden vi fortsætter, kan du bekræfte, om installationen af ​​Kivy er vellykket ved at importere modulet fra den interaktive shell.

>>> import kivy
[INFO] [Logger] Optag log ind / data / bruger / 0 / ru.iiec.pydroid3 / app_HOME /.kivy /
logs / kivy_18-02-26_0.txt
[INFO] [Kivy] v1.9.2-dev0
[INFO] [Python] v3.6.2 (standard, 15. okt 2017, 09:18:13)
[GCC 7.2.0]
>>>

Alt hvad du behøver er et resultat i dette format; tallene forventes ikke at stemme overens.


Skrivning af kode

Vi opretter en simpel app, der viser tekst på skærmen.

Opret en python-fil, som vi vil kalde “main.py ”. Denne fil ville have følgende indhold:

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

På overfladen ser det ud til at det ikke gør noget, men vi vil gennemgå, hvad hver kodelinje gør.

fra kivy.appimport App

Dette importerer App-klassen fra kivy-biblioteket, som hjælper med at generere applikationsgrænsefladen selv, bortset fra at den har mange andre egenskaber, der understøtter oprettelsen af ​​en app.

klasse HelloApp (App):
  passere

Dette opretter en klasse HelloApp, der arver fra den app, som vi importerede tidligere; vi laver ikke meget her, da alt hvad vi har gjort er at bruge nøgleordet "pass".

Så uden at indtaste nogen kode, har den alle metoderne i App-klassen.

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

Derefter kontrollerer vi, om Python-scriptet køres direkte eller importeres. Hvis den kører direkte, udfører den run () -metoden i App-klassen, der blev nedarvet, ellers sker der ikke noget.

Vi er næsten færdige med endnu en fil. Dette er en kv-fil, som vi bruger til vores markering.

Kv-filen fungerer på kv-sproget, som har en vis lighed i syntaks med Python.

Opret bare en ny fil uden navn, og indtast følgende linjer med kode.

Etiket:
   tekst:
       "Velkommen til Linux-tip"

Ser man på det vigtigste.py-fil, vil vi bemærke at huske, at vi oprettede en HelloApp () -klasse, der arvede fra App, og det var den eneste klasse.

I kv-filen linkes Label automatisk til de klasser, der er oprettet i python-filen. "Etiket" bruges til visning ved hjælp af boksmodellen.

Spørgsmålet er; hvordan ved vores python-fil, at denne fil har markeringen? Det gør dette gennem navnet.

Da vores HelloApp-klasse har to forskellige ord, der er differentieret med hovedstæderne, forventes kv-filen at blive navngivet med det første ord, alle med små bogstaver, og vores fil vil hedde hej.kv.

Hvis vores klasse hedder LinuxApp eller GameApp, ville vores kv-fil hedde linux.kv og spil.kv henholdsvis.

Nu kan du køre din python-fil:

python main.py

Du skal få en output, der siger "Welcome To Linux Hint".

Dette er bare toppen af ​​isbjerget, hvad du kan gøre med Kivy-biblioteket; du kan gennemgå den fulde dokumentation her, du kan også tjekke andre eksempler.


Installation og brug af Buildozer

Hvis du har fulgt denne artikel fra begyndelsen, vil du huske, at installation af kivy, vi var nødt til at overveje en masse afhængigheder. Installation af buildozer er derimod ikke så kompliceret.

Alt, hvad vi ville gøre, er at klone filerne fra GitHub-arkivet, vi installerer og bruger derefter.

git klon https: // github.com / kivy / buildozer.git
cd buildozer
sudo python2.7 opsætning.py installation

Her python2.7 ville være den version af python, der er installeret på dit system; for eksempel, hvis du har python 3.5 installeret bruger du Python3.5. Selvom nogle hævder at have problemer med buildozer med Python 3, kan du prøve det, og hvis det mislykkes, skifter du til Python 2.
Efter installationen kører du koden nedenfor. Ligesom i det første tilfælde, Python2.7 kan ændres til enhver version af Python, det ville være rimeligt at bruge den version af python, der blev brugt til at installere buildozer.

python2.7-m buildozer init

Dette skaber en buildozer.spec-fil, der indeholder konfigurationsindstillingerne for vores app. Mens du kan fortsætte uden at ændre nogen af ​​konfigurationerne, kan du tjekke filen og ændre ting såsom applikationsnavn, pakkenavn osv.
Filen skal være i dette format:

[app]
 
# (str) Titel på din ansøgning
titel = app
 
# (str) Pakkenavn
pakke.navn = myapp
 
# (str) Pakkedomæne (nødvendigt til Android / iOS-emballage)
pakke.domæne = org.prøve
.. .
.. .

Efter dette kan du kompilere din Android-applikation, ligesom de to første tilfælde kan du ændre python2.7 til den version af python, du har installeret på din maskine.

python2.7 buildozer android debug implementering køre

Hvis du gør dette for første gang, downloades de nødvendige Android SDK-, Android NDK- og Android Ant-filer, så du kan få en kop kaffe, da det kan tage lidt tid, afhængigt af hvor hurtigt din internetforbindelse er.
Når buildozer er færdig med at kompilere applikationen, gemmer den den i papirkurven.
Det er alt til denne tutorial; nu kan du oprette enkle Android-applikationer og køre nogle scripts på din Android-enhed.

Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...
Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...
Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...