Android Projesi Oluşturmak

Android Projesi Oluşturmak

Android Studio'yu yükledikten sonra artık yeni bir Android projesi oluşturabiliriz. Bunun için File > New > New Project seçeneğini seçmeniz yeterlidir.
Daha sonra karşımıza çıkan sihirbaz bize projemizle ilgili birtakım özellikleri belirtmemizi ister:
  • Application Name: Uygulamanın adı. Cihazda uygulama adı olarak bu değer görünür.
  • Company Domain: Projenin adı. Proje dosyaları bu klasör altında görünür.
  • Package Name: Uygulamanın dosyalarının saklanacağı paket adı. Bu uygulamaya özgü benzersiz bir ad olmalıdır. Aynı zamanda Google Play hesabında uygulamanızı tanımlayacağından bu epey önemlidir.
  • Project Location: Projenin bilgisayarınızda barınacağı yer.
Ardından, hangi Android sürümünde çalışmak istediğinizi seçeceğiniz ekranla karşılaşacaksınız.
  • Phone and Tablet: Uygulamanızın telefon ve tablette çalıştığı zaman kullanacağı en düşük Android işletim sistemi sürümünü belirtir.
  • TV: Uygulamanızın televizyonda çalıştığı zaman kullanacağı en düşük Android işletim sistemi sürümünü belirtir.
  • Wear: Uygulamanızın giyilebilir cihazlarda zaman kullanacağı en düşük Android işletim sistemi sürümünü belirtir.
Burada gerekli ayarları yaptıktan sonra Next düğmesiyle bir sonraki aşamaya geçelim. Bu aşamada bizden uygulamanın tasarımıyla ilgili bilgiler istenecektir. Tabletleri hedefleyen bir uygulamanız varsa Master/DetailFlow tipini seçmenizi tavsiye ederiz. Bu şekilde tablet cihazlarda solda bir navigasyon menüsü görüntülenirken akıllı telefonlarda normal uygulama görüntülenir.
Ana aktivitenizin adını da belirledikten sonra her şey hazır.
  • Activity Name: Ekranın adı
  • Layout Name: Ekrana dair tasarımı içeren dosyanın adı
  • Menu Resource Name: Uygulamanızın kullanacağı menünün adı.
  • Title: Oluşturulan ekrana dair başlığı belirtir. Bu ekranın tepesinde yer alır.
Yeni bir proje oluşturduktan sonra Android Studio'nun sol tarafında proje dosyalarımızı görebiliriz (siyah kutu). Orta bölgede ise seçilen dosyayla ilgili bir editör penceresi açılacaktır (kırmızı kutu). Bu bölümde hazırlayacağımız uygulamaların konsol çıktılarını Event Log adlı pencereden takip edebiliriz (yeşil kutu).
Not: Bu bölümde yapacağımız Android uygulamalarında kullanıcıya gösterilecek çıktılar veya kullanıcıdan alınacak girdiler bu pencere aracılığıyla iletilir.

Logcat

LogCat, Android Studio'da uygulamaların log çıktılarını okuyup incelemenize yarayan basit bir geliştirici aracıdır. Uygulamanızın kodunda, geliştirme aşamasında akışı takip etmek için sadece sizin görebileceğiniz notlar bırakabilirsiniz. Bu notlara, log denir.
LogCat Android Studio'da ekranın en altında bulunur.

Basit log işlemi

Bir Android uygulamasında, hata takibini kolaylaştırmak için loglar bırakırken basitçe
Log.i("Bilgi", "Internet baglantisi kuruldu");
ya da
Log.w("Dikkat", "Parola uc kez yanlis girildi");
gibi yöntemler kullanılır. Log.i'nin info(bilgi), Log.w'nin warning (tehlike) mesajı gereken durumlarda kullanılması, LogCat bölmesinde fark edilmelerini kolaylaştırır. Bunun dışında da log türleri vardır:
  • (Log.v) verbose: gerekli gereksiz tüm bilgiler,
  • (Log.d) debug: hata ayıklamaya dönük, metodun ya da sınıfın gidişatına ilişkin bilgiler,
  • (Log.e) error: hata oluşan yerlere ilişkin bilgiler.
Şimdi uygulamamızın içinde bir bölme işlemi yapalım ve tüm değerleri biz verelim. Bir sayıyı 0'a bölmeye çalışacağımız zaman hataya sebep olacağımız için bunu da log mesajlarından takip edelim:
//Dosya Adı: MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Log.i("LogDeneme", "Kullanıcı arayüzü oluşturuldu.");

    try {
        int c = 7 / 0;
    } catch (Exception hata) {
        Log.e("LogDeneme", "Ciddi bir hata oluştu: " + hata.getLocalizedMessage());
    }
}
Bu uygulamayı çalıştırdığımızda LogCat bölmesi şöyle görünecektir:
Gördüğünüz gibi farklı seviyelerdeki log mesajları farklı renklendirildi. Hata içerenler kırmızı renkte yazıtipiyle ekrana basıldı.
Mesajların bulunduğu bölümün üstünde yer alan süzgeç menüsüyle, log mesajlarını dinlemek istediğimiz uygulamaya veya etiketlere has süzgeçler oluşturup, sadece o kurallara uyan mesajların görüntülenmesini sağlayabilirsiniz. Uygulamanın çalıştığı cihaza ilişkin koşulsuz tüm mesajları görebilmek için seçeneği "No Filters" olarak ayarlayabilirsiniz.
Eğer yeni bir süzgeç oluşturmak istiyorsanız, seçeneği "Edit Filter Configuration" yapmalısınız.
Ardından gelen ekranda istediğiniz süzgeç ayarlarını yapabilirsiniz.
LogCat, Android Studio ile Android uygulamaları geliştirirken sıkça kullandığınız bölümlerden bir tanesi olacak. Bir uygulamanın çalıştırılması sırasında oluşan hataları izlemek, gerektiğinde onları paylaşmak için kullanılan yararlı bir bileşendir.

Android Studio Ortamına Proje Eklemek

Önceden çalıştığınız bir projeyi başka bir bilgisayardaki Android Studio içerisinde çalıştırmak ya da Android 201, 301 ve 401 eğitimlerinde sizlerle paylaştığımız örnek projeler üzerinde çalışmak istiyorsanız, proje dosyalarını Android Studio çalışma ortamına taşımalısınız.
Android Studio'yu açtığınızda aşağıdaki gibi bir ekranla karşılaşacaksınız. Daha önce farklı ortamlarda oluşturulmuş projeleri açmak için, Import project (Eclipse ADT, Gradle, etc.) seçeneğini seçin:
Karşınıza gelecek ekrandan projenin bilgisayarınızda bulunduğu dizini seçin:
Android Studio, mevcut proje dosyanızı yeni bir proje dosyasına çevirerek yeniden kaydetmek isteyecek. Bunun için de size yeni dosyanın bilgisayarınızda nereye kaydedilmesini istediğinizi soracak:
Bir sonraki adımdaysa, Android Studio projenizde bulunan .jar dosyalarının ya da dışardan eklenmiş kütüphanelerin Gradle uyumluluklarını yükler. Bu yüklemeleri yaparken hangi sürümü yükleyeceğine karar veremezse en yeni sürümlerini yükler. En yeni sürümden farklı bir sürüme ihtiyacınız varsa, alttaki kutucukları işaretlemeyip daha sonra bu kütüphaneleri elle içe aktarmanız gerekir.
Bu işlemin ardından projeniz kullanıma hazır hale gelir:

DDMS

DDMS (Dalvik Debug Monitor Server) bilgisayarınıza bağlı bulunan Android cihazları ve o anda çalışan simulatörleri takip edebileceğiniz bir eklentidir. DDMS sayesinde cihaz üzerinde çalışan uygulamaları görüntüleyebilir, cihazın dosya sistemine müdahale edebilir, sahte konum gönderebilir ve ekran görüntüleri alabiliriz. DDMS ekranına ulaşmak için Android Studio içinde araç çubuğundan Android Device Monitor'ü açmanız gerekir. Açılan pencere DDMS arayüzünüzdür.
DDMS ekranının sol tarafında o anda bilgisayara bağlı bulunan cihazları görebilirsiniz. Ekranın alt tarafında ise daha önceki bölümde anlattığımız LogCat konsolu bulunmaktadır. Sağ üst kısımda cihaza ait detaylı bilgileri alacağımız bir ekran yer alır. Şimdi bu ekranları inceleyelim.
Cihaz ekranında listelenmiş cihazlardan birine tıkladığınızda cihazın üzerinde o anda çalışan bütün uygulamaları ve bu uygulamaların tükettiği bellek miktarını görüntüleyebilirsiniz. Buradan bir uygulamayı seçtiğinizde yukarıdaki düğmeleri kullanarak uygulamayla ilgili çeşitli kontrollere erişebilirsiniz. Buradaki düğmeler;
  • Debug: Eğer çalışan uygulamanın açık kodu Android Studio'da mevcutsa, uygulamayı bu seçenekle debug modunda çalıştırabiliriz. Bu şekilde uygulamanın adım adım çalışmasını kod üzerinden takip etme olanağına sahip oluruz.
  • Update Heap: Uygulamanın harcadığı bellek tüketimini görmemizi sağlar.
  • Dump HPROF File: Uygulamanın CPU ve bellek tüketimini gözlemlememizi sağlayan bir dosya oluşturur.
  • Cause GC: Hafıza yönetimi yapar.
  • Stop Process: Uygulamayı durdurur.
  • Update Threads: Çalışan Thread bilgisini günceller.
  • Screen Capture: Cihazdan ekran görüntüsü almamızı sağlar.
Diğer ekrandaki sekmelere de göz atalım:
  • Threads: Uygulamada o anda çalışan bütün Thread'leri görmenizi sağlar. Bunun için gözlemlemek istediğiniz uygulamayı seçip Update Threads düğmesine tıklamanız gerekir. Böylece çalışan Thread'ler listelenecektir.
Heap: Uygulamanın bellek tüketimini ayrıntılı bir şekilde görmenizi sağlar. Tüketimini görmek istediğimiz uygulamayı seçerek Update Heap düğmesine tıklayıp ardından Cause GC düğmesine tıklayarak bellek tüketimini görüntüleyebiliriz.
Allocation Tracker: Bu seçenek uygulamanın çalışması sırasında belleğin ne derece tüketildiğini gerçek zamanlı izlememizi sağlar.
Gerçek Zamanlı Takip
  • Network Statistics: Android 4.0 ve sonrası sürümlerin yüklü olduğu cihazlarda kullanabileceğiniz bu özellik sayesinde işletim sisteminin yaptığı bütün İnternet kullanım trafiğini görüntüleyebilirsiniz.
  • File Explorer: Cihazın dosya sistemine buradan göz atabilirsiniz. Her türlü uygulama dosyası ve diğer dosyalar burada listelenir.
  • Emulator Control: Cihaz üzerinde gerçekleştirmek istediğiniz sanal işlemleri burada yapabilirsiniz. Örneğin cihaza sanal bir SMS atabilir, GPS'e koordinat gönderebilir, hatta bir simulatöre telefon çağrısı gelmiş görüntüsü sağlayabilirsiniz. Bu şekilde uygulamalarınızdaki fonksiyonları deneme şansı elde edersiniz.

Bir Android Projesinin Yapısı

Android Studio'nun çıkmasıyla beraber alıştığımız Eclipse düzeni proje yapısı da bazı değişikliklere uğradı ve daha sadeleşti. Bildiğiniz gibi, yeni bir Android projesi yarattığımızda standart bir Java projesinden farklı olarak birtakım yeni klasör ve XML dosyaları görürüz. Şimdi bir Android Studio projesinin yapısını detaylı inceleyelim:

  • build klasörü: Belirli derleme değişkenlerine göre derleme dosyalarını içerir. Ana uygulama modülü içinde bulunur.
  • libs klasörü: Eğer uygulamamızda Android SDK içinde yer almayan bir Java kütüphanesi (örneğin AdMob) kullanıyorsak, ilgili JAR dosyalarını bu klasöre atmamız gerekir. JAR dosyası ekledikten sonra dosyaya sağ tuşla tıklayıp Add To Build Path seçeneğini seçmeyi unutmamalıyız. Aksi takdirde derleyici jar dosyasını göremez.
  • src klasörü: Kaynak dosyaları burada yer alır. Bu klasörün içinde Java dosyalarını tutacağız.
  • src/androidTest klasörü: Araçlı test belgelerini içerir.
  • src/main/java klasörü: Uygulama aktiviteleri için Java kaynak kodlarını içerir.
  • src/main/jni/ klasörü: Java Native Interface (JNI) kullanan yerli kodları içerir.
  • src/main/gen/ klasörü: R.Java ya da AIDL dosyalarından üretilmiş arayüz belgeleri gibi Android Studio tarafından yaratılan belgeleri içerir.
  • src/main/assets/ klasörü: Genelde boştur. raw değerli dosyalarınızı barındırmak için kullanabilirsiniz. Buraya koyduğunuz dosyalar, .apk dosyasının içine derlenir.
  • src/main/res klasörü: Uygulamayla ilgili her türlü kaynak bu klasörde tutulur. Burada tutulan dosya tipleri resim dosyaları, ekran tasarımları ve metin dosyaları olabilir. Şimdi bu klasörü biraz daha detaylı inceleyelim:
    • drawable klasörleri: Bu klasörler uygulamada kullanılan resim dosyalarını içerir. Bu dosyalar PNG ya da JPEG formatında olabilir. Klasörün yanındaki hdpi (high dpi), ldpi (low dpi), mdpi (medium dpi) vexhpi (extra hight dpi) cihaza özel ekran çözünürlüklerine göre dosya çağırmamızı sağlar. Örneğin uygulamanın çalıştığı cihaz eski modelse ve ekranı düşük çözünürlük destekliyorsa ldpi klasörü içindeki resim dosyaları kullanılacaktır. Ama uygulama yeni nesil geniş ekran bir cihazda çalışıyorsa ona uygun olarak yüksek çözünürlüklü bir klasörde bulunan dosyalar kullanılır. Eğer uygulamanızda düzgün bir tasarım varsa ve geniş yelpazede cihazlar destekliyorsanız tasarımcınızdan uygun formatlarda dosyalar istemenizi öneririz.
    • anim klasörü: Animasyon objeleri için derlenen XML dosyalarını içerir.
    • color klasörü: Renkleri tanımlayan XML dosyalarını içerir.
    • mipmap klasörü: Uygulamanızın açılış logolarını içerir.
    • layout klasörü: Burada ekranlara dair tasarım dosyaları bulunur. xml formatındaki bu dosyalar her ekrana ait tasarımları barındırır. Bir ekran Activity ile oluşturulduğunda onCreate metodu içinde ilgili layout çağırılır ve ekranda yer alacak öğeler oluşturulur.
    • raw klasörü: İsteğe bağlı raw değerli dosyaları içerir. MP3 ve Ogg gibi medya dosyalarını kaydetmek için uygun bir klasördür.
    • menü klasörü: Eğer bir ekranda cihazın Menü tuşuna basıldığında bir menü çıkmasını istiyorsak, menü elemanlarını bir xml dosyasında tanımlayarak bu klasör içine saklarız.
    • values klasörü: Uygulamada kullanılan sabit değişkenler burada saklanabilir. strings.xml dosyası uygulamada kullanılan ve ekranlarda kullanıcıya gösterilen her türlü metni saklar. Anahtar – veri mantığıyla saklanan bu değerler kod içinde ya da layout dosyalarında çağırılır. Aynı zamanda bu değerler R.java dosyasında işaretlenir. Bunun dışında colors.xml dosyası layout dosyalarında kullanılacak önceden tanımlanmış renkleri içerir. styles.xml dosyası ise ekranlarda kullanılan ve yinelayout dosyalarından çağrılan stilleri içerir. values klasörünün bir başka özelliği de cihazın ayarlanmış ana diline göre yerelleşebilmesidir. Bunu ilerleyen bölümlerde anlatacağız.
    • xml klasörü: aPreferenceScreen, AppWidgetProviderInfo, or Searchability Metadata gibi değerleri tanımlayan çok yönlü XML dosyalarını saklar.
  • .gitignore dosyası: git tarafından reddedilen kayıt dışı dosyaları tanımlar.
  • app.iml dosyası: IntelliJ IDEA modülü.
  • build.gradle dosyası: Derleme sistemi için değiştirilebilir özellikleri içerir.
  • AndroidManifest.xml dosyası: Bu dosya uygulamanın kalbidir. Uygulamayla ilgili her türlü özellik ve uygulamanın işletim sisteminden talep edeceği bütün izinler burada tanımlanır. Aynı zamanda uygulama içinde kullanılan her ekran burada kaydedilip tanımlanmak zorundadır. Bu özellikleri de ilerleyen bölümlerde anlatacağız.

Yorumlar

Bu blogdaki popüler yayınlar

İç İçe Döngüler

CSS Bir Elemanın Genişliği ve Yüksekliği

JavaScript Dilinde Fonksiyon Çağırma Teknikleri