Skip to main content

Membuat App Android Karyawan Inventory Menggunakan CRUD SQLite Part 2

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 :
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 kotlin
dan 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

Popular posts from this blog

Pertemuan 1 Aplikasi Fasyankes

Capain Pembelajaran : Setelah mempelajari mata kuliah ini, mahasiswa mampu : a) Memahami berbagai macam bentuk aplikasi perangkat lunak pada fasilitas Yankes b) Mengoperasikan aplikasi perangkat lunak yang dipakai di fasilitas Yankes c) Menyajikan informasi berdasarkan hasil pengolahan dari aplikasi perangkat lunak di fasilitas Yankes   I. Pendahuluan Pengenalan tentang pentingnya aplikasi perangkat lunak dalam fasilitas kesehatan (Yankes). Tujuan dari materi ini adalah untuk memperkenalkan berbagai macam bentuk aplikasi perangkat lunak yang digunakan dalam konteks fasilitas kesehatan. II. Pengertian Aplikasi Perangkat Lunak dalam Konteks Fasilitas Kesehatan Definisi aplikasi perangkat lunak dalam dunia kesehatan. Peran dan manfaat aplikasi perangkat lunak dalam memperbaiki efisiensi dan efektivitas layanan kesehatan. III. Klasifikasi Aplikasi Perangkat Lunak pada Fasilitas Kesehatan Administrasi dan Manajemen : Aplikasi untuk manajemen data pasien, jadwal dokte

Basis Data Pertemuan 1

Capaian :  Mahasiswa mampu dalam perkembangan Basis Data  Mahasiswa mampu dalam pengetahuan desain dan arsitektur database  Mahasiswa mampu dalam konsep basis data relasional    Data : Fakta-fakta yang dapat disimpan dan mempunyai arti tertentu.  Contoh: Fakta mengenai obyek, orang, dll. Dinyatakan dengan nilai (angka, deretan karakter, atau symbol). Data terdiri dari : Elemen data : satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna Rekaman (Record) : gabungan sejumlah elemen data yang saling berhubungan. Berkas (file) : kumpulan dari record-record yang bertipe sama.  Contoh : data mahasiswa, dosen, dll Data dan n   Data 1.      Fakta yang diperoleh di lapangan 2.      Diperlukan suatu proses agar   data bisa digunakan n   Informasi 1.      Hasil dari pengolahan data 2.      Sebagai acuan dalam pengambilan keputusan   BASIS DATA v Himpunan kelompok data (arsip) yang saling berhubungan yang dio

Jaringan Komputer Pertemuan 1

 Capaian : Mahasiswa mampu menganalisis Konsep Dasar jaringan computer Mahasiswa mampu menganalisis pemanfaatan jaringan computer Mahasiswa mampu menganalisis Jenis- jenis   jaringan komputer 1 ( LAN, MAN, WAN) Mahasiswa mampu menganalisis Topologi jaringan computer Mahasiswa mampu menganalisis   Perangkat pada jaringan computer Mahasiswa mampu menganalisis   Model-model pada jaringan komputer (TCP/IP)   I. Pendahuluan Pengenalan tentang pentingnya memahami konsep dasar jaringan komputer dalam era digital saat ini. Tujuan dari materi ini adalah untuk memberikan pemahaman yang komprehensif tentang konsep dasar jaringan komputer serta kemampuan untuk menganalisis dan menerapkannya. II. Definisi dan Konsep Dasar Jaringan Komputer Pengertian jaringan komputer dan perannya dalam menghubungkan perangkat elektronik. Konsep dasar seperti node, media transmisi, protokol komunikasi, dan topologi jaringan. III. Klasifikasi Jaringan Komputer Jaringan berdasarkan ukuran