Translate

21 Eylül 2013 Cumartesi

Android Programlama(2): Ses ve Resim Dosyası Ekleme

    Merhabalar, uzun bir aradan sonra tekrar birlikteyiz :) bu yazımda android projelerimize ses ve resim dosyaları ekleme konusunda elimden geldiğince birşeyler paylaşmaya çalışacağım.
    Ö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>




-MainActivity.java kod içeriği;

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... :)


12 Temmuz 2013 Cuma

Android Programlama(1): Button ve TextView Kontrolü


    Merhabalar :) , bu yazımda Android programlamaya yeni başlayanlar için basit bir uygulama yapmaya çalıştım. Eclipse ve SDK kurulumuyla giriş yapmıyorum, mâlum kurulumuyla ilgili birçok yazı mevcut, bu aşamayı tamamlamış olan arkadaşların yazımı okumaya devam etmesinde fayda var :)
 
    Öncelikle uygulamamızın ne yapacağından bahsetmek istiyorum. 1 adet textview ve 1 adet buton kontrolümüzle sayfa üzerinde butona her tıklandığında integer olarak oluşturduğumuz değişken değerini 1 arttırarak textview üzerinden göstermeye çalışacağız.

    İlk olarak yeni bir proje oluşturuyoruz.(File->New->Other)


   Android Application Project (->Next)

    Uygulamamıza isim veriyoruz, ardından (->Next)


    (->Next)


    İcon seçme ekranı (->Next)


   ( ->Next) tıklayarak devam ediyoruz.


    (->Finish) tıkladığımızda uygulama dosyamız hazır hale geliyor.


    Uygulamamızın (res->layout->activity_main.xml) dosyasına çift tıklıyoruz ve Graphical Layout pencerisini açıyoruz.Dikkat edilecek olursa sayfamız üzerinde hazır olarak üzerinde "Hello word!" yazan TextView kontrolü gelmektedir. Bu kontrolün text özelliğini değiştirerek devam ediyoruz.


    (src->layout->activity_main.xml) dosyasını seçiyorum. Textview kontrülünün text özelliğini değiştiriyoruz.



    Sayfamızda gerekli olan buton kontrolünü ekleyerek devam ediyoruz.


    Eklediğimiz buton kontrolünün text özelliğini değiştiriyoruz.


    Şimdide (MainActivity.java) dosyasını açarak uygulamamızı gerçekleştirecek olan kodlarımızı OnCreate( ) metodu içerisine yazmaya başlıyoruz.


..uygulamamız için gerekli olan kodlarımız;



package com.example.ilkuygulamaapp;

import android.R.string;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;//Button nesnesine erişim için gerekli kütüphane
import android.widget.TextView;//TextView nesnesine erişim için gerekli kütüphane

public class MainActivity extends Activity {

       Button btn;//buton nesnesi değişkeni oluşturuyoruz
       TextView txt;//textview nesnesi değişkeni oluşturuyoruz
       int i=0;//sayaç değişkenimiz
      
       @Override
       protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
            
             btn=(Button)findViewById(R.id.button1);//Sayfa üzerinde oluşturduğumuz buton nesnesini değişkenimize atıyoruz
             txt=(TextView)findViewById(R.id.textView1);//Sayfa üzerindeki textview nesnesini değişkenimize atıyoruz
            
             btn.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {//butonumuzun tıklanma olayı
                           // TODO Auto-generated method stub
                           txt.setText(String.valueOf(i++));//textview nesnemizin text özelliğini arttırdığımız sayaç değişkenimizle set ediyoruz.
                    }
             });
            
       }

       @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;
       }

}

Bu aşamayıda tamamladıktan sonra şimdi de uygulamamızı deneyelim :)

    Uygulamayı çalıştırmamız için gerekli olan adımları izliyoruz. Sanal bir cihaz oluşturuyoruz.
(Window->Android Virtual Device Manager)



    (->New) cihazımıza isim vererek özelliklerini seçip, (->OK) tıklayarak cihazı oluşturuyoruz.


    Son olarak çalıştırma işlemi için resimde işaretlediğim yeşil butona tıklayarak gelen ekrandan Android Application seçip (->OK) tıklıyoruz.

    Deneme zamanı :)


    Bu yazımında sonuna geldik, elimden geldiğince ayrıntılı bir şekilde anlatmaya çalıştım umarım faydalı olmuştur :)
     
    Bir sonraki yazımda görüşmek üzere, esenlikle kalın.. :)