Android Studio ile Android Projesi Oluşturma Ders 03

featured

Bir önceki dersimizde Android Studio ile ilk projemizi oluşturmuştuk. Bu projemiz “Hello World!” yazan basit bir app idi. Bu dersi tamamlamadıysanız: Android Studio ile Android Projesi Oluşturma Ders 02 adresindeki dersi tamamlamanızı öneriyorum.

Bu derste projeyi oluşturduğunuz klasörde veya projeyi açtığınız Android Studio programında göreceğiniz dosyaların ne işe yaradıklarından bahsedeceğiz.

app/src/main/res/layout/activity_my.xml  bu XML dosyası Android Studio ile proje oluşturduğunuzda projenizin etkinlik düzenleme dosyasıdır.  Projenin iş akışı takibi için Android Studio bu dosyayı oluşturur ve kullanıcı text olarak veya görsel arabirim olarak bu dosyayı kullanır. Dosya ilk oluşturulduğunda bazı varsayılan ayarlar ve “Hello World!” yazısını gösteren TextView içerir.

app/src/main/java/com.mycompany.myfirstapp/MainActivity.java dosyasınıı seçtiğinizde proje için oluşturduğunuz sınıf tanımlamalarını görürsünüz. Fonksiyonlarınız, prosedürleriniz buradadır. Projeyi oluşturup çalıştır dediğinizde MainActivity sınıfı etkinliği başlatır ve “Hello World!” yazısını yazan işlem başlatılarak textview’da yazar.

app/src/res/main/AndroidManifest.xml bu XML dosyası ile uygulamanın her bir komponentinin temel özellikleri belirlenir. Bu dosyayı kullanarak uygulamamıza daha fazla bileşen ekleyebiliriz.

app/build.gradle Android Studio projenizi derlemek ve çalıştırmak için Gradle kullanır. Gradle projenizi built etmeniz için geliştirilmiş yeni nesil bir sistemdir. Projenizdeki her modül için bir build.gradle dosyası olduğu gibi tüm proje için de bir build.gradle dosyası vardır. Uygulamanızın bağımlılıklarını ayarlamanıza, ayar dosyalarının nerede olduğuna kadar bilgiler düzenlenebilir. İçindeki bazı ayarlara bakacak olursak:
compiledSdkVersion: Uygulamanızın SDK versiyonudur. Varsayılan olarak sizin SDK’nın içindeki en son sürüm ayarlanır (Android 4.1 veya üstü olmalıdır, sürümünüz yoksa SDK Manager kullanarak yüklemeniz gerekir). Daha eski sürüm SDK ile de proje oluşturabilirsiniz ancak yeni cihazlardaki ekstra özelliklere erişemeyeceksiniz.
applicationId:Oluşturduğunuz bu yeni uygulamanın tam paket adıdır.
minSdkVersion: Bu projenin çalışacağı minimum SDK versiyonudur. Bundan önceki cihazlarda uygulamanız çalışmayacaktır.
targetSdkVersion:Oluşturduğumuz uygulamayı test ettiğiniz Android sürümüdür. Yeni bir Android sürümü mevcut olduğunda uygulamanızı bu sürümde de test etmeniz önerilir. minSdkVersion’dan daha düşük bir targetSdkVersion seçerseniz test edemeyeceksiniz, bunun mantığı şudur uygulamayı minSdkVersion’da belirttiğiniz API’ler için geliştirdiniz ama targetSdkVersion API’si ile test ediyorsunuz anlamı taşır.

Gradle hakkında daha detaylı bilgi için https://developer.android.com/sdk/installing/studio-build.html linkini ziyaret edebilirsiniz (erişim tar:26.12.2014 11:40).

drawable-hdpi/ klasörü ekranlar için örneğin hdpi ekranlar için (yüksek yoğunluklu ekran) çizimle ilgili nesneleri (Bitmapler gibi) barındırır. Diğer çizimle ilgili klasörler diğer ekranlar içim çizimle ilgili nesneleri barındırır. Burada uygulamanız çalıştırıldığında görüntülenen  ic_launcher.png dosyasını bulabilirsiniz.

layout/ klasörü uygulamanızda tanımladığınız (activity_main.xml gibi) kullanıcı arabirimlerinin tanımlandığı yerdir.

values/ klasörü stringler renk tanımlamarı gibi kaynakları içeren diğer XML dosyalarının yer aldığı yerdir. Mesela strings.xml dosyası içerisinde “Hello World!” stringi tanımlanmış ve uygulamada kullanılmıştır.

Bir önceki derste Android Studio ile oluşturduğumuz ve bu derste dosyalarını incelediğimiz projeyi sonraki derste SDK Tools’daki Komut Satırı Aracı ile oluşturmayı öğreneceğiz.

14 comments

  • Salam android studio boyle bir hata verir.Yardimci olursunuz sevinirim

    Error:Execution failed for task ‘:app:processReleaseResources’.
    > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Users\Karib\AppData\Local\Android\sdk1\build-tools\25.0.2\aapt.exe” finished with non-zero exit value 1

  • hocam şöyle bir hata alıyorum nasıl düzeltebilirim

    Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’.
    > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Program Files\Java\jdk1.7.0_79\bin\java.exe” finished with non-zero exit value 2

    • Projede kullanılmayan kütüphaneleri ve methodları temizleyin. Düzelecektir. Gene düzelmezse gradle config dosyasına aşağıdaki ayarı ekleyin
      defaultConfig {
      multiDexEnabled true
      }

  • Ben android studio da bir program yaptım . kodlar sıra sıra çalışıyor . uygulamayı açınca direk ortdakine veya son dakine basamıyoyrm. yardımcı olurmusnz.

  • Birsey soracagim bu android studio’da kitap yazilabilir mi? Smdiden tesekkurler

  • Çok teşekkürler hocam hemen inceliyorum. Benim elimde kaynak yok kodlabın bazı kitaplarını almıştım ama hepsi eclipse üzerinden gidiyor Türkçe olarak güncel kaynak sizsiniz hocam.

  • Hocam bu kadar açık ve anlaşılır yazdığınız için teşekkürler. Ben yeni başladım ve eclipse ile değil Android Studio ile başlamak ve gerisini getirmek istiyorum. Fakat tüm kaynaklar eclipse ve diğer ideler üzerinden anlatımda bulunmuş şu ana kadar ki Türkçe en temiz ve ileri konu sizinki. Paylaşımlarınızın devamı gelecek mi ?
    Android Studio ile android programlama geliştirmeyi tam olarak öğrenmek için tavsiye edeceğiniz kitap, site, video, eğitim seti vs. var mı, tab, Türkçe olarak.

    Tekrar teşekkürler takibinizdeyim hocam.

    • Merhaba,
      Öncelikle ilginiz ve takibiniz için teşekkürler. Fırsat buldukça Android programlama üzerine paylaşımlar yapacağım bu paylaşımlarım da Android Studio ile olacak. Ta ki bende öğrenene kadar :)
      Türkçe önerebileceğim şimdilik herhangi bir kaynak yok ama isterseniz fırsat bulduğum bir zaman İngilizce ve diğer dillerdeki kaynakları paylaşabilirim.

      • Hocam takibinizdeyim, ingilizce olarakta en stabil kaynakları paylaşırsanız çok sevinirim. Tekrar teşekkürler hocam

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir