<?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 Dersleri arşivleri - Mehmet Kirazlı</title>
	<atom:link href="https://www.mehmetkirazli.com/category/android-dersleri/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mehmetkirazli.com/category/android-dersleri/</link>
	<description>Yazılımcı Notları</description>
	<lastBuildDate>Thu, 27 Dec 2018 06:44:12 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.10</generator>

<image>
	<url>https://www.mehmetkirazli.com/wp-content/uploads/2018/04/mehmetkirazlilogo.png</url>
	<title>Android Dersleri arşivleri - Mehmet Kirazlı</title>
	<link>https://www.mehmetkirazli.com/category/android-dersleri/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Android 6.0 (Marshmallow) İzin Ayarları &#8211; Runtime Permissions</title>
		<link>https://www.mehmetkirazli.com/android-6-0-marshmallow-izin-ayarlari/</link>
					<comments>https://www.mehmetkirazli.com/android-6-0-marshmallow-izin-ayarlari/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Mon, 24 Dec 2018 14:00:05 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android 6.0 izin ekleme]]></category>
		<category><![CDATA[android marshmallow izin kontrolü]]></category>
		<guid isPermaLink="false">https://www.mehmetkirazli.com/?p=3072</guid>

					<description><![CDATA[<p>Merhaba. Şuan 9.0 versiyonu çıkmış olsa da Android 6.0 (Marshmallow)&#8217;da gelen ve birçok uygulamanın hata vermesine sebep olan bir yenilikten bahsedeceğim. Android 6.0 (Marshmallow) öncesinde, Google Play&#8217; den uygulama indirirken izinler, indirme esnasında toptan kabul ediliyordu ve bunların arasından erişmesini istemediğimiz izinleri iptal etme gibi bir lüksümüz yoktu. Başta kabul edildiğinde artık izinler kaldırılamıyordu. 4.4.2 &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-6-0-marshmallow-izin-ayarlari/">Android 6.0 (Marshmallow) İzin Ayarları &#8211; Runtime Permissions</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Merhaba. Şuan 9.0 versiyonu çıkmış olsa da Android 6.0 (Marshmallow)&#8217;da gelen ve birçok uygulamanın hata vermesine sebep olan bir yenilikten bahsedeceğim.</p>



<span id="more-3072"></span>



<p>Android 6.0 (Marshmallow) öncesinde, Google Play&#8217; den uygulama indirirken izinler, <strong>indirme esnasında toptan kabul ediliyordu</strong> ve bunların arasından erişmesini istemediğimiz izinleri iptal etme gibi bir lüksümüz yoktu. Başta kabul edildiğinde artık izinler kaldırılamıyordu. </p>



<p><strong>4.4.2 versiyonlu bir cihazda, indirilmiş bir uygulamanın izinleri:</strong></p>



<ul class="is-layout-flex wp-block-gallery-3 wp-block-gallery columns-1 is-cropped"><li class="blocks-gallery-item"><figure><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin1.png"><img decoding="async" loading="lazy" width="591" height="699" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin1.png" alt="" data-id="3075" data-link="https://www.mehmetkirazli.com/?attachment_id=3075" class="wp-image-3075" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin1.png 591w, https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin1-254x300.png 254w" sizes="(max-width: 591px) 100vw, 591px" /></a><figcaption>İzinleri iptal etme şansınız yoktur</figcaption></figure></li></ul>



<p>Versiyonu <strong>6.0 ve üzeri</strong> olan cihazlarda ise artık uygulamayı indirirken değil <strong>uygulama açıkken,</strong> ihtiyaç olduğu sürece izin isteniyor ve dilerseniz izin vermeyebiliyorsunuz.</p>



<p>Mesela indirdiğiniz bir uygulama kameranızı açmak istiyor diyelim. O an bir <strong>uyarı penceresi</strong> ile uygulamanın kameranıza erişmek istediği söyleniyor. İzin verirseniz kamera açılıyor, vermezseniz açılmıyor. İzin vermediğinizde uygulama tam olarak işlevini görmüyor fakat en azından hangi izne nerede ve niçin erişmek istediğini bilebiliyorsunuz ve tüm izinleri, 6.0&#8217;dan önceki gibi peşinen kabul etmemiş oluyorsunuz. 6.0 altındaki cihazlarda ise uygulama içinde izin pencereleri açılmaz. Uygulamayı indirirken verdiğiniz izinler <strong>uygulama boyunca</strong> kullanılır.</p>



<h3><strong>Android 6.0 İzin İşlemi &#8211; Örnek</strong></h3>



<p>Örnek üzerinde gösterelim. Örneğimizde butona tıklandığında kameranın açılmasını isteyelim. Cihazın API versiyonu 23 ve üzeriyse (Android 6.0&#8217;a denk gelir) izin istesin. Değilse, izinsiz doğrudan kamera açsın.</p>



<p><strong>AndroidManifest.xml</strong> dosyamıza ilk olarak kamera izni ekleyelim.</p>



<pre class="crayon-plain-tag">&lt;uses-permission android:name="android.permission.CAMERA" /></pre>



<p>Daha sonra <strong>activity_main.xml</strong> layout dosyasına bir <strong>buton </strong>ekleyelim.</p>



<pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?>
&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    &lt;Button
        android:id="@+id/btnKameraAc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Kamera Aç" />
    
&lt;/RelativeLayout></pre>



<p>Şimdi ise bu tasarıma bağlı olan <strong>MainActivity.java</strong> dosyasına gelerek, butonun <strong>click eventini</strong> dolduralım.</p>



<pre class="crayon-plain-tag">public class MainActivity extends AppCompatActivity {
    Button btnKameraAc;

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

        btnKameraAc = findViewById(R.id.btnKameraAc);
        btnKameraAc.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.M
                if (Build.VERSION.SDK_INT &gt;= 23) {
                    String[] KAMERA_IZNI = {Manifest.permission.CAMERA};
                    if (!izinKontrol(MainActivity.this, KAMERA_IZNI)) { // izin verilmiş mi
                        requestPermissions(KAMERA_IZNI, 100); // verilmediyse, izin isteme penceresi a&ccedil;
                    } else
                        kameraAc(); // zaten izin verilmişse kamera a&ccedil;
                } else
                    kameraAc(); // api 6.0 altındaysa izne bakmadan doğrudan kamera a&ccedil;
            }
        });
    }
}</pre>



<p>Kamera açan bir uygulamanız var ve butona basıldığında ya da herhangi bir işlemden sonra doğrudan kamera açmak istiyorsunuz. Yukarıdaki gibi kontrol koymanız gerekiyor. Cihazın Android versiyonu 6.0 altında ise doğrudan kamera açılır. <strong>6.0 ve üzeri</strong> ise önce izin verilmiş mi bakılır. İzin verilmemişse izin istenir (16.satırdaki ünlem işaretine dikkat!!). Verilmişse yine doğrudan kamera açılır. </p>



<p>Burada <strong>izin isterken</strong> 100 değeri gönderdik. Aşağıdaki gibi bir izin penceresi açıldı. </p>



<figure class="wp-block-image"><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin2.jpg"><img decoding="async" loading="lazy" width="640" height="152" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin2.jpg" alt="" class="wp-image-3076" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin2.jpg 640w, https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin2-300x71.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></figure>



<p>Bu izin penceresinde bir seçeneğe tıklayacağız. Tıkladıktan sonra istek gönderirken verdiğimiz <strong>100 </strong>değeri ile yanıtımızı <strong>handle </strong>edeceğiz. Handle yani kontrol etmek için ise <strong>onRequestPermissionsResult </strong>metodu kullanılır. 100 yerine herhangi bir sayı veya sabit verilebilir.</p>



<pre class="crayon-plain-tag">@Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch (requestCode) {
            case 100:
                if (grantResults.length &gt; 0) {
                    boolean kameraIzniVerildiMi = grantResults[0] == PackageManager.PERMISSION_GRANTED;
                    if (kameraIzniVerildiMi) {
                        kameraAc();
                    } else {
                        Toast.makeText(getApplicationContext(), &quot;İzin verilmediği i&ccedil;in kamera a&ccedil;ılamıyor&quot;, Toast.LENGTH_SHORT).show();
                    }
                } else {
                    Toast.makeText(getApplicationContext(), &quot;İzin verilmediği i&ccedil;in kamera a&ccedil;ılamıyor&quot;, Toast.LENGTH_SHORT).show();
                }
                break;
        }
    }</pre>



<p>Pencerede <strong>Reddet </strong>veya<strong> İzin Ver</strong> butonlarından birine tıklayınca <strong>onRequestPermissionsResult </strong> metodu çalışır. Metod içerisinde, önce kamera iznine ait olan <strong>100 </strong>değeri <strong>switch </strong>içerisine yazılır. İzin verildiyse yine <strong>kameraAc()</strong> metodu çağrılır. Verilmediyse ekrana uyarı mesajları verilir.</p>



<p class="has-text-color has-medium-font-size has-vivid-red-color">ÖNEMLİ!!!</p>



<p>Eğer bir sefer izin verirsek, 2.tıklamada artık <strong>requestPermissions() </strong>metodu çağrılmayacak doğrudan kamera açılacaktır. Çünkü izin verilmediyse izin isteği gönderiyorduk. İzin verildikten sonra kişi eğer huylanır da cihazın <strong>Ayarlar </strong>sekmesinden uygulama izinlerini <strong>manuel </strong>olarak iptal ederse, uygulamaya girip butona tıkladığında tekrar <strong>requestPermissions()</strong> metodu çağrılır. O yüzden her tıklamada izin verilmiş mi kontrolü yapılmalı yoksa uygulama hata vererek durur. </p>



<p>Aşağıdaki gibi kişinin manuel olarak izinleri kapatma ihtimali vardır.</p>



<figure class="wp-block-image"><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin3.jpg"><img decoding="async" loading="lazy" width="640" height="189" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin3.jpg" alt="" class="wp-image-3081" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin3.jpg 640w, https://www.mehmetkirazli.com/wp-content/uploads/2018/12/marshmallowizin3-300x89.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></figure>



<p>Dikkat ettiyseniz değinmediğimiz bir metot var. O da <strong>izinKontrol()</strong> metodu. Bu metot şu işe yarar: </p>



<p>-Bu uygulama için istenilen izinler kullanıcı tarafından verilmiş mi ? </p>



<p>Bu metot, aynı anda <strong>birden fazla izin alacağımız durumlarda</strong> işimize yarayacaktır. Tek izin için de <strong>işimizi görür</strong>. Hemen o metodu da yazalım.</p>



<pre class="crayon-plain-tag">public static boolean izinKontrol(Context context, String... izinler) {
        if (context != null &amp;&amp; izinler != null) {
            for (String izin : izinler) {
                if (ActivityCompat.checkSelfPermission(context, izin) != PackageManager.PERMISSION_GRANTED)
                    return false;
            }
        }
        return true;
    }</pre>



<h3><strong>Aynı Ekranda 2.İzni İsteme</strong></h3>



<p>Örneğimizde 1 adet izin istedik. Şimdi ise aynı activity içinde 2.buton ekleyip, bu buton ile de <strong>cihazın konumunu</strong> alalım.</p>



<pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?>
&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    &lt;Button
        android:id="@+id/btnKameraAc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Kamera Aç" />

    &lt;Button
        android:id="@+id/btnKonumAl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/btnKameraAc"
        android:text="Konum Al" />

&lt;/RelativeLayout></pre>



<p><strong>Manifest</strong> dosyamıza izinleri de ekleyelim.</p>



<pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?>
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mkirazli.izinayarlari">

    &lt;uses-permission android:name="android.permission.CAMERA" />
    &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    &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">
        &lt;activity android:name=".MainActivity">
            &lt;intent-filter>
                &lt;action android:name="android.intent.action.MAIN" />

                &lt;category android:name="android.intent.category.LAUNCHER" />
            &lt;/intent-filter>
        &lt;/activity>
    &lt;/application>

&lt;/manifest></pre>



<p><strong>MainActivity.java </strong>dosyasına, konum alma butonu için <strong>click eventi </strong>oluşturalım.</p>



<pre class="crayon-plain-tag">btnKonumAl = findViewById(R.id.btnKonumAl);
        btnKonumAl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.M
                if (Build.VERSION.SDK_INT &gt;= 23) {
                    String[] KONUM_IZNI = {Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION};
                    if (!izinKontrol(MainActivity.this, KONUM_IZNI)) { // izin verilmiş mi
                        requestPermissions(KONUM_IZNI, 200); // verilmediyse, izin isteme penceresi a&ccedil;
                    } else
                        konumAl(); // zaten izin verilmişse konum al
                } else
                    konumAl(); // api 6.0 altındaysa izne bakmadan doğrudan konum al
            }
        });</pre>



<p>Cihazlarda 2 tür konum olduğu için 2 tür izin istemek zorundayız. İzin isterken bu defa 100 değil <strong>200 </strong>değeri gönderdik ve aşağıdaki <strong>onRequestPermissionsResult()</strong> metodunda da 200 için ayrı bir <strong>case </strong>oluşturarak, konum izni verildiğinde yapılacakları yazdık.</p>



<pre class="crayon-plain-tag">@Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch (requestCode) {
            case 100:
                if (grantResults.length > 0) {
                    boolean kameraIzniVerildiMi = grantResults[0] == PackageManager.PERMISSION_GRANTED;
                    if (kameraIzniVerildiMi) {
                        kameraAc();
                    } else {
                        Toast.makeText(getApplicationContext(), "İzin verilmediği için devam edilemiyor", Toast.LENGTH_SHORT).show();
                    }
                } else {
                    Toast.makeText(getApplicationContext(), "İzin verilmediği için devam edilemiyor", Toast.LENGTH_SHORT).show();
                }
                break;

            case 200:
                if (grantResults.length > 0) {
                    boolean konumIzniVerildiMi1 = grantResults[0] == PackageManager.PERMISSION_GRANTED;
                    boolean konumIzniVerildiMi2 = grantResults[1] == PackageManager.PERMISSION_GRANTED;
                    if (konumIzniVerildiMi1 &amp;&amp; konumIzniVerildiMi2) {
                        konumAl();
                    } else {
                        Toast.makeText(getApplicationContext(), "İzin verilmediği için konum alınamıyor", Toast.LENGTH_SHORT).show();
                        finish();
                    }
                } else {
                    Toast.makeText(getApplicationContext(), "İzin verilmediği için konum alınamıyor", Toast.LENGTH_SHORT).show();
                    finish();
                }
                break;
        }
    }</pre>



<p>Buradaki <strong>grantResults[0]</strong> ve <strong>grantResults[1]</strong> içerisinde, lokasyon için istediğimiz izinler vardır. İlkinde <strong><em>ACCESS_COARSE_LOCATION,</em>&nbsp;</strong>ikincisinde<em>&nbsp;</em>de<strong><em> ACCESS_FINE_LOCATION</em></strong> izni için bilgiler bulunmaktadır. Yani izin verildi mi bilgisi tutulur.</p>



<p>Sonuç olarak eğer izin gerektiren bir işlem yaptırmak istiyorsak, hem cihaz için <strong>API 23</strong> kontrolü yapmalıyız hem de izin verilmediyse izin penceresi açarak, seçilen seçeneğe göre aynı işlemleri orada da yapmalıyız. Yani her tıklamada ve izin penceresi açıldığı her durumda&#8230;</p>



<p>Son olarak şunu da söyleyelim. Android SDK&#8217;sı, <strong>tehlikeli</strong> bulduğu izinler için bu işlemi yapar. Yani bir <strong>internet </strong>ve <strong>bluetooth </strong>açma işlemi için <strong>API 23</strong> kontrolüne gerek yoktur. Sadece <strong>AndroidManifest.xml</strong> dosyasına izin eklenir ve kodda doğrudan işlem yapılır. Dosya okuma yazma, kamera açma, mikrofon açma, konum alma gibi işlemler için kullanıcıdan izin isteme <strong>mecburiyeti </strong>vardır. Bu yaptıklarımız da <strong>tehlikeli olan izinler</strong> içindir. </p>



<p>Tehlikeli ve normal izinlerin listesine <a href="https://developer.android.com/guide/topics/permissions/overview" target="_blank" rel="noreferrer noopener" aria-label="buradan  (yeni sekmede açılır)">buradan </a>ulaşabilirsiniz.</p>



<p class="has-text-color has-medium-font-size has-luminous-vivid-orange-color"><strong><a href="https://www.mehmetkirazli.com/KaynakKodlar/MarshmallowIzin.rar">KAYNAK KODLARI İNDİR</a></strong></p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-6-0-marshmallow-izin-ayarlari/">Android 6.0 (Marshmallow) İzin Ayarları &#8211; Runtime Permissions</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-6-0-marshmallow-izin-ayarlari/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Android Google Maps API Kullanımı</title>
		<link>https://www.mehmetkirazli.com/android-google-maps-api-kullanimi/</link>
					<comments>https://www.mehmetkirazli.com/android-google-maps-api-kullanimi/#respond</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Thu, 03 May 2018 19:30:31 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android google maps api]]></category>
		<category><![CDATA[android harita]]></category>
		<category><![CDATA[google map]]></category>
		<guid isPermaLink="false">https://www.mehmetkirazli.com/?p=2853</guid>

					<description><![CDATA[<p>Merhaba. Android uygulamalarında kullanımı yaygın olan Google Maps API kullanımını anlatacağım. Uygulamalarınıza eklediğiniz haritalar üzerinde birçok işlem yapabilirsiniz. Örneğin konum takibi, bina cadde çizimleri, yakındaki mekanları görme gibi birçok fikir için Maps API kullanmak gereklidir. Google haritası dışında Yandex&#8216;in ya da OSM(Open Street Map) Sdk&#8217;larını indirip kullanabilirsiniz fakat kaynak ve işlev bakımından benim tercihim Google &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-google-maps-api-kullanimi/">Android Google Maps API Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba. Android uygulamalarında kullanımı yaygın olan Google Maps API kullanımını anlatacağım.<span id="more-2853"></span></p>
<p>Uygulamalarınıza eklediğiniz haritalar üzerinde birçok işlem yapabilirsiniz. Örneğin konum takibi, bina cadde çizimleri, yakındaki mekanları görme gibi birçok fikir için Maps API kullanmak gereklidir.</p>
<p>Google haritası dışında <span style="color: #ff0000;">Yandex</span>&#8216;in ya da <span style="color: #ff0000;">OSM(Open Street Map)</span> Sdk&#8217;larını indirip kullanabilirsiniz fakat kaynak ve işlev bakımından benim tercihim <strong>Google Map</strong> oldu.</p>
<h4>Google haritasını projeniz eklemek ve kullanmak için sırasıyla aşağıdaki işlemleri yapacağız:</h4>
<p>1 &#8211; Developer Console&#8217; da proje oluşturmak</p>
<p>2 &#8211; Google Maps API&#8217; yi etkinleştirmek</p>
<p>3 &#8211; API Key almak</p>
<p>4 &#8211; Fingerprint öğrenmek ve konsola eklemek</p>
<p>5 &#8211; Android Studio projesi oluşturmak</p>
<p>6 &#8211; Google Play Services güncellemesi</p>
<p>7 &#8211; AndroidManifest.xml ve Build.gradle dosyasını güncellemek</p>
<p>8 &#8211; Kod kısmına geçmek</p>
<h3>Developer Console&#8217; da Proje Oluşturmak</h3>
<p><a href="https://console.developers.google.com/projectcreate" target="_blank" rel="noopener">Bu adrese</a> girip aşağıdaki gibi proje oluşturalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2854" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje-300x74.png" alt="" width="300" height="74" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje-300x74.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje-768x190.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje.png 821w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Proje adınızı ve kimliğinizi belirledikten sonra &#8220;Oluştur&#8221; butonuyla projemizi oluşturalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2855" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje2-300x115.png" alt="" width="300" height="115" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje2-300x115.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje2.png 474w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h3>Google Maps API&#8217; yi Etkinleştirmek</h3>
<p>Projeyi Oluşturduk. Şimdi Google Maps API&#8217;yi etkinleştirelim. Bunun için aynı ekranda soldaki menüden <strong>API&#8217;ler ve Hizmetler -&gt; Kitaplık</strong> butonuna tıklayalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje3.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2856" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje3-300x154.png" alt="" width="300" height="154" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje3-300x154.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje3-768x394.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje3-1024x525.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-yeni-proje3.png 1067w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Karşımıza gelen alana aşağıdaki gibi <span style="color: #ff0000;">Google Maps Android API</span> yazalım ve gelen sonuca tıklayalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2857" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme-300x203.png" alt="" width="300" height="203" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme-300x203.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme-768x520.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme-110x75.png 110w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme.png 981w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Tıkladıktan sonra <strong>Etkinleştir</strong> butonuna tıklayarak Google Maps API&#8217; yi etkinleştirelim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-etkinlestir.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2858" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-etkinlestir-300x242.png" alt="" width="300" height="242" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-etkinlestir-300x242.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-etkinlestir.png 554w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h3>API Key Almak</h3>
<p>Proje oluştuktan sonra tekrar soldaki menüden <strong>API&#8217;ler ve Hizmetler -&gt; Kimlik bilgileri</strong> butonuna basıp <strong>Kimlik bilgilerini oluştur -&gt; API anahtarı</strong> seçeneğine tıklayalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2859" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme2-300x202.png" alt="" width="300" height="202" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme2-300x202.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme2-768x517.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme2-1024x689.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme2-110x75.png 110w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-api-ekleme2.png 1163w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Tıkladıktan sonra bize bir API Key verilecektir. Bunu birazdan göreceğiniz konsola ve Android studio projesine eklememiz gerekecek.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-apikey-ekleme.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2861" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-apikey-ekleme-300x171.png" alt="" width="300" height="171" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-apikey-ekleme-300x171.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/developer-console-apikey-ekleme.png 530w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>API anahtarını aldık.<span style="color: #ff0000;"> Anahtarı Kısıtla</span> butonuna tıklayarak, sadece bizim projemizden bu API&#8217;ye erişebilmek için kısıtlama yapmamız gerekecek. Çünkü Google Maps API&#8217;nin bir <span style="color: #ff0000;">kullanım kotası</span> vardır ve API Key&#8217;i ele geçirenler API&#8217;yi kendi uygulamalarında kullanarak kotayı tüketebilir.</p>
<h3>Fingerprint Öğrenmek ve Konsola Eklemek</h3>
<p>Şimdi anahtarı kısıtlayacağız yani başkasının kullanmasını engelleyeceğiz diyebiliriz. Uygulamamızın <span style="color: #ff0000;"><strong>Paket Adı</strong></span> ve <span style="color: #ff0000;"><strong>Fingerprint</strong> </span>bilgilerimizle beraber satır bazında ekleme yapmamız gerekecek. Aşağıda son halini ekledim. <strong>&#8220;Uygulama kısıtlamaları&#8221;</strong> kısmını <strong>&#8220;Android Uygulamaları&#8221;</strong> olarak seçmeliyiz. En alt kısma ise çalıştığımız her bilgisayar için yeni bir satır eklemeliyiz. Ben bu bilgisayara ait SHA-1 sertifikası ekledim. Aynı API Key ile başka bir projede çalışmak isterseniz de başka bir paket adı ve aynı SHA-1 sertifikasını eklemeniz gerekir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ekleme.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2860" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ekleme-300x277.png" alt="" width="300" height="277" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ekleme-300x277.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ekleme-768x709.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ekleme.png 933w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Buradaki SHA-1 sertifikası yani Fingerprint&#8217;i nereden öğreneceğiz ?</p>
<p>Bunun 2 yolu var. Birincisi Android Studio&#8217;da proje oluşturduktan sonra aşağıdaki gibi sağdaki <span style="color: #ff0000;">Gradle</span> panelini açarak <strong>signingReport</strong> butonuna kadar gelip üzerine çift tıklamak. Tıkladıktan sonra size SHA-1 değerini verecektir. Bunu kopyalayıp ekleyebilirsiniz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ogrenme.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2862" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ogrenme-300x232.png" alt="" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ogrenme-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ogrenme-768x594.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ogrenme-1024x792.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-ogrenme.png 1270w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Diğer yolu ise komut satırından<strong>(cmd.exe)</strong> bulmaktır. Bunun için Java programının olduğu klasördeki <span style="color: #ff0000;">bin</span> dizinine gidiniz. Bendeki bu dizin şu şekilde</p><pre class="crayon-plain-tag">C:\Program Files\Java\jdk1.8.0_91\bin</pre><p>Bu klasörü açtıktan sonra <strong>SHIFT</strong> butonuna basılı tutarak farenizin sağ tuşuna basıp gelen seçeneklerden <span style="color: #ff0000;">&#8220;Komut penceresini burada aç&#8221;</span> &#8216;a basınız ve komut satırı açılacaktır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2863" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-300x158.png" alt="" width="300" height="158" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-300x158.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint-768x404.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/fingerprint.png 993w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Komut satırı açıldıktan sonra görünümü:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1-fingerprint.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2864" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1-fingerprint-300x117.png" alt="" width="300" height="117" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1-fingerprint-300x117.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1-fingerprint.png 694w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Komut satırına aşağıdaki komutu yazın. Buradan alıp pencereye sağ tıklayarak kısayoldan yapıştırabilirsiniz.</p><pre class="crayon-plain-tag">keytool -list -v -keystore C:\Users\mkirazli\.android\debug.keystore</pre><p><strong>mkirazli</strong> değerini kendinize göre düzenleyiniz. Enter&#8217;a bastıktan sonra size <strong>SHA-1</strong> değerini verecektir. Password kısmına bir şey girmeden Enter&#8217;a basınız.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2865" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1-300x193.png" alt="" width="300" height="193" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1-300x193.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1-768x494.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/sha1.png 980w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bu değeri de kopyalayıp yukarı bahsettiğim anahtar kısıtlamasındaki bölüme yapıştırabilirsiniz. Görüldüğü üzere 1.yöntemle aynı SHA-1 anahtarını verdi.</p>
<h3>Android Studio Projesi Oluşturuyoruz</h3>
<p>Sıra geldi proje oluşturmaya. Siz biliyorsunuz fakat ben yine de nasıl oluşturulur göstereyim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-1.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2866" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-1-300x208.png" alt="" width="300" height="208" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-1-300x208.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-1-768x533.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-1-1024x711.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-1-110x75.png 110w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-1.png 1063w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2867" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-2-300x208.png" alt="" width="300" height="208" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-2-300x208.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-2-768x533.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-2-1024x710.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-2-110x75.png 110w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/proje-olusturma-2.png 1064w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><figure id="attachment_2868" aria-describedby="caption-attachment-2868" style="width: 300px" class="wp-caption alignnone"><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap.png"><img decoding="async" loading="lazy" class="wp-image-2868 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap-300x232.png" alt="" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap-768x594.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap-1024x793.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap.png 1062w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-2868" class="wp-caption-text">Burada Google Maps Activity de seçilebilir.</figcaption></figure></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2869" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap2-300x232.png" alt="" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap2-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap2-768x593.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap2-1024x791.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-googlemap2.png 1055w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Proje oluşturduktan sonra derleme için bir müddet bekleyeceğiz.</p>
<h3>Google Play Services Güncellemesi</h3>
<p>Proje oluştu fakat Google Maps kullanabilmek için <span style="color: #ff0000;">Google Play Services</span>&#8216;i yüklemek ya da son sürüme güncellemek gerekiyor.</p>
<p>Üst menüden <span style="color: #ff0000;">Tools -&gt;Android -&gt; SDK Manager</span> seçeneğine tıklayarak SDK Yükleme penceresini açınız.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/play-services-sdk.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2871" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/play-services-sdk-300x215.png" alt="" width="300" height="215" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/play-services-sdk-300x215.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/play-services-sdk-768x550.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/play-services-sdk.png 789w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bende yüklü olduğu için mavi tikli. Eğer güncellenmesi gerekiyorsa içinde çizgi olan beyaz kutu görünümünde olacaktır ve üzerine tıklayıp <strong>Apply</strong> diyerek devam ediniz ve güncellemeyi tamamlayınız.</p>
<h3>AndroidManifest.xml ve Build.Gradle Dosyasını Güncellemek</h3>
<p>Google Maps API&#8217; yi kullanabilmek için <strong>build.gradle</strong> dosyasındaki dependencies kısmına şu satırı ekleyelim.</p><pre class="crayon-plain-tag">compile 'com.google.android.gms:play-services-maps:11.0.4'</pre><p>11.0.4 değeri sizde başka olabilir. Şuan 11.8.0 var diye biliyorum. En güncelini kullanmak isterseniz 11.8.0 kullanın fakat sdk güncellemesi yapmanız gerekir. Şimdilik 11.0.4 olarak bıraktım.</p>
<h4>AndroidManifest.xml dosyası için ise :</h4>
<p>Az önce aldığımız API_KEY değerini buraya ekleyeceğiz.</p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mehmetkirazli.googlemap"&gt;

    &lt;application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"&gt;
        &lt;activity android:name=".MainActivity"&gt;
            &lt;intent-filter&gt;
                &lt;action android:name="android.intent.action.MAIN" /&gt;

                &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
            &lt;/intent-filter&gt;
        &lt;/activity&gt;

        &lt;meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" /&gt;

        &lt;meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="AIzaSyBLxim80FEXXXXXXXXXXXXXXXX" /&gt;

    &lt;/application&gt;

&lt;/manifest&gt;</pre><p>2 adet <span style="color: #ff0000;">meta-data</span> değeri ekledik. Birisinde API_KEY değeri var diğerinde ise Google versiyonu. Versiyon zorunlu değil ama yine de ekledim.</p>
<p>Son olarak kod kısmında yani <strong>MainActivity</strong> classında kodumuzu yazacağız.</p>
<h3>Kodlamaya Başlıyoruz</h3>
<p>Öncelikle <span style="color: #ff0000;">activity_main.xml</span> dosyasına bir FRAGMENT ekliyoruz.</p><pre class="crayon-plain-tag">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="mehmetkirazli.googlemap.MainActivity"&gt;

    &lt;fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" /&gt;

&lt;/RelativeLayout&gt;</pre><p>MainActivity.java dosyamızda ise basit bir harita tanımladık ve 2 adet marker ekledik.</p><pre class="crayon-plain-tag">package mehmetkirazli.googlemap;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        LatLng galataKulesi = new LatLng(41.025629, 28.974138);
        googleMap.addMarker(new MarkerOptions().position(galataKulesi).title("Burası Galata Kulesi"));
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(galataKulesi));

        googleMap.addMarker(new MarkerOptions()
                .position(new LatLng(41.047967,28.933790))
                .title("BURADASINIZ")
                .snippet("Eyüp Sultan Cami"));
    }
}</pre><p>Uygulamayı çalıştırdığımızda haritamız şu şekilde olacak</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-maps-api.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2870" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-maps-api-169x300.png" alt="" width="169" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-maps-api-169x300.png 169w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-maps-api.png 540w" sizes="(max-width: 169px) 100vw, 169px" /></a></p>
<p>Not : Uygulamayı emülatörde çalıştırmak sorun olabilir (Play Services Sdk&#8217;sı eski olabilir). Siz telefonunuzda çalıştırmayı deneyin.</p>
<p>Haritamızda biraz değişiklik yapalım ve bir de poligon ekleyelim.</p><pre class="crayon-plain-tag">package mehmetkirazli.googlemap;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.Polygon;
import com.google.android.gms.maps.model.PolygonOptions;
import com.google.android.gms.maps.model.PolylineOptions;

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportActionBar().hide(); // üstteki toolbarı kaldırdık
        setContentView(R.layout.activity_main);

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        LatLng galataKulesi = new LatLng(41.025629, 28.974138);
        googleMap.addMarker(new MarkerOptions().position(galataKulesi).title("Burası Galata Kulesi"));

        googleMap.addMarker(new MarkerOptions()
                .position(new LatLng(41.047967,28.933790))
                .title("BURADASINIZ")
                .snippet("Eyüp Sultan Cami"));

        googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(galataKulesi, 12));

        googleMap.getUiSettings().setMyLocationButtonEnabled(true); // konumumu göster butonu aktif edildi
        googleMap.getUiSettings().setCompassEnabled(true); // pusula butonu aktif edildi
        googleMap.getUiSettings().setZoomControlsEnabled(true); // zoom butonları aktif edildi

        googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); // hibrit görünümü set edildi
//        googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
        googleMap.setTrafficEnabled(true); // trafik durumu aktif edildi


        PolygonOptions polygonOptions = new PolygonOptions()
                .add(new LatLng(41.053832, 28.972283))
                .add(new LatLng(41.055056, 28.992326))
                .add(new LatLng(41.048958, 28.990987))
                .add(new LatLng(41.040214, 28.979840));

        Polygon polygon = googleMap.addPolygon(polygonOptions);
        polygon.setStrokeColor(Color.GREEN); // poligon çizgileri yeşil olarak belirlendi

    }
}</pre><p>Son görüntümüz şu şekilde olacaktır:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-map.jpg"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2873" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-map-169x300.jpg" alt="" width="169" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-map-169x300.jpg 169w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-google-map.jpg 400w" sizes="(max-width: 169px) 100vw, 169px" /></a></p>
<p>21.satırda üstteki toolbar&#8217;ı da kaldırmış olduk. Bu arada uydu görünümünün Türkiye için çalışmadığını belirtelim.</p><pre class="crayon-plain-tag">googleMap.setMapType(GoogleMap.MAP_TYPE_STELLITE); // Türkiye'de çalışmıyor</pre><p>Genel olarak Google Maps API kullanımı bu şekildedir. Google&#8217;ın harita konusunda birçok API&#8217; si mevcuttur. Geocoding, API, GeoLocation API vs.</p>
<p>Bunları incelemek isterseniz sol üst köşeden <span style="color: #ff0000;">File -&gt; Close Project</span> tıkladıktan sonra çıkan pencereden <span style="color: #ff0000;">Import Project</span> veya hiç Close demeden <span style="color: #ff0000;">File -&gt; New -&gt; Import Project</span> seçeneğine tıklayıp aşağıdaki gibi Sdk&#8217;nın kurulu olduğu dizinden <strong>/extras/google/google_play_services/samples/maps </strong>seçip ilerleyebilirsiniz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-maps.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2876" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-maps-237x300.png" alt="" width="237" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-maps-237x300.png 237w, https://www.mehmetkirazli.com/wp-content/uploads/2018/03/android-maps.png 423w" sizes="(max-width: 237px) 100vw, 237px" /></a></p>
<p>maps projesini açtığınızda, kullanabileceğiniz neredeyse tüm harita sınıfları karşınıza gelecektir. Hepsini tek tek deneyip görebilirsiniz.</p>
<h3><a href="http://mehmetkirazli.com/KaynakKodlar/GoogleMapExample.rar" rel="noopener"><span style="color: #ff6600;">KAYNAK KODU İNDİR</span></a></h3>
<p>Kaynak kodunun çalıştırırken Developer Console&#8217;da yeni proje açmayı ve projenizdeki API_KEY&#8217;i değiştirmeyi unutmayın.</p>
<p>Bir sonraki derste görüşmek üzere&#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-google-maps-api-kullanimi/">Android Google Maps API Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-google-maps-api-kullanimi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Android Studio ve SDK Kurulumu</title>
		<link>https://www.mehmetkirazli.com/android-studio-ve-sdk-kurulumu/</link>
					<comments>https://www.mehmetkirazli.com/android-studio-ve-sdk-kurulumu/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Thu, 03 May 2018 19:30:10 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android dersleri]]></category>
		<category><![CDATA[android kurulum]]></category>
		<category><![CDATA[android sdk kurulumu]]></category>
		<category><![CDATA[android studio]]></category>
		<category><![CDATA[android studio dersleri]]></category>
		<category><![CDATA[android studio indir]]></category>
		<category><![CDATA[android studio kullanımı]]></category>
		<category><![CDATA[android studio kurulumu]]></category>
		<category><![CDATA[android studio nedir]]></category>
		<guid isPermaLink="false">https://www.mehmetkirazli.com/?p=2880</guid>

					<description><![CDATA[<p>Merhaba. Uzun zaman önce Eclipse ile başladığım Android Dersleri serisine, Android Studio ve SDK kurulumunu anlatarak Eclipse yerine Android Studio ile devam etmek istiyorum. Bundan birkaç yıl önce Eclipse ile Android uygulamaları yazarken çok sıkıntı yaşanıyordu. Özellikle SDK kurulumu ve Emülatör yüklemesi uzun zaman alıyordu. Kurulum bile o kadar karmaşık bir hal almıştı ki düşünün &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-studio-ve-sdk-kurulumu/">Android Studio ve SDK Kurulumu</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba. Uzun zaman önce Eclipse ile başladığım Android Dersleri serisine, Android Studio ve SDK kurulumunu anlatarak Eclipse yerine Android Studio ile devam etmek istiyorum.<span id="more-2880"></span></p>
<p>Bundan birkaç yıl önce Eclipse ile Android uygulamaları yazarken çok sıkıntı yaşanıyordu. Özellikle SDK kurulumu ve Emülatör yüklemesi uzun zaman alıyordu. Kurulum bile o kadar karmaşık bir hal almıştı ki düşünün <a href="https://www.mehmetkirazli.com/resimli-android-sdk-kurulumu-eclipse/" target="_blank" rel="noopener">bu yazımda</a> 10 adımda kurulumu anlatmıştım. Android Studio yayınlandıktan sonra kısmen bu sorun giderildi. Son yapılan güncellemelerle birlikte ise bu sorunlar neredeyse tamamen kalktı. Artık emülatör çok hızlı, arayüz kullanımı rahat, sdk ise kısa sürede yükleniyor.</p>
<p>Fazla uzatmadan Android Studio kurulumuna geçmek istiyorum. Eğer uygulamanızda birçok kütüphane, Google servisleri vs. kullanıyorsanız Android Studio IDE&#8217;nizi güncel tutmanızı öneririm. Çünkü bazı API&#8217;ler güncel Android Studio kullanımı istiyor.</p>
<p>Android Studio kurulumuna geçmeden önce <strong>JDK</strong> (Java Development Kit) indirmemiz gerekiyor. Android Studio, Java tabanlı olduğu için Eclipse gibi JDK yüklü olması gerekiyor.</p>
<h3>JDK Kurulumu</h3>
<p>Önce <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank" rel="noopener">bu adrese</a> girelim. Karşımıza aşağıdaki indirme ekranı gelecektir. Sağdaki JDK başlığının altındaki DOWNLOAD butonuna tıklayalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2983" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk-300x270.png" alt="" width="300" height="270" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk-300x270.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk.png 576w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Daha sonra <em>Accept License Agreement</em> seçeneğini tıklayarak Windows için en altta Download alanında bulunan linkte tıklayarak indirme işlemini başlatın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2984" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk2-300x257.png" alt="" width="300" height="257" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk2-300x257.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/jdk2.png 604w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>İndirdiğiniz dosyayı açıp kurmaya başlayabilirsiniz. Kurulum adımları aşağıdaki gibi olacaktır:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java1.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2992" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java1-300x229.png" alt="" width="300" height="229" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java1-300x229.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java1.png 498w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2993" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java2-300x229.png" alt="" width="300" height="229" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java2-300x229.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java2.png 498w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java3.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2994" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java3-300x228.png" alt="" width="300" height="228" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java3-300x228.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java3.png 496w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada Java&#8217;nın yüklü olduğu dizini değiştirmeden Next diyoruz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java4.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2995" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java4-300x226.png" alt="" width="300" height="226" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java4-300x226.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java4.png 499w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java5.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2996" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java5-300x242.png" alt="" width="300" height="242" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java5-300x242.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java5.png 505w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java6.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2997" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java6-300x227.png" alt="" width="300" height="227" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java6-300x227.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/java6.png 500w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>JDK yüklendi. Close butona ile ekranı kapatıyoruz. JDK kurulumundan sonra aşağıdaki adımı takip ederek <strong>Path</strong> ayarları eklememiz gerekiyor.</p>
<p><span style="color: #ff0000;"><em>Bilgisayar &gt; Özellikler &gt; Gelişmiş Sistem Ayarları &gt; Ortam Değişkenleri </em><span style="color: #000000;">butonuna tıklayın.</span></span></p>
<p><span style="color: #ff0000;"><span style="color: #000000;"><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/degisken.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2985" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/degisken-300x252.png" alt="" width="300" height="252" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/degisken-300x252.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/degisken.png 574w" sizes="(max-width: 300px) 100vw, 300px" /></a> </span></span></p>
<p>Sistem değişkenleri alanına yeni bir değişken ekleyeceğiz. İsmi “<strong>JAVA_HOME</strong>” olacak. Değerine de <strong>“C:\Program Files\Java\jre-10.0.1\bin”</strong> yazıyoruz ve Tamam diyerek ekleme işlemini yapıyoruz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2999" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari-300x154.png" alt="" width="300" height="154" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari-300x154.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari.png 721w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Ben bu dizine kurdum. Siz hangi dizine kurduysanız o pathi vermelisiniz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/klasor.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2998" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/klasor-300x121.png" alt="" width="300" height="121" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/klasor-300x121.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/klasor-660x268.png 660w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/klasor.png 665w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Değişkeni ekledikten sonra son görünüm aşağıdaki gibi olacaktır</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3000" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari2-300x197.png" alt="" width="300" height="197" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari2-300x197.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari2-310x205.png 310w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sistem-ayarlari2.png 607w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<h3>Android Studio Kurulumu</h3>
<p>İlk olarak <a href="https://developer.android.com/studio/" target="_blank" rel="noopener">bu adresten</a> Android Studio&#8217;yu indirelim ve aşağıdaki gibi <span style="color: #ff0000;">Download Android Studio</span> butonuna tıklayalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2974" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu-300x157.png" alt="" width="300" height="157" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu-300x157.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu-768x403.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Karşımıza lisans sözleşmesi gelecektir. Onaylayıp indirme işlemini başlatalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2975" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu2-300x155.png" alt="" width="300" height="155" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu2-300x155.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu2-768x396.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-kurulumu2.png 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>İndirdiğimiz exe dosyasını çalıştırıp kurulumu başlatalım.</p>
<p>Kurulum başladıktan sonra Next-Next yaparak aşağıdaki adımları takip edelim:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/1.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2976" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/1-300x232.png" alt="" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/1-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/1.png 497w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2977" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/2-300x232.png" alt="" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/2-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/2.png 497w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Alttaki ekranda Android Studio&#8217;nun nereye kurulacağını seçiyoruz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/3.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2978" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/3-300x235.png" alt="" width="300" height="235" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/3-300x235.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/3.png 496w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/4.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2979" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/4-300x232.png" alt="" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/4-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/4.png 498w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/5.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2980" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/5-300x233.png" alt="" width="300" height="233" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/5-300x233.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/5.png 495w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/6.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2981" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/6-300x233.png" alt="" width="300" height="233" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/6-300x233.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/6.png 498w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/7.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2982" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/7-300x233.png" alt="" width="300" height="233" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/7-300x233.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/7.png 496w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h3>SDK Kurulumu</h3>
<p>Kurulum bitti.  Şimdi SDK yükleme zamanı. Android Studio&#8217;yu kurduktan sonra karşımıza aşağıdaki giriş ekranı gelecektir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2986" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8-300x187.png" alt="" width="300" height="187" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8-300x187.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8.png 765w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Sağ alttaki menüden <strong>Configure &#8211; &gt; SDK Manager</strong> seçeneğini tıklayıp SDK yükleme ekranını açalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/9.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2987" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/9-300x290.png" alt="" width="300" height="290" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/9-300x290.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/9.png 660w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Eğer yüklü bir SDK yoksa aşağıdaki işaretli butona tıklayarak bir konum belirleyin.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sdk-yukle.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3005" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sdk-yukle-300x227.png" alt="" width="300" height="227" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sdk-yukle-300x227.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sdk-yukle-768x581.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/sdk-yukle.png 883w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Aşağıdaki işaretli alanda belirlediğiniz konuma yükleme yapmak için Next butonuna tıklayın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/10.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3003" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/10-300x181.png" alt="" width="300" height="181" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/10-300x181.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/10-768x464.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/10-1024x618.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/10.png 1065w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/11-1.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3002" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/11-1-300x181.png" alt="" width="300" height="181" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/11-1-300x181.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/11-1-768x463.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/11-1-1024x618.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/11-1.png 1059w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/12.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2990" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/12-300x180.png" alt="" width="300" height="180" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/12-300x180.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/12-768x462.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/12-1024x616.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/12.png 1063w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/13.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2991" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/13-300x180.png" alt="" width="300" height="180" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/13-300x180.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/13-768x462.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/13-1024x615.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/13.png 1060w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>SDK yüklemesi tamamlandı. Platform 27 yüklendi. Siz bundan başka platformlar yüklemek isterseniz aynı ekrandan API listesinden seçim yapıp yükleyebilirsiniz. SDK yüklemesi de tamamlandığına göre ilk android projesini oluşturabiliriz.</p>
<h3>Android Studio ile Proje Oluşturma</h3>
<p>Aşağıdaki giriş ekranından <strong>Start a new Android Studio Project</strong> butonuna tıklayalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-2986" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8-300x187.png" alt="" width="300" height="187" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8-300x187.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/8.png 765w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Daha sonra Proje adı ve paket adı girelim. Proje adında Türkçe karakter olmaması gerekiyor. Paket adını keyfinize göre belirleyin fakat anlamlı olsun.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio1.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3006" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio1-300x217.png" alt="" width="300" height="217" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio1-300x217.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio1-768x554.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio1.png 895w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Daha sonra uygulamamızda kullanacağımız API versiyonlarını belirtiyoruz. Bunu daha sonra Proje içinden de değiştirebileceğimiz için buraya dokunmadan Next diyerek ilerliyoruz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio2.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3007" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio2-300x216.png" alt="" width="300" height="216" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio2-300x216.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio2-768x552.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio2.png 897w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Empty Activity seçeneğini tıklayarak devam edelim. Eğer Blank Activity seçerseniz manuel olarak bazı ayarları sizin yapmanız gerekecektir. <strong>&#8220;Add no Activity&#8221;</strong> seçerseniz de Xml ve Activity dosyalarını sıfırdan oluşturursunuz. Diğer seçeneklerin detaylarına girmeyeceğim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio3.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3008" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio3-300x215.png" alt="" width="300" height="215" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio3-300x215.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio3-768x550.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio3.png 896w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Activity sınıfına ve karşılığında kullanacağımız xml yani tasarım dosyamıza isim vererek devam edelim ve Finish butonu ile projeyi açalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio4.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3009" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio4-300x216.png" alt="" width="300" height="216" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio4-300x216.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio4-768x552.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio4.png 898w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Proje ilk açıldığında görünümü aşağıdaki gibi olacaktır. Soldaki açılır menüyü kendime göre şekillendirdim. Burada hangi buton ne işe yararın detayına girmeyeceğim. Sonraki yazılarımda bir şekilde bunlara değinmiş olacağım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-proje.png"><img decoding="async" loading="lazy" class="alignnone size-medium wp-image-3010" src="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-proje-300x160.png" alt="" width="300" height="160" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-proje-300x160.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-proje-768x409.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-proje-1024x545.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-proje-310x165.png 310w, https://www.mehmetkirazli.com/wp-content/uploads/2018/05/android-studio-proje.png 1365w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Umarım güzel ve sürekli bir seri olur. Görüşmek üzere.</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-studio-ve-sdk-kurulumu/">Android Studio ve SDK Kurulumu</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-studio-ve-sdk-kurulumu/feed/</wfw:commentRss>
			<slash:comments>19</slash:comments>
		
		
			</item>
		<item>
		<title>Android Dersleri 29 : Telefon Rehberi Uygulaması Yapıyoruz</title>
		<link>https://www.mehmetkirazli.com/android-dersleri-29-telefon-rehberi-uygulamasi/</link>
					<comments>https://www.mehmetkirazli.com/android-dersleri-29-telefon-rehberi-uygulamasi/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Sat, 22 Mar 2014 06:29:13 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android sqlite]]></category>
		<category><![CDATA[android veri çekme]]></category>
		<category><![CDATA[android veritabanı]]></category>
		<category><![CDATA[android veritabanı kullanımı]]></category>
		<category><![CDATA[android veritabanı örneği]]></category>
		<category><![CDATA[sqlite kullanımı]]></category>
		<category><![CDATA[telefon rehberi]]></category>
		<category><![CDATA[veritabanı]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1851</guid>

					<description><![CDATA[<p>Merhaba. Yine uzunca bir aradan sonra yazmaya devam ediyorum. Bu yazımda,  veritabanında değinmediğim Where ifadesine yer vereceğim. Bunun için telefon rehberi tarzında basit arayüzü olan bir uygulama hazırladım. Bunu where nasıl kullanılır onu göstermek için yaptım. Uygulama aslında pek de telefon rehberine benzemiyor. İlk olarak projeyi oluşturdum. Bunun için size sadece ilk adım olan proje bilgilerinin girildiği ekranı &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-29-telefon-rehberi-uygulamasi/">Android Dersleri 29 : Telefon Rehberi Uygulaması Yapıyoruz</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #333333;">Merhaba. Yine uzunca bir aradan sonra yazmaya devam ediyorum. Bu yazımda,  veritabanında değinmediğim <span style="color: #ff0000;">Where</span> ifadesine yer vereceğim. Bunun için <span style="color: #ff0000;">telefon rehberi</span> tarzında basit arayüzü olan bir uygulama hazırladım. Bunu <span style="color: #ff0000;">where</span> nasıl kullanılır onu göstermek için yaptım. Uygulama aslında pek de telefon rehberine benzemiyor.<span id="more-1851"></span></span></p>
<p>İlk olarak projeyi oluşturdum. Bunun için size sadece ilk adım olan proje bilgilerinin girildiği ekranı paylaşıyorum. Bundan sonraki tüm adımları <span style="color: #ff0000;">Next Next</span> diyerek tamamlayın. Project Name kısmında türkçe karakter ve boşluk kullanmayın. Uygulamanız çalışmaz ya da apk&#8217;sını telefona kuramazsınız.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/11.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1853 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/11-300x256.png" alt="android veritabanı sqlite" width="300" height="256" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/11-300x256.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/11.png 632w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Şimdi uygulamanın arayüzünü tasarladım ve bunu<span style="color: #ff0000;"> Relative Layout</span> kullanarak yaptım. Arayüzüm ise şu şekilde :</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1854 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/2-300x201.png" alt="android veritabanı sqlite" width="300" height="201" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/2-300x201.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/2.png 822w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Arayüzde kullandığım item&#8217;lerin isimlendirmesini, önceki derslerden birinde anlattığım gibi <span style="color: #ff0000;">strings.xml</span>&#8216;e yazarak yapıyorum. Bunun için <strong>values</strong> altındaki <span style="color: #ff0000;">strings.xml</span> dosyasına, sayfama eklediğim her <strong>item</strong> için bir <span style="text-decoration: underline;">satır</span> ekliyorum. Görüntüsü aşağıdaki gibidir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/strings.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1855 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/strings-300x187.png" alt="android veritabanı sqlite" width="300" height="187" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/strings-300x187.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/strings.png 800w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Buradaki <span style="color: #ff0000;">name</span> etiketleri benim<strong> id</strong>&#8216;m olacak. Karşısındaki ise onun <span style="color: #ff0000;">değeri</span>. Şimdi layout&#8217;umda bunu nasıl kullandım onu göstereyim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/layout.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1856 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/layout-300x209.png" alt="android veritabanı sqlite" width="300" height="209" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/layout-300x209.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/layout.png 759w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>İşaretli alanda, butonumun ismini doğrudan vermedim (<span style="color: #ff0000;">hardcore</span>), <span style="color: #ff0000;">strings.xml</span>&#8216;deki <strong>id</strong> değerinden çektim. Her zaman bu şekilde yapın. Yapmazsanız <span style="color: #ff0000;">sarı ünlem</span> çıkacaktır layout&#8217;daki item üzerinde.</p>
<p><span style="color: #ff0000;">AndroidManifest</span> dosyasının içeriği ise şu şekilde olacak :</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/manifest.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1858 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/manifest-300x210.png" alt="android veritabanı sqlite" width="300" height="210" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/manifest-300x210.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/manifest.png 748w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Şimdi <span style="color: #ff0000;">Veritabanı</span> sınıfımı oluşturdum. Burada veritabanımla ilgili tanımlamaları yaptım. Veritabani sınıfı ise şu şekilde olacak :</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/veritabani.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1857 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/veritabani-300x145.png" alt="android veritabanı sqlite" width="300" height="145" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/veritabani-300x145.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/veritabani.png 803w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada <span style="color: #ff0000;">ad</span>,<span style="color: #ff0000;">soyad</span> ve <span style="color: #ff0000;">tel</span> alanlarım var. Veritabanı adım <strong>telefonrehberi</strong>, tablomun adı ise <strong>kisiler</strong>. Bunu ben <span style="color: #ff0000;">MainActivity</span> sınıfımda kullanacağım. Şimdi de hemen <strong>MainActivity</strong> sınıfıma geçiyorum. Asıl işler burada dönecek tabiki.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1859 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main1-300x185.png" alt="android veritabanı sqlite" width="300" height="185" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main1-300x185.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main1.png 899w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada açıklama satırları ile durumu anlatmaya çalıştım. Bu resimdeki en önemli olay, <span style="color: #ff0000;">kaydet</span> butonuna basınca değerlerimizi <span style="color: #ff0000;">kaydet</span> metoduna göndermesidir. Şimdi <span style="color: #ff0000;">kaydet</span> metodunun içeriğine bakalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1860 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main2-300x188.png" alt="android veritabanı sqlite" width="300" height="188" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main2-300x188.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/main2.png 882w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada <span style="color: #ff0000;">SQLiteDatabase</span> sınıfından bir nesne ürettik ve bu nesnenin <strong>Writable</strong> olduğunu yani bir <span style="color: #ff0000;">yazma</span> işlemi yapacağımızı belirttik. Sonra <span style="color: #ff0000;">content</span> nesnesine, tablomuzdaki hangi alanlara ekleme yapacaksak onları yazdık. <strong>Sütun adı</strong> ve <strong>değeri</strong> şeklinde. Sonra bağlantımızı kapattık ve ilgili mesajları verdik.</p>
<p>Bu aşamaya kadar yapılanları test ettim ve ekran görüntülerini aldım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1861 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran1-236x300.png" alt="android veritabanı sqlite" width="236" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran1-236x300.png 236w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran1.png 581w" sizes="(max-width: 236px) 100vw, 236px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1862 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran2-236x300.png" alt="android veritabanı sqlite" width="236" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran2-236x300.png 236w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran2.png 580w" sizes="(max-width: 236px) 100vw, 236px" /></a></p>
<p><span style="color: #ff0000;">Kaydet</span> butonuna basınca kişimiz veritabanına eklenmiş oldu. Şimdi kontrol edelim. Bunun için <span style="color: #ff0000;">File Explorer</span>&#8216;dan bakıyorum. Bunun nasıl yapıldığını önceki derslerde göstermiştim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1863 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt1-300x108.png" alt="android veritabanı sqlite" width="300" height="108" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt1-300x108.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt1-1024x368.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt1.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada veritabanımı görüyorum. Bunu masaüstüne çıkarıyorum ve <strong>SQLite Expert</strong> ile açıyorum. Açtığım zaman aşağıdaki gibi kaydın eklenmiş olduğunu görüyorum.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1864 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt2-300x163.png" alt="android veritabanı sqlite" width="300" height="163" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt2-300x163.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt2-1024x559.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/vt2.png 1162w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Şimdi isim girip bu isme ait olan bilgileri getireceğim. Bunun için <strong>MainActivity</strong> sınıfındaki ilgili butonumun <span style="color: #ff0000;">click</span> eventini oluşturuyorum.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/kisiAra.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1865 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/kisiAra-300x100.png" alt="android veritabanı sqlite" width="300" height="100" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/kisiAra-300x100.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/kisiAra.png 871w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bu <span style="color: #ff0000;">bilgileriCek()</span> metodumun içinde de veritabanımda bu isme ait olan satırı getiriyorum ve <strong>alert</strong> içinde gösteriyorum. Bunun için ilk olarak<span style="color: #ff0000;"> bilgileriCek()</span> metodumun içini yazacağım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/bilgileriCek.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1867 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/bilgileriCek-300x203.png" alt="android veritabanı sqlite" width="300" height="203" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/bilgileriCek-300x203.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/bilgileriCek.png 885w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Gerekli yerlerde açıklama satırları koydum. Şimdi ise çekilen verileri ekranda <strong>Alert</strong> ile göstereceğim. Kodlarım ise şu şekilde :</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/cekilenleriGoster.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1868 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/cekilenleriGoster-300x216.png" alt="android veritabanı sqlite" width="300" height="216" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/cekilenleriGoster-300x216.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/cekilenleriGoster.png 860w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>Alert</strong> için verdiğimiz <span style="color: #ff0000;">adapter</span> nesnesi, içerisinde veritabanından gelen değerleri tutuyor. Burada veritabanında <span style="color: #ff0000;">bir</span> tane değerimiz olduğu için 1 kayıt geldi. Daha fazla ekleseydim alt alta yazacaktı. Tabi bunun için bir önceki resimdeki<strong> arrapadater2.add()</strong> metodunun içini düzenlemeniz gerekir.</p>
<h4><strong>Son Ekran Görüntüleri :</strong></h4>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran11.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1869 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran11-234x300.png" alt="android veritabanı sqlite" width="234" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran11-234x300.png 234w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran11.png 576w" sizes="(max-width: 234px) 100vw, 234px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran21.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1870 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran21-235x300.png" alt="android veritabanı sqlite" width="235" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran21-235x300.png 235w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran21.png 580w" sizes="(max-width: 235px) 100vw, 235px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran3.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1871 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran3-234x300.png" alt="android veritabanı sqlite" width="234" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran3-234x300.png 234w, https://www.mehmetkirazli.com/wp-content/uploads/2014/03/ekran3.png 578w" sizes="(max-width: 234px) 100vw, 234px" /></a></p>
<p>&nbsp;</p>
<p>Burada <strong>Getirilen Kayıtlar</strong> sayfasında, kayda tıklanınca o kayıtla ilgili <span style="color: #ff0000;">düzenleme</span> ya da <span style="color: #ff0000;">silme</span> işlemi yapabilirsiniz. Bunu size bırakıyorum. Bir önceki resimde silme ve değiştirme için gerekli metodlar var ve içerisi boş. Bunu siz doldurmaya çalışın.</p>
<p><a href="https://www.mehmetkirazli.com/KaynakKodlar/TelefonRehberi.rar" target="_blank" rel="noopener noreferrer">Kaynak kodu buradan indirebilirsiniz.</a></p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-29-telefon-rehberi-uygulamasi/">Android Dersleri 29 : Telefon Rehberi Uygulaması Yapıyoruz</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-dersleri-29-telefon-rehberi-uygulamasi/feed/</wfw:commentRss>
			<slash:comments>36</slash:comments>
		
		
			</item>
		<item>
		<title>Android Dersleri 28 : Butonları Tek Bir Listener ile Kontrol Etme</title>
		<link>https://www.mehmetkirazli.com/android-dersleri-28-butonlari-tek-bir-listener-ile-kontrol-etme/</link>
					<comments>https://www.mehmetkirazli.com/android-dersleri-28-butonlari-tek-bir-listener-ile-kontrol-etme/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Wed, 13 Nov 2013 20:24:56 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android butonları aynı anda kontrol]]></category>
		<category><![CDATA[android dersleri]]></category>
		<category><![CDATA[butonlar için tek listener]]></category>
		<category><![CDATA[çoklu buton kontrolü]]></category>
		<category><![CDATA[View.OnClickListener]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1740</guid>

					<description><![CDATA[<p>Merhaba. Bu derste, android uygulamalarımızdaki butonların hepsi için tek bir listener oluşturmayı anlatacağım. Normalde her buton için bir listener oluşturur ve bu listener içerisine de butona tıklandığında, bırakıldığında vs. yapılacak işlemleri yazarız. Şimdi, bir sınıftaki tüm butonlar için ortak bir event oluşturmayı göstereceğim. Uygulamamızı aşağıdaki gibi oluşturalım. Bu ekranımızın kodlamasını yapacağımız sınıfımızı da açalım ve &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-28-butonlari-tek-bir-listener-ile-kontrol-etme/">Android Dersleri 28 : Butonları Tek Bir Listener ile Kontrol Etme</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #333333;">Merhaba. Bu derste, android uygulamalarımızdaki butonların hepsi için tek bir <span style="color: #ff0000;">listener</span> oluşturmayı anlatacağım.<span id="more-1740"></span></span></p>
<p>Normalde her buton için bir <span style="color: #ff0000;">listener</span> oluşturur ve bu <span style="color: #ff0000;">listener</span> içerisine de butona tıklandığında, bırakıldığında vs. yapılacak işlemleri yazarız. Şimdi, bir sınıftaki <span style="color: #ff0000;">tüm butonlar</span> için <span style="color: #ff0000;">ortak</span> bir <span style="color: #ff0000;">event</span> oluşturmayı göstereceğim.</p>
<p>Uygulamamızı aşağıdaki gibi oluşturalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1741 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/1-187x300.png" alt="android buton" width="187" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/1-187x300.png 187w, https://www.mehmetkirazli.com/wp-content/uploads/2013/11/1.png 243w" sizes="(max-width: 187px) 100vw, 187px" /></a></p>
<p>Bu ekranımızın kodlamasını yapacağımız sınıfımızı da açalım ve aşağıdaki gibi ilk olarak butonlara ait birer <span style="color: #ff0000;">nesne</span> oluşturalım ve <span style="color: #ff0000;">aynı listener&#8217;a</span> bağlayalım. Bu arada Activity sınıfımızı en yukarıda <span style="color: #ff0000;">View.OnClickListener</span> sınıfından <span style="color: #ff0000;">implement</span> etmemiz gerekiyor.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1742 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/2-300x219.png" alt="android buton" width="300" height="219" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/2-300x219.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/11/2.png 617w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><span style="color: #ff0000;">onCreate()</span> metodunun içerisinde butonları oluşturduk. Ayrıca <span style="color: #ff0000;">ortak</span> bir listener&#8217;a bağladık.</p>
<p>Şimdi bu metodun altına, <span style="color: #ff0000;">listener&#8217;ın içini</span> ve gerekli <span style="color: #ff0000;">case</span> yapılarını yazacağız. Bunun için de aşağıdaki <span style="color: #ff0000;">onClick()</span> metodunu kullanacağız. Ben <span style="color: #ff0000;">click</span> olayını kontrol ediyorum. Siz bırakılma, basılı tutma gibi olayları da kontrol edebilirsiniz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/3.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1743 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/3-300x164.png" alt="android buton" width="300" height="164" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/3-300x164.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/11/3.png 764w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada, tıklandığında olacakları kontrol etmek istediğimiz için <span style="color: #ff0000;">click</span> olayına ait metodu oluşturduk ve içerisine <span style="color: #ff0000;">switch-case</span> yapılarını yazdık. Tıklanan butonun<span style="color: #ff0000;"> id&#8217;sini alır</span> ve hangi <span style="color: #ff0000;">case</span> koşuluna uyuyorsa o satır çalışır. Biz de buton tıklandığında bir <span style="color: #ff0000;">toast</span> mesajının çıkmasını sağladık.</p>
<h4><strong>Ekran Görüntüleri : </strong></h4>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/4.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1744 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/4-276x300.png" alt="android buton" width="276" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/4-276x300.png 276w, https://www.mehmetkirazli.com/wp-content/uploads/2013/11/4.png 655w" sizes="(max-width: 276px) 100vw, 276px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/5.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1745 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/5-267x300.png" alt="android buton" width="267" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/11/5-267x300.png 267w, https://www.mehmetkirazli.com/wp-content/uploads/2013/11/5.png 656w" sizes="(max-width: 267px) 100vw, 267px" /></a></p>
<p>Bir sonraki derslerde görüşmek üzere.</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-28-butonlari-tek-bir-listener-ile-kontrol-etme/">Android Dersleri 28 : Butonları Tek Bir Listener ile Kontrol Etme</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-dersleri-28-butonlari-tek-bir-listener-ile-kontrol-etme/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Android Dersleri 27 : Seçilen Resmi Arka Plan Olarak Ayarlama</title>
		<link>https://www.mehmetkirazli.com/android-dersleri-27-secilen-resmi-arka-plan-olarak-ayarlama/</link>
					<comments>https://www.mehmetkirazli.com/android-dersleri-27-secilen-resmi-arka-plan-olarak-ayarlama/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Sat, 21 Sep 2013 11:30:12 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android arka plan]]></category>
		<category><![CDATA[android arka plan resmi ekleme]]></category>
		<category><![CDATA[android dersleri]]></category>
		<category><![CDATA[android galeri]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1701</guid>

					<description><![CDATA[<p>Merhabalar. Bu derste, android uygulamalarında galeriden seçilen bir resmi arka plan olarak ayarlamayı anlatacağım. Uygulamayı oluşturduktan sonra sayfanıza bir imageview ve bir buton koyun. Imageview&#8217;in arka planına herhangi bir resim belirleyin. Benim uygulamamın görüntüsü şu şekilde: Imageview kontrolünü sayfanın tamamına yerleştirdim. Sayfamızın xml kısmı ise şu şekilde: Burada android:src kısmını silerseniz arka planda, başlangıçta herhangi &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-27-secilen-resmi-arka-plan-olarak-ayarlama/">Android Dersleri 27 : Seçilen Resmi Arka Plan Olarak Ayarlama</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #333333;">Merhabalar. Bu derste, android uygulamalarında galeriden seçilen bir resmi arka plan olarak ayarlamayı anlatacağım.<span id="more-1701"></span></span></p>
<p>Uygulamayı oluşturduktan sonra sayfanıza bir <span style="color: #ff0000;">imageview</span> ve bir buton koyun. Imageview&#8217;in arka planına herhangi bir resim belirleyin. Benim uygulamamın görüntüsü şu şekilde:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1703 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/1-193x300.png" alt="android arka plan resmi ekleme" width="193" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/1-193x300.png 193w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/1.png 307w" sizes="(max-width: 193px) 100vw, 193px" /></a></p>
<p><span style="color: #ff0000;">Imageview</span> kontrolünü sayfanın tamamına yerleştirdim. Sayfamızın <span style="color: #ff0000;">xml</span> kısmı ise şu şekilde:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1704 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/2-300x181.png" alt="android arka plan resmi ekleme" width="300" height="181" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/2-300x181.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/2.png 588w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada <span style="color: #ff0000;">android:src</span> kısmını silerseniz arka planda, başlangıçta herhangi bir resim olmayacaktır. Ben <span style="color: #ff0000;">imageview</span> tool&#8217;u belli olsun diye böyle bir şey koydum. Butonun <span style="color: #ff0000;">text</span> kısmını ise elle <span style="color: #ff0000;">set</span> etmedim. <span style="color: #ff0000;">String.xml</span> dosyasından aldım. Şimdi de <span style="color: #ff0000;">strings.xml</span> dosyasını görelim:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/3.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1705 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/3-300x115.png" alt="android arka plan resmi ekleme" width="300" height="115" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/3-300x115.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/3.png 460w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bu <span style="color: #ff0000;">strings.xml</span> dosyasının kullanım amacını daha önce anlatmıştım. Şimdi ona değinmeyeceğim. Uygulamamızın arayüzü bu şekilde. Butona tıklandığında galeriden seçilen resmi arka plan olarak ayarlayacağız.</p>
<p>Şimdi kod kısmına geçelim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/4.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1706 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/4-300x190.png" alt="android arka plan resmi ekleme" width="300" height="190" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/4-300x190.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/4.png 655w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada <span style="color: #ff0000;">buton</span> nesnesi oluşturduk ve tıklanınca bir <span style="color: #ff0000;">intent</span> oluşturduk. Resim seçmek için açılan sayfa <span style="color: #ff0000;">intent</span> olarak kabul ediliyor. Diğer gerekli açıklamaları üzerinde açıklama satırı olarak yaptım.</p>
<p><span style="color: #ff0000;">onCreate()</span> metodunun<span style="color: #ff0000;"> dışına</span> bir metod oluşturduk. Onu da aşağıda gösterdim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/5.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1707 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/5-300x202.png" alt="android arka plan resmi ekleme" width="300" height="202" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/5-300x202.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/5.png 787w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada da resmin seçildiği aktivitede yapılacaklar gösteriliyor. Medyadan alınan resim <span style="color: #ff0000;">okunuyor, aktarılıyor</span> ve işlem bitince <span style="color: #ff0000;">imageview&#8217;de</span> gösteriliyor.</p>
<h4><strong>Ekran Görüntüleri : </strong></h4>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/7.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1708 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/7-269x300.png" alt="android arka plan resmi ekleme" width="269" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/7-269x300.png 269w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/7.png 656w" sizes="(max-width: 269px) 100vw, 269px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/8.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1709 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/8-274x300.png" alt="android arka plan resmi ekleme" width="274" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/8-274x300.png 274w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/8.png 655w" sizes="(max-width: 274px) 100vw, 274px" /></a></p>
<p>Burada emülatörümüzün içinde resim tanımlı olmadığı için seçemiyoruz fakat <span style="color: #ff0000;">.apk</span> dosyasını telefonunuza atıp denediğiniz zaman çalışacaktır.</p>
<p>Sonraki derslerde görüşmek üzere&#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-27-secilen-resmi-arka-plan-olarak-ayarlama/">Android Dersleri 27 : Seçilen Resmi Arka Plan Olarak Ayarlama</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-dersleri-27-secilen-resmi-arka-plan-olarak-ayarlama/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Android Dersleri 26 : Veritabanı İşlemleri-3 ve SQLite Arayüzü Kullanımı</title>
		<link>https://www.mehmetkirazli.com/android-dersleri-26-veritabani-islemleri-3-ve-sqlite-arayuzu-kullanimi/</link>
					<comments>https://www.mehmetkirazli.com/android-dersleri-26-veritabani-islemleri-3-ve-sqlite-arayuzu-kullanimi/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Fri, 30 Aug 2013 21:05:02 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android adb timeout]]></category>
		<category><![CDATA[android sqlite kullanımı]]></category>
		<category><![CDATA[android veritabanı]]></category>
		<category><![CDATA[sqlite arayüzü]]></category>
		<category><![CDATA[sqlite kullanımı]]></category>
		<category><![CDATA[veritabanı işlemleri]]></category>
		<category><![CDATA[veritabanı kullanımı]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1644</guid>

					<description><![CDATA[<p>Merhaba. Bu yazımda, deneyenlerin bazılarının hata aldığını söylediği veritabanı kullanımını tekrar anlatacağım ve SQLite kullanımına da değineceğim.  Ekran Dizaynı ve Tool İsimledirmeleri Proje oluşturma adımlarını atlıyorum. Uygulama tam olarak şöyle bir şey yapacak. Bir araba için model, fiyat gibi temel bilgiler girilecek kaydedilecek ve alt kısımda kayıtlı araçlar görüntülenecek. Projenizde ilk olarak strings.xml dosyanızı açın. &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-26-veritabani-islemleri-3-ve-sqlite-arayuzu-kullanimi/">Android Dersleri 26 : Veritabanı İşlemleri-3 ve SQLite Arayüzü Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba. Bu yazımda, deneyenlerin bazılarının hata aldığını söylediği <span style="color: #ff0000;">veritabanı kullanımını</span> tekrar anlatacağım ve <span style="color: #ff0000;">SQLite</span> kullanımına da değineceğim. <span id="more-1644"></span></p>
<h2>Ekran Dizaynı ve Tool İsimledirmeleri</h2>
<p>Proje oluşturma adımlarını atlıyorum. Uygulama tam olarak şöyle bir şey yapacak. Bir araba için <span style="color: #ff0000;">model, fiyat</span> gibi temel bilgiler girilecek kaydedilecek ve alt kısımda kayıtlı araçlar görüntülenecek.</p>
<p>Projenizde ilk olarak <span style="color: #ff0000;">strings.xml</span> dosyanızı açın. Buraya, sayfamızda kullanacağımız <span style="color: #ff0000;">tool&#8217;ların</span> <span style="color: #ff0000;">isimlendirmelerini</span> yazacağız.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/16.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1645 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/16-141x300.png" alt="android sqlite kullanımı" width="141" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/16-141x300.png 141w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/16.png 193w" sizes="(max-width: 141px) 100vw, 141px" /></a></p>
<p>Diyelim ki bir <span style="color: #ff0000;">buton, textview</span> gibi  şeyler ekledik. Bunlara doğrudan <span style="color: #ff0000;">Properties</span> kısmından isim vermeyin. İlk olarak bu <span style="color: #ff0000;">strings.xml</span> dosyasına gelin ve burda <span style="color: #ff0000;">Key-Value</span> şeklinde isimler verin. Yani bir <span style="color: #ff0000;">anahtar</span> ve onun<span style="color: #ff0000;"> karşılığı</span>.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/27.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1646 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/27-300x204.png" alt="android sqlite kullanımı" width="300" height="204" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/27-300x204.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/27.png 509w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada <span style="color: #ff0000;">name</span> kısmına bir nevi <span style="color: #ff0000;">id</span> değeri yazdık. İçerisine de bunun karşılığı olan <span style="color: #ff0000;">String&#8217;i</span> yazdık.</p>
<p>1 numaralı alanda <span style="color: #ff0000;">textview&#8217;lar</span> ve <span style="color: #ff0000;">buton</span> için değerleri oluşturduk. Buton için olan <span style="color: #ff0000;">&#8220;kaydetTxt&#8221;</span> dir.  Bunu <span style="color: #ff0000;">&#8220;kaydetBtn&#8221;</span> olarak değiştirin.</p>
<p>2 numaralı alanda kayıtların gösterileceği <span style="color: #ff0000;">textview</span> için bir alan oluşturduk.</p>
<p>3 numaralı alanda ise 1 numaralı alandaki <span style="color: #ff0000;">textview&#8217;ların</span> karşısında olacak <span style="color: #ff0000;">edittext&#8217;ler</span> için değerler oluşturduk.<span style="color: #333333;"> Bu edittext&#8217;lere bilgileri gireceğiz.</span></p>
<p>Her adımdan sonra<span style="color: #ff0000;"> ctrl+s</span> ile sayfayı kaydedin ki başka sayfada bu değerleri kullanabilesiniz.</p>
<p>Şimdi <span style="color: #ff0000;">activity_main.xml</span> sayfasına gelin ve sayfanıza aşağıdaki gibi <span style="color: #ff0000;">textview, buton,</span> <span style="color: #ff0000;">edittext</span> gibi şeyler ekleyin.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/32.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1647 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/32-192x300.png" alt="android sqlite kullanımı" width="192" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/32-192x300.png 192w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/32.png 303w" sizes="(max-width: 192px) 100vw, 192px" /></a></p>
<p>Burada biz bir <span style="color: #ff0000;">araç</span> için <span style="color: #ff0000;">bilgiler</span> gireceğiz. <span style="color: #ff0000;">Kaydet</span> butonuna bastıkça bu değerler <span style="color: #ff0000;">veritabanına</span> eklenecek ve her basışta alt kısımda da kayıtlı araçlar gösterilecek.</p>
<p>Şimdi örnek olarak <span style="color: #ff0000;">Marka</span> textview&#8217;ının üzerine tıklayın ve sağ tarafta <span style="color: #ff0000;">Properties-Text</span> alanının yanındaki küçük <span style="color: #ff0000;">&#8230; butonuna</span> basın ve bu textview&#8217;a ait <span style="color: #ff0000;">id</span> değerini seçin. Bu işlemi, ekrandaki tüm <span style="color: #ff0000;">toollar</span> için yapın. Yani şu şekilde :</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/41.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1648 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/41-300x175.png" alt="android sqlite kullanımı" width="300" height="175" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/41-300x175.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/41.png 875w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/5.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1649 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/5-207x300.png" alt="android sqlite kullanımı" width="207" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/5-207x300.png 207w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/5.png 388w" sizes="(max-width: 207px) 100vw, 207px" /></a></p>
<p>Burada seçtiğimiz değerler, <span style="color: #ff0000;">strings.xm</span>l dosyasında oluşturduğumuz değerlerdir. Karşılığında ise<span style="color: #ff0000;"> &gt;&lt; tagları arasında</span> yazdığımız değerler gelir.</p>
<p>Her biri için tek tek yaptıktan sonra ekrandaki <span style="color: #ff0000;">sarı ünlemlerin</span> gittiğini göreceksiniz. Yani demem o ki bir butona tıklayıp sağ taraftan ya da sayfanın <span style="color: #ff0000;">xml</span> dosyasından adını değiştirmeyin ve bu şekilde yapmaya kendinizi alıştırın.</p>
<p>Bu arada <span style="color: #ff0000;">properties</span> kısmını bulamadıysanız <span style="color: #ff0000;">Window-ShowView-Other</span> kısmında <span style="color: #ff0000;">Properties</span> yazın ve <span style="color: #ff0000;">Eclipse</span> ekranınıza getirin. Bu işlemlerden sonra sayfanız aşağıdaki gibi tertemiz olacaktır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/6.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1650 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/6-198x300.png" alt="android veritabanı kullanımı" width="198" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/6-198x300.png 198w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/6.png 313w" sizes="(max-width: 198px) 100vw, 198px" /></a></p>
<p>En alttaki textview kayboldu çünkü strings.xml dosyasında onun karşılığını boş vermiştik. <span style="color: #333333;"><br />
</span></p>
<h2>Veritabanı Oluşturma</h2>
<p><span style="color: #ff0000;">src</span> klasörüne sağ tıklayıp<span style="color: #ff0000;"> new-class</span> diyerek<span style="color: #ff0000;"> &#8220;Veritabani&#8221;</span> adında bir sınıf oluşturun. Sınıfınızı aşağıdaki gibi düzenleyin.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/7.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1651 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/7-300x94.png" alt="android veritabanı kullanımı" width="300" height="94" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/7-300x94.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/7.png 413w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada altını çizdi çünkü paketi <span style="color: #ff0000;">import</span> etmedik. <span style="color: #ff0000;">CTRL+SHIFT+O</span> tuşlarına basın ya da imleci uyarının üzerinde bekleterek <span style="color: #ff0000;">import</span> deyin ve ekleyin. <span style="color: #333333;">Görüntü <span style="text-decoration: underline;">aşağıdaki gibi</span> olacaktır. </span>Daha sonra aşağıdaki gibi bu sefer <span style="color: #ff0000;">&#8220;Veritabani&#8221;</span> sınıf adında hata verecektir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/8.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1652 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/8-300x120.png" alt="android veritabanı kullanımı" width="300" height="120" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/8-300x120.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/8.png 427w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada da şunu diyor. Sen bu sınıfı <span style="color: #ff0000;">extends</span> (kalıtım) ettin ama <span style="color: #ff0000;">SQLiteOpenHelper</span> sınıfını kullanacaksan <span style="color: #ff0000;">yapıcılarını(CONSTUCTOR) </span>eklemen gerekiyor. Şimdi bu <span style="color: #ff0000;">&#8220;Veritabanı&#8221;</span> sınıfımızın üstünde fareyi beklettikten sonra karşımıza gelen ilk seçeneğe tıklayın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/9.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1653 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/9-300x85.png" alt="android veritabanı kullanımı" width="300" height="85" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/9-300x85.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/9-1024x293.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/9.png 1169w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Tıkladıktan sonra son görünüm aşağıdaki gibi olacaktır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/112.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1654 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/112-300x142.png" alt="android veritabanı kullanımı" width="300" height="142" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/112-300x142.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/112.png 602w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bunları şunun için anlatıyorum. Ben size doğrudan sınıfın bitmiş halini verirsem yazarak zaman kaybetmeyin ve olayın nasıl olduğunu anlayın. Ayrıca burda bir sürü büyük küçük harf var tek tek uğraşmayın.</p>
<p>Bakın yine hata verdi. Şimdi yine hatanın üzerine gelin ve <span style="color: #ff0000;">&#8220;Add unimplemented method&#8221;</span> seçeneğine tıklayın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/17.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1655 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/17-300x109.png" alt="android veritabanı kullanımı" width="300" height="109" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/17-300x109.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/17.png 765w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burda da şunu demek istiyor. Bu <span style="color: #ff0000;">SQLiteOpenHelper</span> sınıfını kullanacaksan bazı metodlarını <span style="color: #ff0000;">implemente</span> etmen gerekiyor. Bu <span style="color: #ff0000;">SQLiteOpenHelper</span> sınıfı bunu zorunlu koşmuş. Beni kullanan bunu yapmak zorundadır diye. Son görünüm şöyle olacaktır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/28.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1656 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/28-300x230.png" alt="android veritabanı kullanımı" width="300" height="230" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/28-300x230.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/28.png 630w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Şimdi bu alanları dolduracağız. Doldurduktan sonra neyin ne işe yaradığını tekrar anlatmayacağım. Fakat kısaca değineceğim. Daha önceki <span style="color: #ff0000;">veritabanı</span> derslerinden bunların ne demek olduğunu öğrenebilirsiniz. Bu alanları doldurduktan sonra da görünüm şu şekilde olur.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/116.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1692 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/116-300x168.png" alt="android veritabanı kullanımı" width="300" height="168" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/116-300x168.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/116.png 830w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada kısaca <span style="color: #ff0000;">&#8220;araclar&#8221;</span> adında bir veritabanı, <span style="color: #ff0000;">&#8220;aracbilgileri&#8221;</span> adından bir <span style="color: #ff0000;">tablo</span> oluşturduk ve tablonun <span style="color: #ff0000;">alanlarını</span> girdik. Veritabanı oluşturma bitti şimdi asıl kodlamaya geçelim.</p>
<h2>Tool&#8217;ları Id Değerleri ile Eşleştirme</h2>
<p>Ekranda tanımladığımız <span style="color: #ff0000;">buton, texview</span> gibi <span style="color: #ff0000;">toollar</span> için <span style="color: #ff0000;">id</span> değerleri ile eşleştirme yapacağız. <span style="color: #ff0000;">MainActivity.java</span> sınıfına gelin ve aşağıdaki kodları yazın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/34.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1660 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/34-300x290.png" alt="android veritabanı kullanımı" width="300" height="290" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/34-300x290.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/34.png 652w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Eğer altı çizilen bir şey olursa <span style="color: #ff0000;">import</span> etmeniz gerektiğindendir. <span style="color: #ff0000;">CTRL+SHIFT+O</span> diyerek ekleyebilirsiniz.</p>
<p>Burada <span style="color: #ff0000;">R.id.editText1</span> dedik. Çünkü bu <span style="color: #ff0000;">markaEdt&#8217;nin</span> sayfadaki karşılığı budur. Bunu şurdan öğrenebilirsiniz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/29.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1659 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/29-300x73.png" alt="android veritabanı kullanımı" width="300" height="73" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/29-300x73.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/29.png 876w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Şimdi <span style="text-decoration: underline;">butona tıklandığında</span> yapılacakları yazalım. En önemli kısım bu zaten.</p>
<h2>Kaydet Butonu Altında Kodların Yazılması</h2>
<p><span style="color: #333333;">Butonumuzun <span style="color: #ff0000;">click</span> olayını yazacağız şimdi. Bunu da adım adım anlatıyorum çünkü tek tek elle yazmayın. <span style="color: #ff0000;">MainActivity.java</span> sınıfını açın ve <span style="color: #ff0000;">onCreate()</span> metodunun içine şu kod satırını yazın.</span></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/42.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1661 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/42-300x114.png" alt="android veritabanı kullanımı" width="300" height="114" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/42-300x114.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/42.png 488w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Daha sonra parantez içine şunları yazın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/51.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1662 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/51-300x119.png" alt="android veritabanı kullanımı" width="300" height="119" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/51-300x119.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/51.png 481w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bunu yazdıktan sonra <span style="color: #ff0000;">CTRL</span> ye basını tutarak <span style="color: #ff0000;">BOŞLUK (space)</span> tuşuna basın ve karşınıza ilk gelen <span style="color: #ff0000;">onClickListener</span> seçeneğine basın. Kendisi tamamlayacaktır. <span style="color: #ff0000;">CTRL+SPACE</span> kombinasyonu otomatik tamamlama yapar zamandan kazandırır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/61.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1663 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/61-300x165.png" alt="android veritabanı kullanımı" width="300" height="165" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/61-300x165.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/61-1024x564.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/61.png 1101w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Tamamladıktan sonra son görünüm şu şekilde olur :</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/81.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1664 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/81-300x101.png" alt="android veritabanı kullanımı" width="300" height="101" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/81-300x101.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/81.png 548w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada <span style="color: #ff0000;">ok</span> ile gösterdiğim yere <span style="color: #ff0000;">noktalı virgül</span> koyun yoksa hata verir.</p>
<p>Şimdi tıklanma olayını hazırladık. Tıklanınca olacak şeyleri şimdi burada yazalım. Yazdıktan sonra kodların son görünümü şu şekilde olur.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/115.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1690 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/115-300x221.png" alt="android veritabanı kullanımı" width="300" height="221" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/115-300x221.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/115.png 731w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Butona tıklanınca <span style="color: #ff0000;">kayitEkle()</span> metoduna gidecek.</p>
<p>Şimdi <span style="color: #ff0000;">kayitEkle()</span> metodunu dolduralım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/213.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1694 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/213-300x226.png" alt="android veritabanı kullanımı" width="300" height="226" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/213-300x226.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/213.png 744w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Yukarıda db bağlantılarını kapatmayı UNUTMAYIN. (ben unuttum)</p>
<p>Şimdi uygulamamızı çalıştıralım ve bir deneyelim.</p>
<h2>Ekran Çıktıları</h2>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/19.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1670 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/19-183x300.png" alt="android veritabanı kullanımı" width="183" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/19-183x300.png 183w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/19.png 448w" sizes="(max-width: 183px) 100vw, 183px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/211.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1671 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/211-183x300.png" alt="android veritabanı kullanımı" width="183" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/211-183x300.png 183w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/211.png 449w" sizes="(max-width: 183px) 100vw, 183px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/35.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1672 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/35-184x300.png" alt="android veritabanı kullanımı" width="184" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/35-184x300.png 184w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/35.png 453w" sizes="(max-width: 184px) 100vw, 184px" /></a></p>
<p>Eğer uygulamanız <span style="color: #ff0000;">hata</span> verirse <span style="color: #ff0000;">konsola</span> bakın. Eğer bu hata <span style="color: #ff0000;">time out</span> hatası ise aşağıdaki işlemleri yapın</p>
<p><span style="color: #ff0000;">Window</span> sekmesinden <span style="color: #ff0000;">Preferences</span> seçeneğine tıklayın ve aşağıdaki gibi <span style="color: #ff0000;">5000</span> değerini <span style="color: #ff0000;">15000</span> yapın. Uygulama <span style="color: #ff0000;">timeout</span> hatası verebilir. Ayrıca doğru çalıştığını düşündüğünüz bir uygulama hata verirse de burada göz atın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/18.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1667 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/18-300x176.png" alt="android veritabanı kullanımı" width="300" height="176" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/18-300x176.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/18.png 631w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h2>SQLite Professional ile Veritabanındaki Bilgilerin Gösterilmesi</h2>
<p>Veritabanına eklediğimiz değerleri şimdi <span style="color: #ff0000;">SQLite</span> programı ile görelim. Ben <span style="color: #ff0000;">SQLite Professional</span> programını indirdim. Şimdi ilk olarak veritabanımızı <span style="color: #ff0000;">masaüstüne</span> çıkarmamız gerekiyor. Bunun için şunları yapın.</p>
<p>Uygulamanızı çalıştırın. Yani<span style="color: #ff0000;"> emülator</span> çalışsın. Bu olmadan olmaz. Tamamen çalıştırın ve projenizi görüntüleyin. Daha sonra,</p>
<p>Eclipse&#8217;de sağ üst köşedeki <span style="color: #ff0000;">perspektif ekleme</span> butonuna basalım ve karşımıza gelen ekrandan <span style="color: #ff0000;">DDMS</span> yi seçelim</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/45.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1674 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/45-300x195.png" alt="android veritabanı kullanımı" width="300" height="195" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/45-300x195.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/45.png 788w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Daha sonra aşağıdaki gibi solda <span style="color: #ff0000;">emülatör</span> gelecektir. Sağda da üstteki sekmeden<span style="color: #ff0000;"> File Exporer</span> seçeneğini seçin. Karşınıza şöyle bir ekran gelir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/71.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1675 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/71-300x175.png" alt="android veritabanı kullanımı" width="300" height="175" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/71-300x175.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/71.png 945w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Buradan sağdaki alandan <span style="color: #ff0000;">data&gt;data&gt;proje adı</span> seçeneklerine tıklayarak veritabanınızın olduğu <span style="color: #ff0000;">klasöre</span> kadar ilerleyin. Son ekran şöyle olacaktır.</p>
<p><span style="color: #333333;"><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/91.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1676 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/91-300x196.png" alt="android veritabanı kullanımı" width="300" height="196" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/91-300x196.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/91.png 755w" sizes="(max-width: 300px) 100vw, 300px" /></a></span></p>
<p>Bu <span style="color: #ff0000;">&#8220;araclar&#8221;</span> isimli veritabanına tıklayın ve sağ üstteki <span style="color: #ff0000;">sol ok</span> butonuna basın (pull a file from the device). Sonra veritabanını masaüstüne kaydedin. Eğer <span style="color: #ff0000;">kaydetmezse</span> Eclipse&#8217;yi ve emülatörü kapatın sonra ikisini tekrar çalıştırıp deneyin. Şimdi <span style="color: #ff0000;">SQLite</span> programını açın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/110.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1677 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/110-300x175.png" alt="android veritabanı kullanımı" width="300" height="175" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/110-300x175.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/110.png 1017w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><span style="color: #ff0000;">Open Database</span> dedikten sonra masaüstündeki veritabanını seçin.</p>
<p>Aşağıdaki resimdeki gibi sekmelere gidin ve tablonuzu açın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/212.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1678 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/212-300x176.png" alt="android veritabanı kullanımı" width="300" height="176" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/212-300x176.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/212.png 1020w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><span style="color: #ff0000;">SQL</span> sekmesine gelin ve şimdi kayıtları getiren sorguyu yazalım ve<span style="color: #ff0000;"> Execute SQL</span> butonuna basalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/36.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1681 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/36-300x173.png" alt="android veritabanı kullanımı" width="300" height="173" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/36-300x173.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/36.png 1014w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Kayıtlar aşağıdaki gibi listelendi.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/47.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1683 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/47-300x169.png" alt="android veritabanı kullanımı" width="300" height="169" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/47-300x169.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/47.png 1013w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bir sonraki derslerde görüşmek üzere&#8230;.</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-26-veritabani-islemleri-3-ve-sqlite-arayuzu-kullanimi/">Android Dersleri 26 : Veritabanı İşlemleri-3 ve SQLite Arayüzü Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-dersleri-26-veritabani-islemleri-3-ve-sqlite-arayuzu-kullanimi/feed/</wfw:commentRss>
			<slash:comments>59</slash:comments>
		
		
			</item>
		<item>
		<title>Android Dersleri 25 : kSoap ile Android WebServis Kullanımı</title>
		<link>https://www.mehmetkirazli.com/android-webservis-kullanimi/</link>
					<comments>https://www.mehmetkirazli.com/android-webservis-kullanimi/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Thu, 15 Aug 2013 18:27:56 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android ksoap kullanımı]]></category>
		<category><![CDATA[android webservis kullanımı]]></category>
		<category><![CDATA[ksoap example]]></category>
		<category><![CDATA[ksoap nedir]]></category>
		<category><![CDATA[ksoap web service]]></category>
		<category><![CDATA[restful web servis]]></category>
		<category><![CDATA[web servis]]></category>
		<category><![CDATA[webservis nedir]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1591</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar. Uzun zamandır yazmayı istediğim fakat yazamadığım &#8220;kSoap ile Android web servis kullanımı&#8221; konusunu sizinle paylaşıyorum. Web Servisler, başkalarının alıp kullanması ve istediği sonucu alması için hazırlanırlar. Birileri bir web servis hazırlar, bize o servisin WSDL adresini verirler ve biz de bu adrese erişip gerekli parametreleri göndeririz. Sonucunda bize bir değer döner. Yazılım dünyasında &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-webservis-kullanimi/">Android Dersleri 25 : kSoap ile Android WebServis Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #ff0000;"><span style="color: #333333;">Merhaba arkadaşlar. Uzun zamandır yazmayı istediğim fakat yazamadığım <span style="color: #ff0000;"><strong>&#8220;kSoap ile Android web servis kullanımı&#8221;</strong></span> konusunu sizinle</span> <span style="color: #333333;">paylaşıyorum.</span></span><span style="color: #ff0000;"><br />
<span style="color: #333333;"><span id="more-1591"></span></span></span></p>
<p>Web Servisler, başkalarının alıp kullanması ve istediği sonucu alması için hazırlanırlar. Birileri bir web servis hazırlar, bize o servisin <strong>WSDL</strong> adresini verirler ve biz de bu adrese erişip gerekli parametreleri göndeririz. Sonucunda bize bir değer döner. Yazılım dünyasında <strong>web servisler</strong> oldukça sık kullanılır.</p>
<p>Önce örnek bir web servis tanıyalım ve kodlamaya geçelim. <span style="text-decoration: underline; color: #ff0000;">Bizim kullanacağımız web servis başka olacak. </span></p>
<h2><strong><span style="color: #ff0000;">Web Servisi Tanımak</span></strong></h2>
<p>1) Şimdi dışarıya web servislerini açan<span style="color: #ff0000;"> <strong>http://www.webservicex.net</strong></span> adresine girelim. Burada birçok web servis var. Fakat biz <span style="text-decoration: underline;"><strong>http://www.webservicex.net/length.asmx</strong></span> servisini inceleyelim. Bu bir .Net servisidir. Bu linke girdiğinizde aşağıdaki gibi bir ekran gelir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s1-1.png" rel="attachment wp-att-2249"><img decoding="async" loading="lazy" class="alignnone wp-image-2249 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s1-1-300x67.png" alt="" width="300" height="67" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s1-1-300x67.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s1-1.png 625w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>2) Burada <span style="color: #ff0000;"><strong>ChangeLenghtUnit</strong> </span>diye bir <span style="color: #ff0000;"><strong>metod</strong></span> yani <span style="color: #ff0000;"><strong>fonksiyon</strong></span> var. Bu fonksiyona parametre gönderip sonucu alınır. Bu metoda tıklarsak şöyle bir ekran gelecektir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s3-1.png" rel="attachment wp-att-2248"><img decoding="async" loading="lazy" class="alignnone wp-image-2248 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s3-1-300x216.png" alt="" width="300" height="216" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s3-1-300x216.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s3-1.png 736w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>3) Bakın burda 3 adet alan var. Bu alanlara 3 parametre gönderilir ve sonucunda bize değer döner. Yani bu metod <strong>milimetre, santimetre</strong> gibi değerleri birbirine dönüştürür</p>
<p>4) Peki hangi parametreler var. Bunu daha net görmek için bu web servisin <span style="color: #ff0000;"><strong>WSDL</strong></span> dosyasına bakmamız gerek. Linkin sonuna <span style="text-decoration: underline;"><strong>?WSDL</strong></span> parametresini de eklersek, bu web servisin aldığı ve geriye döndürdüğü parametreleri görürüz. Yani şu linki tarayıcımızda açalım</p>
<p><span style="color: #ff0000;">http://www.webservicex.net/length.asmx?WSDL</span></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s2-1.png" rel="attachment wp-att-2247"><img decoding="async" loading="lazy" class="alignnone wp-image-2247 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s2-1-300x144.png" alt="" width="300" height="144" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s2-1-300x144.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s2-1-768x369.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s2-1-1024x492.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/s2-1.png 1209w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Şunu unutmayın ki hazırladığınız bir web servisi dışarıya açtığınızda, bunu kullanacak olanlar <strong>WSDL</strong> adresine erişerek kullanırlar. <strong>WSDL</strong> adresinde, gerekli parametreler açıkça yazılıdır. Bu arada biz web servis yazmıyoruz görüldüğü gibi hazır yazılmış olan bir servisi kullanıyoruz.</p>
<p>5) Yukarıdaki resim, web servisin <span style="color: #ff0000;"><strong>WSDL</strong></span> dosyası. Burada 1 tane <span style="color: #ff0000;"><strong>metod</strong></span> var ve bu metodların aldığı parametreler gösteriliyor.</p>
<p>6) 1 numaralı alan,<span style="color: #ff0000;"> <strong>ilk paramterenin tipi</strong></span>. 2 numaralı alan, <span style="color: #ff0000;"><strong>hangi ölçüm biriminden dönüştürme yapılacağını</strong></span>, 3.alan ise <span style="color: #ff0000;"><strong>hangi birime dönüştürme</strong> </span>yapılacağıdır. Yani <span style="text-decoration: underline;"><strong>1000.0</strong>, <strong>santimetre, milimetre</strong></span> parametrelerini gönderirsek; <span style="color: #ff0000;"><strong>1000.0</strong></span> değerini <span style="color: #ff0000;">santimetreden milimetreye</span> çevirir. Bu arada<span style="color: #ff0000;"> <strong>1000.0</strong></span> diyoruz çünkü <span style="text-decoration: underline;"><strong>double</strong></span> tipinde parametre istiyor<span style="color: #333333;"><br />
</span></p>
<p>7) Şimdi yukardaki 3 alana,<span style="text-decoration: underline;"> sitenin üzerinden</span> değerler gönderip sonuca bakalım. Uygulamamızın sonunda <span style="color: #ff0000;"><strong>android&#8217;den</strong></span> değerler göndereceğiz fakat dediğimiz gibi bunu örnek için anlatıyorum, ben başka bir web servis kullanacağım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc1-1.png" rel="attachment wp-att-2246"><img decoding="async" loading="lazy" class="alignnone wp-image-2246 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc1-1-300x184.png" alt="" width="300" height="184" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc1-1-300x184.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc1-1-768x471.png 768w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc1-1.png 939w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Burada <span style="text-decoration: underline;"><strong>1000.0</strong></span> değerini <span style="color: #ff0000;">santimetreden milimetreye</span> dönüştürmek istiyoruz. <span style="text-decoration: underline;"><strong><span style="color: #333333;">Invoke</span></strong></span> butonuna basalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc2-1.png" rel="attachment wp-att-2245"><img decoding="async" loading="lazy" class="alignnone wp-image-2245 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc2-1-300x38.png" alt="ksoap" width="300" height="38" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc2-1-300x38.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/sonuc2-1.png 711w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Sonuç yukarıdaki gibi karşımıza gelir. Fakat<span style="color: #ff0000;"> girdiğimiz parametre isimleri önemli</span>. <span style="text-decoration: underline;"><strong><span style="color: #333333;">SOAP</span></strong></span> mesajında yazıldığı gibi<span style="text-decoration: underline;"> ingilizce isimleri ile</span> <span style="text-decoration: underline;">büyük küçük harflere dikkat ederek</span> yazmalıyız.</p>
<p>Örnek bir web servis tanıdık. Şimdi kendi kullanacağımız bir web servisi kısaca gösterelim.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #ff0000;">Kullanacağımız Web Servis:</span></strong></h3>
<p><span style="color: #ff0000;"><strong>http://www.w3schools.com/webservices/tempconvert.asmx</strong> </span>adresine girersek aşağıdaki gibi bir ekran karşımıza çıkar.</p>
<p><span style="color: #333333;"><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/15.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1623 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/15-300x98.png" alt="android ksoap kullnımı" width="300" height="98" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/15-300x98.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/15.png 644w" sizes="(max-width: 300px) 100vw, 300px" /></a></span></p>
<p>Buradaki web serviste 2 metod var. Biz üsttekini kullanacağız. <span style="color: #ff0000;"><strong>Santigrat</strong></span> cinsinden değer verip <span style="text-decoration: underline;"><strong>Fahrenayt</strong></span> tipinde sonucu alacağız.</p>
<p>Üstteki metoda tıklarsak aşağıdaki gibi bir ekran karşımıza gelir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/26.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1624 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/26-300x247.png" alt="android ksoap kullnımı" width="300" height="247" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/26-300x247.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/26.png 572w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>Burda <span style="color: #ff0000;"><strong>derece</strong></span> girip <span style="color: #ff0000;"><strong>Invoke</strong></span> butonuna basınca <span style="color: #ff0000;"><strong>Fahrenayt</strong></span> tipinde karşılığını verir. Alttaki <span style="text-decoration: underline;"><strong>SOAP</strong></span> mesajında görüldüğü gibi kullanmamız gereken tipin ismi <span style="text-decoration: underline;"><strong>Celsiu</strong>s</span>&#8216;tur ve <span style="text-decoration: underline;"><strong>String</strong></span> tipindedir. Burada <span style="text-decoration: underline;"><span style="color: #ff0000;"><strong>Celsius</strong></span></span> ismini unutmayın. Çünkü aşağıda kodlarken <span style="text-decoration: underline;">tırnak içerisinde</span> bu isme, <span style="text-decoration: underline;">girdiğimiz değeri atayacağız</span>. Kullanacağımız web servisi tanıdık ve kodlamaya geçiyoruz.</p>
<p>&nbsp;</p>
<h2><strong><span style="color: #ff0000;">Proje Oluşturma</span></strong></h2>
<p>1) İlk olarak projeyi oluşturalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1596 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/1-300x275.png" alt="android ksoap kullnımı" width="300" height="275" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/1-300x275.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/1.png 550w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>2) Daha sonra projemiz için isim gireceğiz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/21.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1597 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/21-300x253.png" alt="android ksoap kullnımı" width="300" height="253" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/21-300x253.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/21.png 630w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>3) <span style="color: #ff0000;"><strong>Next Next</strong></span> diyerek sürekli ilerleyelim. Son adımda karşımıza aşağıdaki gibi bir ekran gelecektir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/3.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1598 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/3-300x266.png" alt="android ksoap kullnımı" width="300" height="266" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/3-300x266.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/3.png 655w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>4) Burada <span style="color: #ff0000;"><strong>Finish</strong></span> diyoruz. Projemiz oluştu.</p>
<h2><strong><span style="color: #ff0000;">Ksoap&#8217;ı Import Etme</span></strong></h2>
<p>Web servislere erişebilmek için bir <span style="text-decoration: underline;"><strong>kütüphane</strong></span> gereklidir. Ben <span style="color: #ff0000;"><strong>KSoap</strong></span> kullanacağım. Bundan başka kütüphaneler de kullanabilirsiniz.</p>
<p>Şimdi KSoap&#8217;ı <a href="https://code.google.com/p/ksoap2-android/downloads/detail?name=ksoap2-android-assembly-2.4-jar-with-dependencies.jar&amp;">bu adresten </a>indirelim ve indikten sonra kopyalayıp, Eclipse içindeki <span style="text-decoration: underline;"><span style="color: #ff0000;"><strong>libs</strong></span></span> klasörünün içine yapıştıralım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1608 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k1-300x155.png" alt="android ksoap kullnımı" width="300" height="155" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k1-300x155.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k1.png 895w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>İndirip Eclipse içine kopyaladıktan sonra son görünüm:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1609 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k2-209x300.png" alt="android ksoap kullnımı" width="209" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k2-209x300.png 209w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/k2.png 239w" sizes="(max-width: 209px) 100vw, 209px" /></a></p>
<p>Bundan sonra değişikliklerin geçerli olması için <span style="color: #ff0000;"><strong>Project</strong></span> menüsünden <span style="color: #ff0000;"><strong>Clean</strong></span> diyebilirsiniz ya da Eclipse&#8217;yi kapatıp tekrar açabilirsiniz. Proje ismine sağ tıklayarak<span style="color: #ff0000;"> Build Path&gt;Configure Build Path&gt;Libraries&gt;Add External Jars</span> ile de bu kütüphaneyi ekleyin ne olur ne olmaz.</p>
<p>Şimdi KSoap&#8217;ı <span style="text-decoration: underline;"><strong>import</strong></span> ettik. Burada şunu belirtelim ki aşağıda kodlama yaparken <span style="color: #ff0000;"><strong>SOAP</strong></span> ismi içeren <span style="color: #ff0000;"><strong>soap</strong></span> ile ilgili bir kod yazdığımızda hata mesajı alıyorsak<span style="color: #ff0000;"> <strong>CTRL+SHIFT+O</strong> </span>tuşlarına basın ve <span style="color: #ff0000;"><strong>import</strong></span> edilmemiş <span style="text-decoration: underline;"><strong>soap</strong></span> paketlerini sınıfınıza dahil edin. Eclipse&#8217;ye kopyalayıp yapıştırmak yetmiyor. Bu sadece <span style="text-decoration: underline;"><strong>kütüphane</strong></span> eklemektir. Sayfanıza da ayrıca eklemeniz gerek.</p>
<p><strong>İmport</strong> işlemi bitti şimdi kodlamaya geçelim.</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #ff0000;">Kodlama</span></strong></h3>
<p>1) <strong>activitymain_xml</strong> dosyamızı açalım ve aşağıdaki gibi<span style="text-decoration: underline;"><strong> 1 edittext</strong>, <strong>1 buton</strong>, <strong>2 textview</strong></span> koyalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/13.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1616 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/13-185x300.png" alt="android ksoap kullnımı" width="185" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/13-185x300.png 185w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/13.png 289w" sizes="(max-width: 185px) 100vw, 185px" /></a></p>
<p>2) <strong> <span style="color: #ff0000;">edittext</span></strong>&#8216;e parametre göndereceğiz,, <span style="color: #ff0000;"><strong>butona</strong></span> tıkladıktan sonra sonucu <span style="color: #ff0000;"><strong>textview</strong></span>&#8216;da alacağız. Görsel kısım bittikten sonra şimdi <span style="color: #ff0000;"><strong>MainActivity.java</strong></span> sınıfına gidelim ve kodlamaya başlayalım. Bu arada bu sayfanın <span style="text-decoration: underline;"><strong><span style="color: #333333;">xml</span></strong></span> dosyasını vermek istemiyorum. Çünkü sürükle bırak yaparak bu hale getirmeniz gerekiyor. Ayrıca kodları <span style="color: #ff0000;"><strong>resim</strong></span> olarak veriyorum ki <span style="text-decoration: underline;"><span style="color: #ff0000; text-decoration: underline;">yazarak öğrenin ve eliniz alışsın.</span></span></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/24.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1617 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/24-300x140.png" alt="android ksoap kullnımı" width="300" height="140" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/24-300x140.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/24.png 752w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&#8212; 3 numaralı alanda bir <span style="color: #ff0000;"><strong>değişken</strong></span> tanımladık ve değerine<span style="color: #ff0000;"> <strong>sitenin adını</strong></span> yazdık. Yani web servislerini dışarıya açan site</p>
<p>&#8212; 2 numaralı alanda başka bir <strong><span style="color: #ff0000;">değişken</span> </strong>tanımladık. Adı <strong><span style="color: #ff0000;">METHOD_NAME</span>.</strong> Bu da web servisteki metodun adı.</p>
<p>&#8212; 1 numaralı alandaki değişkende de bu ikisinin <span style="color: #ff0000;"><strong>birleşimini</strong> </span>yazdık. Bu, <span style="color: #ff0000;"><strong>SOAP</strong></span> tarafından kullanılır ve ayrıştırılır.</p>
<p>&#8212; 4 numaralı alanda tanımlanan <span style="color: #ff0000;">URL</span> değişkenine ise <span style="color: #ff0000;">asmx </span>uzantılı servisin adresini yazdık.</p>
<p>&#8212; 5 numaralı alanda birer nesne oluşturduk.</p>
<p>&#8212; 6 numaralı alanda bu nesneleri id&#8217;leri ile birbirine bağladık. Bu id değerleri de <span style="color: #ff0000;"><strong>xml</strong></span> sayfamızın <span style="text-decoration: underline;">kod</span> kısmında bulunuyor. Yanlış bağlamayın. Tek satırda da bu nesneleri oluşturup bağlardık fakat <span style="text-decoration: underline;"><strong><span style="color: #ff0000;">final</span></strong></span> olarak tanımlamamız gerekirdi.</p>
<p>3) Buradakileri yazdığınız zaman hata veriyorsa,<span style="color: #ff0000;"><strong> CTRL+SHIFT+O</strong> </span>tuşlarına basın ve paketleri <span style="color: #ff0000;"><strong>import</strong></span> edin. Daha sonra <span style="color: #ff0000;"><strong>MainActivity.java</strong></span> sınıfımızın kodlamasına aşağıdaki gibi devam edelim.</p>
<p>&nbsp;</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/111.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1621 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/111-300x155.png" alt="android ksoap kullnımı" width="300" height="155" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/111-300x155.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/111.png 799w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>&#8212; 1 numaralı alanda butonumuz için <span style="color: #ff0000;"><strong>listener</strong></span> oluşturduk.</p>
<p>&#8212; 2 numaralı alanda <span style="color: #ff0000;"><strong>SoapObject</strong></span> nesnesi oluşturduk ve 2 parametre verdik. Bu <span style="color: #ff0000;"><strong>Soap</strong></span> mesajı, aldığı parametreleri ayrıştırır ve ilgili servise gider. Daha sonra bir <span style="color: #ff0000;"><strong>request</strong></span> adlı nesneye <span style="color: #ff0000;"><strong>property</strong></span> ekledik. ismi <span style="color: #ff0000;"><strong>&#8220;Celsius&#8221;</strong></span> ve değeri de <span style="color: #ff0000;"><strong>deger.gettext()</strong></span> ile alındı.</p>
<p>&#8212; 3 numaralı alanda <span style="color: #ff0000;"><strong>SoapEnvelope</strong></span> nesnesi oluşturduk ve versiyon olarak <span style="color: #ff0000;"><strong>1.1</strong> </span>sürümünü kullandık.</p>
<p>&#8212; 4 numaralı alanda <span style="color: #ff0000;"><strong>.Net</strong></span> servisi kullanacağımızı belirttik ve bu <span style="color: #ff0000;"><strong>envelope</strong></span> nesnesine <span style="color: #ff0000;"><strong>request</strong></span> nesnesini ekledik.</p>
<p>&#8212; 5 numaralı alanda bir nevi <span style="color: #ff0000;"><strong>protokol</strong></span> tanımladık. Alışverişi buradan sağlayacağız.</p>
<p>&#8212; 6 numaralı alanda bu protokol için gerekli ayarları yaptık. Bu nesne üzerinden <span style="color: #ff0000;"><strong>response</strong></span> metodunu çağırdık. Cevabı <span style="text-decoration: underline;"><strong>string</strong></span> olarak alacağımız için <span style="color: #ff0000;"><strong>SoapPrimitive</strong></span> tipinde aldık. Eğer <span style="color: #ff0000;"><strong>XML</strong></span> tipinde değer dönseydi <span style="color: #ff0000;"><strong>SoapObject</strong></span> tipinde olacaktı.</p>
<p>&#8212; 7 numaralı alanda da <span style="color: #ff0000;"><strong>textView</strong></span> alanına sonucu yazdırdık.</p>
<p>&nbsp;</p>
<h3><span style="color: #ff0000;">Manifestte İnternet İzni Ekleme</span></h3>
<p><span style="color: #333333;">1) İnternet kullanımını açmak için de <span style="color: #ff0000;"><strong>AndroidManifest.xml</strong></span> dosyasını açalım ve aşağıdaki işlemleri yapalım.</span></p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1592 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss1-258x300.png" alt="android ksoap kullnımı" width="258" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss1-258x300.png 258w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss1.png 542w" sizes="(max-width: 258px) 100vw, 258px" /></a></p>
<p>2) Alt kısımda <span style="color: #ff0000;"><strong>Permission</strong></span> tabına tıklayın ve <span style="color: #ff0000;"><strong>Add</strong></span> butonuna basın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1593 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss2-272x300.png" alt="android ksoap kullnımı" width="272" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss2-272x300.png 272w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss2.png 393w" sizes="(max-width: 272px) 100vw, 272px" /></a></p>
<p>3) Burada karşınıza gelen ekrandan <strong><span style="color: #ff0000;">Uses Permission</span></strong> seçeneğine çift tıklayın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss3.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1594 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss3-300x145.png" alt="android ksoap kullnımı" width="300" height="145" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss3-300x145.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss3.png 832w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>4) Karşınıza aşağıdaki gibi bir ekran gelecek. Soldaki ComboBox&#8217;tan <span style="color: #ff0000;"><strong>INTERNET&#8217;i</strong></span> seçin ve <span style="color: #ff0000;"><strong>Ctrl+s</strong></span> ye basarak kaydedin.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss4.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1595 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss4-300x104.png" alt="android ksoap kullnımı" width="300" height="104" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss4-300x104.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/permiss4.png 830w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Böylece internete erişme izni eklendi. Android telefonunuza bir uygulama yüklerken sizden izin ister. O izinler bu ayarlar ile yapılıyor.</p>
<p>&nbsp;</p>
<h2><span style="color: #ff0000;">Ekran Çıktıları</span></h2>
<p>Uygulamamızın ekran çıktılarına bakalım:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/14.png"><img decoding="async" loading="lazy" class="alignleft wp-image-1618 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/14-300x176.png" alt="android ksoap kullnımı" width="300" height="176" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/14-300x176.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/14.png 654w" sizes="(max-width: 300px) 100vw, 300px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/25.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1619 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/25-300x247.png" alt="android ksoap kullnımı" width="300" height="247" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/25-300x247.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/25.png 442w" sizes="(max-width: 300px) 100vw, 300px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/31.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1620 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/31-300x246.png" alt="android ksoap kullnımı" width="300" height="246" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/08/31-300x246.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/08/31.png 445w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><span style="color: #333333;">Sonraki derslerde görüşmek dileğiyle. </span></p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-webservis-kullanimi/">Android Dersleri 25 : kSoap ile Android WebServis Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-webservis-kullanimi/feed/</wfw:commentRss>
			<slash:comments>50</slash:comments>
		
		
			</item>
		<item>
		<title>Android Dersleri 24 : AlertDialog Kullanımı</title>
		<link>https://www.mehmetkirazli.com/android-dersleri-24-alertdialog-kullanimi/</link>
					<comments>https://www.mehmetkirazli.com/android-dersleri-24-alertdialog-kullanimi/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Fri, 12 Apr 2013 22:17:58 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[alert dialog]]></category>
		<category><![CDATA[alertdialog kullanımı]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android alertdialog kullanımı]]></category>
		<category><![CDATA[android uyarı penceresi]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1507</guid>

					<description><![CDATA[<p>Merhaba. Bu yazımda AlertDialog kullanımını anlatacağım. AlertDialog, bize küçük bir pencerede uyarı mesajı veren ya da seçeneklerden birini seçmemizi isteyen bir araçtır. Basit bir uygulama ile gösteriyorum. Uygulamamızda bir buton olacak ve buna tıklandığında uyarı penceresi çıkacak. Buradaki seçtiğimiz seçeneklere göre işlem yaptıracağız. Uygulamamızın görünümü şu şekilde olsun: Bu sayfamıza ait olan java dosyasını da kodlayalım. &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-24-alertdialog-kullanimi/">Android Dersleri 24 : AlertDialog Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #333333;">Merhaba. Bu yazımda <span style="color: #ff0000;">AlertDialog</span> kullanımını anlatacağım. <span style="color: #ff0000;">AlertDialog</span>, bize küçük bir pencerede uyarı mesajı veren ya da seçeneklerden birini seçmemizi isteyen bir araçtır.<span id="more-1507"></span></span></p>
<p>Basit bir uygulama ile gösteriyorum. Uygulamamızda bir <span style="color: #ff0000;">buton</span> olacak ve buna tıklandığında <span style="color: #ff0000;">uyarı</span> penceresi çıkacak. Buradaki seçtiğimiz seçeneklere göre işlem yaptıracağız. Uygulamamızın görünümü şu şekilde olsun:</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/tasarim.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1509 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/tasarim-188x300.png" alt="android alert" width="188" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/tasarim-188x300.png 188w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/tasarim.png 270w" sizes="(max-width: 188px) 100vw, 188px" /></a></p>
<p>Bu sayfamıza ait olan <span style="color: #ff0000;">java</span> dosyasını da kodlayalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/main4.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1510 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/main4-300x213.png" alt="android alert" width="300" height="213" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/main4-300x213.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/main4.png 887w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>1 =&gt; </strong>Bir <span style="color: #ff0000;">buton</span> ve <span style="color: #ff0000;">Context</span> nesnesi oluşturduk.</p>
<p><strong>2 =&gt; </strong>Butona tıklandığında bir <span style="color: #ff0000;">listener</span> oluşturduk.</p>
<p><strong>3 =&gt; </strong><span style="color: #ff0000;">AlertDialog</span> nesnesi yardımıyla <span style="color: #ff0000;">başlık, text</span> gibi özellikler atadık.</p>
<p><strong>4 =&gt; </strong><span style="color: #ff0000;">&#8220;Evet&#8221;</span> adında bir <span style="color: #ff0000;">positionButon</span> oluşturduk. Normal buton ile büyük ihtimal çalışmayacaktır. Dersin sonunda bununla ilgili bir <span style="color: #ff0000;">not</span> düştüm.</p>
<p><strong>5 =&gt; </strong><span style="color: #ff0000;">&#8220;Evet&#8221;</span> butonuna tıklandığında bir <span style="color: #ff0000;">Toast</span> mesajı gösterdim.</p>
<p><strong>6 =&gt; </strong><span style="color: #ff0000;">&#8220;Hayır&#8221;</span> adında bir <span style="color: #ff0000;">buton</span> daha koydum.</p>
<p><strong>7 =&gt; </strong>Bu butona tıklandığında yapılacakları yazdım. Yine bir <span style="color: #ff0000;">Toast</span> mesajı verdim.</p>
<p><strong>8 =&gt; </strong><span style="color: #ff0000;">AlertDialog</span> oluşturdum ve gösterdim.</p>
<h3><strong>AlertDialog Ekran Görüntüleri</strong></h3>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/15.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1511 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/15-181x300.png" alt="android alert" width="181" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/15-181x300.png 181w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/15.png 446w" sizes="(max-width: 181px) 100vw, 181px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/26.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1512 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/26-181x300.png" alt="android alert" width="181" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/26-181x300.png 181w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/26.png 446w" sizes="(max-width: 181px) 100vw, 181px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/33.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1513 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/33-180x300.png" alt="android alert" width="180" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/33-180x300.png 180w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/33.png 445w" sizes="(max-width: 180px) 100vw, 180px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/42.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1514 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/42-184x300.png" alt="android alert" width="184" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/42-184x300.png 184w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/42.png 450w" sizes="(max-width: 184px) 100vw, 184px" /></a></p>
<p>Alert Dialog&#8217;un kullanımı bu şekilde. Seçeneklere tıklandığında farklı işlemler de yaptırabilirsiniz. Eğer sadece 1 seçenekli yapacaksanız <span style="color: #ff0000;">SetNegativeButton()</span> değil de <span style="color: #ff0000;">SetButton()</span> metodunu kullanın.</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-24-alertdialog-kullanimi/">Android Dersleri 24 : AlertDialog Kullanımı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-dersleri-24-alertdialog-kullanimi/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Android Dersleri 23 : Bluetooth Açma, Kapama, Görünür Yapma</title>
		<link>https://www.mehmetkirazli.com/android-dersleri-23-bluetooth-acma-kapama-gorunur-yapma/</link>
					<comments>https://www.mehmetkirazli.com/android-dersleri-23-bluetooth-acma-kapama-gorunur-yapma/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Thu, 11 Apr 2013 18:31:49 +0000</pubDate>
				<category><![CDATA[Android Dersleri]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android bluetooth açma kapatma]]></category>
		<category><![CDATA[android bluetooth görünür yapma]]></category>
		<category><![CDATA[android bluetooth kontrolü]]></category>
		<category><![CDATA[bluetooth açma]]></category>
		<category><![CDATA[bluetooth ayarları]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1495</guid>

					<description><![CDATA[<p>Merhaba. Bu yazımda, android uygulamalarımızda bluetooth açmayı, kapatmayı ve görünür yapmayı kısaca anlatacağım. Oluşturduğunuz projenin görünümünü şu şekilde ayarlayın. Ben 3 adet buton koydum basit olarak. Sayfamızın xml tarafını da verelim. Burada kırmızı yapmasının sebebi, strings.xml sayfasında isimleri tanımlamamış olmam. Şuan bu önemli değil. Şimdi manifest dosyamızda 2 tane izin tanımlamamız gerekiyor. Bunları ister Permission &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-23-bluetooth-acma-kapama-gorunur-yapma/">Android Dersleri 23 : Bluetooth Açma, Kapama, Görünür Yapma</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba. Bu yazımda, android uygulamalarımızda bluetooth açmayı, kapatmayı ve görünür yapmayı kısaca anlatacağım.<span id="more-1495"></span></p>
<p>Oluşturduğunuz projenin görünümünü şu şekilde ayarlayın. Ben 3 adet <span style="color: #ff0000;">buton</span> koydum basit olarak.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/anasayfa.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1496 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/anasayfa-190x300.png" alt="bluetooth" width="190" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/anasayfa-190x300.png 190w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/anasayfa.png 285w" sizes="(max-width: 190px) 100vw, 190px" /></a></p>
<p>Sayfamızın <span style="color: #ff0000;">xml</span> tarafını da verelim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/xml1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1497 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/xml1-300x220.png" alt="bluetooth" width="300" height="220" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/xml1-300x220.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/xml1.png 568w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Burada kırmızı yapmasının sebebi, <strong>strings.xml</strong> sayfasında isimleri tanımlamamış olmam. Şuan bu önemli değil.</p>
<p>Şimdi <span style="color: #ff0000;">manifest</span> dosyamızda 2 tane <span style="color: #ff0000;">izin</span> tanımlamamız gerekiyor. Bunları ister <span style="color: #ff0000;">Permission</span> kısmından isterseniz de <span style="color: #ff0000;">xml</span> kısmında elle yazarak tanımlayabilirsiniz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/manifest2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1498 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/manifest2-300x119.png" alt="bluetooth" width="300" height="119" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/manifest2-300x119.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/manifest2.png 584w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Son olarak da uygulamamızın kodlamasına geçelim. Bu arada kodlamaya geçmeden önce şunu söyleyeyim. <span style="color: #ff0000;">Buton, intent</span> gibi <strong>import</strong> işlemi gerektiren sınıfları kullanırken <strong>Ctrl+Shift+O</strong> tuş kombinasyonlarını kullanarak, import edilmeyen tüm sınıfları aynı anda import edebilirsiniz. Şimdi <span style="color: #ff0000;">java</span> dosyamızın kodlamasına geçelim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java1.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1501 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java1-300x190.png" alt="bluetooth" width="300" height="190" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java1-300x190.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java1.png 845w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Diğer 2 işlem için gereken kodlar ise :</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java2.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1502 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java2-300x222.png" alt="bluetooth" width="300" height="222" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java2-300x222.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/java2.png 667w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h4><strong>Ekran Görüntüleri</strong></h4>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/14.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1499 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/14-181x300.png" alt="bluetooth" width="181" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/14-181x300.png 181w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/14.png 443w" sizes="(max-width: 181px) 100vw, 181px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/25.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1500 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/25-182x300.png" alt="bluetooth" width="182" height="300" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/04/25-182x300.png 182w, https://www.mehmetkirazli.com/wp-content/uploads/2013/04/25.png 446w" sizes="(max-width: 182px) 100vw, 182px" /></a></p>
<p>Uygulamamızın <span style="color: #ff0000;">.apk</span> uzantılı dosyasını telefonumuza attığımızda uygulama çalışıyor. <span style="color: #ff0000;">Emülatör</span> üzerinde büyük ihtimal çalışmayacaktır.</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/android-dersleri-23-bluetooth-acma-kapama-gorunur-yapma/">Android Dersleri 23 : Bluetooth Açma, Kapama, Görünür Yapma</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/android-dersleri-23-bluetooth-acma-kapama-gorunur-yapma/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
			</item>
	</channel>
</rss>
