{"id":29910,"date":"2025-09-21T13:40:19","date_gmt":"2025-09-21T10:40:19","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/"},"modified":"2025-09-21T13:40:19","modified_gmt":"2025-09-21T10:40:19","slug":"android-malzeme-bilesenleri-malzeme-uyari-kutusu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/","title":{"rendered":"Android Malzeme Bile\u015fenleri &#8211; Malzeme Uyar\u0131 Kutusu"},"content":{"rendered":"<p># Android MaterialAlertDialog: Detayl\u0131 Uygulama Rehberi<\/p>\n<p>Kullan\u0131c\u0131 deneyimini zenginle\u015ftirmek i\u00e7in uygulamalar\u0131n\u0131zda uyar\u0131lar ve onay mesajlar\u0131 g\u00f6stermeniz mi gerekiyor? Android&#8217;in g\u00fc\u00e7l\u00fc Material Design k\u00fct\u00fcphanesi, bu ama\u00e7 i\u00e7in ideal bir \u00e7\u00f6z\u00fcm sunuyor: <code class=\"language-\">MaterialAlertDialog<\/code>. Bu rehberde, <code class=\"language-\">MaterialAlertDialog<\/code>&#8216;u s\u0131f\u0131rdan ileri seviyeye kadar nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131, performans\u0131n\u0131 nas\u0131l optimize edece\u011finizi ve ger\u00e7ek d\u00fcnya senaryolar\u0131nda nas\u0131l uygulayaca\u011f\u0131n\u0131z\u0131 detayl\u0131 olarak inceleyece\u011fiz.  Uygulamalar\u0131n\u0131zda kullan\u0131c\u0131 etkile\u015fimini m\u00fckemmelle\u015ftirmek i\u00e7in ihtiyac\u0131n\u0131z olan her \u015feyi bu makalede bulacaks\u0131n\u0131z.<\/p>\n<p><strong>MaterialAlertDialog Nedir? Temel Kavramlar<\/strong><\/p>\n<p>Android&#8217;de kullan\u0131c\u0131ya bilgi vermek, onay almak veya bir se\u00e7im yapt\u0131rmak i\u00e7in kullan\u0131lan ileti\u015fim kutular\u0131n\u0131 (dialog) olu\u015fturman\u0131n en etkili yolu, Material Design k\u00fct\u00fcphanesindeki <code class=\"language-\">MaterialAlertDialog<\/code> s\u0131n\u0131f\u0131d\u0131r.  Eski y\u00f6ntemlerle olu\u015fturulan dialoglara g\u00f6re daha modern, \u00f6zelle\u015ftirilebilir ve eri\u015filebilir bir deneyim sunar.  <code class=\"language-\">MaterialAlertDialog<\/code>, kullan\u0131c\u0131n\u0131n dikkatini \u00e7eken ve uygulaman\u0131n geri kalan\u0131yla uyumlu bir aray\u00fcz sa\u011flar.  Bu, uygulaman\u0131z\u0131n genel tasar\u0131m b\u00fct\u00fcnl\u00fc\u011f\u00fcn\u00fc koruman\u0131za ve kullan\u0131c\u0131lar\u0131n daha sezgisel bir \u015fekilde etkile\u015fim kurmas\u0131n\u0131 sa\u011flaman\u0131za yard\u0131mc\u0131 olur.  Temel olarak, bir ba\u015fl\u0131k (title), bir i\u00e7erik (message), ve bir veya daha fazla d\u00fc\u011fme (button) i\u00e7erir. Bu bile\u015fenlerin her biri \u00f6zelle\u015ftirilebilir ve uygulaman\u0131z\u0131n ihtiya\u00e7lar\u0131na g\u00f6re uyarlanabilir.<\/p>\n<p><strong>MaterialAlertDialog Nas\u0131l Olu\u015fturulur? (Yeni Ba\u015flayanlar \u0130\u00e7in Ad\u0131m Ad\u0131m K\u0131lavuz)<\/strong><\/p>\n<p>\u0130lk olarak, <code class=\"language-\">MaterialAlertDialogBuilder<\/code> s\u0131n\u0131f\u0131n\u0131 kullanarak bir <code class=\"language-\">AlertDialog<\/code> nesnesi olu\u015ftural\u0131m.  A\u015fa\u011f\u0131daki basit \u00f6rnek, bir &#8220;Merhaba D\u00fcnya!&#8221; mesaj\u0131 g\u00f6steren bir uyar\u0131 kutusu olu\u015fturur:<\/p>\n<pre class=\"language-kotlin\"><code>val builder = AlertDialog.Builder(this)\nbuilder.setTitle(&quot;Uyar\u0131&quot;)\nbuilder.setMessage(&quot;Merhaba D\u00fcnya!&quot;)\nbuilder.setPositiveButton(&quot;Tamam&quot;) { dialog, _ -&gt;\n    dialog.dismiss()\n}\nval dialog = builder.create()\ndialog.show()<\/code><\/pre>\n<p>Bu kod, basit bir &#8220;Tamam&#8221; d\u00fc\u011fmesi i\u00e7eren bir uyar\u0131 kutusu olu\u015fturur.  <code class=\"language-\">setPositiveButton<\/code> fonksiyonu, d\u00fc\u011fmeye t\u0131kland\u0131\u011f\u0131nda yap\u0131lacak i\u015flemi tan\u0131mlar.  <code class=\"language-\">dialog.dismiss()<\/code> ise dialog kutusunu kapat\u0131r.  <code class=\"language-\">this<\/code> ba\u011flam\u0131nda, genellikle bir <code class=\"language-\">Activity<\/code> veya <code class=\"language-\">Fragment<\/code> nesnesi kullan\u0131l\u0131r.<\/p>\n<p><strong>\u00d6nemli Not:<\/strong>  Bu kod \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce, <code class=\"language-\">build.gradle<\/code> dosyan\u0131zda Material Design k\u00fct\u00fcphanesini ekledi\u011finizden emin olun:<\/p>\n<pre class=\"language-gradle\"><code>dependencies {\n    implementation(&quot;com.google.android.material:material:1.9.0&quot;) \/\/ veya en son s\u00fcr\u00fcm\n}<\/code><\/pre>\n<p><strong>Farkl\u0131 D\u00fc\u011fme T\u00fcrleri ve \u00d6zelle\u015ftirmeler (Orta Seviye)<\/strong><\/p>\n<p><code class=\"language-\">MaterialAlertDialog<\/code>&#8216;u daha da \u00f6zelle\u015ftirmek i\u00e7in, farkl\u0131 d\u00fc\u011fme t\u00fcrlerini (<code class=\"language-\">setPositiveButton<\/code>, <code class=\"language-\">setNegativeButton<\/code>, <code class=\"language-\">setNeutralButton<\/code>) ve \u00f6zelle\u015ftirilebilir parametreleri kullanabiliriz.  \u00d6rne\u011fin, bir onay ve iptal d\u00fc\u011fmesi i\u00e7eren bir dialog olu\u015ftural\u0131m:<\/p>\n<pre class=\"language-kotlin\"><code>val builder = AlertDialog.Builder(this)\nbuilder.setTitle(&quot;\u00d6nemli Soru&quot;)\nbuilder.setMessage(&quot;Devam etmek istedi\u011finize emin misiniz?&quot;)\nbuilder.setPositiveButton(&quot;Evet&quot;) { dialog, which -&gt;\n    \/\/ Evet d\u00fc\u011fmesine t\u0131kland\u0131\u011f\u0131nda yap\u0131lacak i\u015flemler\n    Toast.makeText(this, &quot;Evet se\u00e7ildi!&quot;, Toast.LENGTH_SHORT).show()\n}\nbuilder.setNegativeButton(&quot;Hay\u0131r&quot;) { dialog, which -&gt;\n    \/\/ Hay\u0131r d\u00fc\u011fmesine t\u0131kland\u0131\u011f\u0131nda yap\u0131lacak i\u015flemler\n    Toast.makeText(this, &quot;Hay\u0131r se\u00e7ildi!&quot;, Toast.LENGTH_SHORT).show()\n    dialog.dismiss()\n}\nval dialog = builder.create()\ndialog.show()<\/code><\/pre>\n<p>Bu \u00f6rnekte, kullan\u0131c\u0131ya bir soru soruluyor ve &#8220;Evet&#8221; veya &#8220;Hay\u0131r&#8221; se\u00e7enekleri sunuluyor.  Her d\u00fc\u011fmeye t\u0131kland\u0131\u011f\u0131nda farkl\u0131 i\u015flemler ger\u00e7ekle\u015ftiriliyor.  Ayr\u0131ca, <code class=\"language-\">setCustomTitle<\/code> ve <code class=\"language-\">setView<\/code> metodlar\u0131n\u0131 kullanarak, dialogun ba\u015fl\u0131\u011f\u0131n\u0131 ve i\u00e7eri\u011fini tamamen \u00f6zelle\u015ftirebilirsiniz.  \u00d6rne\u011fin, kendi \u00f6zel layout&#8217;\u0131n\u0131z\u0131 kullanarak daha karma\u015f\u0131k bir dialog tasarlayabilirsiniz.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Vaka \u00c7al\u0131\u015fmalar\u0131<\/strong><\/p>\n<p><strong>Senaryo 1: Uygulama \u0130\u00e7i Ayarlar De\u011fi\u015fikli\u011fi Onay\u0131:<\/strong> Kullan\u0131c\u0131 uygulama ayarlar\u0131nda bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131nda, bu de\u011fi\u015fikli\u011fin kaydedilmeden \u00f6nce onaylanmas\u0131 i\u00e7in bir <code class=\"language-\">MaterialAlertDialog<\/code> kullanabiliriz.  Bu, kullan\u0131c\u0131n\u0131n yanl\u0131\u015fl\u0131kla bir ayar de\u011fi\u015fikli\u011fi yapmas\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<\/p>\n<p><strong>Senaryo 2: Hata Mesajlar\u0131:<\/strong> Bir hata olu\u015ftu\u011funda, kullan\u0131c\u0131ya hatan\u0131n nedenini ve nas\u0131l d\u00fczeltilebilece\u011fini a\u00e7\u0131klayan bir <code class=\"language-\">MaterialAlertDialog<\/code> g\u00f6sterebiliriz.  Bu, kullan\u0131c\u0131 deneyimini iyile\u015ftirmeye ve uygulaman\u0131n g\u00fcvenilirli\u011fini art\u0131rmaya yard\u0131mc\u0131 olur.<\/p>\n<p><strong>Senaryo 3:  Kullan\u0131c\u0131 Giri\u015fi Onay\u0131:<\/strong> Kullan\u0131c\u0131 uygulamadan \u00e7\u0131kmadan \u00f6nce, kaydedilmemi\u015f verilerin kaybedilece\u011fi konusunda uyar\u0131 vermek i\u00e7in bir <code class=\"language-\">MaterialAlertDialog<\/code> kullanabiliriz.<\/p>\n<p>Bu senaryolar, <code class=\"language-\">MaterialAlertDialog<\/code>&#8216;un ger\u00e7ek d\u00fcnya uygulamalar\u0131nda nas\u0131l kullan\u0131labilece\u011finin sadece birka\u00e7 \u00f6rne\u011fidir.  Farkl\u0131 ihtiya\u00e7lara g\u00f6re \u00f6zelle\u015ftirilerek bir\u00e7ok farkl\u0131 senaryoda kullan\u0131labilir.  [Fatih Soysal&#8217;\u0131n blogunda](https:\/\/fatihsoysal.com) daha fazla ger\u00e7ek d\u00fcnya \u00f6rne\u011fi ve ileri seviye teknikler bulabilirsiniz.<\/p>\n<p><strong>Performans Optimizasyonu ve \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p><code class=\"language-\">MaterialAlertDialog<\/code>&#8216;un performans\u0131n\u0131 optimize etmek i\u00e7in birka\u00e7 ipucu:<\/p>\n<p>* <strong>Gereksiz G\u00f6rsel Bile\u015fenlerden Ka\u00e7\u0131n\u0131n:<\/strong>  Dialog&#8217;da sadece gerekli olan g\u00f6rsel bile\u015fenleri kullan\u0131n.  \u00c7ok fazla bile\u015fen kullanmak performans\u0131 olumsuz etkileyebilir.<br \/>\n* <strong>Karma\u015f\u0131k \u0130\u015flemleri Arka Planda Yap\u0131n:<\/strong>  Uzun s\u00fcren i\u015flemleri ana i\u015f par\u00e7ac\u0131\u011f\u0131nda (main thread) de\u011fil, arka plan i\u015f par\u00e7ac\u0131\u011f\u0131nda (background thread) ger\u00e7ekle\u015ftirin.  Bu, uygulaman\u0131z\u0131n donmas\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<br \/>\n* <strong>Animasyonlar\u0131 Optimize Edin:<\/strong>  Gereksiz animasyonlar\u0131 kullanmaktan ka\u00e7\u0131n\u0131n veya animasyon s\u00fcresini k\u0131salt\u0131n.<br \/>\n* <strong>Verimli Layout&#8217;lar Tasarlay\u0131n:<\/strong>  Verimli ve optimize edilmi\u015f layout&#8217;lar kullanarak, dialogun render s\u00fcresini k\u0131salt\u0131n.<br \/>\n* <strong>Kullan\u0131lmayan Kaynaklar\u0131 Serbest B\u0131rak\u0131n:<\/strong>  Dialog kapat\u0131ld\u0131\u011f\u0131nda, kullan\u0131lmayan kaynaklar\u0131 serbest b\u0131rak\u0131n.<\/p>\n<p><strong>\u0130leri Seviye Konular: Edge Case&#8217;ler ve Performans Analizi<\/strong><\/p>\n<p>\u0130leri seviye kullan\u0131m senaryolar\u0131nda, <code class=\"language-\">MaterialAlertDialog<\/code>&#8216;un davran\u0131\u015f\u0131n\u0131 daha ince bir \u015fekilde kontrol etmek ve olas\u0131 sorunlar\u0131 \u00f6nlemek i\u00e7in daha geli\u015fmi\u015f teknikler kullanman\u0131z gerekebilir.  \u00d6rne\u011fin, farkl\u0131 ekran boyutlar\u0131nda ve y\u00f6nlendirmelerde dialogun do\u011fru \u015fekilde g\u00f6r\u00fcnt\u00fclenmesini sa\u011flamak i\u00e7in dikkatli bir tasar\u0131m ve test s\u00fcreci gereklidir.  Ayr\u0131ca, uygulaman\u0131n farkl\u0131 Android s\u00fcr\u00fcmlerinde beklendi\u011fi gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in kapsaml\u0131 testler yapmal\u0131s\u0131n\u0131z.  Performans analizi i\u00e7in Android Profiler gibi ara\u00e7lar\u0131 kullanarak, dialogun performans\u0131n\u0131 izleyebilir ve optimize edebilirsiniz.  \u00d6zellikle, y\u00fcksek yo\u011funluklu veri i\u015fleme veya karma\u015f\u0131k UI \u00f6\u011felerini i\u00e7eren dialoglarda performans sorunlar\u0131na dikkat etmek \u00f6nemlidir.  [Fatih Soysal&#8217;\u0131n](https:\/\/fatihsoysal.com)  Android performans optimizasyonu hakk\u0131ndaki yaz\u0131lar\u0131n\u0131 inceleyerek daha detayl\u0131 bilgi edinebilirsiniz.<\/p>\n<p><strong>\u00d6zet ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/strong><\/p>\n<p>Bu makalede, Android&#8217;de <code class=\"language-\">MaterialAlertDialog<\/code>&#8216;un nas\u0131l kullan\u0131laca\u011f\u0131n\u0131, \u00f6zelle\u015ftirilece\u011fini ve performans\u0131n\u0131n nas\u0131l optimize edilece\u011fini detayl\u0131 olarak ele ald\u0131k.  Farkl\u0131 seviyelerdeki geli\u015ftiriciler i\u00e7in ad\u0131m ad\u0131m bir k\u0131lavuz sunarak, uygulamalar\u0131n\u0131zda kullan\u0131c\u0131 deneyimini geli\u015ftirmek i\u00e7in bu g\u00fc\u00e7l\u00fc arac\u0131 nas\u0131l kullanabilece\u011finizi g\u00f6sterdik.<\/p>\n<p><strong>SSS:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">MaterialAlertDialog<\/code>&#8216;u bir <code class=\"language-\">Fragment<\/code> i\u00e7inde nas\u0131l kullan\u0131r\u0131m?<\/strong>  <code class=\"language-\">AlertDialog.Builder<\/code>&#8216;\u0131n yap\u0131c\u0131 fonksiyonuna <code class=\"language-\">Fragment<\/code> ba\u011flam\u0131n\u0131 (context) ge\u00e7irerek kullanabilirsiniz.<br \/>\n2. <strong><code class=\"language-\">MaterialAlertDialog<\/code>&#8216;un g\u00f6r\u00fcn\u00fcm\u00fcn\u00fc tamamen \u00f6zelle\u015ftirebilir miyim?<\/strong> Evet, <code class=\"language-\">setView<\/code> metoduyla kendi \u00f6zel layout&#8217;\u0131n\u0131z\u0131 kullanarak g\u00f6r\u00fcn\u00fcm\u00fc tamamen \u00f6zelle\u015ftirebilirsiniz.<br \/>\n3. <strong>Dialog&#8217;un kapanmas\u0131n\u0131 nas\u0131l engellerim?<\/strong>  <code class=\"language-\">setCancelable(false)<\/code> metodunu kullanarak dialog&#8217;un d\u0131\u015far\u0131ya dokunarak veya geri tu\u015funa bas\u0131larak kapanmas\u0131n\u0131 engelleyebilirsiniz.<br \/>\n4. <strong>Dialog&#8217;un boyutunu nas\u0131l ayarlar\u0131m?<\/strong>  <code class=\"language-\">getWindow()?.setLayout()<\/code> metodu ile dialog&#8217;un boyutunu ayarlayabilirsiniz. Ancak, bu y\u00f6ntem her zaman t\u00fcm cihazlar ve Android s\u00fcr\u00fcmlerinde beklendi\u011fi gibi \u00e7al\u0131\u015fmayabilir.<br \/>\n5. <strong><code class=\"language-\">MaterialAlertDialog<\/code>&#8216;da ilerleme \u00e7ubu\u011fu nas\u0131l kullan\u0131l\u0131r?<\/strong>  <code class=\"language-\">setView<\/code> metodu ile bir <code class=\"language-\">ProgressBar<\/code> ekleyerek ilerleme \u00e7ubu\u011fu kullanabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Android MaterialAlertDialog: Detayl\u0131 Uygulama Rehberi Kullan\u0131c\u0131 deneyimini zenginle\u015ftirmek i\u00e7in uygulamalar\u0131n\u0131zda uyar\u0131lar ve onay mesajlar\u0131 g\u00f6stermeniz mi gerekiyor?&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-29910","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Android Malzeme Bile\u015fenleri - Malzeme Uyar\u0131 Kutusu<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Malzeme Bile\u015fenleri - Malzeme Uyar\u0131 Kutusu\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-21T10:40:19+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Android Malzeme Bile\u015fenleri &#8211; Malzeme Uyar\u0131 Kutusu\",\"datePublished\":\"2025-09-21T10:40:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/\"},\"wordCount\":1109,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/\",\"name\":\"Android Malzeme Bile\u015fenleri - Malzeme Uyar\u0131 Kutusu\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-21T10:40:19+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android Malzeme Bile\u015fenleri &#8211; Malzeme Uyar\u0131 Kutusu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Android Malzeme Bile\u015fenleri - Malzeme Uyar\u0131 Kutusu","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/","og_locale":"tr_TR","og_type":"article","og_title":"Android Malzeme Bile\u015fenleri - Malzeme Uyar\u0131 Kutusu","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-21T10:40:19+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Android Malzeme Bile\u015fenleri &#8211; Malzeme Uyar\u0131 Kutusu","datePublished":"2025-09-21T10:40:19+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/"},"wordCount":1109,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/","url":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/","name":"Android Malzeme Bile\u015fenleri - Malzeme Uyar\u0131 Kutusu","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-21T10:40:19+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/android-malzeme-bilesenleri-malzeme-uyari-kutusu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Android Malzeme Bile\u015fenleri &#8211; Malzeme Uyar\u0131 Kutusu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29910","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=29910"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/29910\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=29910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=29910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=29910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}