kivy

[HowTo] Install Kivy and Buildozer on Fedora 22 and Making APK

In a previous post, installing Kivy on Ubuntu 15.04 was issued. Today, there is a main development which is using SDL2 instead of Pygame. You can find why this is significant on Google.

I cannot find Kivy and Buildozer installion document for Fedora 22 and decided to write a recipe for it. So, lets get started. You will find 8 main sections for this topic:

  1. Installing Dependencies
  2. Creating Virtual Environment
  3. Installing Some Required Python Modules
  4. Installing Kivy
  5. Testing Kivy
  6. Installing Dependencies Required to Packaging for Android
  7. Configuring Buildozer
  8. Making APK File

Kivy Course #10 – User Login System With Kivy

In many applications, a login system is applied. As a result of this, in a Kivy course, we believe that we should teach how to make a basic login system with Kivy. To achieve this, the code in following is written. After the login, the program connects to OpenWeatherMap with its API and gets a data from given coordinates in code. After getting data, it shows the temperature in the logged-in screen. There is also a screen that is shown if the username or password does not match.

Kivy Course #6 – Text Input and Input Handling

At the sixth part of the course, we are talking about text input and handling the text in text input box. To make a input chance to the user, TextInput class can be used. Here, a login system is made by making username and password check and afterwards, print the result to the console. Python file: #-*-coding:utf-8-*- from kivy.app import App from kivy.uix.gridlayout import GridLayout from kivy.uix.textinput import TextInput from kivy.

Kivy Course #3 – Grid Layout Example

In this section, layouts are introduced with more details and images of them are shown. Grid layout is one of the most known widgets and the code may be found below. The main Python file: from kivy.app import App from kivy.uix.gridlayout import GridLayout class RootWidget(GridLayout): pass class izgaraApp(App): def build(self): return RootWidget() if __name__ == "__main__": izgaraApp().run() And the Kivy Language file which should be named as izgara.kv: <RootWidget>: cols: 3 rows: 2 Button: text: "

Kivy Course #2 – More Buttons With Kivy Language

At the second part of the course, more buttons are added to root widget and Kivy Language is utilized while adding them. From this part, view section of the codes are seperated in a .kv file. You can find the codes below. Our main python file: from kivy.app import App from kivy.uix.boxlayout import BoxLayout class RootWidget(BoxLayout): pass class uygulamaApp(App): def build(self): return RootWidget() if __name__ == "__main__": uygulamaApp().run()   Name this as uygulama.

Kivy Course #1 – Introduction With a Basic App

At the first code of the Kivy course consists of a button which covers the entire screen and does nothing. You can just click the button and see that it is clicked with interaction. The code is: from kivy.app import App from kivy.uix.button import Button class BenimUygulamamApp(App): def build(self): return Button(text="Buton", font_size="50sp") if __name__ == "__main__": BenimUygulamamApp().run() Detailed explanation will be added soon.

[HowTo] [Python/Kivy] Building APK With Buildozer

In the previous post, how to install Kivy and Buildozer on Ubuntu is examined. In this post, you will find stages making APK files on Ubuntu with Python and Kivy using Buildozer. If you have followed the previous tutorial, you have already installed Buildozer on your virtual environment; however, it is not ready to making APK files for now. To test this statement, create a folder with a very basic main.py file(example from Kivy.org mainpage):

[HowTo] Install Kivy and Buildozer on Ubuntu 15.04

Installing Kivy and building an apk file is the fundamental step of coding Android applications with Python. In this post, Buildozer is used for building apk, installing sdk, ndk and other dependencies automatically.

All commands on this post are applied on a fresh installed and newly updated (02/07/2015) Ubuntu 15.04. Use it at your own risk.

Multiple Sliders Controlling Background Color in Kivy

In this example, three independent sliders are used to control background color and they are in order of red, green and blue. All the values are written at the buttom of the application window in the precision of 0.001. You can change the precision in .kv file if you want. The color is sent by Kivy’s automatic property binding mechanism to Canvas Color and Label.

Python Kivy Slider, Color and Canvas Example

Working with kivy often requires writing canvas codes which are managing the appearance  before, during and after the content is drawn. In this example, one Kivy Slider is used for getting color value between 0 and 1 and in the same time there is a Kivy Label which contains Slider’s value and updated automatically with the help of automatic property binding on Kivy.

Python Kivy Button, Property and BoxLayout Example

In this post, you are able to find an example of Kivy Framework consists of a button and two text label in a boxlayout oriented vertically. There are two files and both are required to run this program. This program is suitable for both mobile and desktop versions of Kivy and has ability to resume at gaining focus when screen is locked or for another reason the program is put in background.

Android İçin Online Satranç Oyunu

2Asgard Projesi için yazdığım Android uygulaması, proje yalan olunca ne zamandır elimde bekliyordu. Bu hali, geliştirilmeye açık olduğuna inandığım baştan yazılmış şekli. chess.py’nin yapımcısından da, öğrenci projesinde kullanılacak diye izin aldım. Benim düzenlediğim hali ile orijinali arasında, eklenen pek bir kod olmasa da çıkan çok kod oldu. Satranç notasyonunu basitleştirmek adına, chess.py’nin notasyon parse eden kısımlarını kırptım ve Android uygulamasına direk bağladım.

1Yenilikler:

– Artık karşı tarafın taşlarını elleme hakkınız yok. Bunun zaten ilk sürümde de olması gerekiyordu, geç de olsa geldi. Konsolda uyarı mesajı da veriyor, rahatsız olanlar yorum satırı yapabilir.

– Seçilen taşın arkaplanı siyah oluyor, hangi taşın seçildiği artık belli.

– Taş, istenilen yere gidemiyorsa yanan arkaplan eski haline dönüyor.

– Girenleri 2’li olarak ayrı odalara atıyor(odadan çıkan olursa diye bir önlem almadım, proje amacı sadece 2 kişinin oynamasıydı ve bu bile fantezi oldu). Binlerce kişi aynı anda oyunu oynayabilir.

– Siyah ya da beyaz taraf seçme özelliği geldi. Kullanıcılar istedikleri tarafta yer alarak buna uygun odaya yerleştiriliyor.- Bu saydıklarımla uğraşmak istemeyenler için de sadece tek oyunun döndüğü ve giren herkesin seçtiği tarafı oynatabildiği bir sunucu sürümü de hazırda var.

– Sunucuyu çalıştırdığınız bilgisayarda Python’un daemon modülü yüklü olursa iyi olur, sunucu arkaplanda çalışabiliyor. Böylece SSH’ı sunucu çalıştığı sürece açık tutma derdi kalmadı.

– Sunucu için herhangi bir kütüphane vs. kullanmadığım için hata ayıklamayla yeteri kadar ilgilenememiş olabilirim, ama henüz bir sıkıntı çıkarmadı. Profesyonel bir amaç için twisted kütüphanesiyle güzel bir düzenlenmesi gerekebilir.

Yenilikler

Uzun zamandır oturup bir blog yazamadım. Son zamanlarda olanları bir özet geçeyim: Ufak Şeyler Atölyesi blogu: Site şu an tekrar aktif. Öncekinin aksine, Emre’nin önerisiyle ortak bir blog açtım. Şu an sadece ben yazıyor olsam da, ilerde bir gün hareketleneceğinden ümidimi kesmedim. Siteyi en başta alma ve açma amacım olan program yayınlama fikrinden de vazgeçmiş değilim, ama büyük birkaç uygulama, ya da işe yarar bir şeyler yapmaya başladıktan sonra o konuya yönelmesini sağlamak şu an için daha iyi duruyor.