Hallo Kuy, Masih setia dengan kodingnya? masih setia belajar android Proggramming?
pada kesempatan kali ini saya mengupdate aplikasi Crud yang kemarin, yang belum mempunyai fitur Logout dan Session Login, pada kesempatan kali ini saya menambahkan fitur tersebut yang mana aplikasi setelah login akan menyimpan user tersebut, seperti mana app facebook, walaupun hp katankalah mati atau app itu keluar dari recent dan ketika kita buka kembali kita tidak di arahkan lagi ke halaman login, karena login kita itu masih tersimpan pada memory android, yang saya gunakan yaitu shared preference, shared preference yaitu sebenarnya class yang memang sudah ada pada android tinggal kita panggil untuk digunakan seperti ini conthnya :
dan untuk pada kelas yang ingi kita berikan session kita gunakan ini
class SessionManager.java
saya menambahkan activity baru yaitu SplasScreen yang fungsinya akan mengecek login akun,
untuk file lengkap download disini
pada kesempatan kali ini saya mengupdate aplikasi Crud yang kemarin, yang belum mempunyai fitur Logout dan Session Login, pada kesempatan kali ini saya menambahkan fitur tersebut yang mana aplikasi setelah login akan menyimpan user tersebut, seperti mana app facebook, walaupun hp katankalah mati atau app itu keluar dari recent dan ketika kita buka kembali kita tidak di arahkan lagi ke halaman login, karena login kita itu masih tersimpan pada memory android, yang saya gunakan yaitu shared preference, shared preference yaitu sebenarnya class yang memang sudah ada pada android tinggal kita panggil untuk digunakan seperti ini conthnya :
baca juga untuk crud part 1
SharedPreferences pref;
dan untuk pada kelas yang ingi kita berikan session kita gunakan ini
session = new SessionManager(getApplicationContext());untuke secara lengkapnya dapat di lihat seperti kode dibawah ini
class SessionManager.java
package id.co.imastudio.santri.karyawaninven; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import java.util.HashMap; /** * Created by Server on 30/08/2017. */ public class SessionManager { SharedPreferences pref; SharedPreferences.Editor editor; Context context; int mode = 0; private static final String pref_name = "crudpref"; private static final String is_login = "islogin"; public static final String kunci_email = "keyemail"; public SessionManager(Context context) { this.context = context; pref = context.getSharedPreferences(pref_name, mode); editor = pref.edit(); } public void createSession(String email){ editor.putBoolean(is_login, true); editor.putString(kunci_email, email); editor.commit(); } public void checkLogin(){ if (!this.is_login()){ Intent i = new Intent(context, Login.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); }else { Intent i = new Intent(context, MainActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } private boolean is_login() { return pref.getBoolean(is_login, false); } public void logout(){ editor.clear(); editor.commit(); Intent i = new Intent(context, Login.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } public HashMap<String, String> getUserDetails(){ HashMap<String, String> user = new HashMap<String, String>(); user.put(pref_name, pref.getString(pref_name, null)); user.put(kunci_email, pref.getString(kunci_email, null)); return user; }}
baca crud kotlindan pada main activity ditambahkan seperti kode berikut ini :
package id.co.imastudio.santri.karyawaninven; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; import java.util.HashMap; import id.co.imastudio.santri.karyawaninven.adapter.TambahKaryawan; public class MainActivity extends AppCompatActivity implements View.OnClickListener { //deklarasi button TextView txtUsername; ImageButton tmb, lht; String username; SessionManager session; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //deklarasi id button tmb = (ImageButton) findViewById(R.id.tambah); lht = (ImageButton) findViewById(R.id.lihatData); lht.setOnClickListener((View.OnClickListener) this); tmb.setOnClickListener((View.OnClickListener) this); txtUsername = (TextView) findViewById(R.id.username); Intent getUsername = getIntent(); username = getUsername.getStringExtra("username"); session = new SessionManager(getApplicationContext()); HashMap<String, String> user = session.getUserDetails(); username = user.get(SessionManager.kunci_email); txtUsername.setText(username); // get user data from session } //method klik button yang mengarah ke insert/tambah data dan ke activty untuk melihat semudata @Override public void onClick(View view) { switch (view.getId()){ case R.id.tambah: Intent i = new Intent(MainActivity.this, TambahKaryawan.class); startActivity(i); break; case R.id.lihatData: Intent i2 = new Intent(MainActivity.this, ListData.class); startActivity(i2); Toast.makeText(this,"Pindah ke", Toast.LENGTH_LONG).show(); break; } } //method agar tidak kemabli ke login @Override public void onBackPressed() { new AlertDialog.Builder(this) .setMessage("Apa kalian ingin Exit?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { session.logout(); finish(); } }) .setNegativeButton("No", null) .show(); } }
saya menambahkan activity baru yaitu SplasScreen yang fungsinya akan mengecek login akun,
sessionManager.checkLogin();
secara keselurahan file javanya seperti berikut ini :
package id.co.imastudio.santri.karyawaninven; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; public class SplashScreen extends AppCompatActivity { SessionManager sessionManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash_screen); sessionManager = new SessionManager(getApplicationContext()); Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { sessionManager.checkLogin(); // startActivity(new Intent(getApplicationContext(), MainActivity.class)); finish(); } },2000); } }
untuk file lengkap download disini
Comments