Android Uygulamalarımıza Ses ve Resim Dosyası Nasıl Eklenir?
Mobil Android uygulamalarının kesinlikle sahip olması gereken iki şey vardır. Bunlar resim ve ses eklentileridir. Yaptığımız uygulamanın sağlam kodlanması kadar doğru ve kişinin zevklerine hitap eden resim ve ses dosyalarının olması da önemlidir. Bu yazımızda en basit şekilde Android uygulamalarına en basit yoldan bu dosyaların nasıl ekleneceğinden bahsedeceğiz.
25.11.2014 tarihli yazı 14301 kez okunmuştur.
Bu yazımızda "Android uygulamamıza resim ve ses dosyası nasıl eklenir?" ve "Eklediğimiz ses dosyası uygulama çalıştırıldığında nasıl oynatılır?" sorularına cevap arayacağız. Uygulamamızda bir tane butonumuz olacak. Butona bastığımızda başka bir sayfaya geçip o sayfanın background kısmını kendi eklediğimiz resim olarak ayarlayıp eklediğimiz ses dosyasının oynatılmasını sağlayacağız.
Şimdi projemize bakacak olursak öncelikle main.xml içine bir tane buton atıyoruz ve ekran görüntümüz aşağıdaki resimde görüldüğü gibi oluyor.
Şimdi projemize bakacak olursak öncelikle main.xml içine bir tane buton atıyoruz ve ekran görüntümüz aşağıdaki resimde görüldüğü gibi oluyor.
Butonumuzu ekledikten sonra artık MyActivity.java sınıfımızın içine önce butonumuzu tanıtıp daha sonra tıklama olayını ekliyoruz. Tıkladıktan sonra ise Intent ile diğer sayfaya geçmesini sağlıyoruz. Activity sınıfımızın kodlanmış hali Görsel 2'deki gibidir.
Görsel 2: MyActivity.java Sınıfı
Şimdi adım adım buradaki kod satırlarını inceleyelim. Aslında burada önemli olan Intent kavramıdır. Çünkü bu kavram ile biz diğer sayfaya geçiş sağlıyoruz. Büyük projeler yapılırken elbet ikinci bir sayfaya ihtiyaç duyarız ve bunu ya Intent ile ya da Bundle kavramıyla yaparız. İleriki yazılarımızda Bundle ile Intent arasındaki farklardan da bahsedeceğiz.
Görsel 3: Intent Kullanımı
Görsel 3'te görüldüğü üzere MyActivity sınıfında butonumuzu tanıttıktan sonra bu butona tıklama özelliğini ekliyoruz. Bu özelliği setOnClickListener metodu ile yapıyoruz. Yazımızda daha önce belirttiğimiz gibi burada asıl olan Intent kavramıdır. Diger.java sınıfına geçiş yapabilmek için öncelikle Intent ile bir nesne oluşturuyoruz ve iki parametre gönderiyoruz.
getApplicationContext() ve Diger.class parametrelerin anlamı çok basittir. İlk parametre hangi sınıftan gidileceğini belirtir. İkinci parametre ise hangi sınıfa gidileceği anlamını taşır. Yani MyActivity sınıfından Diger sınıfımıza geçiş yapılmasını sağlıyoruz. Bu noktada bir alternatif olarak getApplicationContext() parametresinin yerine this parametresi de yollayabiliriz, kodumuz sorunsuz çalışacaktır. Daha sonra startActivity(intent) satırı ile de sayfa geçiş olayımızı başlatıyoruz.
getApplicationContext() ve Diger.class parametrelerin anlamı çok basittir. İlk parametre hangi sınıftan gidileceğini belirtir. İkinci parametre ise hangi sınıfa gidileceği anlamını taşır. Yani MyActivity sınıfından Diger sınıfımıza geçiş yapılmasını sağlıyoruz. Bu noktada bir alternatif olarak getApplicationContext() parametresinin yerine this parametresi de yollayabiliriz, kodumuz sorunsuz çalışacaktır. Daha sonra startActivity(intent) satırı ile de sayfa geçiş olayımızı başlatıyoruz.
MyActivity.java sınıfımızın içine yazacağımız kodları tamamladıktan sonra şimdi Diger.java sınıfımızın bağlı olduğu xml dosyamızı yani diger.xml içini inceleyelim.
Burada eklediğimiz tek satır android:background=”@drawable/imagess” satırıdır. Bu satırda biz ikinci sayfamıza arka plan resmi olarak, bilgisayarımızda hazır bulunan "imagess" resmini kullandık. Fakat bu adımdan önce resmimizi projemizin bulunduğu dizine girerek res klasörü altındaki drawable dosyamıza atıyoruz daha sonra bu satırı ekliyoruz. Eğer resmi drawable dosyamıza atmadan XML içine bu satırı yazarsak hata alacağız. XML file’ımızı Görsel 4'deki gibi yaptıktan sonra resmimiz cihazımıza kendiliğinden aşağıda şekildeki gibi eklenecektir.
Görsel 5: Uygulamamıza Resim Eklenmiş Görüntüsü
XML dosyamızı ayarladıktan sonra son işlem olarak Diger.java sınıfımıza geçildiği an bir ses dosyası çalmasını sağlamak kaldı. MediaPlayer kullanımı ile ilgili görseli aşağıda bulabilirsiniz.
Görsel 6: MediaPlayer Kullanımı
Ses dosyasını oynatabilmemiz için öncelikle MediaPlayer‘dan bir "mp" nesnesi türettik ve MediaPlayer.create(getApplicationContext(),R.raw.mesaj); satırını ekledik. İlk parametre hangi sınıfta kodlama yaptığımızı belirtmektedir. Daha öncede belirttiğimiz gibi buraya this yada sınıfımızın adı olan Diger.java’da yazabiliriz. Diğer parametre ise ses dosyasının yolunu belirtir. Eklemeyi düşündüğünüz sesi projenin olduğu dizinde res klasörü içindeki raw klasörü içine atıyoruz. Bu aşamayı yaptığımız zaman ses dosyası artık eklenmiş olacaktır. Son olarak eklenilen sesi çalmak için MediaPlayer’ı başlatmamız gerekiyor. MediaPlayer başlatma işlemini mp.start(); satırını kodumuza ekleyerek gerçekleştirebiliriz.
ÖNEMLİ NOT: En çok unutulan kısım, sayfa olarak kullandığımız her sınıfı tanıtmamız gerektiğidir. Intent ile bir sayfadan başka bir sayfaya geçiş yapıyorsak Manifest.xml dosyamızın içine sayfa tanıtımını yapmamız gerekir. Bunu yapmazsak proje durduruldu hatası alırız. Manifest dosyamızın görüntüsünü Görsel 7'deki gibi yapıyoruz.
ÖNEMLİ NOT: En çok unutulan kısım, sayfa olarak kullandığımız her sınıfı tanıtmamız gerektiğidir. Intent ile bir sayfadan başka bir sayfaya geçiş yapıyorsak Manifest.xml dosyamızın içine sayfa tanıtımını yapmamız gerekir. Bunu yapmazsak proje durduruldu hatası alırız. Manifest dosyamızın görüntüsünü Görsel 7'deki gibi yapıyoruz.
Görsel 7: Manifest.xml File Yapısı
►İlginizi Çekebilir : Google I/O 2014'de Yeni Android Sürümü ve
Daha Birçok Teknoloji Tanıtıldı
Kırmızı daire içine alınmış satırları kodumuza ekledik. Burada .Diger sınıfımızın adını belirtiyor. Sınıfın önüne koymuş olduğumuz nokta ise paket ismini temsil ediyor. Sınıfın önüne paketin adını yazmamız da bir sorun oluşturmayacaktır.
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
- Röle ve Trafo Merkezi Testlerinin Temelleri | Webinar
- Chint Elektrik Temel DIN Ray Ürünleri Tanıtımı
- Sigma Termik Manyetik Şalterler ile Elektrik Devrelerinde Koruma
- Elektrik Panoları ve Üretim Teknikleri
- Teknik Servis | Megger Türkiye
ANKET