Ne Öğreneceğiz?
Python ile Mobil uygulama geliştirme
Kivy Programına giriş
Gerekli Uygulamalar
Kivy
Python
Buildozer
Anlatım
Merhaba arkadaşlar ben seyda uzun süredir python ile bir takım kodlama ile uğraşıyorum bugün sizlere python ile mobil uygulama oluşturmayı anlatacağım. öncelikle bize gerekli olan bir kaç program gerekiyor.
öncelikle kivy ile başlayalım kivyi bilgisayarımıza kurmak için aşağıdaki kod satırlarını ekleyin.
python -m pip install --upgrade pip wheel setuptools
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew kivy.deps.gstreamer --extra-index-url https://kivy.org/downloads/packages/simple/
python -m pip install kivy
kivy programı bizim uygulamamızı oluşturacağımız yerdir derleyeceğimiz görüntü almamızı sağlayacak uygulamadır. Android studio gibi bir progam. ama bunun bir artısı var hem android hem ios hemde diğer mobil işletim sistemleri için çıktı alabiliyoruz.
sıradaki buildozer kurulumunu anlatayım.
# pip yoluyla en güncel buildozeri indire bilirsiniz.
sudo pip install buildozer
#Son sürümü burada sürekli güncellenmektedir.
sudo pip install https://github.com/kivy/buildozer/archive/master.zip
#git clone, buildozer üzerinde çalışmak için
git clone https://github.com/kivy/buildozer
cd buildozer
python setup.py build
sudo pip install -e .
evet buildozeride kurduğumuza göre yavaştan anlatıma geçelim :)
ilk proje
bir klasör oluşturalım ve içine iki tane dosya oluşturalım biri main.py diğeride main.kv olsun :) basit ve akılda kalıcılığı için daha sonra ise ilk olarak main.py dosyasını açalım ve aşağıdaki kod satırlarını yapıştıralım.
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
Builder.load_file('main.kv')
class index(Screen):
pass
sm = ScreenManager()
sm.add_widget(index(name='index'))
class TestApp(App):
def build(self):
return sm #On envoie le screen manager pour affichage
if __name__ == '__main__':
TestApp().run()
yukarıdaki satırlara baktığımızda ilk olarak 3 tane kütüphane import ettik bunların hepsi standart importlar ama yinede bahsedeyim ,birinci satırdaki import uygulama oluşturmamıza yarayan kütüphane ana kütüphane diye de geçiyor. ikinci satırdaki import iste gördüğünüz gibi screen yazıyor yani bir görüntü oluşturmayı sağlıyor. üçüncü satırdaki import da bir yapıyı belirtiyor dörte ise o yapıyı çağırıyoruz yani main.kv dosyasını çağırıyoruz
index adında bir ekranı çağırıyoruz. daha sonra ise onu ekran yöneticisine screenmanager ile bir eklenti olarak gösteriyoruz ve uygulamamızı çalıştırmaya yardımcı kodlar ile uygulamımızı çalıştırıyoruz.
main.kv dosyasında ise aşağıda ki kod satırlarını ekleyin.
:
Label:
font_size: '36sp'
text: 'Hoş Geldiniz'
pos: 0,200
Label:
font_size: '36sp'
text: 'Utopian.io'
pos: 0,40
Button:
text: 'buton'
on_press: root.manager.current = root.manager.next()
size_hint: None, None
size: '150sp', '50sp'
pos_hint: {'right': 1}
kodları inceleyelim. index görüntüsünün içine 2 tane label bir tane buton oluşturmuşuz labelların fontları belirledik daha sonra ise label içerisindeki yazıyı ve pozisyonunu button da ise butona görev verdik ve pozisyonu sağ alt köşeye sıfırladık. boyutu ise 150*150 bu şekilde bir görsel oluşturduk. daha sonra ise kod satırlarına gelip
python main.py
dosyasını çalıştırın alttaki görüntü gibi bir çıktı alırsanız her hangi bir sorun yok demektir :)
buraya kadar her şey güzel :) sıkıntı yok eee şimdi bir de apk almak lazım değil mi :)
onların sıralamasıda aşağıdaki kodları sırasıyla yaparsanız apk yi alabilirsiniz
klasör içine gelip terminal ekranına kodu yazın
buildozer init
klasör içerisinde yeni bir buildozer.spec adında bir dosya oluşturuldu. onun içerisinde uygulamamız hakkında bilgiler yer almaktadır. uygulama adı uygulama resmi uygulama kısaltması ekran çevirme vs. bir çok bilgiyi buradan düzelte bilirsiniz daha sonra ise apk yi almak içinde aşağıdaki kod satırını yazın.
buildozer android debug deploy run
klasörün içiresine bin klasörü oluşturulacak o klasörün içinde apk dosyası mevcut olacak şimdi telefonunuza yükleyin ve ilk uygulamanızı kullanmaya başlayın :)
eğer bir hata veya sorunla karşılaşırsanız lütfen yorum atmayı unutmayın.
proje kodlarının tamamı github linkinden ulaşabilirsiniz :)
Posted on Utopian.io - Rewarding Open Source Contributors
Your contribution cannot be approved because it does not follow the Utopian Rules.
you get banned because doing plagiarism
You can contact us on Discord.
[utopian-moderator]