Bir Android Projesinin Yapısı
Öğrenim gördüğün alan dışında bir alanda kariyer yapmak kolay mıdır? Elbette değil! En önemli şey sevdiğin şeyi yapmaktır…
Benim kariyer yolculuğum tam da bu cümlelerle başladı. Üniversitedeki bir hocamla yaşadığımız bu diyalog şimdi bulunduğum kariyer yolculuğuna sürükledi beni.
Yazılım sektörü oldukça ilgi ve istek isteyen bir alan şüphesiz. Ben de hem bu yolculukta benimle aynı rotada olan serüvencilerle bilgilerimi paylaşmak, bildiğimi anlatmak için blog yazmaya karar verdim.
İlk yazımı benim de yeni yeni örenmeye başladığım Android üzerine kurguladım. Bu yazıda Android proje yapısının ne olduğunu paylaşacağım. Umarım faydalı olur.
Android Proje Yapısına Dair Detaylı Bir İnceleme

.idea Intellij IDE kullandığınızda proje ayarları bu klasörün altında saklanır.
Ayrıntılı bilgi için https://www.jetbrains.com/help/idea/creating-and-managing-projects.html
app Uygulamanızın kaynak kodu, kaynak dosyaları gibi öğeler bu dosyada bulunur. Varsayılan modüldür.
build Derleme dosyalarını içerir.
libs Kütüphaneleri içerir ve kütüphane eklemek istiyorsak dosyayı bu klasöre atmalıyız.
scr Kod ve kaynak dosyalarımızı içerir.
androidTest Test belgelerini içerir.
Ayrıntılı bilgi için https://developer.android.com/studio/test/
main
java Java veya Kotlin kaynak kodlarımızı içerir.
res
animator Özel animasyonlar tanımlamak için kullanılan xml yapısı.
anim Sadece view animasyonlar ile çalışanlan animasyonlar için kullanılan xml yapısı.
Ayrıntılı bilgi için: https://developer.android.com/guide/topics/graphics/prop-animation
color Renkleri tanımlayan xml yapısı.
drawable Bitmap ve çeşitli dosyaları barındırır.
mipmap Uygulama simgesinin varyasyonlarının bulunduğu yapı.
layout Kullanıcı arayüzü düzenini tanımlayan xml yapısı.
menu İçerik Menüsü veya Alt Menü gibi uygulama menülerini tanımlayan XML dosyaları bulunur.
raw Ham dosya kaynaları bulunur.
values Dizeler, tam sayılar ve renkler gibi basit değerler içeren XML dosyaları
xml Runtimeda çağırılabilecek xml yapıları bulunur.
font Yazı tiplerini ekleyebileceğiniz XML yapısı.
Ayrıntılı bilgi için https://developer.android.com/guide/topics/resources/providing-resources
assets Olduğu gibi derlenmesi gereken dosyaları içerir. Bu derleme run timeda gerçekleşir.
AndroidManifest.xml Uygulama izinleri ve uygulama izinlerinin bulunduğu xml yapısı.
test Local JVM için test kodları içerir.
.gitignore App isimli modülümüz içindeki git tarafından kayıta alınmayacak dosyaların isimlerini içerir.
app.iml “IML is a module file created by IntelliJ IDEA, an IDE used to develop Java applications. It stores information about a development module, which may be a Java, Plugin, Android, or Maven component; saves the module paths, dependencies, and other settings.”
iml, Java uygulamaları geliştirmek için kullanılan bir IDE olan IntelliJ IDEA tarafından oluşturulan bir modül dosyasıdır. Java, Plugin, Android veya Maven bileşeni olabilecek bir geliştirme modülü hakkında bilgi depolar; modül yollarını, bağımlılıklarını ve diğer ayarları kaydeder.
Ayrıntılı bilgi için https://stackoverflow.com/questions/30737082/what-are-iml-files-in-android-studio
build.gradle Bulunduğu modüle özgü yapılandırma ayarları bulunur.
proguard-rules.pro Uygulamanızın güvenliği ve kodlarınızı küçültmek için kullanabilirsiniz.
Ayrıntılı bilgi için https://developer.android.com/studio/build/shrink-code
