<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Android Studio - hknsoft</title>
	<atom:link href="https://hknsoft.com/kategori/android-studio/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Android, Yazılım, Script</description>
	<lastBuildDate>Sun, 19 May 2024 22:06:27 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://hknsoft.com/wp-content/uploads/2020/05/cropped-icon-hknsoft-150x150.png</url>
	<title>Android Studio - hknsoft</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Android Custom View Component Oluşturma</title>
		<link>https://hknsoft.com/android-custom-view-component-olusturma/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 19 May 2024 22:06:25 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android custom view]]></category>
		<category><![CDATA[android custom view component]]></category>
		<category><![CDATA[android custom view component oluşturma]]></category>
		<category><![CDATA[android java custom view]]></category>
		<category><![CDATA[custom view component]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=1387</guid>

					<description><![CDATA[<p>Bu yazıda Android uygulama geliştirirken kullandığımız viewlara benzer kendi custom view componentimizi yazmayı anlatacağım. Bu konu hakkında Türkçe kaynak neredeyse hiç yok. Olanlar ise onDraw() <a class="mh-excerpt-more" href="https://hknsoft.com/android-custom-view-component-olusturma/" title="Android Custom View Component Oluşturma">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-custom-view-component-olusturma/">Android Custom View Component Oluşturma</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Bu yazıda <a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener"><strong>Android</strong></a> uygulama geliştirirken kullandığımız viewlara benzer kendi custom view componentimizi yazmayı anlatacağım. Bu konu hakkında Türkçe kaynak neredeyse hiç yok. Olanlar ise onDraw() fonksiyonu içeren yolu gösteriyorlar. Eğer view içerisine şekil çizmeyecekseniz bu yol gereksiz. Detaylı bir şekilde okuyun kafanızda oturacaktır.</p>



<h2 class="wp-block-heading">XML Tasarım Çalışma Mantığı</h2>



<p class="wp-block-paragraph">XML tasarımında kullandığımız her view yeni bir nesne aslında. Biz tasarımda <strong>android:id=&#8221;textview&#8221;</strong> ya da <strong>android:layout_width=&#8221;match_parent&#8221;</strong> gibi onlarca parametreyi bu classların <strong>constructor</strong> fonksiyonlarına gönderiyoruz. Fonksiyonlar içerisinde de bu parametreler parse edilip kullanılıyor.</p>



<h2 class="wp-block-heading">Custom View Parametre Tanımlama</h2>



<p class="wp-block-paragraph">Projenizde <strong>res/values</strong> klasörü altına <strong>attrs.xml</strong> isimli bir dosya oluşturun. Bu dosya içerisine kendi viewimiz için gereken <strong>parametreleri</strong> aşağıdaki gibi tanımlayacağız. Formatlara intellisense yardımıyla bakabilirsiniz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;attr name="customText" format="reference" /&gt;
&lt;attr name="customTextSize" format="dimension" /&gt;</pre></div>



<p class="wp-block-paragraph">Yukarıda parametreleri tanımladıktan sonra aşağıdaki gibi name kısmına kendi <strong>class ismimizi</strong> yazarak componentimizin bu parametreleri alabileceğini belirtiyoruz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;declare-styleable name="CustomButton"&gt;
	&lt;attr name="customText" /&gt;
	&lt;attr name="customTextSize" /&gt;
&lt;/declare-styleable&gt;</pre></div>



<h2 class="wp-block-heading">Custom View Class Oluşturma</h2>



<p class="wp-block-paragraph">Projenizde bir Java classı oluşturun. Şu şekilde: <strong>CustomButton.java</strong>. View özelliklerini kullanabilmek için kendi sınıfımızı <strong>LinearLayout</strong> sınıfından türetiyoruz. Basit olması açısından LinearLayout&#8217;u seçtim. Buraya takılmayın. Amacımız Android&#8217;in hazır olarak verdiği View sınıfını LinearLayout üzerinden alıp kullanmak.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">public final class CustomButton extends LinearLayout {
	...
}</pre></div>



<p class="wp-block-paragraph"><strong>Üç adet constructor</strong> oluşturmamız gerekiyor. Bu constructor fonksiyonlar class üzerinden <strong>yeni bir nesne</strong> oluştuğunda çalışacak. <strong>init()</strong>, <strong>initViews()</strong> ve <strong>parseAttributes()</strong> adında üç adet fonksiyon oluşturun. parseAttributes() adında anlıyacağınız gibi viewe gönderdiğimiz <strong>parametreli çekmek</strong> için. init() fonksiyonu ise viewi <strong>render</strong> etmeye yarıyor. initViews() ise <strong>inflate</strong> ettiğimiz xml dosyasındaki nesneleri tanımladığımız yer.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">public final class CustomButton extends LinearLayout {
    public CustomButton(@NonNull Context context) {
        super(context);
    }

    public CustomButton(@NonNull Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomButton(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
}</pre></div>



<p class="wp-block-paragraph">Parametreleri çekerken herhangi bir <strong>crash yememek</strong> için try-catch içerisinde kullanın. Kullanmazsanız kesinlikle hata alacaksınız.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">public final class CustomButton extends LinearLayout {
    // Attributes
    private String customText;
    private int customTextSize = 999;

    // Views
    private TextView customButtonTvText;

    public CustomButton(@NonNull Context context) {
        super(context);
        init(context);
    }

    public CustomButton(@NonNull Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        parseAttributes(context, attrs);
        init(context);
    }

    public CustomButton(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        parseAttributes(context, attrs);
        init(context);
    }

    private void parseAttributes(@NonNull Context context, @Nullable AttributeSet attrs) {
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.CustomButton);

        try {
            if (typedArray.hasValue(R.styleable.CustomButton_text))
                customText = typedArray.getString(R.styleable.CustomButton_customText);
            if (typedArray.hasValue(R.styleable.CustomButton_textSize))
                customTextSize = typedArray.getDimensionPixelSize(R.styleable.CustomButton_customTextSize, 0);
        } catch (Throwable t) {
            t.printStackTrace();
        } finally {
            try {
                typedArray.recycle();
            } catch (Throwable t) {
                t.printStackTrace();
            }
        }
    }

    private void initViews() {
        customButtonTvText = findViewById(R.id.custom_button_tv_text);
    }

    private void init(@NonNull Context context) {
        inflate(context, R.layout.button_custom, CustomButton.this);
        initViews();

        if (customText != null) customButtonTvText.setText(customText);
        if (customTextSize != 999) customButtonTvText.setTextSize(TypedValue.COMPLEX_UNIT_PX, customTextSize);
    }

    public void setText(CharSequence text) {
        customButtonTvText.setText(text);
    }
}</pre></div>



<p class="wp-block-paragraph">En önemli olan yer burası. Gördüğünüz gibi <strong>inflate</strong> kullanıyoruz. Daha önceden <strong>res/layout</strong> klasörü altında oluşturduğumuz <strong>button_custom.xml</strong> tasarımını kopyalamış oluyoruz aslında.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;merge xmlns:android="http://schemas.android.com/apk/res/android"&gt;

    &lt;TextView
        android:id="@+id/custom_button_tv_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:gravity="center"
        android:singleLine="true"
        android:textAllCaps="true"
        android:textColor="@color/white"
        android:textSize="18sp" /&gt;
&lt;/merge&gt;</pre></div>



<p class="wp-block-paragraph">İşte bu kadar. Çok basit bir şekilde kendi custom view componentimizi oluşturduk. Artık projenizin her yerinde kullanabilirsiniz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;com.example.app.CustomButton
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:layout_margin="12dp"
	app:customText="Tamam"
	app:customTextSize="18sp" /&gt;</pre></div>



<h2 class="wp-block-heading has-text-align-center"><strong><a href="https://gist.github.com/fovelas/56285b76d9035ba55bacd2b20edbf613" target="_blank" rel="noreferrer noopener nofollow">GitHub</a></strong></h2>
<p>The post <a href="https://hknsoft.com/android-custom-view-component-olusturma/">Android Custom View Component Oluşturma</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Buton Tıklama Efekti</title>
		<link>https://hknsoft.com/android-buton-tiklama-efekti/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 30 Apr 2023 15:34:45 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android buton tıklama animasyonu]]></category>
		<category><![CDATA[android buton tıklama efekti]]></category>
		<category><![CDATA[android ripple effect]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio ripple effect]]></category>
		<category><![CDATA[android tıklama efekti]]></category>
		<category><![CDATA[buton tıklama efekti]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=1263</guid>

					<description><![CDATA[<p>Android uygulamalarda butona tıkladığımız zaman tıklayıp tıklamadığımız bazen anlaşılmıyor. Bu yüzden kullanıcı deneyimini arttırmak için butonlara tıklama efekti ekleyebiliriz. Bu yazıda aşağıdaki gibi tıklama efekti <a class="mh-excerpt-more" href="https://hknsoft.com/android-buton-tiklama-efekti/" title="Android Buton Tıklama Efekti">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-buton-tiklama-efekti/">Android Buton Tıklama Efekti</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Android uygulamalarda butona tıkladığımız zaman tıklayıp tıklamadığımız bazen anlaşılmıyor. Bu yüzden kullanıcı deneyimini arttırmak için butonlara tıklama efekti ekleyebiliriz.</p>



<p class="wp-block-paragraph">Bu yazıda aşağıdaki gibi tıklama efekti nasıl yapılır onu anlatacağım. Bu efektin adı <a href="https://guides.codepath.com/android/ripple-animation" target="_blank" rel="noreferrer noopener nofollow" class="broken_link"><strong>Ripple Effect</strong></a>.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="340" height="240" src="https://hknsoft.com/wp-content/uploads/2023/04/android-ripple-effect.gif" alt="Android Buton Tıklama Efekti" class="wp-image-1271"/></figure>
</div>


<p class="wp-block-paragraph">Öncelikle <strong>drawable</strong> klasörü içine <strong>bg_button.xml</strong> adında bir dosya oluşturuyoruz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;ripple xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:color="#5183c1"&gt;

    &lt;item&gt;
        &lt;shape&gt;
            &lt;corners android:radius="4dp" /&gt;
            &lt;solid android:color="#135790" /&gt;
        &lt;/shape&gt;
    &lt;/item&gt;
&lt;/ripple&gt;</pre></div>



<p class="wp-block-paragraph"><strong>Not:</strong> Tıklama efektinin gözükebilmesi için ripple tagı içerisindeki color, shape tagı içerisindeki color dan daha <strong>açık tonlu</strong> olmak zorunda.</p>



<p class="wp-block-paragraph">Ya da <strong>renklerle uğraşmayayım</strong> diyorsanız ripple coloruna <code>?android:colorControlHighlight</code> verebilirsiniz. Efektin rengini <strong>otomatik</strong> olarak ayarlayacaktır.</p>



<p class="wp-block-paragraph">Son olarak butonun <strong>background</strong> ına bu drawable veriyoruz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;Button
    android:id="@+id/button"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="Buton"
	android:background="@drawable/bg_button"
	/&gt;</pre></div>



<p class="wp-block-paragraph">Bu kadar! Ayrıca sadece butonlara değil <strong>tıklanabilen</strong> herhangi bir elemente de verebilirsiniz. (örn. LinearLayout)</p>
<p>The post <a href="https://hknsoft.com/android-buton-tiklama-efekti/">Android Buton Tıklama Efekti</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Cleartext HTTP Traffic Not Permitted Hatası Çözümü</title>
		<link>https://hknsoft.com/android-cleartext-http-traffic-not-permitted-hatasi-cozumu/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 02 Feb 2023 18:07:43 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android cleartext http hatası çözümü]]></category>
		<category><![CDATA[android cleartext http traffic]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[cleartext http traffic not permitted]]></category>
		<category><![CDATA[cleartext http traffic not permitted hatası çözümü]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=1219</guid>

					<description><![CDATA[<p>Android uygulamalarınızda internetten veri çekmek için Retrofit ya da Volley kütüphaneleri kullandığınızda bu hatayı alabilirsiniz. Bu hatayı çözmek için 3 yöntem paylaşacağım. 1. Yöntem İlk <a class="mh-excerpt-more" href="https://hknsoft.com/android-cleartext-http-traffic-not-permitted-hatasi-cozumu/" title="Android Cleartext HTTP Traffic Not Permitted Hatası Çözümü">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-cleartext-http-traffic-not-permitted-hatasi-cozumu/">Android Cleartext HTTP Traffic Not Permitted Hatası Çözümü</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Android uygulamalarınızda internetten veri çekmek için <a href="https://square.github.io/retrofit/" target="_blank" rel="noreferrer noopener nofollow"><strong>Retrofit</strong></a> ya da <a href="https://google.github.io/volley/" target="_blank" rel="noreferrer noopener nofollow"><strong>Volley</strong></a> kütüphaneleri kullandığınızda bu hatayı alabilirsiniz. Bu hatayı çözmek için 3 yöntem paylaşacağım.</p>



<h2 class="wp-block-heading">1. Yöntem</h2>



<p class="wp-block-paragraph">İlk olarak URL&#8217;yi <code><strong>https</strong></code> yerine <code><strong>http</strong></code> olarak kullanabilirsiniz. Örneğin;</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">https://example.xyz/api  -&gt;  http://example.xyz/api</pre></div>



<p class="wp-block-paragraph">Bu yöntem pek güvenilir değildir. Diğer yöntemler işe yaramazsa son çare olarak kullanabilirsiniz.</p>



<h2 class="wp-block-heading">2. Yöntem</h2>



<p class="wp-block-paragraph"><code><strong>AndroidManifest.xml</strong></code> dosyasına gidin <code><strong>&lt;application></strong></code> tagı içerisine aşağıdaki kodu ekleyin.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest&gt;
    &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
    &lt;application
        ...
        ...
        android:usesCleartextTraffic="true"
        ...
    &lt;/application&gt;
&lt;/manifest&gt;</pre></div>



<h2 class="wp-block-heading">3. Yöntem</h2>



<p class="wp-block-paragraph"><code><strong>res</strong></code> klasörünün içerisine <code><strong>xml</strong></code> adında yeni bir klasör oluşturun. Daha sonra <code><strong>network_security_config.xml</strong></code> dosyası oluşturun ve aşağıdaki kodu yapıştırın.</p>



<p class="wp-block-paragraph">Klasörü oluşturmayı bilmiyorsanız yazının sonuna gidin.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;network-security-config&gt;
    &lt;domain-config cleartextTrafficPermitted="true"&gt;
        &lt;domain includeSubdomains="true"&gt;example.xyz&lt;/domain&gt;
        &lt;domain includeSubdomains="true"&gt;api.example.xyz&lt;/domain&gt;
    &lt;/domain-config&gt;
&lt;/network-security-config&gt;</pre></div>



<p class="wp-block-paragraph">Son olarak <code><strong>AndroidManifest.xml</strong></code> dosyasına aşağıdaki kodu ekleyin.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest&gt;
    &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
    &lt;application
        ...
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...
    &lt;/application&gt;
&lt;/manifest&gt;</pre></div>



<h2 class="wp-block-heading">XML Klasörü Oluşturma</h2>



<p class="wp-block-paragraph">Sağ tık > New > Android Resource Directory</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="717" height="403" src="https://hknsoft.com/wp-content/uploads/2023/02/android-xml-klasoru-olusturma.jpg" alt="Android Cleartext HTTP Traffic Not Permitted Hatası Çözümü" class="wp-image-1235" srcset="https://hknsoft.com/wp-content/uploads/2023/02/android-xml-klasoru-olusturma.jpg 717w, https://hknsoft.com/wp-content/uploads/2023/02/android-xml-klasoru-olusturma-300x169.jpg 300w, https://hknsoft.com/wp-content/uploads/2023/02/android-xml-klasoru-olusturma-150x84.jpg 150w, https://hknsoft.com/wp-content/uploads/2023/02/android-xml-klasoru-olusturma-678x381.jpg 678w" sizes="(max-width: 717px) 100vw, 717px" /></figure>
</div>


<p class="wp-block-paragraph">Resource type&#8217;ı xml olarak seçin.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="822" height="479" src="https://hknsoft.com/wp-content/uploads/2023/02/android-res-xml-klasoru-olusturma.jpg" alt="Android Cleartext HTTP Traffic Not Permitted Hatası Çözümü" class="wp-image-1234" srcset="https://hknsoft.com/wp-content/uploads/2023/02/android-res-xml-klasoru-olusturma.jpg 822w, https://hknsoft.com/wp-content/uploads/2023/02/android-res-xml-klasoru-olusturma-300x175.jpg 300w, https://hknsoft.com/wp-content/uploads/2023/02/android-res-xml-klasoru-olusturma-150x87.jpg 150w, https://hknsoft.com/wp-content/uploads/2023/02/android-res-xml-klasoru-olusturma-768x448.jpg 768w" sizes="(max-width: 822px) 100vw, 822px" /></figure>
</div>


<p class="wp-block-paragraph">Android ile ilgili yazılar için <a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener"><strong>tıklayabilirsiniz.</strong></a></p>
<p>The post <a href="https://hknsoft.com/android-cleartext-http-traffic-not-permitted-hatasi-cozumu/">Android Cleartext HTTP Traffic Not Permitted Hatası Çözümü</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Data Binding Kullanımı</title>
		<link>https://hknsoft.com/android-data-binding-kullanimi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 24 Dec 2021 00:00:58 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android data binding]]></category>
		<category><![CDATA[android data binding kullanımı]]></category>
		<category><![CDATA[android java data binding]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio data binding kullanımı]]></category>
		<category><![CDATA[data binding]]></category>
		<category><![CDATA[data binding kullanımı]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=1146</guid>

					<description><![CDATA[<p>Büyük projelerde onlarca itemi findViewById() ile teker teker tanımlamak çok uzun ve gereksiz bir işlem. Data Binding ile daha az kod yazarak aynı işi yapabiliyoruz. <a class="mh-excerpt-more" href="https://hknsoft.com/android-data-binding-kullanimi/" title="Android Data Binding Kullanımı">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-data-binding-kullanimi/">Android Data Binding Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-black-color has-text-color wp-block-paragraph">Büyük projelerde onlarca itemi <strong>findViewById</strong>() ile teker teker tanımlamak <strong>çok uzun ve gereksiz</strong> bir işlem. <a href="https://developer.android.com/topic/libraries/data-binding#java" target="_blank" rel="noreferrer noopener nofollow"><strong>Data Binding</strong></a> ile <strong>daha az kod yazarak</strong> aynı işi yapabiliyoruz.</p>



<p class="wp-block-paragraph">Bu yazıda findViewById() kullanmadan Data Binding ile nesnelere ulaşmayı anlatacağım.</p>



<h2 class="wp-block-heading">Projede Aktif Etme</h2>



<p class="wp-block-paragraph"><strong>build.gradle -> android</strong> içerisine aşağıdaki kodu ekleyerek <strong>aktif ediyoruz.</strong></p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">android {
    ...
    dataBinding {
        enabled = true
    }
}</pre></div>



<h2 class="wp-block-heading">Data Binding Kullanımı</h2>



<h2 class="wp-block-heading">XML</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;layout 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"&gt;

    &lt;LinearLayout
        android:id="@+id/example_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="vertical"
        tools:context=".MainActivity"&gt;

        &lt;TextView
            android:id="@+id/hello_world_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Hello World" /&gt;
    &lt;/LinearLayout&gt;
&lt;/layout&gt;</pre></div>



<p class="wp-block-paragraph">Data Binding kullanabilmek için xml dosyasına <strong>&lt;layout></strong> tagı ile başlanması gerek. Yukarıdaki gibi LinearLayout veya RelativeLayout ile değil &lt;layout> tagı ile başlıyoruz. Tabi namespaceleri de bu taga taşıyoruz.</p>



<h2 class="wp-block-heading">JAVA</h2>



<p class="wp-block-paragraph">Java kısmında <strong>setContentView(R.layout.activity_main);</strong> kodu yerine aşağıdaki kodu kullanıyoruz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);</pre></div>



<p class="has-black-color has-pale-pink-background-color has-text-color has-background wp-block-paragraph"><strong>Not:</strong> Her activity için farklı bir class <strong>otomatik olarak oluşturulur.</strong> MainActivity için <strong>ActivityMainBinding</strong> adında bir class oluşturmuş. Örneğin <strong>HomeActivity</strong> için <strong>ActivityHomeBinding</strong> adında bir class oluşturacaktır. </p>



<p class="wp-block-paragraph">Artık <strong>binding</strong> nesnesiyle xml dosyasındaki elemanlara kolay bir şekilde erişebileceğiz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">package com.hknsoft.databinding;

import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil;

import android.os.Bundle;
import android.view.View;

import com.hknsoft.databinding.databinding.ActivityMainBinding;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);

        binding.helloWorldText.setText("Deneme123");

        binding.exampleLayout.setVisibility(View.VISIBLE);
    }
}</pre></div>



<p class="wp-block-paragraph">İşte bu kadar kolay. Data Binding ile onlarca koddan kurtulmuş olduk.</p>



<p class="wp-block-paragraph">Android Studio ile ilgili yazılar için <a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener"><strong>tıklayabilirsiniz.</strong></a></p>
<p>The post <a href="https://hknsoft.com/android-data-binding-kullanimi/">Android Data Binding Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio TedPermission ile Cihazdan İzin Almak</title>
		<link>https://hknsoft.com/android-studio-tedpermission-ile-cihazdan-izin-almak/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 17 Mar 2021 11:17:26 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio cihazdan izin almak]]></category>
		<category><![CDATA[android studio cihazdan izin istemek]]></category>
		<category><![CDATA[android studio kullanıcıdan izin istemek]]></category>
		<category><![CDATA[android studio runtime permission]]></category>
		<category><![CDATA[android studio tedpermission]]></category>
		<category><![CDATA[android studio tedpermission ile cihazdan izin almak]]></category>
		<category><![CDATA[android studio tedpermission kullanımı]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=1074</guid>

					<description><![CDATA[<p>Android Marshmallow çıkmadan önce kullanıcı Play Store&#8217;dan uygulama indirirken izinleri görür ve kabul etmeden indiremezdi. Kabul ettiği izinleri iptal edemezdi. Marshmallow ile kullanıcı istediği izinleri <a class="mh-excerpt-more" href="https://hknsoft.com/android-studio-tedpermission-ile-cihazdan-izin-almak/" title="Android Studio TedPermission ile Cihazdan İzin Almak">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-studio-tedpermission-ile-cihazdan-izin-almak/">Android Studio TedPermission ile Cihazdan İzin Almak</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-black-color has-text-color wp-block-paragraph"><a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener"><strong>Android</strong></a> <strong>Marshmallow</strong> çıkmadan önce kullanıcı Play Store&#8217;dan uygulama indirirken izinleri görür ve kabul etmeden indiremezdi. Kabul ettiği izinleri iptal edemezdi. Marshmallow ile kullanıcı istediği izinleri uygulamayı indirdikten sonra iptal edebilir hale geldi. İzinlerde artık indirirken değil uygulama çalıştıktan sonra istenmeye başlandı.</p>



<p class="has-black-color has-text-color wp-block-paragraph">Bu yazıda da <a href="https://github.com/ParkSangGwon/TedPermission" target="_blank" rel="noreferrer noopener nofollow"><strong>TedPermission</strong></a> kütüphanesi ile en basit şekilde cihazdan izin almayı göstereceğim.</p>



<h2 class="wp-block-heading"><strong>TedPermission Kütüphanesini Projeye Eklemek</strong></h2>



<p class="wp-block-paragraph"><strong>build.gradle</strong> dosyasına giderek aşağıdaki kodu <strong>dependencies</strong> içerisine ekleyin.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">implementation 'gun0912.ted:tedpermission:2.2.2'</pre></div>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="https://hknsoft.com/wp-content/uploads/2021/03/android-studio-tedpermission.png" alt="Android Studio TedPermission ile Cihazdan İzin Almak" class="wp-image-1075" width="758" height="452" srcset="https://hknsoft.com/wp-content/uploads/2021/03/android-studio-tedpermission.png 1011w, https://hknsoft.com/wp-content/uploads/2021/03/android-studio-tedpermission-300x179.png 300w, https://hknsoft.com/wp-content/uploads/2021/03/android-studio-tedpermission-150x89.png 150w, https://hknsoft.com/wp-content/uploads/2021/03/android-studio-tedpermission-768x457.png 768w" sizes="auto, (max-width: 758px) 100vw, 758px" /></figure></div>



<h2 class="wp-block-heading"><strong>AndroidManifest.xml İzin Eklemek</strong></h2>



<p class="wp-block-paragraph"><strong>İstenecek izinleri</strong> öncelikle <strong>AndroidManifest.xml</strong> dosyasına aşağıdaki gibi <strong>eklemelisiniz.</strong> Bu izinleri çoğaltabilirsiniz. Örnek olarak kamera kullanma izni ekledim.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="677" height="269" src="https://hknsoft.com/wp-content/uploads/2021/03/android-studio-cihazdan-izin-almak.png" alt="Android Studio TedPermission ile Cihazdan İzin Almak" class="wp-image-1076" srcset="https://hknsoft.com/wp-content/uploads/2021/03/android-studio-cihazdan-izin-almak.png 677w, https://hknsoft.com/wp-content/uploads/2021/03/android-studio-cihazdan-izin-almak-300x119.png 300w, https://hknsoft.com/wp-content/uploads/2021/03/android-studio-cihazdan-izin-almak-150x60.png 150w" sizes="auto, (max-width: 677px) 100vw, 677px" /></figure></div>



<h2 class="wp-block-heading"><strong>TedPermission ile İzin Almak</strong></h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">import com.gun0912.tedpermission.PermissionListener;
import com.gun0912.tedpermission.TedPermission;</pre></div>



<p class="wp-block-paragraph">Öncelikle yukarıdaki kodu <strong>import</strong> edin (veya aşağıdaki kodu kopyalayıp yapıştırdığınız zaman kırmızı ile işaretlenmiş kelimeye fareyi götürüp <strong>İmport Class</strong> basınız).</p>



<p class="wp-block-paragraph">Daha sonra aşağıdaki gibi bir fonksiyon oluşturun. Ben <strong>izinKontrol()</strong> isminde bir fonksiyon oluşturdum. Kodda görüldüğü gibi <strong>izin verildiği ve verilmediği zaman çalışacak kodlar</strong> var. İstediğiniz kodları ekleyebilirsiniz. Örnek olarak kullanıcıya Toast mesajı göndermesini istedim. Mesela izin vermediyse uygulamadaki işlemlere erişimini kısıtlayabilirsiniz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">public void izinKontrol() {
        PermissionListener permissionListener = new PermissionListener() {
            @Override
            public void onPermissionGranted() {
				//izin verildigi zaman calisacak kodlar
				
                Toast.makeText(MainActivity.this,"Kamera izni verildi", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onPermissionDenied(List&lt;String&gt; deniedPermissions) {
				//izin verilmedigi zaman calisacak kodlar
				
                Toast.makeText(MainActivity.this, "Kamera izni verilmedi", Toast.LENGTH_SHORT).show();
            }
        };

        TedPermission.with(MainActivity.this) //kod hangi activity de ise onu yazin
                .setPermissionListener(permissionListener)
                .setPermissions(Manifest.permission.CAMERA) //ornek olarak kamera sectim. degistirilebilir ve daha fazla izin eklenebilir.
                .check();
    }</pre></div>



<p class="wp-block-paragraph"><strong>AndroidManifest.xml</strong> eklediğimiz izinleri yukarıda <strong>.setPermissions(Manifest.permission.CAMERA)</strong> veya <strong>.setPermissions(Manifest.permission.READ_SMS)</strong> gibi eklemelisiniz.</p>



<p class="wp-block-paragraph">Son olarak bu <strong>fonksiyonu</strong> herhangi bir butona, onCreate içine veya istediğiniz<strong> herhangi bir yerde çağırıp</strong> izin isteme işlemini gerçekleştirebilirsiniz.</p>
<p>The post <a href="https://hknsoft.com/android-studio-tedpermission-ile-cihazdan-izin-almak/">Android Studio TedPermission ile Cihazdan İzin Almak</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio SharedPreferences Kullanımı</title>
		<link>https://hknsoft.com/android-studio-sharedpreferences-kullanimi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 13 Mar 2021 11:13:23 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android shared preferences]]></category>
		<category><![CDATA[android shared preferences kullanimi]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio shared preferences]]></category>
		<category><![CDATA[android studio sharedpreferences kullanimi]]></category>
		<category><![CDATA[android veri çekme]]></category>
		<category><![CDATA[android veri kaydetme]]></category>
		<category><![CDATA[sharedpreferences kullanimi]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=1057</guid>

					<description><![CDATA[<p>Uygulamanızda uygulama kapatılsa bile bazı verileri saklamak isteyebilirsiniz. Küçük verileri saklamak için SharedPreferences kullanmak mantıklı olacaktır. SharedPreferences ile int, float, string, boolean, long tipinde veriler <a class="mh-excerpt-more" href="https://hknsoft.com/android-studio-sharedpreferences-kullanimi/" title="Android Studio SharedPreferences Kullanımı">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-studio-sharedpreferences-kullanimi/">Android Studio SharedPreferences Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-black-color has-text-color wp-block-paragraph">Uygulamanızda uygulama kapatılsa bile bazı <strong>verileri saklamak</strong> isteyebilirsiniz. Küçük verileri saklamak için <a href="https://hknsoft.com/android-studio-sharedpreferences-kullanimi/"><strong>SharedPreferences</strong></a> kullanmak mantıklı olacaktır. SharedPreferences ile <strong>int, float, string, boolean, long</strong> tipinde veriler tutabilirsiniz.</p>



<h2 class="wp-block-heading"><strong>SharedPreferences Veri Kaydetmek</strong></h2>



<p class="wp-block-paragraph"><strong>putInt, putString vb.</strong> sonra gelen <strong>&#8220;&#8230;&#8221; içerisine key yazılır.</strong> Yani bu key (ad) ile kaydediyoruz. Daha sonra ise bu <strong>key</strong> ile çağıracağız. Tutmak istediğimiz veriyi ise aşağıda gördüğünüz gibi <strong>(50, String Veri, isChecked bunlar tutulan verilerdir)</strong> virgülden sonraki yere yazıyoruz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt("int", 50); //int
editor.putString("string", "String Veri"); //string
editor.putBoolean("bool", isChecked); //boolean
editor.commit();</pre></div>



<h2 class="wp-block-heading"><strong>SharedPreferences Veri Çekmek</strong></h2>



<p class="wp-block-paragraph">Verileri çekmek için de aşağıdaki kodu kullanmalısınız. Kaydettiğiniz verileri <strong>keyleri</strong> yazarak çekebilirsiniz (örn: int, string, bool). Virgülden sonraki kısım <strong>default value</strong> olarak adlandirilir. Eğer bu <strong>keye bir veri kaydedilmemiş</strong> ise default value gösterilir.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">SharedPreferences sharedPref = getSharedPreferences("sharedPref", Context.MODE_PRIVATE);
int intValue = sharedPref.getInt("int", 0);
String stringValue = sharedPref.getString("string", "Bos");
Boolean booleanValue = sharedPref.getBoolean("bool", false);</pre></div>



<p class="has-black-color has-text-color wp-block-paragraph"><strong>SharedPreferences</strong> ile yukarida anlatıldığı gibi <strong>farklı activity&#8217;lerden</strong> veri kaydedip/çekebilirsiniz. Android&#8217;de <strong>en kolay yöntem budur.</strong> Eğer daha büyük veriler saklamak istiyorsanız <a href="https://ayselaydin.medium.com/android-sqlite-kullan%C4%B1m%C4%B1-1477a89fc0ad" target="_blank" rel="noreferrer noopener nofollow"><strong>SQLite</strong></a> konusunu araştırabilirsiniz.</p>
<p>The post <a href="https://hknsoft.com/android-studio-sharedpreferences-kullanimi/">Android Studio SharedPreferences Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio Panoya Kopyalama</title>
		<link>https://hknsoft.com/android-studio-panoya-kopyalama/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 17 Dec 2020 08:05:04 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android panoya kopyalama kodu]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio clipboard manager]]></category>
		<category><![CDATA[android studio kopyalama]]></category>
		<category><![CDATA[android studio kopyalama islemi]]></category>
		<category><![CDATA[android studio kopyalama kodu]]></category>
		<category><![CDATA[android studio panoya kopyalama]]></category>
		<category><![CDATA[android studio panoya kopyalama islemi]]></category>
		<category><![CDATA[clipboard manager kullanımı]]></category>
		<category><![CDATA[java panoya kopyalama]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=995</guid>

					<description><![CDATA[<p>Android uygulamanızda panoya kopyalama işlemi yapabilmek için aşağıdaki kodu kullanabilirsiniz. Android Studio ile ilgili yazılar için tıklayabilirisiniz.</p>
<p>The post <a href="https://hknsoft.com/android-studio-panoya-kopyalama/">Android Studio Panoya Kopyalama</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Android uygulamanızda panoya kopyalama işlemi yapabilmek için aşağıdaki kodu kullanabilirsiniz.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">String kopyalatmak_istediginiz_text = "Herhangi bir metin!";

ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboardManager.setText(kopyalatmak_istediginiz_text);</pre></div>



<p class="wp-block-paragraph">Android Studio ile ilgili yazılar için <a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener">tıklayabilirisiniz.</a></p>
<p>The post <a href="https://hknsoft.com/android-studio-panoya-kopyalama/">Android Studio Panoya Kopyalama</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio Action Bar Kaldırma</title>
		<link>https://hknsoft.com/android-studio-action-bar-kaldirma/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 08 Nov 2020 18:33:37 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[action bar düzenleme]]></category>
		<category><![CDATA[action bar kaldırma]]></category>
		<category><![CDATA[action bar özelleştirme]]></category>
		<category><![CDATA[action bar silme]]></category>
		<category><![CDATA[android action bar]]></category>
		<category><![CDATA[android action bar kaldırma]]></category>
		<category><![CDATA[android studio action bar]]></category>
		<category><![CDATA[android studio action bar kaldırma]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=930</guid>

					<description><![CDATA[<p>Action Bar, oluşturulan her uygulamada default olarak gelir. Bazı uygulamalarda Action Bar gözükmesi istenmez. İşte Action Bar&#8217;ı kaldırmak için yapmanız gerekenler; Öncelikle AndroidManifest.xml dosyasına gidin. <a class="mh-excerpt-more" href="https://hknsoft.com/android-studio-action-bar-kaldirma/" title="Android Studio Action Bar Kaldırma">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-studio-action-bar-kaldirma/">Android Studio Action Bar Kaldırma</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-black-color has-text-color wp-block-paragraph"><a href="https://guides.codepath.com/android/Defining-The-ActionBar" target="_blank" rel="noreferrer noopener nofollow"><strong>Action Bar</strong></a>, oluşturulan her uygulamada default olarak gelir. Bazı uygulamalarda Action Bar gözükmesi istenmez. İşte Action Bar&#8217;ı kaldırmak için yapmanız gerekenler;</p>



<p class="wp-block-paragraph">Öncelikle <strong>AndroidManifest.xml</strong> dosyasına gidin. Aşağıdaki örnek koddaki gibi <strong>android:theme=&#8221;&#8230;&#8221;</strong> kısmını bulun. Örnekteki temanın adı AppTheme olarak gözüküyor.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"&gt; //Temanın adı AppTheme
		....
&lt;/application&gt;</pre></div>



<p class="wp-block-paragraph">Daha sonra <strong>res/values/styles.xml</strong> dosyasını açıyoruz ve AppTheme temasının style kısmını buluyoruz. Tek yapmanız gereken <strong>parent=&#8221;&#8230;&#8221;</strong> içerisine eskisini silip <strong>Theme.AppCompat.NoActionBar</strong>  kodunu yapıştırmak.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;style name="AppTheme" parent="Theme.AppCompat.NoActionBar"&gt; /*AppTheme temasının style kısmı*/
        &lt;item name="colorPrimary"&gt;@color/colorPrimary&lt;/item&gt;
        &lt;item name="colorPrimaryDark"&gt;@color/colorPrimaryDark&lt;/item&gt;
        &lt;item name="colorAccent"&gt;@color/colorAccent&lt;/item&gt;
&lt;/style&gt;</pre></div>



<p class="wp-block-paragraph">Artık uygulamanızda Action Bar gözükmeyecektir.</p>



<p class="wp-block-paragraph">Android Studio ile ilgili yazılar için <a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener">tıklayabilirisiniz.</a></p>
<p>The post <a href="https://hknsoft.com/android-studio-action-bar-kaldirma/">Android Studio Action Bar Kaldırma</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio Toast Mesajı Kullanımı</title>
		<link>https://hknsoft.com/android-studio-toast-mesaji-kullanimi/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 13 Oct 2020 17:17:27 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio toast göstermek]]></category>
		<category><![CDATA[android studio toast kullanımı]]></category>
		<category><![CDATA[android studio toast mesajı göstermek]]></category>
		<category><![CDATA[android studio toast mesajı kullanımı]]></category>
		<category><![CDATA[android toast]]></category>
		<category><![CDATA[android toast kullanımı]]></category>
		<category><![CDATA[android toast mesajı göstermek]]></category>
		<category><![CDATA[android toast message]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=899</guid>

					<description><![CDATA[<p>Toast, yukarıda görüldüğü gibi Android uygulamada kullanıcıya mesaj göstermek için kullanılır. Uygulamanızda Toast mesajı göstermek için; Göstereceğiniz Toast mesajının yerini ve görünümünü değiştirmek mümkün. İlgili <a class="mh-excerpt-more" href="https://hknsoft.com/android-studio-toast-mesaji-kullanimi/" title="Android Studio Toast Mesajı Kullanımı">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-studio-toast-mesaji-kullanimi/">Android Studio Toast Mesajı Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="has-black-color has-text-color wp-block-paragraph"><strong>Toast</strong>, yukarıda görüldüğü gibi <a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener"><strong>Android</strong></a> uygulamada <strong>kullanıcıya mesaj göstermek</strong> için kullanılır.</p>



<p class="wp-block-paragraph">Uygulamanızda <strong>Toast</strong> mesajı göstermek için;</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">Toast.makeText(getApplicationContext(), "Gösterilecek Mesajınız", Toast.LENGTH_LONG).show();
//Toast.LENGTH_LONG yerine 2000 girersek 2 sn gösterecektir.</pre></div>



<p class="wp-block-paragraph">Göstereceğiniz Toast mesajının <strong>yerini</strong> ve <strong>görünümünü değiştirmek</strong> mümkün. İlgili yazıya aşağıdaki linkten ulaşabilirsiniz.</p>



<h2 class="wp-block-heading"><a href="https://www.mobilhanem.com/android-toast-mesaji-kullanimi/" target="_blank" rel="noreferrer noopener nofollow"><strong>Android Toast Mesajı Görünümünü Değiştirmek</strong></a></h2>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://hknsoft.com/android-studio-toast-mesaji-kullanimi/">Android Studio Toast Mesajı Kullanımı</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Android Studio Ekranı Açık Tutmak</title>
		<link>https://hknsoft.com/android-studio-ekrani-acik-tutmak/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 10 Oct 2020 14:45:54 +0000</pubDate>
				<category><![CDATA[Android Studio]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio activity ile ekranı açık tutmak]]></category>
		<category><![CDATA[android studio cihazın uyku moduna girmesini engellemek]]></category>
		<category><![CDATA[android studio ekran uykusunu engelleme]]></category>
		<category><![CDATA[android studio ekranı açık tutmak]]></category>
		<category><![CDATA[android studio telefonun uyku moduna girmesini engellemek]]></category>
		<category><![CDATA[android studio uyku moduna geçmeyi engelleme]]></category>
		<category><![CDATA[android studio xml layout ile ekranı açık tutmak]]></category>
		<guid isPermaLink="false">https://hknsoft.com/?p=876</guid>

					<description><![CDATA[<p>Uygulamanız çalışırken telefon ekranını açık tutmak, cihazın uyku moduna girmesini engellemek için aşağıdaki kodu kullanabilirsiniz. Activity&#8217;nin içinde kullanmanız gerekiyor. (örn. MainActivity.java) Bu işlemi Activity kullanmadan <a class="mh-excerpt-more" href="https://hknsoft.com/android-studio-ekrani-acik-tutmak/" title="Android Studio Ekranı Açık Tutmak">[...]</a></p>
<p>The post <a href="https://hknsoft.com/android-studio-ekrani-acik-tutmak/">Android Studio Ekranı Açık Tutmak</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Uygulamanız çalışırken <strong>telefon ekranını açık tutmak</strong>, cihazın <strong>uyku moduna girmesini engellemek</strong> için aşağıdaki kodu kullanabilirsiniz. <strong>Activity&#8217;nin</strong> içinde kullanmanız gerekiyor. (örn. <strong>MainActivity.java</strong>)</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);</pre></div>



<p class="wp-block-paragraph">Bu işlemi <strong>Activity kullanmadan</strong> da yapabilirsiniz. Şu şekilde;</p>



<p class="wp-block-paragraph">Aşağıdaki kodu <strong>XML Layout</strong> (örn. <strong>baslangic_ekrani.xml</strong>) içine ekleyerek de yapmanız mümkün.</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">android:keepScreenOn="true"</pre></div>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:keepScreenOn="true"&gt;
    ...
&lt;/RelativeLayout&gt;</pre></div>



<p class="wp-block-paragraph">Daha fazla <a href="https://accounts.google.com/o/oauth2/v2/auth?client_id=721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com&amp;redirect_uri=https%3A%2F%2Fdeveloper.android.com%2Foauth2callback&amp;scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgoogledevelopers+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdeveloperprofiles+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdeveloperprofiles.award+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&amp;access_type=online&amp;response_type=code&amp;state=%7B%22csrf_token%22%3A+%2283c5a356c87b2e7e3417be8cb5e4ddb4e80b8efc3037df4a197cfe835c01d9d5%22%2C+%22return_url%22%3A+%22https%3A%2F%2Fdeveloper.android.com%2Fstudio%22%7D&amp;prompt=none&amp;auto_signin=True" target="_blank" rel="noreferrer noopener nofollow"><strong>Android Studio</strong></a> ile alakalı öğretici konular için <a href="https://hknsoft.com/kategori/android-studio/" target="_blank" rel="noreferrer noopener"><strong>tıklayabilirsiniz.</strong></a></p>
<p>The post <a href="https://hknsoft.com/android-studio-ekrani-acik-tutmak/">Android Studio Ekranı Açık Tutmak</a> appeared first on <a href="https://hknsoft.com">hknsoft</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
