Android Programlama derslerimizin 25. bölümünde sizlerle birlikte basit bir komik sözler gösteren uygulamayı oluşturmayı devam ediyoruz .
Geçen derste uygulamanın görüntüsü oluşturduk. MainActivity.java’yı açın ve aşağıdaki verdiğim kodu girin.
public class MainActivity extends Activity {
int rNumber = 0;
OnClickListener NextQuote;
final String[] cemyilmaz ={“İlahi azrail sen adamı öldürürsün.”,”Sık sık ameliyat olun, içiniz açılır!”,
“Oğlumun adını mafya koydum, artık bende mafya babasıyım…”
,”Yazılıdan sıfır aldım ama, önemli olan katılmaktı…”,”1959’da içilen kahvelerin hatırı doldu, duyurulur.”};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageButton RandomQuote = (ImageButton)findViewById(R.id.random);
final ImageButton next = (ImageButton)findViewById(R.id.next);
final ImageButton BackQuote = (ImageButton)findViewById(R.id.back);
final TextView display = (TextView) findViewById(R.id.textView1);
display.setMovementMethod(new ScrollingMovementMethod());
Random numGen = new Random();
rNumber = numGen.nextInt(5);
display.setText(cemyilmaz[rNumber]);
System.out.println(cemyilmaz.length);
rNumber=rNumber+1;
NextQuote = new OnClickListener(){
public void onClick(View v)
{
if (rNumber > 4)
{
rNumber=0;
display.setText(cemyilmaz[rNumber]);
}
display.setText(cemyilmaz[rNumber]);
rNumber=rNumber+1;
}
};
next.setOnClickListener(NextQuote);
BackQuote.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
rNumber=rNumber-2;
if (rNumber < 0)
{
rNumber=4;
display.setText(cemyilmaz[rNumber]);
}
display.setText(cemyilmaz[rNumber]);
rNumber=rNumber+1;
}
});
RandomQuote.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
Random numGen = new Random();
rNumber = numGen.nextInt(5);
display.setText(cemyilmaz[rNumber]);
rNumber=rNumber+1;
}
});
}
}
Cem Yılmaz’ın komik sözlerini tutmak için bir final String[]cemyilmaz dizi oluşturuyoruz.
int rNumber değişkeni rastgele sayıları içerecek.
final ImageButton RandomQuote = (ImageButton)findViewById(R.id.random);
Yukarıdaki satırı kullanarak butonun id’sini buluyoruz ve RandomQuote değişkenine bağlıyoruz. Aynı şeyi kalan View nesneleri için de yapıyoruz.
display.setMovementMethod(new ScrollingMovementMethod());
Yukarıdaki satırın amacı TextView nesneye kaydırmayı (scroll) bağlıyoruz. Bir satırdan daha fazla içeren sözleri için gereklidir.
Random numGen = new Random();
rNumber = numGen.nextInt(5);
display.setText(cemyilmaz[rNumber]);
İlk satırda numGen değişkene rastgele (Random) tipi koyuyoruz. İkinci satırda beş sayıdan bir rastgele sayı seçiyoruz. Ve üçüncü satırda display TextView’ye cemyilmaz diziden rastgele sayı kullanarak satırı yerleştiriyoruz.
System.out.println(cemyilmaz.length);
Cemyilmaz dizinin boyutunu öğrenmek için yukarıdaki komutu kullandım.
NextQuote = new OnClickListener(){
public void onClick(View v)
{
if (rNumber > 4)
{
rNumber=0;
display.setText(cemyilmaz[rNumber]);
}
display.setText(cemyilmaz[rNumber]);
rNumber=rNumber+1;
}
};
next.setOnClickListener(NextQuote);
Yukarıdaki kod ileri butonunu programlıyor. Butona basıldığı zaman if komutu rNumber değişkenini kontrol ediyor. Eğer değişkenin değeri 4’ten fazla ise değişkeni sıfırlıyor. Bu işlem dizinin son elemanı olup olmadığını kontrol ediyor. Eğer son ise diziyi baştan göstermeye başlıyor. İlerdeki satırı göstermek için rNumber değişkenini artıyoruz (rNumber=rNumber+1;).
BackQuote.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
rNumber=rNumber-2;
if (rNumber < 0)
{
rNumber=4;
display.setText(cemyilmaz[rNumber]);
}
display.setText(cemyilmaz[rNumber]);
rNumber=rNumber+1;
}
});
Yukarıdaki kod geri butonunu programlıyor. İleri butonunun tam tersi işlemi yapıyor. rNumber=rNumber-2; eksi iki çıkarmasının nedeni, ileri butona bastığı zaman artı bir işlemi gerçekleştiğinden kaynaklıyor.
RandomQuote.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
Random numGen = new Random();
rNumber = numGen.nextInt(5);
display.setText(cemyilmaz[rNumber]);
rNumber=rNumber+1;
}
});
Kodun son satırlarda uygulamanın başındaki gibi rastgele bir satırı TextView’e yerleştiriyoruz. Bu derste rastgele sayıları üretmeyi, dizinin boyutunu öğrenmeyi ve TextView’un kaydırma imkanını kullanmayı öğrendik. Hazır olan programı buradan indirebilirsiniz. Gelecek derste ideal kilo hesaplama programı oluşturmayı öğreneceğiz.
Merhaba Ali cumleleri yazarken ozel isaretleri kullaniyorsun ondan sorun yasiyorsun.
final String[] cemyilmaz ={“İlahi azrail sen adamı öldürürsün.”,”Sıksık
ameliyat olun, içiniz açılır!”};
Verdigim formata cumleleri kullanmaya calis.
Istersen main.xml sifirdan olustur ama butonlarin id’leri benim verdigim gibi kullan.Cunku MainActivity.java dosyasinda benim verdigim idleri kullaniliyor.
Sözler 100 lerce olursa nasıl yapılacak. Mesela metin dosyasından stringler nasıl çekilip TextView de yazdırılabilr?
Yardımcı olursanız sevinirim..
Google da uygulama cemyilmaz stringi 101 tane cumle iceriyor.
Random numGen = new Random();
rNumber = numGen.nextInt(101);
display.setText(cemyilmaz[rNumber]);
System.out.println(cemyilmaz.length);
Burada 101 sayidan rastgele sayi aliyor ve o sayi kullanarak textView de stringte denk gelen cumleyi gosteriyor.Sonra programda 100 rakami kullanacaksiniz cunku stringte elemanin indeksi 0 dan basliyor. Stringin boyutu ogrenmek icin System.out.println komutu kullanabilirsiniz. Derste verdigim kodlarda sadece rakami degistireceksiniz ve cumleleri stringe ekleyeceksiniz.
TextView lere paylaş düğmesi nasıl ekleyebiliriz? Twitter, Facebook, Mesajlar vs. gibi. Şimdiden teşekkür ediyorum.
http://stackoverflow.com/questions/8894774/facebook-share-from-android-application
http://blog.kwyps.com/2011/04/android-sharing-text-to-facebook.html
http://stackoverflow.com/questions/13396372/how-to-add-facebook-share-button-in-android-application
Bu linkleri arastirabilirsiniz
merhaba
ben büyük metinlerden oluşan bir uygulama yapmak istiyorum. yazılı metinleri textview ile uygulamaya aktarmayı nasıl yapacağız. adroid:text=”yazıyı buraya yaznca düzensiz ve özensiz oluyor” bu şekilde olmuyor. düzenli alt alta madde madde paragraf paragraf olsun istiyorum. bu şekilde metini textview içine nasıl çekerim. bununla ilgili bi örnek yaparsanız sevinirim. benim yapmak istediim uygulama KPSS uygulamasına benziyor. yardımcı olursanız sevinirim…