Android'de Python'ı Kullanmak

Bu mobide, Python'ı Android uygulamanızda nasıl kullanabileceğinizi öğreneceksiniz.



Dependencies


Kodlamaya geçmeden önce Android projenize eklemeniz gereken dependency'ler bulunuyor.

  • build.gradle (Project) içine aşağıdaki şekilde eklemelerinizi yapın.

repositories {
    maven { url "https://chaquo.com/maven" }
}
dependencies {
    classpath "com.chaquo.python:gradle:9.1.0"
}

Burada eklediğiniz Chaquo kütüphanesi, Python diliyle yazılmış script'leri uygulamanızda kullanabilmenize imkan sağlıyor.


  • build.gradle (Module) içine ise aşağıdaki eklemeleri yapın.

plugins {
    id 'com.android.application'
    id 'com.chaquo.python'
}
android {
    ndk {
        abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
    }
    sourceSets{
        main{
            python.srcDir "src/main/python"
        }
    }
    python {
        buildPython "/usr/local/bin/python3"
    }
    buildFeatures {
        viewBinding true
    }
}

Chaquo kütüphanesinin gerekli dependency'lerini gradle’a aktarmış oldunuz. Yaptığınız işlemler sırasıyla:


ndk {}: Farklı Android cihazlar, farklı komut setlerini destekleyen farklı CPU’lar kullanır. Her CPU ve komut seti kombinasyonunun kendi Application Binary Interface’i (ABI) vardır. Python yorumlayıcısı yerel bir bileşendir, bu nedenle uygulamanızın hangi ABI’leri destekleyeceğini belirtmek için abiFilters ayarını kullanmamız gerekir. ndk {} içindeki ABI filtreler:

  • armeabi-v7a: Hemen hemen tüm Android cihazlar tarafından desteklenmesi için,

  • arm64-v8a: En yeni Android cihazlar tarafından desteklenmesi için,

  • x86 ve x86_64: Android emülatörleri için gereklidir.


sourceSets {}: Varsayılan olarak, Chaquopy, her kaynak kümesinin python PATH dizininde python kaynak kodunu arayacaktır. Örneğin, ana kaynak kümesinin Python kodu src/main/python içine girmelidir. Diğer dizinlerden Python kaynak kodunu dahil etmek için android.sourceSets bloğunu kullanırsınız.


python {}: Bloklarının içindeki konum ise, bilgisayarınızda bulunan Python yerel kütüphanesinin konumuna denk geliyor.


Son olarak ise ilgili view'lere ulaşmak için ViewBinding kullanacağınızdan, buildFeatures {} içinde gerekli eklemeyi yapın.


Gerekli dependency'leri eklediğinize kodlamaya başlayabilirsiniz.


Proje


Proje için, girilen sayının tek mi yoksa çift mi olduğunu bulan bir program oluşturacaksınız.