<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3345846067269506411</atom:id><lastBuildDate>Wed, 02 Oct 2024 05:22:08 +0000</lastBuildDate><category>AlertDialog</category><category>Assets</category><category>Button</category><category>Kurulum</category><category>Proje Oluşturma</category><category>Algoritma</category><category>BaseAdapter</category><category>Bundle</category><category>Custom Dialog</category><category>GridView</category><category>Intent</category><category>Timer</category><title>Android Programcısı</title><description>Android Programlama Makaleleri</description><link>http://androidprogramcisi.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><language>en-us</language><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-4909662598655184969</guid><pubDate>Thu, 10 Jan 2013 11:20:00 +0000</pubDate><atom:updated>2013-01-10T05:05:19.806-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kurulum</category><title>ADT Bundle – Android Developer Tools</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZWOBRQq8aNQKA-D-cmMMzeKwI9RyLrhNn51ENcV-z6YyeBHTnTEp6ogVqXoohVcI6l-JzI_DBYaWnDB7vjQmPqwENycjtcd3iCfg6Yt_X0WLrW1g_QgVB7uJEnj-r1t-aItMil37JwLiG/s1600/ADT+Bundle+-+splashscreen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZWOBRQq8aNQKA-D-cmMMzeKwI9RyLrhNn51ENcV-z6YyeBHTnTEp6ogVqXoohVcI6l-JzI_DBYaWnDB7vjQmPqwENycjtcd3iCfg6Yt_X0WLrW1g_QgVB7uJEnj-r1t-aItMil37JwLiG/s1600/ADT+Bundle+-+splashscreen.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Android uygulamaları geliştirmek için gerekli olan tüm araçları içerisinde barındıran bir paket. Bu paket içerisinde:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Eclipse(JDT, CDT, EMF, GEF, WTP) + ADT Plugin&lt;/li&gt;
&lt;li&gt;Android SDK Tools&lt;/li&gt;
&lt;li&gt;Android Platform-Tools&lt;/li&gt;
&lt;li&gt;En güncel Android Platformu&lt;/li&gt;
&lt;li&gt;Emülatorun ihtiyaç duyduğu en güncel Android imageları yer almakta&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;i&gt;Paketi indirmek için &lt;a href="http://developer.android.com/sdk/index.html"&gt;http://developer.android.com/sdk/index.html&lt;/a&gt; adresindeki “&lt;b&gt;Download the SDK ADT Bundle for Windows&lt;/b&gt;” bağlantısına tıklayın.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Andorid uygulamaları geliştirmeye yeni başlayan, Eclipse'i sadece Android uygulamaları geliştirmek için kullanan ya da daha önceki kurulum yönteminden çekinen geliştiriciler için düşünülmüş güzel bir geliştirme ortamı. Bu paketi indirip hemen uygulama geliştirmeye başlayabilirsiniz. Fakat hali hazırda bir Eclipse’iniz varsa ve bu ortamda Andorid uygulamaları geliştirmek istiyorsanız diğer yöntemi kullanarak kurulumu gerçekleştirmelisiniz(&lt;a href="http://androidprogramcisi.blogspot.com/2011/11/kurulum-ve-yaplandrma.html"&gt;Makaleye buraya tıklayarak ulaşabilirsiniz&lt;/a&gt;).&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Android SDK Manager açtığımızda en güncel API’nin (bu yazı yazıldığında Andorid 4.2 – API17) kurulu geldiği görülmekte. Dilerseniz diğer API’leride kurabilirsiniz.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioq5KyjDjcB8BSsAgTs1Rf5waqBFj3XFNepVs7pXkVKAgW-jEZtLgLCElHNtywnqENLtTw5sdrKBBDzcn1pHW3lsd6oFnzQ2RZeRh7wY8vaag0BmIcMhjUjJp2-1-sdDcAeaqk5gERPXZp/s1600/ADT+Bundle+-+SDK+Manager.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioq5KyjDjcB8BSsAgTs1Rf5waqBFj3XFNepVs7pXkVKAgW-jEZtLgLCElHNtywnqENLtTw5sdrKBBDzcn1pHW3lsd6oFnzQ2RZeRh7wY8vaag0BmIcMhjUjJp2-1-sdDcAeaqk5gERPXZp/s400/ADT+Bundle+-+SDK+Manager.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
Android Virtual Devices Manager da ise “&lt;b&gt;Device Definition&lt;/b&gt;”(şablonlarda diyebiliriz) kısmının geldiği görülmekte. Listede bir çok hazır aygıt tanımı(şablonları) bulunmakta ama isterseniz kendi aygıt tanımlarınızı da oluşturabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU5Swk7xs-8V2_Ryca5aUHih-1B9Kyw-xSFtmmwO8_BzqTLN9qMxVRWBCrYHJFKmc53tNkvlbp3sz8QuBS0uYOfvHXwcK1YSSHGiy-hU4hB5RK-jP26C78tBm5TbJlOuHB9OA_HF_6Y2DD/s1600/ADT+Bundle+-avd+manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU5Swk7xs-8V2_Ryca5aUHih-1B9Kyw-xSFtmmwO8_BzqTLN9qMxVRWBCrYHJFKmc53tNkvlbp3sz8QuBS0uYOfvHXwcK1YSSHGiy-hU4hB5RK-jP26C78tBm5TbJlOuHB9OA_HF_6Y2DD/s400/ADT+Bundle+-avd+manager.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwDCMvHuXnmCFeQsELVzZxb1hX53C4f4wF7x7qARd4iRJ7Z2qgaF3P4WJCMbnUrWNDY6IY6_t_6zOp-XtV-3QpMgLwxFBLNwOTbrzYFG733rq45WtwAY_ox5Xr8BiTCQ5JZ5Gg5wOzeI-1/s1600/ADT+Bundle+-+about+adt.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwDCMvHuXnmCFeQsELVzZxb1hX53C4f4wF7x7qARd4iRJ7Z2qgaF3P4WJCMbnUrWNDY6IY6_t_6zOp-XtV-3QpMgLwxFBLNwOTbrzYFG733rq45WtwAY_ox5Xr8BiTCQ5JZ5Gg5wOzeI-1/s400/ADT+Bundle+-+about+adt.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://androidprogramcisi.blogspot.com/2013/01/adt-bundle-android-developer-tools.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZWOBRQq8aNQKA-D-cmMMzeKwI9RyLrhNn51ENcV-z6YyeBHTnTEp6ogVqXoohVcI6l-JzI_DBYaWnDB7vjQmPqwENycjtcd3iCfg6Yt_X0WLrW1g_QgVB7uJEnj-r1t-aItMil37JwLiG/s72-c/ADT+Bundle+-+splashscreen.png" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-2781102346444927878</guid><pubDate>Fri, 16 Dec 2011 04:33:00 +0000</pubDate><atom:updated>2012-03-08T06:07:15.891-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AlertDialog</category><category domain="http://www.blogger.com/atom/ns#">Assets</category><category domain="http://www.blogger.com/atom/ns#">BaseAdapter</category><category domain="http://www.blogger.com/atom/ns#">Bundle</category><category domain="http://www.blogger.com/atom/ns#">Button</category><category domain="http://www.blogger.com/atom/ns#">GridView</category><category domain="http://www.blogger.com/atom/ns#">Timer</category><title>(Sayı Sırala - 4) OyunActivity</title><description>&lt;a href="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"&gt;Bu uygulamayı indir&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
Oyunun oynanması için bu activity kullanacağız. Öncelikle “oyun” adında bir layout oluşturup şu şekilde bir tasarım yapalım.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVvWHkQPS6GLXO3eYPAuwwcwRwO24Tc0l6xd5j4lH4oE_J9xe93DVTACFLSFcytu9Ccam37kvmuFQuWPvZuKhGkJktyWN36ecsyoBf_4HpPsYkNSP6-e6xAK6keXK8ODvPwX3voM7Ufs6/s1600/OyunActivity+-+01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVvWHkQPS6GLXO3eYPAuwwcwRwO24Tc0l6xd5j4lH4oE_J9xe93DVTACFLSFcytu9Ccam37kvmuFQuWPvZuKhGkJktyWN36ecsyoBf_4HpPsYkNSP6-e6xAK6keXK8ODvPwX3voM7Ufs6/s1600/OyunActivity+-+01.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&amp;nbsp;&lt;/div&gt;
Form üzerine bir GridView bileşeni ekliyorum.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Layout tasarımından sonra sıra geldi OyunActivity oluşturmaya &lt;b&gt;src/com.ornekler.sayisirala&lt;/b&gt; üzerinde sağ tıklayıp &lt;b&gt;New &amp;gt; Class&lt;/b&gt; komutunu verip &lt;b&gt;OyunActivity &amp;nbsp;&lt;/b&gt;adında yeni bir sınıf oluşturun. Oluşturulan bu Activity’nin &lt;b&gt;AndroidManifest.xml&lt;/b&gt; dosyasında kaydı yapılmalı.&lt;br /&gt;
&amp;lt;appplication&amp;gt;&amp;lt;/application&amp;gt; etikerleri arasına şu satırı yazıyoruz&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;activity android:label="@string/app_name" android:name=".OyunActivity" /&amp;gt; 

&lt;/pre&gt;
&lt;br /&gt;
Artık &lt;b&gt;OyunActivity.java&lt;/b&gt; dosyasını açıp kodlamaya başlayabiliriz.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;package com.ornekler.sayisirala;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.app.AlertDialog;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;

public class OyunActivity extends Activity implements OnClickListener {
 
 private Date baslamaVakti;
 private Activity activity = this;
 private Timer timer;
 private List&amp;lt;Button&amp;gt; butonlar;
 private GridView gridView;
 private int sutunSayisi;
 private int satirSayisi;
 private SayilarAdapter sayilarAdapter;
 
 private void TimerMethod()
 {
  this.runOnUiThread(Timer_Tick);
 }
 
 private Runnable Timer_Tick = new Runnable() {
  public void run() {

   Date simdikiZaman = new Date();   
   long fark = simdikiZaman.getTime() - baslamaVakti.getTime();
   simdikiZaman.setTime(fark);
   SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
   activity.setTitle( "Sayı Sırala | " + sdf.format( simdikiZaman ) );
  
  }
 };
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.oyun);
        
        //Ana Activity'den extra degeleri/verileri almak icin Bundle tanimla
        Bundle extras = getIntent().getExtras();
        
        sutunSayisi = extras.getInt("sutunSayisi");
        satirSayisi = extras.getInt("satirSayisi");
        
        butonlar = new ArrayList&amp;lt;Button&amp;gt;();
        butonlariOlustur();
        
        gridView = (GridView) findViewById(R.id.gridView1);
        gridView.setNumColumns(sutunSayisi);
        sayilarAdapter = new SayilarAdapter();
        gridView.setAdapter(sayilarAdapter);
        
        baslamaVakti = new Date();
  timer = new Timer();
  timer.schedule(new TimerTask() {
   @Override
   public void run() {
    TimerMethod();
   }

  }, 0, 1000);

    }
    
    private void butonlariOlustur(){
        
  //Butonlari olustur.
  Button button;
  Typeface font = Typeface.createFromAsset(getAssets(), "font/orangefizz.ttf");
  
  for (int n = 0; n &amp;lt; (satirSayisi * sutunSayisi); n++){
   
   button = new Button(this);
   //Ilk buton bosluk butonu
   if (n == 0){
    button.setText("");
    button.setBackgroundColor(0xf0f195);
   }
   else {
    button.setText(Integer.toString(n));
   }
   //Font belirle
   button.setTypeface(font);

   button.setOnClickListener(this);
   button.setHeight(64);
   button.setTextSize(30);
   
   //Listeye ekle
   butonlar.add(button);
  }
  
  //Listeyi karistiralim
  Collections.shuffle(butonlar, new Random());    
    }
    
    @Override
    public void onClick(View v) {
     Button btnTiklanan = (Button) v;
     
     //Bosluk butonu ile tiklanan butonun yerini değiştir
     yerDegistir(btnTiklanan);
     
     //Oyun bitti mi?
  kontrolEt();
    }
    
   private void yerDegistir(Button btnTiklanan){
  
    //Tiklanan butonunn konumu(index)
  int tiklananKonum = butonlar.indexOf(btnTiklanan);
  Button btnBosluk;
  
  //Bosluk butonunn konumu(index)
  int boslukKonum = -1;
  
  //Butonun hangi satirda oldugunu bul
  int bulunduguSatir = (int) Math.floor( tiklananKonum / sutunSayisi );

  //1) Sayının üstüne bakmak 
  if ( ((tiklananKonum - sutunSayisi) &amp;gt;= 0) ) {
   
   btnBosluk = butonlar.get(tiklananKonum - sutunSayisi);
   if (btnBosluk.getText().equals(""))
    boslukKonum = (tiklananKonum - sutunSayisi);

  }
  
  //2)Sayının altına bakmak:
  if ( (tiklananKonum + sutunSayisi) &amp;lt; butonlar.size()) {
   
   btnBosluk = butonlar.get(tiklananKonum + sutunSayisi);
   if (btnBosluk.getText().equals(""))
    boslukKonum = (tiklananKonum + sutunSayisi);
  }
  
  //3) Bir Önceki Konuma Bakmak: 
  if ((tiklananKonum - 1 ) &amp;gt;= 0 &amp;amp;&amp;amp; ((tiklananKonum - bulunduguSatir * sutunSayisi) != 0) ){
   
   btnBosluk = butonlar.get(tiklananKonum - 1);
   if (btnBosluk.getText().equals(""))
    boslukKonum = (tiklananKonum - 1);
   
  }
  
  //4)Bir Sonraki Konuma Bakmak: 
  if ( ((tiklananKonum + 1 ) &amp;lt; butonlar.size()) &amp;amp;&amp;amp; (((tiklananKonum - (bulunduguSatir * sutunSayisi) + 1) != sutunSayisi)) ){
   
   btnBosluk = butonlar.get(tiklananKonum + 1);
   if (btnBosluk.getText().equals(""))
    boslukKonum = (tiklananKonum + 1);
  }
  
  //Toast.makeText(context,"Burada : " + Integer.toString(index),Toast.LENGTH_SHORT).show();
  
  //Yer değiştir
  if (boslukKonum != -1)
   Collections.swap(butonlar, tiklananKonum, boslukKonum);

  //GridView'i refresh et
  gridView.setAdapter(sayilarAdapter);
  
 }
 
 private void kontrolEt(){
  
  //1 eksigi(bosluk butonu haric) kadar dön
  for (int n = 0; n &amp;lt; butonlar.size() - 1; n++){
   
   Button button = butonlar.get(n);
   //Arada bosluk varsa cik
   if (button.getText().equals("")) return;
   
   //Sayialar dogru siralanmamissa cik.
   if ( n != (Integer.parseInt( button.getText().toString() ) - 1) )
    return;
   
  }
  
  timer.cancel();//sayaci durdur
  
  //Bilgi penceresi
  AlertDialog alertDialog;
  alertDialog = new AlertDialog.Builder(this).create();
  alertDialog.setTitle("Tebrikler");
  Date simdikiZaman = new Date();   
  long fark = simdikiZaman.getTime() - baslamaVakti.getTime();
  simdikiZaman.setTime(fark);
  SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
  alertDialog.setMessage(sdf.format(simdikiZaman) + " sürede bitti");
  alertDialog.show();

  //finish();

 }
    
    public class SayilarAdapter extends BaseAdapter {
     
     @Override
  public int getCount() {
   return butonlar.size();
  }

  @Override
  public Object getItem(int arg0) {
   return butonlar.get(arg0);
  }

  @Override
  public long getItemId(int arg0) {
   return arg0;
  }

  @Override
  public View getView(int position, View viewButton, ViewGroup viewGroup) {
   
   if (viewButton != null) 
    return (Button) viewButton;

   return butonlar.get(position);
   
  }
     
    }
}

&lt;/pre&gt;</description><link>http://androidprogramcisi.blogspot.com/2011/12/say-srala-4-oyunactivity.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoVvWHkQPS6GLXO3eYPAuwwcwRwO24Tc0l6xd5j4lH4oE_J9xe93DVTACFLSFcytu9Ccam37kvmuFQuWPvZuKhGkJktyWN36ecsyoBf_4HpPsYkNSP6-e6xAK6keXK8ODvPwX3voM7Ufs6/s72-c/OyunActivity+-+01.png" width="72"/><thr:total>0</thr:total><enclosure length="266982" type="application/zip; charset=UTF-8" url="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-239027790378699180</guid><pubDate>Mon, 12 Dec 2011 18:33:00 +0000</pubDate><atom:updated>2012-03-08T06:06:35.458-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AlertDialog</category><category domain="http://www.blogger.com/atom/ns#">Assets</category><category domain="http://www.blogger.com/atom/ns#">Button</category><category domain="http://www.blogger.com/atom/ns#">Custom Dialog</category><category domain="http://www.blogger.com/atom/ns#">Intent</category><title>(Sayı Sırala - 3) MainActivity</title><description>&lt;a href="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"&gt;Bu uygulamayı indir&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
Proje oluşturulduğunda &lt;b&gt;src/com.ornekler.sayisirala/&lt;/b&gt; yolunun altında &lt;b&gt;MainActivity.java&lt;/b&gt; yani &amp;nbsp;MainActivity oluşturulduğunu da göreceksiniz. Bu activity’i ana ekran için kullanacağız. Kullanıcı bu ekranda zorluk derecesiniz belirleyebilecek.&lt;br /&gt;
&lt;br /&gt;
Şimdi bu activity kullandığı layout’un tasarımını yapmalıyız. &lt;b&gt;res/layout&lt;/b&gt; altındaki &lt;b&gt;main.xml&lt;/b&gt; layout’u şu şekilde tasarlıyoruz.&lt;br /&gt;
﻿&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLozVjYMUxMApKNzOf1jWf9sxcwBv_NsspjKvI1FLhlFYhX8AS3HtvZF9xVSrswPAjAvBGDI0drHbkGCi2LI1oZuNR7tyy8wyjxdIySaCruOLnemH1VyYnN6Y5w1fHQortBdBXqB5txwq7/s1600/MainActivity+-+01.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLozVjYMUxMApKNzOf1jWf9sxcwBv_NsspjKvI1FLhlFYhX8AS3HtvZF9xVSrswPAjAvBGDI0drHbkGCi2LI1oZuNR7tyy8wyjxdIySaCruOLnemH1VyYnN6Y5w1fHQortBdBXqB5txwq7/s1600/MainActivity+-+01.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;main.xml&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
Ekrandaki bileşenlerin text özelliğine istediğinizi yazabilirsiniz. Fakat &lt;b&gt;string.xml&lt;/b&gt; dosyasını kullanmayı düşünüyorsanız bileşenin üzerinde sağ tıklayıp “&lt;b&gt;Edit Text&lt;/b&gt;” komutunu vererek direk &lt;b&gt;string.xml &lt;/b&gt;dosyasına yeni satır girebilir ve bu satırın(text değerin) bileşenin text özelliğine atayabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
MainActivity içerisinde özelleştirilmiş dialog kutusu da kullanacağımız için birde &lt;b&gt;dlg_ozel.xml&lt;/b&gt; adında yeni bir layout daha oluşturuyoruz.&lt;br /&gt;
&lt;b&gt;Res/layout&lt;/b&gt; dizini üzerinde sağ tıklayıp &lt;b&gt;New&amp;gt;Other… a&lt;/b&gt; tıklayıp &lt;b&gt;Android/Android XML Layout File&lt;/b&gt; komutunu verip ileri tıklayalım. File kutusuna “&lt;b&gt;dlg_ozel&lt;/b&gt;” yazıp layout oluşturalım. Aşağıdaki gibi bir tasarım yapıyorum.&lt;br /&gt;
﻿﻿&lt;br /&gt;
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpO-qgH4BtwKatIQO6YWf4FejlkBwhfHsMSjVy688EjY49kfF9Mo444BA2ypm7ZxttNqxW2zvGskCsk5hQ0fBLTPY1dHkZaN6B9-wM8fprgwpUkzO8FEzjhGhDkExgarn8v7oKMFc4uNQi/s1600/MainActivity+-+02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpO-qgH4BtwKatIQO6YWf4FejlkBwhfHsMSjVy688EjY49kfF9Mo444BA2ypm7ZxttNqxW2zvGskCsk5hQ0fBLTPY1dHkZaN6B9-wM8fprgwpUkzO8FEzjhGhDkExgarn8v7oKMFc4uNQi/s1600/MainActivity+-+02.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;span style="font-size: small;"&gt;dlg_ozel.xml&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Layoyut tasarımının ardında &lt;b&gt;MainActivity.java&lt;/b&gt; yı kodlamaya başlayabiliriz.&lt;br /&gt;
&lt;br /&gt;
MainActivity.java&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;package com.ornekler.sayisirala;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        this.setTitle("Sayı Sırala - Seviye Seç");
        
        Button btnBasit = (Button) this.findViewById(R.id.btnBasit);
        Button btnOrta = (Button) this.findViewById(R.id.btnOrta);
        Button btnOzel = (Button) this.findViewById(R.id.btnOzel);
        
        Typeface font = Typeface.createFromAsset(getAssets(), "font/Corv2.ttf");
        btnBasit.setTypeface(font);
        btnBasit.setTextSize(36.f);
        
        btnOrta.setTypeface(font);
        btnOrta.setTextSize(36.f);
        
        btnOzel.setTypeface(font);
        btnOzel.setTextSize(36.f);
       
        btnBasit.setOnClickListener( new OnClickListener(){
         
   @Override
   public void onClick(View v) {
    Intent i = new Intent(getApplicationContext(), OyunActivity.class);
    i.putExtra("sutunSayisi", 3);
    i.putExtra("satirSayisi", 2);
    startActivity(i);
    
   }
        });
        
        btnOrta.setOnClickListener( new OnClickListener(){
         
   @Override
   public void onClick(View v) {
    Intent i = new Intent(getApplicationContext(), OyunActivity.class);
    i.putExtra("sutunSayisi", 3);
    i.putExtra("satirSayisi", 3);
    startActivity(i);
    
   }
        });
        
        btnOzel.setOnClickListener( new OnClickListener(){
         
   @Override
   public void onClick(View v) {
    
    AlertDialog.Builder builder;
    AlertDialog alertDialog;
    
             LayoutInflater factory = LayoutInflater.from(v.getContext());
             final View textEntryView = factory.inflate(R.layout.dlg_ozel, null);

    builder = new AlertDialog.Builder(v.getContext());
    builder.setView(textEntryView);
    builder.setTitle("Özel Ayarlar");
    builder.setMessage("Sütun ve satır sayısını gir");
  
    builder.setPositiveButton("Oyna", new DialogInterface.OnClickListener() {
     
     @Override
     public void onClick(DialogInterface dialog, int which) {
      
      EditText editTextSutunSayisi = (EditText) textEntryView.findViewById(R.id.editTextSutunSayisi);
      EditText editTextSatirSayisi = (EditText) textEntryView.findViewById(R.id.editTextSatirSayisi);
      
      Intent i = new Intent(getApplicationContext(), OyunActivity.class);
      i.putExtra("sutunSayisi", Integer.parseInt(editTextSutunSayisi.getText().toString()));
      i.putExtra("satirSayisi", Integer.parseInt(editTextSatirSayisi.getText().toString()));
      startActivity(i);

     }
    });
    
    builder.setNegativeButton("İptal", new DialogInterface.OnClickListener() {
     
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.cancel();
     }
    });
    
    alertDialog = builder.create();
    alertDialog.show();

   }
        });
        
    }
    
}
&lt;/pre&gt;</description><link>http://androidprogramcisi.blogspot.com/2011/12/mainactivity.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLozVjYMUxMApKNzOf1jWf9sxcwBv_NsspjKvI1FLhlFYhX8AS3HtvZF9xVSrswPAjAvBGDI0drHbkGCi2LI1oZuNR7tyy8wyjxdIySaCruOLnemH1VyYnN6Y5w1fHQortBdBXqB5txwq7/s72-c/MainActivity+-+01.png" width="72"/><thr:total>0</thr:total><enclosure length="266982" type="application/zip; charset=UTF-8" url="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-2490276906592116617</guid><pubDate>Sun, 11 Dec 2011 18:31:00 +0000</pubDate><atom:updated>2012-01-07T03:30:51.022-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Proje Oluşturma</category><title>(Sayı Sırala - 2) Proje Oluşturma</title><description>&lt;a href="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"&gt;Bu uygulamayı indir&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
New menüsünden Android Project komutunu veriyoruz.&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Create Android Project kısmında Project Name &amp;nbsp;“SayiSirala” yaziyorum.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Select Build Target kısmındaki listeden Android 2.1(API Level 7) seçiyorum.&lt;/li&gt;
&lt;li&gt;Application Info kısmında ise Application Name kutusuna SayiSirala, Package Name’e “com.ornekler.sayisirala”, Create Activity kutusunada “MainActivity”&amp;nbsp;yazıyorum.&lt;/li&gt;
&lt;/ol&gt;
Finish komutunu verip uygulamayı oluşturun.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://androidprogramcisi.blogspot.com/2011/12/proje-olusturma.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>3</thr:total><enclosure length="266982" type="application/zip; charset=UTF-8" url="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-8771657922597951948</guid><pubDate>Sat, 10 Dec 2011 23:20:00 +0000</pubDate><atom:updated>2012-03-08T06:04:45.110-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Algoritma</category><title>(Sayı Sırala - 1) Hazırlık</title><description>﻿&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-oOhJkeMADn4cjFTAz_4OZuf-1RTz2lLehqQezK1MF3cQD9xnEK-8ezk7V0VvD8hlGhYvL0IuxDQdA1yF-4vKoWwc9BBW2Cg6hgTVEn7al1WhZo9Od6MUfzM7yHU2JUKZPwiYSm_04Rsl/s1600/SayiSirala+-+Onizleme.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-oOhJkeMADn4cjFTAz_4OZuf-1RTz2lLehqQezK1MF3cQD9xnEK-8ezk7V0VvD8hlGhYvL0IuxDQdA1yF-4vKoWwc9BBW2Cg6hgTVEn7al1WhZo9Od6MUfzM7yHU2JUKZPwiYSm_04Rsl/s400/SayiSirala+-+Onizleme.PNG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Uygulamanın bitmiş halinin görüntüsü&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;a href="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"&gt;Bu uygulamayı indir&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
İlk örnek projemiz basit bir sayı sıralama oyunu olsun. Öncelikle uygulamanın küçük bir algoritmasını çıkaralım.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Seviye Seçimi (Ana Ekran)&lt;/b&gt;&lt;br /&gt;
Oyuncu basit(3x2), orta(3x3) ya da özel bir zorluk derecesi seçebilmeli. Özel seçildiğinde oyuncudan sütün ve satır sayısın girilmesi istenmeli ve bu değerlere göre oyun tahtası hazırlanmalı.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Zamanla Yarışma:&lt;/b&gt;&lt;br /&gt;
Oyuncunun oyunu ne kadar zamanda bitirdiğini gösterebilmek için bir timer nesnesi ile oyunda geçirilen süre hesaplanmalı.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Oyun Tahtasının Hazırlanması:&lt;/b&gt;&lt;br /&gt;
Bu uygulamada oyun tahtası olarak GridView, sayılar içinde Buton elemanlarını kullanacağız... Her yeni oyunda sayılar yani butonlar rastgele sıralanmalı.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sayı Adedinin Tespiti:&lt;/b&gt;&lt;br /&gt;
Belirtilen satır ve sütün sayısının çarpımının bir eksiği kadar sayımız olacak. Neden bir eksiği çünkü arada sayıları hareket ettirebilmek için bir boşluğa ihtiyacımız olacak.&lt;br /&gt;
&lt;br /&gt;
Yani 3x2 lik bir tahta için sayı sayısı 3 x 2 - 1 = 5 olmalı. Yani şu şekilde&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizV9mNxxUTWS1MOmjXaWy8Qan6u_QWzd8kZ1tRhoM6EgYPNgDNgYKDlYk6NxbN5DIviYai4DrVziDCfY4UN_zOB4LwWObCa3R-0Ui7z9pELAdfmkTtnNr_P1CwxDQMBbyZzI1Put-PzAX0/s1600/SayiSirala+-+01.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizV9mNxxUTWS1MOmjXaWy8Qan6u_QWzd8kZ1tRhoM6EgYPNgDNgYKDlYk6NxbN5DIviYai4DrVziDCfY4UN_zOB4LwWObCa3R-0Ui7z9pELAdfmkTtnNr_P1CwxDQMBbyZzI1Put-PzAX0/s1600/SayiSirala+-+01.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;b&gt;Sayı Hareketleri:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Boşluk hariç kaç tane sayımızın olacağını belirledik, şimdide bu sayıların nasıl hareket edeceğini belirleyelim.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;b&gt;Not:&lt;/b&gt; 1.sayının konumu yani indeksi 0’dır. 2. sayının konumu 1’dir… n. sayının konumu n-1’dir.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style="color: #cc0000;"&gt;1)&amp;nbsp;Sayının üstüne bakmak :&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style="color: #cc0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNqtstwghzLdI5esXexrA0KtJ0RRRyXrOxfFCg3tx_8IdTDup8josIDEo2GQO_X_8odoFw7VzflyXDIBHQFZlh-8wnk0atVCWpeuLMv379Z0KxzQJeZMYxWKcMrDINR8OaPRFO9ZH1TknA/s1600/SayiSirala+-+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNqtstwghzLdI5esXexrA0KtJ0RRRyXrOxfFCg3tx_8IdTDup8josIDEo2GQO_X_8odoFw7VzflyXDIBHQFZlh-8wnk0atVCWpeuLMv379Z0KxzQJeZMYxWKcMrDINR8OaPRFO9ZH1TknA/s1600/SayiSirala+-+02.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Burada 4 sayısına tıkladığımızı varsayarsak, 4’ün üstüdeki sayının konumunu bulmak için söyle bir formül kullanabiliriz.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;Tıklanan Sayının Konumu – Sütün Sayısı = Tıklanan Sayının Üstündeki Elemanın Konumu&lt;/pre&gt;
&lt;br /&gt;
Yani&lt;br /&gt;
4 sayısının konumu 4 tür. Sütün sayısı = 3 ise&lt;br /&gt;
&lt;br /&gt;
4 - 3 = 1 o halde 4 sayısının üstündeki sayının konumu yani indeksi 1'dir. O zaman 1. konumdaki elemanı kontrol edeceğiz. Eğer orada bir sayı yoksa 4 sayısını oraya taşıyacağız aksi halde hiçbir şey yapmayacağız.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Tabii sınır dışına çıkmamak için tüm bunları bir if bloğu içerinde yapmalıyız. if bloğunun koşulu ise şöyle olmalı:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Üsteki Sayının Konumu – Sütün Sayısı) &amp;gt;= 0&lt;/pre&gt;
&lt;br /&gt;
&amp;nbsp;ise bu işlemler yapılmalı.&amp;nbsp;Yani 1 sayısına tıklandığını düşünün 1- 3 = -2 olup uygulamanın -2. indeksteki sayıya bakmasına yani dizi sınırının dışına çıkmasına ve hata vermesine sebep olur.&lt;br /&gt;
&lt;br /&gt;
Kod olarak yazalım&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;//1) Sayının üstüne bakmak 
if ( ((tiklananKonum - sutunSayisi) &amp;gt;= 0) ) {
   
 btnBosluk = butonlar.get(tiklananKonum - sutunSayisi);
 if (btnBosluk.getText().equals(""))
 boslukKonum = (tiklananKonum - sutunSayisi);

}
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color: #cc0000;"&gt;2)&amp;nbsp;Sayının altına bakmak&amp;nbsp;:&lt;/span&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color: #cc0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipTmxKDyuxXImllfdUgzgMTB9Vv9nVOymm3kXP_h-KvzwS2FKGSIR7OibIqr6mNOElGCznYLxntzGZYFtptcEvgZwLpAAW1O_llNN7vnPjk_TDnFtfgWK_SXlgw_sTFv2yphuKBZ4j9RhR/s1600/SayiSirala+-+03.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipTmxKDyuxXImllfdUgzgMTB9Vv9nVOymm3kXP_h-KvzwS2FKGSIR7OibIqr6mNOElGCznYLxntzGZYFtptcEvgZwLpAAW1O_llNN7vnPjk_TDnFtfgWK_SXlgw_sTFv2yphuKBZ4j9RhR/s1600/SayiSirala+-+03.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Burada 2 sayısına tıkladığımızı varsayarsak, 2’ün altındaki elemanın konumunu bulmak için söyle bir formül kullanabiliriz.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Tıklanan Sayının konumu + Sütün Sayısı) = Tıklanan Sayının Altındaki Elemanın Konumu&lt;/pre&gt;
&lt;br /&gt;
Yani 2 sayısının konumu 2 dir. Sütün sayısı = 3 ise 2+3=5 o halde 2 sayısının altındaki elemanın konumu yani indeksi 5 dir. O zaman 5. sıradaki sayıyı kontrol edeceğiz. Eğer orada bir sayı yoksa 2 sayısını oraya taşıyacağız aksi halde hiçbir şey yapmayacağız.&lt;br /&gt;
&lt;br /&gt;
Yine sınır dışına çıkmamak için tüm bunları bir if bloğu içerinde yapmalıyız. if bloğunun koşulu ise şöyle olmalı.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Alttaki Sayının Konumu + Sütün Sayısı) &amp;lt; Sayı Sayısı&lt;/pre&gt;
&lt;br /&gt;
ise bu işlemler yapılmalı.&amp;nbsp;Yani 5 sayısına tıklandığını düşünün 5 + 3 = 8 olup uygulamanın 8. indeksteki sayıya bakmasına yani dizi sınırının dışına çıkmasına ve hata vermesine sebep olur. Çünkü&lt;br /&gt;
toplam sayı sayısı boşlukla beraber 6'dır.&lt;br /&gt;
&lt;br /&gt;
Kod olarak yazalım&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;pre&gt;//2)Sayının altına bakmak:
if ( (tiklananKonum + sutunSayisi) &amp;lt; butonlar.size()) {
   
 btnBosluk = butonlar.get(tiklananKonum + sutunSayisi);
 if (btnBosluk.getText().equals(""))
  boslukKonum = (tiklananKonum + sutunSayisi);
}&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style="color: #cc0000;"&gt;3)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #cc0000;"&gt;&lt;b&gt;Bir Önceki Konuma Bakmak:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #cc0000;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5nNikQfAUN7sX-4o4cXijsgZ3N9H7AJDDzVWl1EJb5cQpKnr-zSiCXyxilbckQlt1QG8bSBh_OxDh06GuJXW70q9vbhe52AZ-wq59-Tvp6CbAaZ_3LwBGyP2xAEM2f7PblQF_5stBCqM/s1600/SayiSirala+-+04.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5nNikQfAUN7sX-4o4cXijsgZ3N9H7AJDDzVWl1EJb5cQpKnr-zSiCXyxilbckQlt1QG8bSBh_OxDh06GuJXW70q9vbhe52AZ-wq59-Tvp6CbAaZ_3LwBGyP2xAEM2f7PblQF_5stBCqM/s1600/SayiSirala+-+04.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Burada 4 sayısına tıkladığını düşünürsek bir önceki konumu bulmak için şu formülü kullanabiliriz.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Tıklana Sayının Konumu – 1) = Bir Önceki(Soldaki) Elemanın Konumu&lt;/pre&gt;
&lt;br /&gt;
Yani&lt;br /&gt;
2 – 1 = 1&lt;br /&gt;
demek ki 1. konumdaki elemanı kontrol edeceğiz. Eğer boşluk ise 4 sayısını sola hareket ettireceğiz aksi halde hiçbir şey yapmayacağız.&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Sınır dışına çıkmamak için ve tıklanan sayısının ikinci satırın başında olup ta birinci satırın sonundaki boşluğa atlamasını engellemek için yukarıdaki formülü iki koşullu bir if bloğu içerisine almalıyız.&lt;br /&gt;
&amp;nbsp;&lt;b&gt;A -&lt;/b&gt; Sınır dışına çıkmamak için if bloğunun ilk koşulu şöyle olmalı : 1 sayısına tıklandığını düşünün formülü uygularsak 0-1 = -1 uygulama -1. konumdaki elemana&amp;nbsp;bakacak yani dizinin sınırının dışına çıkılmış olacak. Bunu engellemek için koşulumuz şöyle olmalı:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Tıklana Sayının Konumu – 1) &amp;gt;= 0&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;B - &lt;/b&gt;Tıklanan sayısının ikinci satırın başında olup ta birinci satırın sonundaki boşluğa atlamasını engellememiz gerek. (Aşağıdaki resme bak)
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Ay3Y6WLDxK8mBg0s_ZpgzFwb1ccEKJc_eXyQ5kHg6pUxndIWCtULDVCYciwIMOWIsm2vIIYxMWysDSOoeRQi9KdNbgSobkf3lBsDPZ5fN7fhSShrCn5QHA4U3HocX1vo4Pp_XEsOZ3rn/s1600/SayiSirala+-+05.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Ay3Y6WLDxK8mBg0s_ZpgzFwb1ccEKJc_eXyQ5kHg6pUxndIWCtULDVCYciwIMOWIsm2vIIYxMWysDSOoeRQi9KdNbgSobkf3lBsDPZ5fN7fhSShrCn5QHA4U3HocX1vo4Pp_XEsOZ3rn/s1600/SayiSirala+-+05.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
3 sayısına tıklandığını düşünün, formülü uygulayalım 3-1 = 2 yani 2 konumdaki elemana bakacağız evet orada boşluk var o zaman 3 sayısı oraya taşınacak. Ama bu bir hatadır. İşte bu hatayı engellemek içinde diğer koşulumuzda şöyle olmalı.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Tıklana Sayının Konumu - Tıklana Sayının Bulunduğu Satır X Sütun Sayısı) != 0

[ (3 – 1 X 3) != 0 ] = False&lt;/pre&gt;
&lt;br /&gt;
İşlem sonucu sıfırdır. Koşul uymaz ve taşıma işlemi gerçekleşmez. Yani burada herhangi bir satırın en başındaki sayısının bir üstteki satırın sonundaki boşluğa taşınmasını engelledik.&lt;br /&gt;
&lt;br /&gt;
Not: Birinci satırın indeksi 0, ikinci satırın indeksi 1, …n. satırın indeksi n-1’dir.&lt;br /&gt;
&lt;br /&gt;
Kod olarak yazalım&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;//3) Bir Önceki Konuma Bakmak:

if ((tiklananKonum - 1 ) &amp;gt;= 0 &amp;amp;&amp;amp; ((tiklananKonum - bulunduguSatir * sutunSayisi) != 0) ){&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;btnBosluk = butonlar.get(tiklananKonum - 1);
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if (btnBosluk.getText().equals(""))
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;boslukKonum = (tiklananKonum - 1);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;

}&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style="color: #cc0000;"&gt;3)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: #cc0000;"&gt;&lt;b&gt;Bir Sonraki Konuma Bakmak:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0MOpEruizBQC0ScMZoFoWxECGsdhoO_l7Dxiip0MWgQke88eI8kcqDC7O8K9uwebqntYm26b72SYen3LXkgOdY3x8mbhVj4jbNAfObYxRZR037FcTrdRrw6-qFF-w9NZgV-QDtbrJmXHo/s1600/SayiSirala+-+06.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0MOpEruizBQC0ScMZoFoWxECGsdhoO_l7Dxiip0MWgQke88eI8kcqDC7O8K9uwebqntYm26b72SYen3LXkgOdY3x8mbhVj4jbNAfObYxRZR037FcTrdRrw6-qFF-w9NZgV-QDtbrJmXHo/s1600/SayiSirala+-+06.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;Burada 3 sayısına tıkladığını düşünürsek bir sonraki konumu bulmak için şu formülü kullanabiliriz.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Tıklana Sayının Konumu + 1) = Bir Sonraki(Sağdaki) Elemanın Konumu
&lt;/pre&gt;
&lt;br /&gt;
Yani&amp;nbsp;3 + 1 = 4 demek ki 4. konumdaki elemanı kontrol edeceğiz. Eğer boşluk ise 3 sayısını sağa hareket ettireceğiz aksi halde hiçbir şey yapmayacağız.&lt;br /&gt;
&lt;br /&gt;
Sınır dışına çıkmamak ve tıklanan sayısının birinci satırın sonunda olup ta ikinci satırın başındaki boşluğa atlamasını engellemek için yukarıdaki formülü iki koşullu bir if bloğu içerisine almalıyız.&lt;br /&gt;
&lt;b&gt;&amp;nbsp;A -&lt;/b&gt; Sınır dışına çıkmamak için if bloğunun ilk koşulu şöyle olmalı : 2 sayısına tıklandığını düşünün formülü uygularsak 5+1 = 6 uygulama 6. konumdaki elemana bakacak yani dizi dışına çıkılmış olacak. Çünkü en son elemanın indeksi 5’dir ve dizi dışına çıkılmıştır. Bunu engellemek koşulumuz şöyle olmalı:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;(Tıklana Sayının Konumu + 1) &amp;lt; Sayı Sayısı&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;B -&lt;/b&gt; Tıklanan sayısının birinci satırın sonunda olup ta ikinci satırın başındaki boşluğa atlamasını engellememiz gerek. (Aşağıdaki resme bak)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfYZeOq2ET_lzqD2TqHlGmnvlaAfcZnycouEwl7B15vW-6AdMJNX3lcIZTGmIzOHo2zdgAXZZXvSWeTfaodjjTqhoQX-Wcf9AJK02zlN5MsFWTBQ4jrBVpHMblSyjsmvFlJRNVg9c9EeKk/s1600/SayiSirala+-+07.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfYZeOq2ET_lzqD2TqHlGmnvlaAfcZnycouEwl7B15vW-6AdMJNX3lcIZTGmIzOHo2zdgAXZZXvSWeTfaodjjTqhoQX-Wcf9AJK02zlN5MsFWTBQ4jrBVpHMblSyjsmvFlJRNVg9c9EeKk/s1600/SayiSirala+-+07.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;4 sayısına tıklandığını düşünün, formülü uygulayalım 2+1 = 3 yani 3. konumdaki elemana bakacağız evet orada boşluk var o zaman 4 sayısı oraya taşınacak. Ama bu bir hatadır. İşte bu hatayı engellemek içinde diğer koşulumuzda şöyle olmalı.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;pre&gt;(Tıklana Sayının Konumu – (Tıklana Sayının Bulunduğu Satır X Sütun Sayısı) + 1 ) != Sütun Sayısı

[ (2 – (0 X 3) + 1) != 3 ] = False


&lt;/pre&gt;
İşlem sonucu 3’dür. Koşul uymaz ve taşıma işlemi gerçekleşmez. Yani burada herhangi bir satırın en sonundaki sayısının bir alttaki satırın başındaki boşluğa taşınmasını engelledik.&lt;br /&gt;
&lt;br /&gt;
Not: Birinci satırın indeksi 0, ikinci satırın indeksi 1, …n. satırın indeksi n-1’dir.&lt;br /&gt;
&lt;br /&gt;
Kod olarak yazalım&lt;br /&gt;
&lt;div&gt;
&lt;pre&gt;//4)Bir Sonraki Konuma Bakmak:

if ( ((tiklananKonum + 1 ) &amp;lt; butonlar.size()) &amp;amp;&amp;amp; (((tiklananKonum - (bulunduguSatir * sutunSayisi) + 1) != sutunSayisi)) ){

&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;btnBosluk = butonlar.get(tiklananKonum + 1);
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if (btnBosluk.getText().equals(""))
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;boslukKonum = (tiklananKonum + 1);

}
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Her Sayı Hareketinde Kontrol&lt;/b&gt;&lt;br /&gt;
Oyuncunun her sayı hareketinden sonra sayılar doğru bir şekilde sıralanmış mı kontrol edilir. Sıralama doğru ise timer nesnesi durdurulup oyuncuya oyunun ne kadar zamanda bitirildiği söylenip oyun sonlandırılır.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://androidprogramcisi.blogspot.com/2011/12/hazrlk.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-oOhJkeMADn4cjFTAz_4OZuf-1RTz2lLehqQezK1MF3cQD9xnEK-8ezk7V0VvD8hlGhYvL0IuxDQdA1yF-4vKoWwc9BBW2Cg6hgTVEn7al1WhZo9Od6MUfzM7yHU2JUKZPwiYSm_04Rsl/s72-c/SayiSirala+-+Onizleme.PNG" width="72"/><thr:total>0</thr:total><enclosure length="266982" type="application/zip; charset=UTF-8" url="https://sites.google.com/site/nesimiacarcaorg/home/android/SayiSirala.zip?attredirects=0&amp;amp;d=1"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-9168818286486742251</guid><pubDate>Thu, 24 Nov 2011 10:42:00 +0000</pubDate><atom:updated>2012-03-08T05:57:16.365-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Proje Oluşturma</category><title>Proje Oluşturma</title><description>&lt;b&gt;File &amp;gt; New &amp;nbsp;&amp;gt; Android Project&lt;/b&gt; komutunu vererek yeni bir proje oluşturun.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQgqQwq0JyFbJPda_OzXJzg0oQbztA3BxS6WVmNUZjvzWu-4n_-AdNUYfos3nulqmMoTkKGX4GnfwWpu3rS3P2VzWh03SEaGhafXL2ZX3B40kovIDCxg_5NsD7ZAOyFwl0dZjGr_1itKi9/s1600/Proje1-1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="363" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQgqQwq0JyFbJPda_OzXJzg0oQbztA3BxS6WVmNUZjvzWu-4n_-AdNUYfos3nulqmMoTkKGX4GnfwWpu3rS3P2VzWh03SEaGhafXL2ZX3B40kovIDCxg_5NsD7ZAOyFwl0dZjGr_1itKi9/s400/Proje1-1.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Proje adı olarak &lt;b&gt;Proje1 &lt;/b&gt;yazıp sonraki adıma geçiyorum.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLPw4hSYUi6RW81-c_Qb17rYQc3sFZCoAtuFSn_Zfpe-K-q9CITfdsyKwc8kCrVh4946LEkQGiakBQ9sHSXhUGUh1P9xHL__vrRYgYDM53v9sbCso-EoeOe8KxlO4m9f23MoAUlPQbbPGI/s1600/Proje1-2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="363" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLPw4hSYUi6RW81-c_Qb17rYQc3sFZCoAtuFSn_Zfpe-K-q9CITfdsyKwc8kCrVh4946LEkQGiakBQ9sHSXhUGUh1P9xHL__vrRYgYDM53v9sbCso-EoeOe8KxlO4m9f23MoAUlPQbbPGI/s400/Proje1-2.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Android 2.1 projesi oluşturacağım için Android 2.1 API seçiyorum. Sonraki adım&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnJs5UqUIXzprwl44v7tn3b5pSpVxt0XJn57mpZdGlfbVhHMmlthCnYh-gdQv-9CDdwE4I92M8jtpzfrbLlyjTJQhs2zcL6WF-K9FOl9BlBxw4eHO11XdENCKYT7vjB4wyCHtFaupuYxy/s1600/Proje1-3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="363" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnJs5UqUIXzprwl44v7tn3b5pSpVxt0XJn57mpZdGlfbVhHMmlthCnYh-gdQv-9CDdwE4I92M8jtpzfrbLlyjTJQhs2zcL6WF-K9FOl9BlBxw4eHO11XdENCKYT7vjB4wyCHtFaupuYxy/s400/Proje1-3.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Package Name&lt;/b&gt; kısmınada a&lt;b&gt;ndroidprogramcisi.projeler&lt;/b&gt; yazıp &lt;b&gt;Finish &lt;/b&gt;ile işlemi sonlandırıyorum.&lt;br /&gt;
&lt;br /&gt;
Proje oluşturuldu &lt;b&gt;Run &lt;/b&gt;komutu vererek uygulamayı çalıştıralım. Ekrana &lt;b&gt;Run As&lt;/b&gt; penceresi gelecek&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_-LsaCJZtNZrHAonq8XCUY5ImidLHhWEFzLbVWkC9aqkdHlAzHKq-yUiFNlrafgf3IHiL2XXHb0A6yVYH6dzetX1ux9AQlpcFSUtDuWbF9RW2e9JDO90FM8LUjjRQ8uD3vug5flOh_n0D/s1600/Proje1-4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_-LsaCJZtNZrHAonq8XCUY5ImidLHhWEFzLbVWkC9aqkdHlAzHKq-yUiFNlrafgf3IHiL2XXHb0A6yVYH6dzetX1ux9AQlpcFSUtDuWbF9RW2e9JDO90FM8LUjjRQ8uD3vug5flOh_n0D/s400/Proje1-4.PNG" width="398" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Android Application&lt;/b&gt; seçip &lt;b&gt;OK&amp;nbsp;&lt;/b&gt;tıklayın. IDE emulatoru çalıştırıp uygulamayı upload edip çalıştıracak.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQQwOlnSpRfyCCWnbe15VyYiTeojCgNfNtZjXglgnyti66Y-a_GS9ZXwoQs1Gs2l2Vol5J9gmJc39THaZmV9b3Y1NH5zdp3muSlj8Mofv3eYSsA7i-kCc7eGopMqYi1deczlcbBWZb8VE4/s1600/Proje1-5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQQwOlnSpRfyCCWnbe15VyYiTeojCgNfNtZjXglgnyti66Y-a_GS9ZXwoQs1Gs2l2Vol5J9gmJc39THaZmV9b3Y1NH5zdp3muSlj8Mofv3eYSsA7i-kCc7eGopMqYi1deczlcbBWZb8VE4/s400/Proje1-5.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Size tavsiyem emulatoru kapatmadan kodlamaya devam etmek çünkü uygulamada bir değişiklik yaptıktan sonra &lt;b&gt;Run &lt;/b&gt;komutunu verdiğinizde emulator önceki uygulamayı kapatıp upload edilen yeni uygulamayı çalıştıracaktır. Böylece her seferinde emülatorun tekrar tekrar kapatılıp açılmasından kaynaklanan zaman kaybını önlemiş olursunuz.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;&lt;b&gt;Proje Dizin Yapısı&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7n9oM6c3vffnCfgoMJ_wKmQCJl9qjgaigpte0VZs8qq9NDTHa_swx4JsUyFsFKCtuw3GxCxy_KBHXZOIOFQkt2eLbqXxQf9cGva8vEBfsQbei3Hit5fC_vsRkHQdSdttpAE0sQ7hoEk4s/s1600/Proje1-6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7n9oM6c3vffnCfgoMJ_wKmQCJl9qjgaigpte0VZs8qq9NDTHa_swx4JsUyFsFKCtuw3GxCxy_KBHXZOIOFQkt2eLbqXxQf9cGva8vEBfsQbei3Hit5fC_vsRkHQdSdttpAE0sQ7hoEk4s/s1600/Proje1-6.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;src :&lt;/span&gt;&lt;/b&gt; Kaynak kodların bulunduğu dizin.&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;gen(generated) :&lt;/span&gt;&lt;/b&gt; IDE tarafından oluşturulan dosyaların bulunduğu dizin. Burada &lt;b&gt;R.java&lt;/b&gt; dosyasının üzerinde biraz durmamız lazım.&lt;br /&gt;
&lt;b&gt;R.java,&lt;/b&gt; projedeki(&lt;b&gt;res &lt;/b&gt;dizinindeki) tüm resim, metin ve bileşenlerin adreslerini tutan bir veritabanıdır diyebiliriz. Örneğin&lt;br /&gt;
&lt;b&gt;&lt;i&gt;public static final int ic_launcher=0x7f020000;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
satırındaki&amp;nbsp;&lt;b&gt;ic_launcher&lt;/b&gt; değişkeni &lt;b&gt;res &lt;/b&gt;dizinindeki&amp;nbsp;&lt;b&gt;ic_launcher.png&lt;/b&gt; dosyasına işaret eder. Aynı şekilde&amp;nbsp;&lt;b&gt;app_name &lt;/b&gt;değişkenide &lt;b&gt;string.xml&lt;/b&gt; dosyasındaki&amp;nbsp;&lt;b&gt;app_name(Proje1)&lt;/b&gt; değerini işaret eder.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Android 2.1 :&lt;/span&gt;&lt;/b&gt; Kütüphanelerin bulunduğu dizin.&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;assets :&lt;/span&gt;&lt;/b&gt;&amp;nbsp;&lt;b&gt;res &lt;/b&gt;dizininden farklı olarak çalışma zamanında kullanacağımız dosyaların bulunduğu/bulunacağı dizindir.&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;bin :&lt;/span&gt;&lt;/b&gt; Uygulama derlendiğin oluşan binary dosyalarının bulunduğu dizin.&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;res(resource) :&lt;/span&gt;&lt;/b&gt; Projedeki kaynakların yani resim, metin ve görünümlerin tutulduğu dizin.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;drawable-hdpi(240 dpi) / ldpi(120 dpi) / mdpi(160 dpi) :&lt;/span&gt;&lt;/b&gt; Farklı ekran tiplerine göre ayrı ayrı hazırladığımız resim dosyalarının tutulduğu dizinlerdir. Örneğin 240dpi yani hdpi ekran için oluşturacağımız &lt;b&gt;ic_launcher&lt;/b&gt; dosyasının boyutları 72x72 piksel iken 120dpi yani ldpi ekran için oluşturacağımız&amp;nbsp;&lt;b&gt;ic_launcher&lt;/b&gt;&amp;nbsp;dosyasının&amp;nbsp;boyutu 36x36pikseldir.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;layout :&lt;/span&gt;&lt;/b&gt; Arayüzlerin bulunduğu dizin.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;values :&lt;/span&gt;&lt;/b&gt; Projedeki string ifadelerin tanımlandığı xml dosyaları tutulur.&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;txtView1.setText(R.string.app_name);&lt;/i&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;satırı &lt;b&gt;txtView1 &lt;/b&gt;bileşeninin text özelliğine &lt;b&gt;strings.xml&lt;/b&gt; dosyasında tanımlı &lt;b&gt;app_name &lt;/b&gt;yani "Proje1" değerini yazar. İsterseniz&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;b&gt;&lt;i&gt;txtView1.setText("Proje1");&lt;/i&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;şeklinde de kodlama yapabilirsiniz ama yerelleştirme için bu yapıları kullanmak yararınıza olacaktır.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;&lt;b&gt;AndroidManifest.xml :&lt;/b&gt;&lt;/span&gt; Projenin konfigürasyon dosyasıdır. Yeni aktivite ekleme, servis tanımları ve uygulamaya verilecek haklar gibi birçok önemli tanımlamalar bu dosya ile yapılır.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://androidprogramcisi.blogspot.com/2011/11/proje-olusturma.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQgqQwq0JyFbJPda_OzXJzg0oQbztA3BxS6WVmNUZjvzWu-4n_-AdNUYfos3nulqmMoTkKGX4GnfwWpu3rS3P2VzWh03SEaGhafXL2ZX3B40kovIDCxg_5NsD7ZAOyFwl0dZjGr_1itKi9/s72-c/Proje1-1.PNG" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-2631187937659398242</guid><pubDate>Wed, 23 Nov 2011 11:06:00 +0000</pubDate><atom:updated>2012-03-08T05:53:29.629-08:00</atom:updated><title>Sanal ve Gerçek Aygıtlarla Çalışma</title><description>&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Uygulamaların Sanal Aygıt Üzerinde Çalıştırılması:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Android yüklü cihazımız olmadan da uygulama geliştirebiliriz bunun için sanal aygıt(telefon, tablet, vs…) tanımlamamız gereklidir.&lt;br /&gt;
&lt;i&gt;Başlat/Programlar/Android SDK Tools/AVD Manager&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
ya da&lt;br /&gt;
Eclipse araç çubugunda bulunan &lt;b&gt;Android Virtual Device Manager&lt;/b&gt;&amp;nbsp;butonuna tıklayın.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbhrkpwn0JRoT96294JZdgipIR3CCbvTUelPZz6uiyM9c5uYK_vuqxaUiED80vpRf3K_8IU_GvfZCQMe5FMVXq5JJyH-pXAZgCvcBg-kbWeZ7qTAgtsNu9zhz9M6shqlLUQcXNz7TFWbN8/s1600/AVD+2.1Yeni.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbhrkpwn0JRoT96294JZdgipIR3CCbvTUelPZz6uiyM9c5uYK_vuqxaUiED80vpRf3K_8IU_GvfZCQMe5FMVXq5JJyH-pXAZgCvcBg-kbWeZ7qTAgtsNu9zhz9M6shqlLUQcXNz7TFWbN8/s1600/AVD+2.1Yeni.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
Sanal makine oluştururken dikkat etmemiz gereken birkaç nokta var. Oluşturacağınız projelerin API sürümü oluşturduğunuz sanal aygıtların API sürümüne küçük ya da eşit olmalı.&lt;br /&gt;
&lt;br /&gt;
&lt;b style="background-color: #ffe599;"&gt;Projenin API sürümü &amp;lt;= Aygıtın API sürümü(Target)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Burada oluşturduğum sanal aygıtın sürümü Android &amp;nbsp;2.1 oluşturacağım proje ise Android 1.5 projesi ise&lt;br /&gt;
&lt;br /&gt;
&lt;b style="background-color: #ffe599;"&gt;[ 1.5(Proje) &amp;lt;= 2.1(Aygıt) ] = &lt;span class="Apple-style-span" style="color: #6aa84f;"&gt;Doğru&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #6aa84f;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Bu durumda IDE uygulamayı sanal aygıt üzerinde çalıştıracaktır. Aksi halde hata alırsınız.&lt;br /&gt;
&lt;br /&gt;
Bana kalırsa her bir major numara(&lt;b&gt;MajorNo&lt;/b&gt;.X.X) için bir aygıt oluşturmak en iyisidir. Yani;&lt;br /&gt;
&lt;br /&gt;
Andorid 2.1,&lt;br /&gt;
Andorid 2.2,&lt;br /&gt;
Andorid 2.3&lt;br /&gt;
projeleri için oluşturacağım sanal aygıtın API sürümü Andorid 2.3 olacaktır. Ben bu şekilde çalışıyorum tabii siz her sürüm için ayrı ayrı sanal aygıt tanımlayabilirsiniz. IDE ise projenin sürümüne göre en uygun sanal aygıtı otomatik seçecektir.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Create AVD&lt;/b&gt; diyip pencereyi kapatın. Aygıt listede yerini alacak isterseniz &lt;b&gt;Start &lt;/b&gt;basıp test edebilirsiniz.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;Uygulamaların Gerçek Bir Cihaz Üzerinde Çalıştırılması:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
PC bağlı bir Android cihazınız varsa IDE yukarıdaki kriterleri de göz önünde bulundurarak ve önceliği gerçek cihaza vererek uygulamayı direk cihaza upload edip çalıştıracaktır.&lt;br /&gt;
&lt;br /&gt;</description><link>http://androidprogramcisi.blogspot.com/2011/11/sanal-ve-gercek-aygt-tanmlama.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbhrkpwn0JRoT96294JZdgipIR3CCbvTUelPZz6uiyM9c5uYK_vuqxaUiED80vpRf3K_8IU_GvfZCQMe5FMVXq5JJyH-pXAZgCvcBg-kbWeZ7qTAgtsNu9zhz9M6shqlLUQcXNz7TFWbN8/s72-c/AVD+2.1Yeni.PNG" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3345846067269506411.post-3310622074262058886</guid><pubDate>Sat, 19 Nov 2011 20:44:00 +0000</pubDate><atom:updated>2012-03-08T05:51:16.180-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kurulum</category><title>Kurulum ve Yapılandırma</title><description>Not: Bu makale yazılırken uygulamaların&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Eclipse Galileo = v 3.5&lt;/li&gt;
&lt;li&gt;JDK = 7u1&lt;/li&gt;
&lt;li&gt;Android SDK = r15&lt;/li&gt;
&lt;li&gt;ADT (Android Development Tools) Plugin = 15.0.1&lt;/li&gt;
&lt;/ul&gt;
sürümleri kullanılmıştır.&lt;br /&gt;
&lt;br /&gt;
İhtiyacımız olan uygulamalar şu şekildedir.&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Eclipce IDE&lt;/li&gt;
&lt;li&gt;JDK (Java Development Kit)&lt;/li&gt;
&lt;li&gt;Android SDK&lt;/li&gt;
&lt;li&gt;ADT (Android Development Tools) Plugin&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;1. Eclipse IDE :&lt;/span&gt; &lt;/b&gt;&lt;a href="http://www.eclipse.org/downloads/packages/release/galileo/r"&gt;Şu adresten&lt;/a&gt; &amp;nbsp;Eclipse IDE for Java Developers indiriyoruz tabii siz isterseniz Java EE sürümünü indirebilirsiniz.&lt;br /&gt;
Direk Link : &lt;a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip"&gt;http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
İndirdiğiniz zip dosyasını istediğiniz bir konuma çıkartın.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;2. JDK :&lt;/span&gt;&lt;/b&gt; &lt;a href="http://www.oracle.com/"&gt;http://www.oracle.com&lt;/a&gt; adresinden JDK’yı indirip kurun.&lt;br /&gt;
Direk Link : &lt;a href="http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-windows-i586.exe"&gt;http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-windows-i586.exe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;3. Android SDK :&lt;/span&gt; &lt;/b&gt;&lt;a href="http://developer.android.com/sdk/index.html"&gt;http://developer.android.com/sdk/index.html&lt;/a&gt; adresinden &lt;b&gt;installer_r15-windows.exe&lt;/b&gt; dosyasını indirip kuruyoruz.&lt;br /&gt;
Direk Link : &lt;a href="http://dl.google.com/android/installer_r15-windows.exe"&gt;http://dl.google.com/android/installer_r15-windows.exe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Kurulum bittikten sonra Android SDK Manager açılacak.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig2lc6nBrv80Gko0DrIbgDWbRIWrkf7U9bxcpAxdHDWIQlym6UPfwyyWS6Vz7gxNBqrz-sjC0aLEqXEkIz8ce7C7GFqKOuAAxc9YC-52cjTNGUq8jrpQx8QiPdF5LfMaq7BDoMC6s0VygS/s1600/Android+SDK+Manager+-+01.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="325" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig2lc6nBrv80Gko0DrIbgDWbRIWrkf7U9bxcpAxdHDWIQlym6UPfwyyWS6Vz7gxNBqrz-sjC0aLEqXEkIz8ce7C7GFqKOuAAxc9YC-52cjTNGUq8jrpQx8QiPdF5LfMaq7BDoMC6s0VygS/s400/Android+SDK+Manager+-+01.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
Kurmak istediğimiz API leri seçiyoyuruz. Ben işlem kısa sürmesi için şimdilik Andorid 3.0, Andorid 2.1, Andorid 1.5 ve Extras seçiyorum. Çünkü Google indirme hızını 120kb/s den yukarı çıkarmadığı için tümünü kurmak baya bi zaman alacaktır. Sizde benim gibi yapıp daha sonra bilgisayar boşa çıktığında diğer API'leride kurabilirsiniz. Eğer beklerim diyorsanız hepsini seçin.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="color: #cc0000;"&gt;4. ADT (Android Development Tools) Plugin :&lt;/span&gt;&lt;/b&gt; Eclipse i başlatın. &lt;b&gt;Help &lt;/b&gt;menüsünden &amp;nbsp;&lt;b&gt;Install New Software....&lt;/b&gt; tıklayın. Açılan penceredeki &lt;b&gt;Add…&lt;/b&gt; butonuna tıklayarak &lt;b&gt;Add Site&lt;/b&gt; penceresini açın.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf9Tu8YAIE2yuWrr6sz74pE7zZaeVVeZXb2Fa0vgneV8QXuKv3b1bKi8-rd2FUFNcTjwvwdsXu2vZxWUHZvoTRhARIIzyxQ5qWI1lRfVlgLvCU0v0OELoi_FnfVmEFNEJOdCmo0XIWgco9/s1600/Android+ADT+Plugin+-+01.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf9Tu8YAIE2yuWrr6sz74pE7zZaeVVeZXb2Fa0vgneV8QXuKv3b1bKi8-rd2FUFNcTjwvwdsXu2vZxWUHZvoTRhARIIzyxQ5qWI1lRfVlgLvCU0v0OELoi_FnfVmEFNEJOdCmo0XIWgco9/s400/Android+ADT+Plugin+-+01.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Name &lt;/b&gt;kısmına ADT Plugin yaziyorum &lt;b&gt;Location &lt;/b&gt;kısmınada &lt;b&gt;https://dl-ssl.google.com/android/eclipse/&lt;/b&gt; adresini yazın. (Bağlantı sorunları yaşarsanız &lt;a href="http://dl.google.com/android/ADT-15.0.1.zip"&gt;http://dl.google.com/android/ADT-15.0.1.zip&lt;/a&gt; adresinden eklentiyi indirip &lt;b&gt;Archive...&lt;/b&gt; Tıklayarak paketi gösterin)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQtN-zb_EI_HCvKQNEKn3vAo3QvnGxH1dKWjrP_FFC5slQXHlxz_CXNlB_IoLKRbdcpV7ZxuMtN-4GvgnNNV0ZihdF1fA5bPxhDpolj8JYsKp-HIeLxSDC1sERPdPQlPTljjxk2kYKmGm4/s1600/Android+ADT+Plugin+-+02.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQtN-zb_EI_HCvKQNEKn3vAo3QvnGxH1dKWjrP_FFC5slQXHlxz_CXNlB_IoLKRbdcpV7ZxuMtN-4GvgnNNV0ZihdF1fA5bPxhDpolj8JYsKp-HIeLxSDC1sERPdPQlPTljjxk2kYKmGm4/s400/Android+ADT+Plugin+-+02.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Adresteki paketler listelenecek hepsini seçip kurulum işlemini sonlandırın. Eclipse restart isteyecektir, onaylayın.&lt;br /&gt;
&lt;br /&gt;
Eclipse tekrar açıldığında Android SDK nin nerede kurulu olduğunu göstermemiz gerekli. &lt;b&gt;Window &lt;/b&gt;&amp;gt; &lt;b&gt;Preferences &lt;/b&gt;den &lt;b&gt;Android &lt;/b&gt;i seçip SDK nin yolunu gösterip &lt;b&gt;Apply &lt;/b&gt;düğmesine tıklayın.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGK52AoQ_uSFZ98PD6OCrqzqYFG3-PcYwITsbDjbooecZE1d_QwBTfqt6Imx-E0eisscWNf1_G9mNsvkigbqGxexrVB5pVBPt9FmrqrQdQuhWRZaFq043UfWaQFSt1llFwaGfSVCsOHVAh/s1600/SDK+Preferences.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="343" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGK52AoQ_uSFZ98PD6OCrqzqYFG3-PcYwITsbDjbooecZE1d_QwBTfqt6Imx-E0eisscWNf1_G9mNsvkigbqGxexrVB5pVBPt9FmrqrQdQuhWRZaFq043UfWaQFSt1llFwaGfSVCsOHVAh/s400/SDK+Preferences.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ok &lt;/b&gt;tıklayıp onaylayalım.</description><link>http://androidprogramcisi.blogspot.com/2011/11/kurulum-ve-yaplandrma.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig2lc6nBrv80Gko0DrIbgDWbRIWrkf7U9bxcpAxdHDWIQlym6UPfwyyWS6Vz7gxNBqrz-sjC0aLEqXEkIz8ce7C7GFqKOuAAxc9YC-52cjTNGUq8jrpQx8QiPdF5LfMaq7BDoMC6s0VygS/s72-c/Android+SDK+Manager+-+01.PNG" width="72"/><thr:total>0</thr:total><enclosure length="96861349" type="application/zip" url="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-win32.zip"/></item></channel></rss>