Python

Kivy Python-zelfstudie

Kivy Python-zelfstudie
Het belang van mobiele software in onze wereld van vandaag kan nooit genoeg worden benadrukt, iedereen beweegt zich met zijn apparaten, ongeacht het besturingssysteem, en om de apparaten nuttig te maken, is er behoefte aan software om onze dagelijkse taken uit te voeren.

Het Android-besturingssysteem is tegenwoordig misschien wel een van de meest gebruikte besturingssystemen op mobiele apparaten, en het is ook zeer efficiënt dankzij de banden met het Linux-besturingssysteem. In dit artikel gaan we bespreken hoe je een voorbeeld-app voor Android kunt bouwen met python.

Dus waarom Python??

We weten dat talen zoals Java, Kotlin, frameworks zoals Xamarin, React Native zeer efficiënt zijn in het bouwen van apps, maar vaker wel dan niet zijn systeembeheerders meer vertrouwd met het gebruik van scripttalen zoals Python voor hun taken.

Met Kivy kunnen ze minimale Android-apps bouwen voor eenvoudige taken op hun Android-apparaten zonder dat ze een verandering in de syntaxis hoeven te ervaren. Ja, we weten allemaal dat Python niet zo snel is wanneer het wordt gebruikt bij app-ontwikkeling, maar wat maakt het uit of het het benodigde werk doet??

Hiermee kun je bijvoorbeeld snel een webscraping-script schrijven en compileren in een Android-app en deze onderweg uitvoeren; dat is best wel cool.

Om dit te doen, gaan we gebruik maken van een Python-bibliotheek genaamd Kivy. Kivy wordt gebruikt om platformonafhankelijke mobiele apps te bouwen, dus het is niet noodzakelijkerwijs alleen voor Android-apparaten, het ondersteunt ook het bouwen van iOS- en Windows-software.


Installatie van Kivy

Kivy is heel eenvoudig te installeren, maar het kan een beetje in de war raken als de geïnstalleerde afhankelijkheden beginnen te botsen.

Om Kivy te installeren, kunnen we de opdracht "pip' gebruiken om Python-bibliotheken te installeren, en we kunnen ook "apt-get" gebruiken. Om Kivy te laten werken, heeft het veel afhankelijkheden, vooral wanneer u probeert gebruik te maken van functies zoals de camera, i.e., OpenCV of een andere bibliotheek zoals Pillow.

U kunt echter een eenvoudige installatie van Kivy . doen.

Je kunt Kivy voor Python 2 installeren met de onderstaande opdracht:

sudo apt-get install python-kivy

Dan kan Kivy voor Python 3 worden geïnstalleerd met het onderstaande commando:

sudo apt-get install python3-kivy

Als u van plan bent te installeren met de opdracht "pip", zal de onderstaande opdracht het werk doen:

pip installeer kivy

Dan kan een zeer populaire afhankelijkheid, namelijk pygame, worden geïnstalleerd:

pip installeer pygame

Als u van plan bent om de afhankelijkheden op dit punt te installeren, kunt u doorgaan en installeren.

 Voor Ubuntu 16.04:

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

Als u van plan bent te installeren voor andere versies van Ubuntu, kunt u de stappen uit de Github-documentatie volgen.

Voordat we verder gaan, kunt u bevestigen of de installatie van Kivy succesvol is door de module uit de interactieve shell te importeren.

>>> import kivy
[INFO  ] [Logger  ] Log in /data/user/0/ru . opnemen.iec.pydroid3/app_HOME/.kivy/
logs/kivy_18-02-26_0.tekst
[INFO  ] [Kivy  ] v1.9.2-dev0
[INFO  ] [Python  ] v3.6.2 (standaard, 15 okt 2017, 09:18:13)
[GCC 7.2.0]
>>>

Alles wat je nodig hebt is een resultaat in dit formaat; de cijfers zullen naar verwachting niet kloppen.


Schrijven van code

We gaan een eenvoudige app maken die wat tekst op het scherm weergeeft.

Maak een python-bestand, dat we "main" zouden noemen.pie". Dit bestand zou de volgende inhoud hebben:

uit kivy.app-import-app
klasse HelloApp(App):
 
voorbij lopen
if __name__ == "__main__":
  HalloApp().rennen()

Op het eerste gezicht lijkt het alsof het niets doet, maar we zouden doornemen wat elke regel code doet.

uit kivy.app-import-app

Dit importeert de App-klasse uit de kivy-bibliotheek die helpt bij het genereren van de applicatie-interface zelf, afgezien van het feit dat het veel andere eigenschappen heeft om het maken van een app te ondersteunen.

klasse HelloApp(App):
  voorbij lopen

Dit creëert een klasse HelloApp die erft van de App die we eerder hebben geïmporteerd; we doen hier niet veel omdat we alleen het trefwoord "pass" hebben gebruikt.

Dus zonder enige code in te typen, heeft het alle methoden van de App-klasse.

if __name__ == "__main__":
  HalloApp().rennen()

Vervolgens controleren we of het Python-script direct wordt uitgevoerd of wordt geïmporteerd. Als het direct wordt uitgevoerd, voert het de methode run() uit van de App-klasse die is overgenomen, anders gebeurt er niets.

We zijn bijna klaar, nog één bestand. Dit is een kv-bestand dat we zouden gebruiken voor onze opmaak.

Het kv-bestand werkt in de kv-taal die qua syntaxis enige gelijkenis vertoont met Python.

Maak gewoon een nieuw bestand zonder naam en voer de volgende regels code in:.

Etiket:
   tekst:
       "Welkom bij Linux-hint"

Kijken naar de belangrijkste.py-bestand, zouden we opmerken dat we een HelloApp()-klasse hebben gemaakt die is geërfd van App en dat was de enige klasse.

In het kv-bestand wordt Label automatisch gekoppeld aan de klassen die in het python-bestand zijn gemaakt. "Label" wordt gebruikt voor weergave met behulp van het doosmodel.

De vraag is; hoe weet ons python-bestand dat dit bestand de opmaak heeft? Het doet dit door de naam.

Aangezien onze HelloApp-klasse twee verschillende woorden heeft die van elkaar worden onderscheiden door de hoofdletters, wordt verwacht dat het kv-bestand wordt genoemd met het eerste woord in kleine letters en dat ons bestand hallo heet.kv.

Als onze klasse LinuxApp of GameApp heet, zou ons kv-bestand linux heten.kv en spel.kv respectievelijk.

Nu kunt u uw python-bestand uitvoeren:

python hoofd.py

U zou een uitvoer moeten krijgen met de tekst "Welkom bij Linux Hint".

Dit is slechts het topje van de ijsberg van wat u kunt doen met de Kivy-bibliotheek; u kunt hier de volledige documentatie doornemen, u kunt ook andere voorbeelden bekijken.


Buildozer installeren en gebruiken

Als je dit artikel vanaf het begin hebt gevolgd, zou je je herinneren dat we bij het installeren van kivy veel afhankelijkheden moesten overwegen. Het installeren van buildozer is daarentegen niet zo ingewikkeld.

Het enige dat we zouden doen, is de bestanden uit de GitHub-repository klonen, we installeren en gebruiken vervolgens.

git kloon https://github.com/kivy/buildozer.git
cd-builder
sudo python2.7 instellingen.py installeren

Hier python2.7 zou de versie van python zijn die op uw systeem is geïnstalleerd; bijvoorbeeld als je python 3 . hebt.5 geïnstalleerd, gebruik je Python3.5. Hoewel sommige mensen beweren problemen te hebben met het gebruik van buildozer met Python 3, kun je het proberen en als het niet lukt, schakel je over naar Python 2.
Na installatie voer je onderstaande code uit:. Net als in het eerste geval, Python2.7 kan worden gewijzigd in elke versie van Python, het zou redelijk zijn om de versie van Python te gebruiken die wordt gebruikt om buildozer te installeren.

python2.7 -m buildozer init

Dit creëert een buildozer.spec-bestand dat de configuratie-instellingen voor onze app bevat. Terwijl u verder kunt gaan zonder een van de configuraties te wijzigen, kunt u het bestand uitchecken en dingen wijzigen zoals de toepassingsnaam, pakketnaam, enz.
Het bestand moet in dit formaat zijn:

[app]
 
# (str) Titel van uw aanvraag
titel = app
 
# (str) Pakketnaam
pakket.naam = mijnapp
 
# (str) Pakketdomein (nodig voor android/ios-verpakking)
pakket.domein = org.test
… .
… .

Hierna kunt u uw Android-applicatie compileren, net als de eerste twee instanties die u python2 kunt wijzigen.7 naar de versie van python die u op uw computer hebt geïnstalleerd.

python2.7 buildozer android debug deploy run

Als u dit voor de eerste keer doet, worden de benodigde Android SDK-, Android NDK- en Android Ant-bestanden gedownload zodat u een kopje koffie kunt krijgen, aangezien dit enige tijd kan duren, afhankelijk van hoe snel uw internetverbinding is.
Wanneer buildozer klaar is met het compileren van de applicatie, wordt deze opgeslagen in de bin-map.
Dat is alles voor deze tutorial; nu kunt u eenvoudige Android-applicaties maken en enkele scripts uitvoeren op uw Android-apparaat.

Sid Meier's Civilization VI downloaden en spelen op Linux and
Inleiding tot het spel Civilization 6 is een moderne versie van het klassieke concept dat werd geïntroduceerd in de serie Age of Empires-games. Het id...
Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...
Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...