Soru & Cevap

INTENT GEÇİŞLERİ? acil yardım

25.12.2015 - 10:37

diyelimki  mainactivity.class ve xml yaptık...mainactivity2.class ve xml yaptık...mainactivity3.class ve xml yaptık... xml leri tasarladık ve kodladık.. javaları da kodladık.. manifeste de ekledik geçişleri (ki ekleyemiyoruz hata veriyo android studio) aktivity ler arası geçişleri nasıl yapcaz yani 2 den 3 e geçebilir miyiz ya da 1 den 3 e??

235 Görüntülenme

10 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-60234-1446475302.jpg
dvrmctk12
29.12.2015 - 05:05

https://www.youtube.com/watch?v=y9bO0gWi0IY&index=36&list=PL9qDMO9EzLX25NTHm0q7svKLx__OZY8-e şu video size yardımcı olacaktı

Profile picture for user hayatigndz
hayatigndz
27.12.2015 - 07:32
AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.nasip.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Main2Activity"
            android:label="@string/title_activity_main2"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN2ACTIVITY" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Main22Activity"
            android:label="@string/title_activity_main22"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN22ACTIVITY" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

        </activity>
    </application>

</manifest>

 

Profile picture for user hayatigndz
hayatigndz
27.12.2015 - 07:31
Main22Activity.class


package com.example.nasip.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;

public class Main22Activity extends AppCompatActivity {
    Button button3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main22);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
                button3=(Button)findViewById(R.id.button);
                button3.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent i = new Intent(getApplicationContext(), MainActivity.class);
                        startActivity(i);
                    }
                });
            }
        });
    }

}
Görsel kaldırıldı.Görsel kaldırıldı.

 

Profile picture for user hayatigndz
hayatigndz
27.12.2015 - 07:29
Main2Activity.class


package com.example.nasip.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;

public class Main2Activity extends AppCompatActivity {
    Button button2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
                button2=(Button)findViewById(R.id.button);
                button2.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent i = new Intent (getApplicationContext(), Main22Activity.class);
                        startActivity(i);
                    }
                });
            }
        });
    }

}

 

Profile picture for user hayatigndz
hayatigndz
27.12.2015 - 07:29
MainActivity.class


package com.example.nasip.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
                button=(Button)findViewById(R.id.button);
                button.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent i = new Intent(getApplicationContext(), Main2Activity.class);
                        startActivity(i);
                    }
                });
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

 

picture-62423-1460561213.jpg
emre.tsbs
27.12.2015 - 05:23

Son gönderdiğin AndroidManifest.xml dosyasında MainActivity ana class'ın ismi değiştirilmiş ve giris.class yapılmış sanırım. Sınıf isimleri büyük başlamalı. Ayrıca Soru1 class'ını burda iki defa tanımlamışsın hem launcher hemde default olarak. Bunları düzeltirsen sorun kalmayacaktır.

Hayati
27.12.2015 - 07:36
Sorun kodlarda değil.. Aşağıda yeni proje actım.. Hiçbir şey değştirmeden sadece buton ekledim tıklama özelliği verdim ve manifeste geçişleri tanımladım.. ilk class dan 2. sine geçişte sorun yok ama 2 den 3 e geçişte uygulama kapanıyo.. sorunun tamamı burda 2 den 3 e geçerken..
Profile picture for user hayatigndz
hayatigndz
26.12.2015 - 11:19
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.nasip.bir">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".giris"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Soru1"
            android:label="@string/title_activity_soru1"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.SORU1" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Soru1"
            android:label="@string/title_activity_soru1"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".joker"
            android:label="@string/title_activity_joker"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.JOKER" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>


    </application>
</manifest>

 

Hayati
26.12.2015 - 11:20
MANİFEST BU.... 3. AKTİVİTY E GEÇİŞ BÖYLE Mİ YAPILIYO??
Hayati
26.12.2015 - 11:22
YARDIMCI OLURSANIZ ÇOK SEVİNİRİM.. BUNA TAKILDIM İLERLEYEMİYORUM.. YARDIM LÜTFEN...
Profile picture for user hayatigndz
hayatigndz
26.12.2015 - 02:57

ilginiz için tesekkürler.. ama sorun 2. aktivite nin 3. aktiviteye geçişi de aynıdır mantığıyla yapılamıyor.. 12 aktvitem var projemde..herbiri diğerine sırayla geçiş yapması lazım.. ilk geçişten sonra bir sorun oluyo app açılmıyo.. nasıl ayarlanabilir bu durum?? manifestte launcher default sadece bir tanesine yapılabiliyo..

picture-19298-1459404577.jpg
alper_beyler
26.12.2015 - 01:28

Merhabalar ,

Bu dersimizde faydalı olacaktır incelemenizde fayda var , kolay gelsin 

http://www.mobilhanem.com/android-yeni-sayfa-activity-actirma/

Hayati
26.12.2015 - 04:34
yetersiz bilgi içeriyo intent ile ilgili.. ilk iki aktiviteye geçiş var ama 3. aktiviteye nasıl geçilir yok..
picture-62423-1460561213.jpg
emre.tsbs
25.12.2015 - 11:01

Tabiki,

Tüm bu saydıklarını örümcek ağı gibi birbirine bağlamalısın. Öncelikle Layout(xml) dosyalarını oluşturuyoruz.

Açılan her class için bir layout(xml) tanımlamalıyız ve açılan classlar activity'ye extends edilmelidir.

public class YeniClass extends Activity {
//Değişkenleri buraya eklemelisin.
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_yeniLayout);

       //Eklemek istediğin her şeyi burada yapmalısın.
   }
}

Daha sonra AndroidManifest.xml dosyasını açıp,

<activity android:name=".MainActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

bunun hemen altına, şu şekilde ekleme yapmalıyız.

<activity android:name=".YeniClass" >
            <intent-filter>
                <action android:name="android.intent.action.YENICLASS" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

Yukarıdakinden farkı açtığın classı tanımlamış olduk ayrıca Launcher olarak gösterilen anasayfadır yani ilk açılacak olandır, diğer tüm sayfaları default yaparak çakışmalarını önlüyoruz.

Daha sonra MainActivity'ye dönüyoruz. Geçiş butonu eklediğini varsayıyorum;

butonGecis.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(getApplicationContext(), YeniClass.class);
                startActivity(i);
            }
        });

 

Bu intent geçiş kodunu hangi sayfalardan hangi sayfalara geçiş yapacaksan oralarda aynı şekilde kullanabilirsin. Umarım açıklayıcı olmuştur.

Hayati
26.12.2015 - 04:33
3. aktiviteye de default mu diyoruz??.. ana classı launcher 2. sini de default yapıyorum neden kabul etmiyor??
Emre Taşbaş
27.12.2015 - 05:25
Sadece MainActivity launcher olmalı, diğer tüm sayfalar default olarak ayarlanmalı. Cevapta bahsettiğim şekilde düzeltirsen sorun ortadan kalkacaktır. Zaten ilk açıklamamda bundan bahsettim atlamışsın sanırım.