Android Uygulama Geliştirme Temelleri: Proje Yapısı, Kullanıcı Arayüzü Tasarımı ve Resource Yönetimi

Android’e Giriş

Adile Güngör ♾️ 🌎
Women in Technology
4 min readAug 4, 2023

--

Merhaba! Ben Kotlin ile Android Programlama Akademisi katılımcılarından Adile Güngör. Kotlin ile Android Programlama Akademisi, “Afetten Etkilenen Yazılımcı Gençlerin Güçlenmesi ve İstihdama Erişimi Projesi”, Sivil Toplum için Destek Vakfı ve Turkey Mozaik Foundation iş birliği ile hayata geçirilen Yerel Güçlenmeye Destek Fonu kapsamında sağlanan hibe desteğiyle gerçekleştirilmektedir.

Şimdi sizlere Android’e dair genel bir bakış sunacağım. Android platformu, mobil uygulama geliştirme için gerekli olan yazılım ve donanım bileşenlerini içerir. Bu platform, bir dizi temel özellik ve hizmet sunarak uygulama geliştirmeyi kolaylaştırır. Android uygulamaları Java veya Kotlin programlama dilleri kullanılarak geliştirilir ve genellikle APK (Android Package) olarak bilinen bir dosya türünde dağıtılır. Şimdi size bu süreçte temel olarak neler bilmeniz gerektiğini anlatacağım.

Photo by Guido Coppa on Unsplash

Android Studio Kurulumu:

Evet ilk olarak Android Studio kurulumlarını gerçekleştiriniz. Android Studio’yu açınız ve gösterdiğim adımları takip ediniz.

Android Studio’da Proje Oluşturma:

Android Studio’yu açın ve New Project seçeneğini seçin.

Proje Oluşturma

Ardından aşağıda gösterdiğim şekilde boş bir şablon seçin ve Next diyin:

Şablon Seçimi

Ardından aşağıdaki sayfa gelecektir. Projenize isim verip oradan istediğiniz ayarları değiştirin. Ardından Finish’e tıklayınız. Ben genelde varsayılanlar üzerinden ilerlerim:

Proje Oluşturma

Ve bitti. Artık bir Android projeniz var. Android dünyasına hoşgeldiniz. Şimdi kodlamaya başlamak için proje yapısına ve klasörlere göz atalım:

Android Proje Genel Dosya Yapısı

Proje Yapısı:
Android uygulama geliştirme projesi, genellikle şu klasörlerden oluşur:

app: Uygulamanın temel kodunun ve kaynak dosyalarının bulunduğu klasördür. Java veya Kotlin dosyaları burada yer alır ve aktiviteler, fragmentlar, hizmetler ve diğer bileşenler bu klasör altında düzenlenir.

res: Uygulamanın görsel ve metinsel kaynaklarının saklandığı klasördür. XML dosyaları, düzenler (layout), metin dizeleri, resimler, animasyonlar ve diğer kaynaklar bu klasöre yerleştirilir.

AndroidManifest.xml: Uygulamanın temel yapılandırmasını, bileşenleri ve izinleri tanımlayan dosyadır. Android sistemi, uygulamayı başlatırken bu dosyayı kullanarak uygulamanın kimliğini ve yetkilerini belirler.

Kullanıcı Arayüzü Tasarımı:
Android uygulamaları, kullanıcıların etkileşimde bulunduğu önemli bir arayüze sahiptir. Kullanıcı arayüzü tasarımında kullanılan yöntemler şunlardır:

XML ile Tasarım:

XML ile Tasarım

XML dosyaları, düzenler (layout) ve görünümler (views) kullanarak kullanıcı arayüzünü tanımlar. LinearLayout, RelativeLayout ve ConstraintLayout gibi düzen yöneticileri, bileşenlerin ekran üzerinde nasıl yerleştirileceğini ve boyutlandırılacağını kontrol eder. Ayrıca, butonlar, metin kutuları, resimler ve diğer görünümler, arayüzü zenginleştirmek için kullanılır. Aynı zamanda kullanıcı arayüzünü Java veya Kotlin koduyla da oluşturabilirsiniz. Yani, arayüzü XML dosyaları yerine kodla oluşturmak anlamına gelir. Bu, uygulama çalışma zamanında düzenleri ve görünümleri dinamik olarak oluşturmak için iyidir.

Resource Yönetimi:
Android uygulamaları, farklı ekran boyutları, çözünürlükleri ve cihaz tipleri için uyumlu olmalıdır. Resource yönetimi, uygulamanın düzgün çalışması ve iyi bir kullanıcı deneyimi sunması açısından önemlidir:

Görseller: Uygulamanın res klasörü, farklı çözünürlükler ve yoğunluklara uygun görseller içerir. Drawable-hdpi, drawable-xhdpi, drawable-xxhdpi gibi klasörlerde farklı çözünürlüklerde görseller bulunur.

Metin Dizeleri: values klasöründeki strings.xml dosyası, uygulamanın metin içeriğini ve dil desteğini tanımlar. Ayrıca, dil kaynak dosyaları (strings.xml (en), strings.xml (tr), vb.) kullanılarak farklı diller için destek sağlanır.

Renkler: colors.xml dosyasında tanımlanan renkler, uygulamada kullanılan renkleri merkezi olarak yönetir. Bu sayede renkleri tek bir yerde değiştirerek tüm uygulamaya yansıtabilirsiniz.

Boyutlar: dimens.xml dosyasında belirtilen boyutlar, farklı ekran boyutlarına ve yoğunluklarına uygun bir şekilde arayüzün düzenini ve boyutlarını kontrol eder.

Yazının devamında bu temeller hakkında küçük kodlamalar paylaşacağım. Sıkılmadıysanız okumaya devam edin lütfen.

Basit Bir XML Tasarımı (activity_main.xml):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Merhaba, Android!"
android:textSize="24sp"
android:textStyle="bold" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tıkla"
android:id="@+id/buttonClick" />

</LinearLayout>

Sadece Kodlama ile Butona Tıklama İşlemi (MainActivity.java):

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Button buttonClick = findViewById(R.id.buttonClick);

buttonClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Tıklandı!", Toast.LENGTH_SHORT).show();
}
});
}
}

String Kaynağı ve Rengi Kullanma (strings.xml ve colors.xml):

strings.xml:

<resources>
<string name="app_name">MyApp</string>
<string name="welcome_message">Hoş Geldiniz!</string>
</resources>

colors.xml:

<resources>
<color name="primary_color">#3F51B5</color>
<color name="secondary_color">#FF4081</color>
</resources>

dimens.xml(ekran boyutuna göre ayarlama):

<resources>
<dimen name="text_size_small">12sp</dimen>
<dimen name="text_size_medium">16sp</dimen>
<dimen name="text_size_large">20sp</dimen>
</resources>

Yukarıda basit bir XML tasarımı, butona tıklama işlemi, string kaynağı ve renk kullanımı, ekran boyutuna göre boyut ayarlama gibi temel Android konularına değindik. Bu temel konular, Android uygulama geliştirmede başlangıç için önemli bir temel oluşturur. Uygulamanızın geliştirme sürecinde bu konulara hakim olmak, uygulamanızın kullanıcılar arasında daha iyi bir deneyim sunmasına yardımcı olacaktır. Size Android yolculuğunuzu güzelleştirecek bir yazı bırakıyorum. İnceleyin lütfen. Geliştirme sürecinizde daha fazla ayrıntı öğrenmek için Android geliştirme dokümantasyonlarını inceleyiniz. Android’in sitesi iyi bir rehber olacaktır.Umarım faydalı olmuştur.

Dilerseniz GitHub ve Linkedin profilime göz atabilirsiniz. Ve sorularınızı iletebilirsiniz. Sevgiler.

--

--