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

Contact Person

Hello Semua, bagi yang ingin menanyakan persoalan isi content yang saya telah post bisa menghubungi saya di daftar kontak saya dibawah ini : Whatsap  0853-9803-8073 Email       Basriumar12@gmail.com Group Belajar Android LINK GROUP WHATSAP   http://bit.ly/2x3H0oT  full kuota LINK GORUP TELEGRAM  http://bit.ly/2knZ5gu

Belajar listview dan Spinner

ListView  adalah tampilan beberapa item dalam bentuk list yang dapat di  scroll  secara vertikal. Setiap item akan otomatis dimasukkan kedalam  list  menggunakan  Adapter  yang datanya di ambil dari array/database/json/dsb.  ListView  sering digunakan dalam aplikasi Android, seperti kontak, email, twitter, dsb. Spinner View adalah list dari item pada saat tertentu dan membolehkan user untuk memilihnya. Secara sederhana Spinner View akan menyediakan cara cepat untuk memilih salah satu dari nilai set. Dalam keadaan default, Spinner menunjukkan nilai yang sedang dipilih. Ketika user menyentuh spinner view maka aplikasi akan menampilkan menu dengan semua nilai-nilai lain yang tersedia, sehingga user dapat memilih item yang baru. Adapter  adalah jembatan antara dan  AdapterView  (contohnya ListView) dengan data. Adapter inilah yang menyediakan akses ke item data dan juga bertanggung jawab untuk membuat sebuah View pad...

Membuat App Android Karyawan Inventory Menggunakan CRUD SQLite Part 1

Hii Kuy, salam sejahtera, semoga sehat selalu dan dalam lindungan Tuhan YME. aplikasi kali ini hanya untuk newbie ya. untuk teman-teman yang baru / mau belajar android /mobile proggramming seperti saya. Pada aplikasi kali ini yaitu membuat aplikasi karyawan inventory, apa itu karyawan inventory? yaitu satu aplikasi yang dapat menginput, menampilkan, mengedit dan