" });

Desktop

Chat

Bookmarks

User

Mail

Videos

Contact

Mobile

Archive

Racing

Teknoloji Haberleri

Travel

Kota

Portfolio

Feature

BlueStacks ile Android' i Bilgisayarınızda Kullanın

Android ortamına uygulama geliştiren veya çeşitli uygulamaları bilgisayarında test etmek isteyenler için BlueStacks gerçekten birebir.

Ben bu uygulamayı geliştirdiğim bir oyun için kullanmaktayım ve geliştiricilere kesinlikle öneririm. Eclipse' in kendi emülatörünü veya ADB ile test yerine direk olarak BlueStacks ile test etmenizi öneririm. Gerçekten maksimum 10 saniyede uygulamanız açılıyor. Bunu Eclipse ile nasıl kullanacağınızı birazdan anlatacağım. Öncelikle uygulamamızı edinelim.

BlueStacks uygulamasını edinmek için bu adresi kullanabilirsiniz. Yaklaşık 10 MB civarı bir setup dosyası inecek. Programı yüklediğiniz zaman açtığınızda zaten çok basit olan bir arrayüzle karşılaşacaksınız, bu yüzden uygulamanın kullanımını anlatmaya gerek görmüyorum.

Gelelim geliştiricilerimiz için Eclipse ile uyumlu olarak, emülatör tarzında kullanıma, oyunu direk test olarak kullanacağınız gibi çıktısını aldığınız Apk dosyasını da direk iki kez tıklayarak programla açabiliyorsunuz.


Öncelikle uygulamayı ve Eclipse' i açın ve alttaki görseldeki gibi Eclipse' in DDMS bölmesine gelip Devices kısmından Reset ADB butonuna basın. Bunu yaparak Eclipse' in BlueStacks' i tanımasını sağladık.

Ardından Eclipse üzerindeki Run butonu seçin ve açılan emülatör ekranında emulator-... tarzı görünen seçimi yapın ve çalıştırın. İşte bu kadar. :)

Java ile Android Ortamına Sayı Tahmin Oyunu Yapmak

Java dilini kullanarak çeşitli uygulamalar yapılabilir. Bunların içerisinde en basitlerin birisi ise minik bir Sayı Tahmin Oyunu. Sayı tahmin oyununda amaç ve sistem, hemen hepimizin bildiği gibi sistem tarafından akıldan bir sayı tutulması ve kullanıcının bir kaç yönergeyle bu sayıyı bulması için çaba harcaması. Kaba olarak böyle, ancak tahmin hakkı, süre kısıtlaması vs. gibi eklentilerle uygulama daha da renklendirilebilir. Bunu kendiniz yapabilirsiniz, ben direk olarak uygulamanın temel halini anlatacağım.

UYARI : Uygulamanın son haline ait dosyaları ve kaynağı buradan indirebilirsiniz...


Projemizi açtıysak hemen geçelim...

Öncelikle layout yani arayüz kısmında bulunması gerekenler;

Tıklanması için 2 buton (Birisi yeni oyun ve diğeri de tahmin kontrol butonu),
1 EditText (Kullanıcının tahminlerini girebilmesi için)
1 tane de TextView (Kullanıcıya çeşitli yönergeler ve durumu belirtmek için)

View' ları ekledikten sonra Graphical Layout
hemen hemen böyle olmalıdır.

Oluşturduğumuz View' lara gerekli ID' ler ve değerleri yazdıktan sonra şekildeki gibi bir görünüm elde edebilirsiniz. Bana kalırsa görünümü ayarlaysanız, zor kısım bitmiştir. Çünkü göreceksiniz ki bu uygulamanın kodları gerçekten basit ve anlaşılır olacak. Şimdi kodlarımızda sorun çıkmaması açısından, alttaki ID' leri gerekli butonlara veriniz;


  • (Button) Yeni Oyun Başlat : yeniOyunBaslat 
  • (Button) Tahmin Yap : btnTahmin
  • (EditText) Kullanıcının Sayı Girdiği Boş Text : txtTahmin
  • (TextView) Durum ve yönerge Texti : txtDurum 



Bu ID' leri vermemizin sebebi, biraz sonra kodlardan da anlayacağınız gibi bu objelerin kod tarafından kullanılabilir hale gelmesini sağlamaktır.

Buraya kadar işimiz tamam, test edersek herhangi bir kod olmaması ve sistemin işlememesinden başka bir sorun olmaması gerek. O halde geçelim kodlarımıza. Her kodun açıklaması, alt satırında veya yanında yer almaktadır, bu yüzden teker teker yazı içerisinde açıklamaya gerek duymuyorum. Ancak bahsedeceğim şeyler olacaktır, birazdan...

Import Edilecekler :


/*Burada Kullandığımız View, EditText, TextView ve Button' ları Kod İçerisine Çağırdık*/ import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Button;

Oluşturulan Değişkenler :


public Button tahminYap, yeniOyun;
public EditText tahmin;
public TextView durum;
double bulunacakSayi=0;


Ve son olarak onCreate fonksiyonu. Tüm işlem burada bitiyor aslında.

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

/*Programın başında da çalışabilmesi ve hata almamak açısından bulunacakSayi yani sistemin akıldan tuttuğu sayıyı oluşturduk.*/
bulunacakSayi = Math.ceil(Math.random()*100);

/*Hatırlarsanız ID' leri tanımlamıştık. O ID' leri kullanarak View' lara ulaştık.*/
tahminYap = (Button)findViewById(R.id.btnTahmin);
yeniOyun = (Button)findViewById(R.id.yeniOyunBaslat);
tahmin = (EditText)findViewById(R.id.txtTahmin);
durum = (TextView)findViewById(R.id.txtDurum);

/*Tahmin butonuna tıklanması için gerekli fonksiyonumuz.*/
tahminYap.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

/*Kullanıcının tahminini bulunduran veriyi önce String, ardından double veri türüne dönüştürerek sayıyı kontrol edebiliriz.*/
double yapilanTahmin = Double.parseDouble(tahmin.getText().toString());

/*Kullanıcı tahmini ve sistemin tuttuğu sayıya göre oluşacak durumları değerlendirerek, durum içeriğine yazdırdık.*/
if(yapilanTahmin > bulunacakSayi)
{
durum.setText("Biraz daha alçak bir sayı girmelisiniz.");
}
if(yapilanTahmin < bulunacakSayi)
{
durum.setText("Biraz daha yüksek bir sayı girmelisiniz.");
}
if(yapilanTahmin == bulunacakSayi)
{
durum.setText("Tebrikler, doğru tahmin.");
}
}
});

/*Yeni Oyun butonuna tıklanabilirlik işlemini kazandırdık.*/
yeniOyun.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

/*Sistemin tuttuğu sayıyı yenileyerek oyunu yeniden başlattık ve durum içeriğine bilgiyi yazdırdık.*/
bulunacakSayi = Math.ceil(Math.random()*100);
durum.setText("Yeni bir oyun başlattınız. 100 ile 1 arasındaki değeri bulunuz.");
}
});
}

Evet, kodları test ettiğinizde, sistemin alttaki gibi çalıştığını göreceksiniz eğer bir yerde hata yapmadıysanız.
Bir kaç kodu açıklama ihtiyacı hissettim, öncelikle Math.ceil(); ve Math.random(); kodlarına bakacak olursak, Math.ceil(); sayıyı en yakına yuvarlarken, random 0 ile 1 arasında rastgele bir sayı oluşturur. 100 ile çarpmamızın ve yuvarlamamızın nedeni sayının küsüratlı çıkmasını engellemek ve 0 ile 100 arasında yer almasını sağlamak. 100 yerine farklı bir değer girerseniz, tahmin edilmesi gereken random sayı girdiğiniz değer ile 0 arasında olacaktır.

setText ve getText metodlarına bakacak olursak. setText() bir String değeri verirken, yazı yazı yazdırırken, getText() yazılan yazıyı çeker.



Uygulamaya Ait Bir Fotoğraf :



Select Menu