Soru & Cevap

getSharedPreferences ile sayfayı bir kez ekrana getirme

12.03.2016 - 01:34

merhaba , ben android uygulamamı ilk kez açtığımda ilk açılan mainactivity sayfasını bir kez kullanmak istiyorum yani uygulamayı ikinci kez çalıştırdığımda main2activity sayfasının açılmasını istiyorum.bunu getSharedPreferences ile yapıcam ama kodlarımda eksiklik var sanırım hatamın veya eksiğimin nerede olduğunu bilemedim yardımcı olabilirseniz seviniri

import android.content.ContentValues;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
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.util.Log;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    Button kayit;
    EditText isim, soyisim, sifre, tkr_sifre, email, htr_soru;
    private Veritabani v1;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Boolean isFirstRun=getSharedPreferences("PREFERENCE",MODE_PRIVATE)
                .getBoolean("isfirstrun", true);

        if(isFirstRun){
            getSharedPreferences("PREFERENCE",MODE_PRIVATE).edit().
                    putBoolean("isfirstrun", false).commit();



        v1 = new Veritabani(this);
        kayit = (Button) findViewById(R.id.button);
        isim = (EditText) findViewById(R.id.editText);
        soyisim = (EditText) findViewById(R.id.editText2);
        email = (EditText) findViewById(R.id.editText3);
        sifre = (EditText) findViewById(R.id.editText4);
        tkr_sifre = (EditText) findViewById(R.id.editText5);
        htr_soru = (EditText) findViewById(R.id.editText6);


        kayit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ekleme(isim.getText().toString(),soyisim.getText().toString(),email.getText().toString(),sifre.getText().toString(),
                        tkr_sifre.getText().toString(),htr_soru.getText().toString());
                Toast.makeText(getApplicationContext(), "KAYIT YAPILDI!", Toast.LENGTH_LONG).show();
                SharedPreferences mSharedPrefs = getSharedPreferences("counter_file",MODE_PRIVATE);
                SharedPreferences.Editor mPrefsEditor = mSharedPrefs.edit();

                int mCounter = mSharedPrefs.getInt("counter", 0);

                if(mCounter==0){

                   

                }

                mPrefsEditor.putInt("counter", ++mCounter);
                mPrefsEditor.commit();

                Intent i = new Intent(getApplicationContext(), Main2Activity.class);
                startActivity(i);





            }
        });
    }
    private void ekleme (String isim, String soyisim,String email,String sifre,String tkr_sifre,String htr_soru){
        SQLiteDatabase db=v1.getWritableDatabase();
        ContentValues cv1=new ContentValues();
        cv1.put("isim",isim);
        cv1.put("soyisim",soyisim);
        cv1.put("email",email);
        cv1.put("sifre",sifre);
        cv1.put("tkr_sifre",tkr_sifre);
        cv1.put("htr_soru",htr_soru);
        db.insertOrThrow("kayit",null,cv1);

    }
}

m..

4 Görüntülenme

1 Cevap

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

picture-30491-1565085904.jpg
serhatleventyavas
12.03.2016 - 06:34

ilk aktivite acılıdıgında sharedpreference var mı yok mu diye sorgula. Varsa icindeki değeri cek ve sorgula. O degerdeki sorguya göre mainactivity yada mainactivity2 sınıflarına yönlendir. Eğer sharedpreference yok ise olustur ve varsayılan degeri ata. Basitce böyle bir yol izleyerek o dedigin islemleri halledebilirsin.