Öncelikle yapacağımız projeden bahsetmek istiyorum. Sayfamız üzerinde 9 adet buton kontrolü ekleyeceğiz, eklediğimiz butonların background özelliğine resim ekleyerek tıklanma olaylarında ses dosyası çalma işlemini gerçekleştireceğiz. Tabiki bu projemize görsellik ve bir konu bağlamamız gerekli, ilgi çekmek lazım :) Şöyle bir süreç takip edeceğiz öncelikle 9 buton arkaplan resimlerini sevdiğiniz hayvan iconlarını seçerek başlayabilirsiniz. Bu seçim için burdan yada bu linkten faydalanabilirsiniz. Arkaplan resimlerimizi de seçtikten sonra herbir icon için .mp3 uzantılı ses dosyalarını bulmaya başlayabiliriz. Amaç hangi hayvan resmine tıklanırsa ona ait sesin kullanıcıya iletilmesi. Sevimli bir uygulama olacağa benziyor, hadi başlayalım :)
Öncelikle yeni bir android projesi oluşturuyoruz. Projemizin bulunduğu workspace dosyasına erişip projemizin res/drawable-hdpi/ dosyası içerisine seçtiğimiz 9 adet iconu ekliyoruz. Eclipse üzerinden projenin res dosyası içerisine New->Folder seçerek raw isminde bir dosya ekliyoruz. Workspace içerisine gelerek projemizin res/raw/ dosyası içerisine 9 adet hayvan seslerini içeren .mp3 uzantılı ses dosyalarını ekliyoruz.
Eclipse tarafına geçerek projemize geçiyoruz. Üst menüden Project->Clean tıklayarak projeye dahil ettiğimiz ses ve resim dosyalarının tanınmasını sağlıyoruz.
-activity_main.xml içeriği;
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/arkaplan" >
<Button
android:id="@+id/btnKoyun"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="5dp"
android:layout_y="35dp"
android:background="@drawable/koyun" />
<Button
android:id="@+id/btnCakal"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="110dp"
android:layout_y="35dp"
android:background="@drawable/cakal" />
<Button
android:id="@+id/btnAslan"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="215dp"
android:layout_y="35dp"
android:background="@drawable/aslan" />
<Button
android:id="@+id/btnEsek"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="5dp"
android:layout_y="155dp"
android:background="@drawable/esek" />
<Button
android:id="@+id/btnInek"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="110dp"
android:layout_y="155dp"
android:background="@drawable/inek" />
<Button
android:id="@+id/btnKedi"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="215dp"
android:layout_y="155dp"
android:background="@drawable/kedi" />
<Button
android:id="@+id/btnKopek"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="5dp"
android:layout_y="270dp"
android:background="@drawable/kopek" />
<Button
android:id="@+id/btnKurt"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="215dp"
android:layout_y="270dp"
android:background="@drawable/kurt" />
<Button
android:id="@+id/btnMaymun"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_x="110dp"
android:layout_y="270dp"
android:background="@drawable/maymun" />
</AbsoluteLayout>
package
com.example.hayvansesleri;
import
android.media.MediaPlayer;
import android.os.Bundle;
import
android.app.Activity;
import android.view.Menu;
import android.view.View;
import
android.widget.Button;
public class MainActivity extends Activity {
MediaPlayer
sesKoyun,sesCakal,sesAslan,sesEsek,sesInek,sesKedi,sesKopek,sesMaymun,sesKurt;
Button
bKoyun,bCakal,bAslan,bEsek,bInek,bKedi,bKopek,bMaymun,bKurt;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sesAslan=MediaPlayer.create(MainActivity.this,R.raw.waslan);//ses dosyasını
MediaPlayer değişkeniyle ilişkilendiriyoruz.
sesCakal=MediaPlayer.create(MainActivity.this,R.raw.wcakal);
sesEsek=MediaPlayer.create(MainActivity.this,R.raw.wesek);
sesInek=MediaPlayer.create(MainActivity.this,R.raw.winek);
sesKedi=MediaPlayer.create(MainActivity.this,R.raw.wkedi);
sesKopek=MediaPlayer.create(MainActivity.this,R.raw.wkopek);
sesKoyun=MediaPlayer.create(MainActivity.this,R.raw.wkoyun);
sesKurt=MediaPlayer.create(MainActivity.this,R.raw.wkurt);
sesMaymun=MediaPlayer.create(MainActivity.this,R.raw.wmaymun);
bAslan=(Button)findViewById(R.id.btnAslan);
bCakal=(Button)findViewById(R.id.btnCakal);
bEsek=(Button)findViewById(R.id.btnEsek);
bInek=(Button)findViewById(R.id.btnInek);
bKedi=(Button)findViewById(R.id.btnKedi);
bKopek=(Button)findViewById(R.id.btnKopek);
bKoyun=(Button)findViewById(R.id.btnKoyun);
bKurt=(Button)findViewById(R.id.btnKurt);
bMaymun=(Button)findViewById(R.id.btnMaymun);
bAslan.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesAslan.start();//Ses dosyasını
başlatıyoruz.
}
});
bCakal.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesCakal.start();
}
});
bEsek.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesEsek.start();
}
});
bInek.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesInek.start();
}
});
bKedi.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesKedi.start();
}
});
bKopek.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesKopek.start();
}
});
bKoyun.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesKoyun.start();
}
});
bKurt.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesKurt.start();
}
});
bMaymun.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated
method stub
sesMaymun.start();
}
});
}
@Override
public boolean
onCreateOptionsMenu(Menu menu) {
// Inflate
the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Projemizi tamamladığımıza göre deneyebiliriz :)
Umarım faydalı bir paylaşım olmuştur. Sonraki paylaşımlarımda görüşmek ümidiyle... :)