Skip to content

Instantly share code, notes, and snippets.

@ikhlaqmalik13
Created November 28, 2022 18:34
Show Gist options
  • Save ikhlaqmalik13/f4d9255a05fcf75dac727eb0710b9766 to your computer and use it in GitHub Desktop.
Save ikhlaqmalik13/f4d9255a05fcf75dac727eb0710b9766 to your computer and use it in GitHub Desktop.
SharedPrefrences.kt
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".splash.SharedPrefActivity">
<EditText
android:id="@+id/et_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Enter aa password"
app:layout_constraintBottom_toTopOf="@+id/et_email"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.417"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/et_email"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:layout_marginTop="192dp"
android:ems="10"
android:hint="Enter a email"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/et_dob"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:layout_marginTop="12dp"
android:ems="10"
android:hint="Enter a dob"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_email" />
<Button
android:id="@+id/b_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="Save"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.061"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_dob" />
<Button
android:id="@+id/b_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="196dp"
android:layout_marginTop="12dp"
android:text="Clear"
app:layout_constraintStart_toEndOf="@+id/b_save"
app:layout_constraintTop_toBottomOf="@+id/et_dob" />
</androidx.constraintlayout.widget.ConstraintLayout>
package com.akhteakh.akhteakh.splash
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.akhteakh.akhteakh.databinding.ActivitySharedPrefBinding
import com.akhteakh.akhteakh.splash.figures.CubeActivity
class SharedPrefActivity : AppCompatActivity() {
private lateinit var binding: ActivitySharedPrefBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivitySharedPrefBinding.inflate(layoutInflater)
setContentView(binding.root)
getValues()
setValuesToViews()
binding.bSave.setOnClickListener {
val email = binding.etEmail.text.toString()
val dob = binding.etDob.text.toString()
val pass = binding.etPassword.text.toString()
SharedPrefHelper.saveEmail(this, email)
SharedPrefHelper.saveDob(this, dob)
SharedPrefHelper.savePassword(this, pass)
}
binding.bClear.setOnClickListener {
SharedPrefHelper.clearEmail(this)
SharedPrefHelper.clearDob(this)
SharedPrefHelper.clearPassword(this)
binding.etEmail.setText("")
binding.etDob.setText("")
binding.etPassword.setText("")
}
}
private fun getValues() {
val email = SharedPrefHelper.getEmail(this)
val dob = SharedPrefHelper.getDob(this)
val pass = SharedPrefHelper.getPassword(this)
if (email != null && dob != null && pass != null) {
if (email.isNotEmpty() && dob.isNotEmpty()) {
val intent = Intent(this, CubeActivity::class.java)
startActivity(intent)
finish()
}
}
}
private fun setValuesToViews() {
val email = SharedPrefHelper.getEmail(this)
val dob = SharedPrefHelper.getDob(this)
val pass = SharedPrefHelper.getPassword(this)
binding.etEmail.setText(email)
binding.etDob.setText(dob)
binding.etPassword.setText(pass)
}
}
package com.akhteakh.akhteakh.splash
import android.content.Context
import android.preference.PreferenceManager
object SharedPrefHelper {
fun saveEmail(context: Context, email: String) {
PreferenceManager.getDefaultSharedPreferences(
context
)
.edit()
.putString("EMAIL", email)
.apply()
}
fun savePassword(context: Context, password: String){
PreferenceManager.getDefaultSharedPreferences(
context
)
.edit()
.putString("PASSWORD", password)
.apply()
}
fun saveDob(context: Context, dob: String) {
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.putString("DOB", dob)
.apply()
}
fun getEmail(context: Context): String? {
return PreferenceManager.getDefaultSharedPreferences(
context
).getString("EMAIL", "")
}
fun getPassword(context: Context): String? {
return PreferenceManager.getDefaultSharedPreferences(
context
).getString("PASSWORD", "")
}
fun getDob(context: Context): String? {
return PreferenceManager.getDefaultSharedPreferences(context)
.getString("DOB", "")
}
fun clearEmail(context: Context) {
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.remove("EMAIL").apply()
}
fun clearDob(context: Context) {
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.remove("DOB").apply()
}
fun clearPassword(context: Context) {
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.remove("PASSWORD").apply()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment