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

Membuat Format jurnal 2 kolom di word

Berikut adalah langkah-langkah untuk membuat format jurnal 2 kolom di Microsoft Word: Buka Microsoft Word : Buka program Microsoft Word di komputer Anda. Buat Dokumen Baru : Mulai dengan membuat dokumen baru. Pilih Tata Letak Halaman : Pilih tata letak halaman yang sesuai dengan kebutuhan Anda. Untuk membuat jurnal dengan 2 kolom, Anda dapat memilih opsi tata letak halaman dengan 2 kolom. Ini akan membagi halaman menjadi dua kolom yang setara. Untuk memilih tata letak halaman dengan 2 kolom, Anda dapat pergi ke tab "Tata Letak" (Layout), lalu klik "Kolom" (Columns) dan pilih "2 Kolom". Atur Margin : Anda mungkin perlu menyesuaikan margin sesuai dengan preferensi Anda atau persyaratan jurnal yang Anda buat. Untuk mengatur margin, pergi ke tab "Tata Letak" (Layout), lalu klik "Margin" (Margins) dan pilih opsi yang sesuai. Atau, Anda dapat menyesuaikan margin secara manual dengan mengklik "Margin Kustom" (Custom Margins). Mulai M...

Belajar Android Dari Titik Nol

Hallo Sobat semua, Yang sudah tergabung di Group Belajar Dari 0. List materi : Hari 1 : belajar layout materi belajar ini  http://bit.ly/2y4IAuZ download Modul download Project link github Hari 2 : belajar intent dan multiple screen materi belajar ini  http://bit.ly/2fN8Qj1 download Modul   download project link github Hari 3 : belajar custom listview dan Spinner materi belajar ini  http://bit.ly/2hRgmOh download Modul donwload project link github Hari 4: multimedia app materi belajar ini http://bit.ly/2xkbJ0R download modul   download projek link github Hari 5 : crud sqlite download modul materi belajar dan link projek Hari  6 : web service dan crud menggunakan php dan db mysql.  materi belajar ini http://bit.ly/2z8Bxzj download modul   download projek link github Tampilkan Gambar di android menggunakan Picasso Download materi Tampilkan gambar menggunakan Picasso Donwload project di github Hari 7 :...

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 d...