* Uygulama #1 

  * Uygulama #2

 

UYGULAMA KODU

Main Activite Kodu

Artık uygulama kodunu yazmaya başlayabiliriz. Öncelikle main activite'de bulunan buton'un nasıl davranacağını tanımlayarak başlayalım. Main activitenin .xml layout dosyasını açalım, android:onClick niteliğini buton elemanına ekleyelim.

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:layout_marginTop="18dp"
android:text="Gönder"
android:onClick="MesajiGonder"/>

Ardından src/ dizini içerisinde yer alan Mainactivity java dokümanı açalım ve "MesajiGonder" metodunu programa ekleyelim.

public void MesajiGonder (View view)
{
    // butona basıldığı zaman yapılacak işlemler
}

Yukarıdaki metodun çalışabilmesi için View sınıfının programa eklenmesi gerekir. Bu ise aşağıdaki kod parçasını programın başına eklenerek saağlanır.

import android.view.View;

NOT: Program içerisinde Ctrl + Shift + O tuşlarına basıldığı zaman, unutulmuş bütün sınıfları otomatik olarak programa eklenir.

Örneğimize ikinci aktiviteyi main activiteye dahil ederek devam edelim. Bunun için intent nesnesini kullanacağız.

intent nesnesi activite gibi farklı bileşenleri birbirine bağlamak için kullanılır.

MesajiGonder metodunun içine "DigerActivite"'yi başlatmak için bir intent tanımlayalım.

Intent intent = new Intent(this, DigerActivite.class);

intent nesnesi yeni bir activite başlatmak için kullanıldığı gibi verilerin yeni aktiviteye iletilmesi içinde kullanılır. Biz örneğimizde main activite içerinde bulunan metin alanına yazılmış mesajı diğer activiteye taşıyacağız.

İki aktivite arasındaki metini taşımak için public bir sabit tanımlayalım.

public static final String EKTRA_MESAJ = "com.fpganedir.ders3.MESAJ";

Ardından aşağıdaki kod parçasını programa ekleyelim.

EditText editText = (EditText) findViewById(R.id.editText1);
String message = editText.getText().toString();
intent.putExtra(EKSTRA_MESAJ, message);

Ctrl + Shift + O tuşlarına basalım ve intent ve EditText sınıflarını programa dahil edelim. Yukarıdaki kod parçasını incelersek:, Birinci ifade ile .xml layout dosyasında oluşturmuş olduğumuz metin alanına işaret eden yeni bir EditText nesnesi oluşturduk. İkinci ifade ile message adında bir string oluşturduk ve metin alanındaki mesajı bu string'e kaydettik. Üçüncü ifade ile de intent nesnesinin taşıyacağı verileri belirledik.

Main aktivitede son olarak activiteyi başlatan kodu programa ekleyelim.

startActivity(intent);

Main activitede onCreateOptionsMenu metodunu silelim. Main activitede java programının son hali aşağıdaki gibi olur.

Önemli Uyarı

Java programlarını yazarken özellikle kopyala, yapıştır yöntemini kullanmamaya çalışalım. Çünkü bu şekilde derleyici programın bize göstereceği ip uçları ve yönlendirmelerden faydalanmamış oluruz. Örneğin intent.putExtra metodunu yazarken aşağıdaki gibi yönlendirme ile karşılaşırız. Bu ise hata yapma riskinizi azaltır.

 

DiğerActivity Kodu

Örneğimize DigerActivite'deki java programını yazarak devam edelim. Bunun için src/ dizinindeki DigerActivite java dosyasını açalım. Bu dosyada  onCreateOptionsMenu metodunu kullanmayacağımız için bu metodu silelim.

Eylem çubuğunda (action bar) yukarı özelliğini yönetebilmemiz için programa onOptionsItemSelected() metodunu ekleyeceğiz. Fakat Eylem Çubuğu API'leri yalnız HONEYCOMB (API level 11) ve daha yüksek versiyonlarda  mevcut olduğu için, getActionBar() metodunu kullanıp, mevcut platform versiyonunu kontrol etmemiz gerekir. Ayrıca @SuppressLint("NewApi") tag'ini lint hatasından kaçınmak için onCreate() metoduna ekleyeceğiz.

Lint: bir statik kod analiz aracı olup herhandi bir android projesinde bulunanan kaynak dosyalarını oluşabilecek potansiyel "bug"lara karşı kontrol eder. Ayrıca lint, kaynak dosyalarının doğruluğu, güvenlik, performans, kullanılabilirlği, erişilebilirlik açısındanda da kontrol eder. Biz bu örneğimizde Lint devre dışı bırakacağız.

DigerActivite java kodumuz bu eklemeler ile aşağıdaki gibi olur. (Ctrl + Shift + O tuşlarına basıp, gerekli olan sınıfları programa dahil edelim)

AndroidManifest.xml dosyasını açalım ve içeriğine bakalım. Oluşturulan her activitenin <activity> elementi ile bu dosyada bildirimlrinin yapılması gerekir. Fakat bizim örneğimizde dikkat ederseniz bu bildirimlerin Eclipse programının New sihirbazının otomatik olarak yaptığını göreceksiniz.

Programımıza intent içeriğini okuyarak devam edelim.

.Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EKTRA_MESAJ);

inten içeriğini metin alanında göstermesini sağlayacak olan aşağıdaki kod parçalarını programa ekleyelim.

EditText editText = (EditText) findViewById(R.id.editText1);
editText.setText(message);

Uygulamaya Ses Dosyası Ekleme

Sıradaki işlem DigerActivite'ye ses dosyası ekleme işi olacak. Bunun için Package Explorer penceresinde res/ dizinine sağ tıklayıp açılan menüden New > Folder seçeneğini seçelim.  Açılan New Folder diyalog kutusunda Folder name kısmına raw ismini girelim ve Finish'e basalım.

Artık oluşturduğumuz dosyayı Package Explorer penceresinde görebiliriz. Bilgisayarımızdan bir ses dosyası seçelim ve bu dosyaya kaydedelim.Ses dosya isminin hepsinin küçük harf olmasına ve türkçe karakter ile boşluk içermemesine dikkat edelim.

DigerActivite java dosyasını açalım ve ses efektinin activitye dahil edip, çalmasını sağlayacak olan aşağıdaki kod parçasını programa dahil edelim.

//Yeni bir mediaplayer nesnesi oluştur ve ses dosyası ile bağlantısını yap
MediaPlayer SesEfekti = MediaPlayer.create(DigerActivite.this, R.raw.sleep_away);

//ses efektini başlat
SesEfekti.start();

DigerActivite java kodunun tamamı aşağıdaki gibi olur.

Artık projemizi çalıştırabiliriz. İyi eğlenceler.

1

 

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.