Android Programlama -38 SharedPreferences

Merhaba arkadaşlar bu gün ki makalemde android de SharedPreferences konusuna değineceğim.

Önceki makalelerime aşağıdaki linkten ulaşabilirsiniz.

https://ittutorial.org/android-programlama-dersleri/

package com.example.user.keepingmeontrack;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;

import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class RegisterActivity extends BaseActivity {
public boolean flag=false;

SharedPreferences pref;
SharedPreferences.Editor editor;

DatabaseReference myRef;
FirebaseDatabase database;
SharedPreferences preferences;

@Override
protected void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);

pref = getActivity().getSharedPreferences("MyPref", 0); // 0 - for private mode
editor = pref.edit();

database = FirebaseDatabase.getInstance();
myRef = database.getReference("datbase");
mAuth = FirebaseAuth.getInstance();
getusers();

}
public void getusers() {
mAuth.createUserWithEmailAndPassword(signupEmail.getText().toString(), signupPassword.getText().toString())
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(RegisterActivity.this, "Signup Success!", Toast.LENGTH_SHORT).show();

//create a table in the firebase and add the new user information

FirebaseUser user = mAuth.getCurrentUser();
Users newUser = new Users(signupUsername.getText().toString(), user.getEmail(), user.getUid());
myRef.child("users").child(user.getUid()).setValue(newUser);
saveUser(newUser);
 editor.putBoolean("IS_LOGIN", true);
 editor.putString("uID",user.getUid());

}
else if(!task.isSuccessful() && flag )
{
Toast.makeText(RegisterActivity.this, "Email address wrong or your password is too easy please change your password.", Toast.LENGTH_SHORT).show();}
}
});
}

öncelikle SharedPreferences ne olduğundan kısaca bahsetmek istiyorum. SharedPreferences uygulama içerisinde chach de veri saklamaya yarar. SharedPreferences’a kaydettiğimiz veriler sadece oturum açıkken saklanan verilerdir. Kalıcı olarak saklamak istediğimiz verileri database de tutarken daha önemsiz olan verileri bu methodla saklayabiliriz. 

Örnek kod uygulamanın sing up sayfasıdır. Kullanıcının girdiği bilgiler öncelikle firebase’ e kaydedilirken sonrasın da  SharedPreferences’a kaydedilir. SharedPreferences da firebase gibi verileri key value şeklinde tutar. 

editor.putBoolean("IS_LOGIN", true);
editor.putString("uID",user.getUid());

 Ayarlarını yaptığımız editor değişkenine putBoolean veya putString methodu sayesinde saklamak istediğimiz değerleri ekliyoruz. Hangi tip veri saklamak istiyorsak o veri tipine uygun methodu kullanmamız gerekiyor kodumuz da.

Bir makalenin daha sonuna geldik, esenle kalın..

Kübra Hebeş

Bilgisayar Mühendisi