> For the complete documentation index, see [llms.txt](https://egemen-mede.gitbook.io/jetpack-navigation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://egemen-mede.gitbook.io/jetpack-navigation/06.-bir-destinationin-anatomisi.md).

# 06. Bir Destination'ın Anatomisi

02 numaralı dersimizde Destinations ve actions ifadelerini sıklıkla duyacağımızı söylemiştik. Şimdi bir hedef alanını belirten destination'ların anatomisine bir göz atalım.

İncelememize başlamak için şimdiye kadar **Navigation Graph** ve **NavHostFragment** eklediğimiz projemize artık bir **Destination** eklemenin vakti geldi.

Bunun için **nav\_graph.xml** dosyamızın dizayn bölümünü aşağıdaki gibi açalım.

![nav\_graph.xml](https://2300662549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9we-f91sgtHSNx_N3%2F-M-AackCCDMPIsAgTdRK%2F-M-AcBsN1Td0zh2xtp8m%2F012.png?alt=media\&token=64dab553-3318-4549-9f65-f9994ed44f81)

Bu ekranda "**New Destination**" butonuna basarak,

![Create new destination penceresi](https://2300662549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9we-f91sgtHSNx_N3%2F-M-AackCCDMPIsAgTdRK%2F-M-AcP1vkYJiphDrqqMj%2F013.png?alt=media\&token=80144c89-cf78-448e-9a5c-61ddeaaa9360)

Açılan yukarıdaki pencerede "**Create new destination**" seçeneğini işaretleyelim. Karşımıza aşağıdaki gibi yeni bir fragment oluşturma penceresi açılacaktır. Gerekli isimlendirmeleri verip, **Finish** butonuna basalım.

![Yeni fragment oluşturma penceresi](https://2300662549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9we-f91sgtHSNx_N3%2F-M-AackCCDMPIsAgTdRK%2F-M-AcjEARrYZW1bwzefD%2F014.png?alt=media\&token=f01add89-2787-4c45-b01e-fcb741e15dfd)

Bu adımı tamamladığımızda artık aşağıdaki gibi yeni bir destination'ımız hazır duruma gelecektir.

![blankFragment isimli yeni destination'umuz](https://2300662549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9we-f91sgtHSNx_N3%2F-M-AackCCDMPIsAgTdRK%2F-M-Ad9OAJuf5_x5rEFMo%2F015.png?alt=media\&token=574688ad-19e6-49e9-9930-840fd09b3b43)

**nav\_graph.xml**’in dizayn bölümündeki **Attribute**’ler alanında 4 attribute (öznitelik) bulunur.

**Type** alanı destination’a bir fragment, activity veya custom bir class uygulanıp uygulanmadığını gösterir. Şu anda bir Fragment eklediğimiz için Type, Fragment olarak görünmekte.

**Label** alanı, hedefin XML layout dosyasının adını içerir.

**ID** alanı, hedefin kimliğini belirtir.

**Class** alanı, hedefle ilişkilendirilmiş sınıfın adını gösterir. Bizim örneğimize göre bu class adı aşağıdaki gibi olacaktır.

**com.etiya.jpnavigation1.BlankFragment**

**nav\_graph.xml**'in metin bölümü ise aşağıdaki gibi oluşacaktır.

```markup
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph"
    app:startDestination="@id/blankFragment">

    <fragment
        android:id="@+id/blankFragment"
        android:name="com.etiya.jpnavigation1.BlankFragment"
        android:label="fragment_blank"
        tools:layout="@layout/fragment_blank" />
</navigation>
```

\
Burada **app:startDestination="@id/blankFragment"** şeklinde belirtilen **startDestination** alanı uygulama açıldığında kullanıcıları ilk karşılayan ve uygulamadan çıkmadan önce görecekleri son ekranı belirtir. XML dizayn sayfasında aşağıdaki gibi **ev simgesi** ile gösterilir.

![startDestination'a sahip blankFragment](https://2300662549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9we-f91sgtHSNx_N3%2F-M-AdPJxpa9G4l9ejv9o%2F-M-AfjL0aY9x1WqBWXz4%2F016.png?alt=media\&token=61e0b9db-7721-4357-93ca-08ef58e4b05b)

### **Yer tutucu (Placeholder) hedefleri**

Aşağıdaki görselde de gördüğü gibi yeni bir destination oluşturma ekranındaki placeholder seçeneği dikkatinizi çekmiş olmalı.

![Placeholder](https://2300662549-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M-9we-f91sgtHSNx_N3%2F-M-AackCCDMPIsAgTdRK%2F-M-AcP1vkYJiphDrqqMj%2F013.png?alt=media\&token=80144c89-cf78-448e-9a5c-61ddeaaa9360)

Placeholder'ları, uygulanmayan hedefleri temsil etmek için kullanabilirsiniz. Yer tutucu (placeholder) bir hedefin görsel bir temsili olarak hizmet eder. Navigation Editor’de, yer tutucuları diğer herhangi bir hedef gibi kullanabilirsiniz.
