AndroidManifest.xml dosyası ve Aktiviteler :MobileCoder I MobileCoder.NET I Mobil Programlama I Android Programlama I Mobil Geliştiricilerin Buluşma Noktası I www.MobileCoder.Net

AndroidManifest.xml dosyası ve Aktiviteler

02.04.2015 tarihinde Diğer kategorisine eklenmiş, 550 views Kişi Okumuş ve 0 Yorum Yapılmış.

AndroidManifest.xml dosyası, herhangi bir Android projesinin olmazsa olmaz dosyasıdır. Bu dosya xmlformatında oluşturulduğu için hem makina hem de insan tarafından okunabilir. Ayrıca Android Geliştirme Ortamı – ADT’nin sağladığı özelliklerle birlikte, görsel arayüzü ile uygulamalarınızda istediğiniz değişiklikleri kolayca yapabilmenizi sağlayan bir yapıya da bürünmüştür.

AndroidManifest.xml dosyası android uygulamalarının hepsinde bulunması zorunlu olan çok önemli bir dosyadır. Bu dosya android uygulamasının root klasöründe bulunur ve uygulamanın çalışabilmesi için mutlaka dosya adınınAndroidManifest.xml şeklinde olması gerekir.  Manifest dosyası temel olarak uygulama ile ilgili önemli bilgileri barındırır. Android programı çalışırken kendisini oluşturan elemanlar arası iletişimi bu dosya üzerinden sağlar.
AndroidManifest.xml dosyası üzerinden uygulamanın cihaz üzerinde erişebileceği kaynaklar(internet erişimi, konum bilgisi ve klasörlere erişim gibi) belirlenir.

 

Bir android programı yazılırken, kullanıcların göreceği ekranlar(User Interfaces) aynı flash animasyonlarda her sahne için ayrı bir frame’in oluşturulması gibi ayrı ayrı layout.xml(ismin bu olması şart değil) dosyaları oluşturulur. Bu layout.xml dosyaları activity olarak AndroidManifest.xml sayfasında birbirlerine bağlanırlar. Esasen program için üretilen Java kodları layout.xml dosyasına, bu dosyalar da AndroidManifest.xml dosyasına bağlanır. Bu açıdan manifest dosyası için android programının omurgasını oluşturur diyebiliriz.
AndroidManifest.xml dosyasının genel yapısı aşağıdaki gibidir:
{sourcecode language=”plain”}
<?xml version=”1.0″ encoding=”utf-8″?>

<manifest>

<uses-permission />
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<compatible-screens />
<supports-gl-texture />

<application>

<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>

<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>

<service>
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>

<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>

<provider>
<grant-uri-permission />
<meta-data />
<path-permission />
</provider>

<uses-library />

</application>

</manifest>

{/sourcecode}

androidmanifest2

Yukarıdaki resimde göreceğiniz gibi AndroidManifest.xml dosyası 5 farklı sekmeye ayrılmıştır.Peki bunlarla neler yapabiliriz?

Manifest: Manifest sekmesinde uygulamamızın paket adı, versiyon numaraları dahil başlıca özellikleri değiştirebiliyoruz. Hemen altında yer alan “Manifest Extras” bölümünde ise, uygulamamızda yer alacak kütüphaneler, kullanılabilecek ekran boyutları gibi bazı temel özellikler de eklenebilir. Örneğin, burada yer alan Uses Sdk seçeneği ile uygulamamızın çalışmasını istediğimiz minimum SDK sürümü ve hedeflediğimiz ana SDK sürümünü seçebiliyoruz.

Application

Application sekmesinde uygulamamızın temel değişkenlerini ayarlayabiliyoruz. Uygulamanın tema, simge, logo, açıklama ve gereken izinler gibi özelliklerini buradan ayarlayabileceğimiz gibi çoğu zaman kodlama gerektirecek donanım hızlandırma, kullanıcı alanının yönetimi, yedekleme (backup) gibi bazı özellikler için de görsel arayüzü kullanabiliyoruz. Örneğin, aşağıdaki ekran görüntüsünde görebileceğiniz gibi Hardware accelerated (Donanım hızlandırma) = true şeklinde ayarladığımız uygulama, artık bu özelliğe sahip oluyor. Kod çıktısını ise AndroidManifest.xml sekmesinde gözlemleyebiliriz:

Application sekmesinde donanım hızlandırmayı görsel arayüzden etkin duruma getirdik.

manifestapplication

 

Instrumentation

Instrumentation sekmesinde uygulamanıza ek “enstrümanlar” ekleyebilirsiniz. Enstrümanlar, uygulamanızın çalıştığı süreçten (process) ayrı olarak uygulamanızla ilgili testleri yerine getiren, onun yaşam döngüsüne karışan ve onu takip eden Android bileşenleridir. Daha çok fonksiyonel testler yazdığınızda burayı kullanacaksınız.

manifestinsturment3

AndroidManifest.xmlTüm bu yukarıda saydığımız bileşenlerin kodda görüntülendiği ortam AndroidManifest.xml’dir. Burada isterseniz görsel arayüzde yaptığınız değişikliklerin yansımalarını görebilirsiniz, isterseniz de hiç görsel arayüze bulaşmadan doğrudan xml kodu da yazabilirsiniz:manifestxml4

AndroidManifest.xml dosyasında genel olarak aşağıdaki tanımlar yapılır

  • Activity sınıfları
  • Uygulama başladığında açılması gereken Activity sınıfı tanımı
  • Uygulama çalışması için verilmesi gereken izinler
    • Mesela internet erişimi için uygulamaya internet erişim izni verilmelidir
  • Versiyon ayarları

 {sourcecode language=”plain”}

<?xml version=”1.0″ encoding=”utf-8″?>

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”

package=”com.example.deneme”

android:versionCode=”1″

android:versionName=”1.0″ >

 

<uses-sdk

android:minSdkVersion=”8″

android:targetSdkVersion=”18″ />

 

<application

android:allowBackup=”true”

android:icon=”@drawable/ic_launcher”

android:label=”@string/app_name”

android:theme=”@style/AppTheme” >

<activity

android:name=”com.example.deneme.MainActivity”

android:label=”@string/app_name” >

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

 

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

</application>

 

</manifest>

{/sourcecode}

Şimdi bu elemanların özelliklerini inceleyelim.
Package Tanımı : Java dosyalarının bulunduğu package tanımı bu özellik ile yapılır . Uygulamamızı android market e koyacaksak unique bir isim vermeliyiz. Genelde domain ismi kullanmak bu problemi ortadan kaldırır

versionCode ve versionName kavramları:Uygulamamızın hangi versiyonda olduğunu belirtir. Versiyonname bilgisine herhangi bir string verebiliriz

action android:name=“android.intent.action.MAIN”Uygulama başladığında çalışacak Activiy tanımı burada yapılır

android:icon:uygulamanın icon dosyası

android:label:telefon üzerinde görünen uygulamanın adıdır.

ANDROİD AKTİVİTELER

Aktivite kullanıcıların bir işlem yapmak için kullandığı ekran oluşturan bir uygulama bileşenidir. Bu işlemler telefon çevirme, fotoğraf çekme, e-mail gönderme gibi faaliyetleri içerir. Her aktivite aslında genellikle ekranı dolduran ve diğer pencerelerin üzerinde olan bir penceredir.

Bir uygulama birbiriyle bağlantılı birden fazla aktiviteden oluşur. Uygulama içindeki bir aktivite ana (main) aktivite olarak tanımlanır ve uygulama ilk çalıştırıldığında kullanıcı bu ekranı görür. Her aktivite farklı işlemler gerçekleştirmek için bir diğeri aktiviteyi çağırabilir. Yeni bir aktivite çalıştığında, önceki aktivite durdurulur, ancak sistem tarafından stack adı verilen bellek biriminde tutulur.

Yeni çalıştırılan bir aktivite nedeniyle bir aktivite durdurulduğunda, bu durum değişikliği aktivitelerin yaşam döngüsü metotları tarafından aktiviteye bildirilir. Durumundaki değişikliklere bağlı olarak, aktivitelerin alabileceği bir kaç metod vardır. Sistem aktiviteleri oluşturarak, durdurarak, tekrar başlatarak veya yok ederek gerçekleştirdiği durum değişikliklerinde, duruma uygun olarak özel işlemlerin yapılabilmesine olanak sağlar. Örneğin, durdurulduğunda, bir aktivite ağ ve veritabanı gibi büyük nesneleri serbest bırakmalıdır. Aktivite devam ettiğinde, gerekli kaynaklar tekrar elde edilir ve işlemler devam eder.

Aktivite Oluşturma

Bir aktivite oluşturmak için, Activity sınıfından veya bu sınıftan türetilmiş bir sınıftan bir alt sınıf türetmeniz gerekir. Oluşturduğunuz sınıf içinde, bir aktivite oluşturulduğunda, durdurulduğunda, devam ettiğinde veya yok edildiğinde yaşam döngüsündeki farklı durumlar arasında bir aktivitenin yaptığı geçişler esnasında sistem tarafından çağrılan geri çağrı metotlarının kod kısımlarını oluşturmanız gerekir.

En önemli geri çağrı metotları:

onCreate()

Bir aktivite oluşturulduğunda çağrılan bu metodun kodlarını yazmanız gerekir. Kodlar içinde, aktivitenizin önemli bileşenlerini başlatmanız gerekir. Daha da önemlisi, setContentView() fonksiyonunu çağırarak aktivite kullanıcı arabirimini oluşturmanız gerekir.

onPause()

Kullanıcı bir aktiviteyi kullanmayı bıraktığında, sistem bu metodu çağırır. Burada, yapmanız gereken değişiklikleri uygulamanız gerekir.

Kullanıcı arayüzü oluşturma

Bir aktivitenin kullanıcı arayüzü View sınıfından türetilen nesneler tarafından sağlanır. Her bir view kontrolü aktivite penceresi içinde belirli bir dikdörtgen alanı kontrol eder ve kullanıcı işlemlerine karşılık cevap verir. Örneğin, kullanıcı tıkladığında belirli bir işlem yapan bir buton bir view’dır.

Android, program arayüzünü oluşturmak için kullanabileceğiniz bir çok hazır view sağlar. Widget‘lar ekran için görsel ve interaktif özelliği olan buton, metin alanı, checkbox gibi view’lardır. Ekran görüntüsü (layout) ViewGroup sınıfından türetilen ve çocuk view’ları için linear, grid veya relative görüntü gibi benzersiz bir görüntü sağlayan view’lardır. Aynı zamanda, kendi widget ve görüntülerinizi oluşturmak ve aktivite ekranınıza uygulamak için View ve ViewGroup sınıflarından veya mevcut alt sınıflarından yeni sınıflar türetebilirsiniz.

View’lar kullanarak görünüm tanımlamanın en yaygın yöntemi uygulama kaynakları arasına kaydedilen XML görüntü dosyası kullanmaktır. Bu yöntemle, programın kullanıcı arayüzünü aktivitedeki işlemleri yönlendiren kaynak kodlarından bağımsız olarak tanımlamış olursunuz. Aktiviteniz için kullanıcı arayüzünün görüntüsünü kaynak ID’sini setContentView() metodu ile kullanarak ayarlayabilirsiniz.

Manifest dosyasında aktivite bildirimi

Sistem tarafından giriş yapılabilmesi için, aktivitenizin bildirimini manifest dosyasında yapmanız gerekir. Aktivitenin bildirimini yapmak için manifest dosyasını açın ve <application> elemanının alt elemanı olarak bir <activity> elemanı ekleyin:

{sourcecode language=”plain”}

<manifest … >

<application … >

<activity android:name=”.ExampleActivity”/>

</application … >

{/sourcecode}

</manifest>

Bu eleman içine eklenebilecek aktivite adı, ikonu ve arayüzü gibi bir kaç tane özellik daha vardır. Burada, mutlaka tanımlanması gereken tek özellik aktivitenin sınıf adını gösteren android:name özelliğidir. Uygulamanızı yayınladıktan sonra, bazı işlemler devre dışı kalacağından, bu adı değiştirmemeniz gerekir.

Intent filtrelerini kullanma

<activity> elemanı, diğer uygulamalara ait bileşenlerin çalıştırma yöntemlerini belirlemek için <intent-filter> elamanını kullanarak farklı intent filtreleri tanımlayabilir.

Android SDK aracını kullanarak yeni bir uygulama oluşturduğunuzda, otomatik olarak oluşturulan aktivite, ana işleme karşılık veren bir aktivite bildirimini yapan velauncher kategorisine yerleştirilmesi gereken bir intent filtre içerir:

{sourcecode language=”plain”}

<activity android:name=”.ExampleActivity” android:icon=”@drawable/app_icon”>

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

{/sourcecode}

<action> elemanı burasının uygulamanın ana girişi olduğunu gösterir. <category> elemanı bu aktivitenin kullanıcıların bu aktiviteyi çalıştırması için sistem uygulama başlatıcısında listelenmesi gerektiğini gösterir.

Eğer uygulamanızda yer alan aktivitelerin diğer uygulamalar tarafından çalıştırılmasını istemiyorsanız, yukarıda gösterilenler dışında intent filtre tanımlamanıza gerek yoktur.

Aktivitenin başlatılması

startActivity() metoduna başlatmak istediğiniz aktiviteyi gösteren bir Intent nesnesini parametre olarak geçirerek bir aktiviteyi başlatabilirsiniz. Intent nesnesi başlatmak istediğiniz aktiviteyi veya gerçekleştirmek istediğiniz işlemi tanımlar. Sistem diğer uygulamalar içinde de olsa uygun olan aktiviteyi bulur ve başlatır.

Kendi programınız içinde, bir aktiviteden diğer bir aktiviteyi çağırmak için aşağıdaki komut satırlarını kullanabilirsiniz:

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

startActivity(intent);

Uygulamalar, bir aktivite içinde yer alan verileri kullanarak bir eposta göndermek gibi bir işlem yapmak istediğinde, android cihaz içinde yer alan diğer uygulamalarda bulunan aktiviteleri kullanarak bu işlemi gerçekleştirir. Bu durumda uygulama sadece yapmak istediği işlemi gösteren bir Intent oluşturur ve sisteme bildirir. Sistem bu işlemi yapacak uygun aktiviteyi çalıştırır. Eğer aynı işlemi yapabilecek birden fazla aktivite varsa, kullanılacak olan aktiviteyi kullanıcı belirler. Aşağıdaki satırlar kullanıcının bir eposta göndermesini sağlar:

Intent intent = new Intent(Intent.ACTION_SEND);

intent.putExtra(Intent.EXTRA_EMAIL, recipientArray); /* epostanın gideceği adres */

startActivity(intent);

Aktivitenin sonuç elde edecek şekilde başlatılması

Bir aktiviteyi sonuç alacak şekilde başlatmak için startActivityForResult() metodu, başlatılan aktiviteden elde edilen sonuçları elde etmek ve işlem yapmak için ise, onActivityResult() metodu kullanılır.

Aktiviteyi kapatma

Bir aktivitenin finish() metodunu kullanarak aktiviteyi kapatabilirsiniz. Daha önceden başlatmış olduğunuz bir aktiviteyi kapatmak için de finishActivity() fonksiyonunu kullanabilirsiniz.

ANDROİD PROGRAMINA AKTİVİTE EKLEME

1.    Araç çubuğunda New butonuna tıklayın:

1

 

1.    Karşınıza gelen pencerede Android Activity seçeneğini seçin ve Next butonuna tıklayın:

 

2

 

4.Karşınıza gelen pencerede Blank Activity seçeneği seçili iken Next butonuna tıklayın

3

 

 5.   Karşınıza gelen penceredeki değerleri aşağıdaki tabloya göre doldurun ve Finish butonuna tıklayınız

 

 

 

5

 

Bu durumda, Eclipse IDE aşağıdaki resimde gösterilen SadeActivity.java ve activity_sade.xml adlı 2 adet dosyayı otomatik olarak oluşturur ve projenize dahil eder:

aktivek006

Ayrıca, AndroidManifest.xml dosyasına yeni oluşturulan aktivite ile ilgili bilgileri ekler.

Android projenize eklediğiniz her yeni aktivite için aşağıdaki 3 işlem mutlaka uygulanmalıdır:

  1. Kaynak kod dosyasının oluşturulması(SadeActivity.java)
  2. Ekran görüntü dosyasının oluşturulması(activity_sade.xml)
  3. AndroidManifest.xmldosya içeriğinin değiştirilmesi

Oluşturulan dosyalar ile AndroidManifest.xml dosyası içeriği aşağıdaki gösterildiği gibidir:

SadeActivity.java

{sourcecode language=”plain”}

package com.example.multiactivityprog;

 

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.MenuItem;

import android.support.v4.app.NavUtils;

 

public class SadeActivity extends Activity {

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_sade);

getActionBar().setDisplayHomeAsUpEnabled(true);

}

 

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_sade, menu);

return true;

}

 

 

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case android.R.id.home:

NavUtils.navigateUpFromSameTask(this);

return true;

}

return super.onOptionsItemSelected(item);

}

 

}

{/sourcecode}

activity_sade.xml

{sourcecode language=”plain”}

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”

xmlns:tools=”http://schemas.android.com/tools”

android:layout_width=”match_parent”

android:layout_height=”match_parent” >

 

<TextView

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_centerHorizontal=”true”

android:layout_centerVertical=”true”

android:text=”@string/hello_world”

tools:context=”.SadeActivity” />

 

</RelativeLayout>

{/sourcecode}

AndroidManifest.xml

{sourcecode language=”plain”}

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”

package=”com.example.multiactivityprog”

android:versionCode=”1″

android:versionName=”1.0″ >

 

<uses-sdk

android:minSdkVersion=”8″

android:targetSdkVersion=”15″ />

 

<application

android:icon=”@drawable/ic_launcher”

android:label=”@string/app_name”

android:theme=”@style/AppTheme” >

<activity

android:name=”.MainActivity”

android:label=”@string/title_activity_main” >

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

<activity

            android:name=”.SadeActivity”

            android:label=”@string/title_activity_sade” >

            <meta-data

                android:name=”android.support.PARENT_ACTIVITY”

                android:value=”com.example.multiactivityprog.MainActivity” />

        </activity>

</application>

 

</manifest>

{/sourcecode}

Metinlerin düzenlenmesi

Ekranda gösterilen metinleri değiştirmek için aşağıda gösterilen dosyalarda gerekli düzenlemeleri yapalım:

strings.xml

Turuncu ile gösterilen satırı silin, yeşil renkle gösterilen satırı ekleyin:

{sourcecode language=”plain”}

<resources>

 

<string name=”app_name”>MultiActivity Prog</string>

<string name=”menu_settings”>Settings</string>

<string name=”title_activity_main”>MainActivity</string>

<string name=”hello_world”>Hello world!</string>

<string name=”str_altaktivite”>Alt aktivite ekranı</string>

<string name=”title_activity_sade”>Sade Activity</string>>

 

</resources>

{/sourcecode}

activity_sade.xml

Dosyada hello_world yerine str_altaktivite yazın:

{sourcecode language=”plain”}

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”

xmlns:tools=”http://schemas.android.com/tools”

android:layout_width=”match_parent”

android:layout_height=”match_parent” >

 

<TextView

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_centerHorizontal=”true”

android:layout_centerVertical=”true”

android:text=”@string/str_altaktivite

tools:context=”.SadeActivity” />

 

</RelativeLayout>

{/sourcecode}

 

Ana aktiviteye geçiş butonu ekleme

Şimdi, activity_main.xml içinde bir buton tanımlaması, strings.xml içinde butonda kullanılacak metin tanımlaması yapalım:

activity_main.xml

{sourcecode language=”plain”}

<Button

android:id=”@+id/button_show”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_centerVertical=”true”

android:layout_centerHorizontal=”true”

android:text=”@string/button_showstr”

android:onClick=”showActivity”/>

{/sourcecode}

strings.xml

{sourcecode language=”plain”}

<resources>

 

<string name=”app_name”>MultiActivity Prog</string>

<string name=”menu_settings”>Settings</string>

<string name=”title_activity_main”>MainActivity</string>

<string name=”str_altaktivite”>Alt aktivite ekranı</string>

<string name=”button_showstr”>Aktivite göster</string>

<string name=”title_activity_sade”>Sade Activity</string>>

 

</resources>

{/sourcecode}

Buton metodunu oluşturma

Ana aktivite ekranına yerleştirdiğimiz butona tıkladığımızda yapacağı işlemi tanımlamak için showActivity metodunda yer alacak kodları MainActivity.javadosyasındaki MainActivity sınıfı içine ekleyebiliriz:

public void showActivity(View view) {       

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

    startActivity(intent);

}

Bir aktiviteye geçiş yapmak için Intent nesnesi kullanılır. Burada, intent nesnesi tanımlanırken başlatılmak istenen aktivite açıkça belirtilmiştir (SadeActivity.class). Bu tür kullanımlar intent’lerin direk kullanımı olarak tanımlanır. Intent kullanırken hedefin açıkça belirtilmediği durumlarda ise Android yüklü cihazda yüklü olan ve kullanıcının talebini karşılayacak tüm programlar bu çağrıya cevap vermek üzere kullanıcıya sunulur. Kullanıcı bunlardan dilediğini seçer ve kullanır.

Eclipse IDE ortamında, Ctrl + Shift + O tuş bileşimine basarak yeni kodlar için ihtiyaç duyulan aşağıdaki sınıfları MainActivity.java dosyasına dahil edin:

import android.content.Intent;

import android.view.View;

Program dosyalarının son durumu

Program yer alan dosyaların son durumu aşağıda gösterildiği gibi olacaktır:

AndroidManifest.xml

{sourcecode language=”plain”}

<manifest xmlns:android=”http://schemas.android.com/apk/res/android”

package=”com.example.multiactivityprog”

android:versionCode=”1″

android:versionName=”1.0″ >

 

<uses-sdk

android:minSdkVersion=”8″

android:targetSdkVersion=”15″ />

 

<application

android:icon=”@drawable/ic_launcher”

android:label=”@string/app_name”

android:theme=”@style/AppTheme” >

<activity

android:name=”.MainActivity”

android:label=”@string/title_activity_main” >

<intent-filter>

<action android:name=”android.intent.action.MAIN” />

<category android:name=”android.intent.category.LAUNCHER” />

</intent-filter>

</activity>

<activity

android:name=”.SadeActivity”

android:label=”@string/title_activity_sade” >

<meta-data

android:name=”android.support.PARENT_ACTIVITY”

android:value=”com.example.multiactivityprog.MainActivity” />

</activity>

</application>

 

</manifest>

{/sorucecode}

MainActivity.java

{sourcecode language=”plain”}

package com.example.multiactivityprog;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

 

public class MainActivity extends Activity {

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

 

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

 

public void showActivity(View view) {

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

startActivity(intent);

}

}

{/sourcecode}

SadeActivity.java

{sourcecode language=”plain”}

package com.example.multiactivityprog;

 

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.view.MenuItem;

import android.support.v4.app.NavUtils;

 

public class SadeActivity extends Activity {

 

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_sade);

getActionBar().setDisplayHomeAsUpEnabled(true);

}

 

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_sade, menu);

return true;

}

 

 

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case android.R.id.home:

NavUtils.navigateUpFromSameTask(this);

return true;

}

return super.onOptionsItemSelected(item);

}

 

}

{/sourcecode}

activity_main.xml

{sourcecode language=”plain”}

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”

xmlns:tools=”http://schemas.android.com/tools”

android:layout_width=”match_parent”

android:layout_height=”match_parent” >

 

<Button

android:id=”@+id/button_show”

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_centerVertical=”true”

android:layout_centerHorizontal=”true”

android:text=”@string/button_showstr”

android:onClick=”showActivity”/>

 

</RelativeLayout>

{/sourcecode}

activity_sade.xml

{sourcecode language=”plain”}

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”

xmlns:tools=”http://schemas.android.com/tools”

android:layout_width=”match_parent”

android:layout_height=”match_parent” >

 

<TextView

android:layout_width=”wrap_content”

android:layout_height=”wrap_content”

android:layout_centerHorizontal=”true”

android:layout_centerVertical=”true”

android:text=”@string/str_altaktivite”

tools:context=”.SadeActivity” />

 

</RelativeLayout>

{/sourcecode}

strings.xml

{sourcecode language=”plain”}

<resources>

 

<string name=”app_name”>MultiActivity Prog</string>

<string name=”menu_settings”>Settings</string>

<string name=”title_activity_main”>MainActivity</string>

<string name=”str_altaktivite”>Alt aktivite ekranı</string>

<string name=”button_showstr”>Aktivite göster</string>

<string name=”title_activity_sade”>Sade Activity</string>

 

</resources>

{/sourcecode}

Programı çalıştırma

Programı çalıştırdığınızda aşağıdaki resimde gösterilen ekran karşınıza gelir:

p1

 

 

Ekrandaki butona tıkladığınızda, program içindeki diğer aktivite ekranda gösterilir:

p2

 

Güliz AYKUT

Mehmet Akif Ersoy Üniversitesi

Yönetim Bilişim Sistemleri Bölümü

 

 

Yazar Hakkında

Yazar : Güliz AYKUT

Yazar Hakkında :

Yazarın Tüm Yazıları İçin Tıklayınız

Yorumlar

Sitemizde En Çok Okunan İçerikler

ANDROİD TELEFONLARA ROOT ATMA
ANDROİD TELEFONLARA ROOT ATMARoot Ne demek ? Bir android cihazı root etmek telefonun
fragment
ANDROİD FRAGMENT YAPISI VE KULLANIMIFragmentler Activity içerisinde yer alan kullanıcı ara yüzleridir. Fragment
Asp.NET’de web servis hazırlama ve Android de kullanimi  Web Servis Nedir ? Web üzerinden HTTP protokolü ile hizmet
ANDROİD TELEFONLARDA KONFERANS GÖRÜŞME
ANDROİD TELEFONLARDA KONFERANS GÖRÜŞMEANDROİD TELEFONLARDA KONFERANS GÖRÜŞME   Konferans görüşme çok fazla bilinmeyen androidin

Sitemizde En Çok Yorumlanan İçerikler

Rating Bar Kullanımı
Rating Bar KullanımıAndroid’de yıldız şeklinde derecelendirme çubuğu olarak kullanılır. Kullanıcı sürükleme
Android Wear Emülatör Kurulumu
Android Wear Emülatör Kurulumu   Android studio da geliştireceğimiz uygulamaların kontrolunü yapmak için emülatör
Resim Galerisi Oluşturma
Resim Galerisi OluşturmaAndroid Programlama – Resim Galerisi Oluşturma Bu yazıda, bir galeri
SQLite Database Browser Kullanımı
SQLite Database Browser KullanımıSQLite Database Browser Kullanımı Merhaba arkadaşlar, Android uygulamaları geliştirirken uygulama üzerindeki

Son Yapılan Yorumlar

  • Kategoriler

  • Son Yazılar

  • Takvim

    Eylül 2017
    P S Ç P C C P
    « Kas    
     123
    45678910
    11121314151617
    18192021222324
    252627282930  
  • Etiketler

  • Son Yorumlar

    • Arşivler

    • Meta