· 6 years ago · Mar 05, 2019, 03:06 PM
1public class LoginDB extends SQLiteOpenHelper {
2
3
4
5//Table attributes
6public static final String DATABASE_NAME = "logindatadb";
7public static final int DATABASE_VERSION = 1;
8public static final String TABLE_NAME_CREDENTIALS = "credentials";
9
10// Data attributes
11public static final String COLUMN_NAME_USERNAME = "username";
12public static final String COLUMN_NAME_PASSWORD = "passcode";
13
14private static SQLiteOpenHelper DBHelper;
15private static SQLiteDatabase db;
16
17
18
19public LoginDB(Context context) {
20 super(context, DATABASE_NAME, null, DATABASE_VERSION);
21 // TODO Auto-generated constructor stub
22 }
23
24 @Override
25 public void onCreate(SQLiteDatabase db) {
26 // TODO Auto-generated method stub
27
28 String sqlDataStore = "create table if not exists " +
29 TABLE_NAME_CREDENTIALS + " ("+ BaseColumns._ID + " integer primary key autoincrement,"
30
31 + COLUMN_NAME_USERNAME + " text not null,"
32 + COLUMN_NAME_PASSWORD + " text not null);";
33
34 db.execSQL(sqlDataStore);
35 }
36
37 @Override
38 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
39 // TODO Auto-generated method stub
40 if(oldVersion == 1 && newVersion == 2){
41 //Upgrade the database
42 }
43
44}
45
46 public static boolean Login(String username, String password) {
47 Cursor c = db.rawQuery(
48 "SELECT * FROM " + DATABASE_NAME + " WHERE "
49 + COLUMN_NAME_USERNAME + " = '" + username +"' AND "+ COLUMN_NAME_PASSWORD +" = '"+ password +"'" , null);
50 if (c.getCount()>0)
51 return true;
52 return false;
53 }
54
55 public void open() {
56 // TODO Auto-generated method stub
57 db = DBHelper.getWritableDatabase();
58 }
59 public void close() {
60 db.close();
61 }
62
63private void insertCredentials(RegDetails regDetails){
64
65 LoginDB androidOpenDBHelper = new LoginDB(this);
66
67 SQLiteDatabase sqliteDB = androidOpenDBHelper.getWritableDatabase();
68
69 ContentValues contentValues = new ContentValues();
70
71 contentValues.put(LoginDB.COLUMN_NAME_USERNAME, rUsername);
72 contentValues.put(LoginDB.COLUMN_NAME_PASSWORD, rPasscode);
73
74 long affectedColumnid = sqliteDB.insert(LoginDB.TABLE_NAME_CREDENTIALS, null, contentValues);
75
76 Toast.makeText(getApplicationContext(), "Credentials Saved! Please login" + affectedColumnid, Toast.LENGTH_SHORT).show();
77
78 sqliteDB.close();
79 finish();
80 }
81
82 }
83
84lsLogin.setOnClickListener (new OnClickListener() {
85
86 @Override
87 public void onClick(View v) {
88 //check login
89 String username = lsUsername.getText().toString();
90 String password = lsPassword.getText().toString();
91 try{
92 if(username.length()>0 && password.length()>0)
93 {
94 LoginDB dbUser = new LoginDB(LoginScrExample.this);
95 dbUser.open();
96
97 if(LoginDB.Login(username, password)) {
98 Intent goToNextActivity = new Intent(getApplicationContext(), menu.class);
99 startActivity(goToNextActivity);
100
101 Toast.makeText(LoginScrExample.this,"Login Sucessful",Toast.LENGTH_LONG).show();
102 }else{
103 Toast.makeText(LoginScrExample.this,"Invalid Username/Password",Toast.LENGTH_LONG).show();
104 }
105 dbUser.close();
106 }
107 }
108 catch(Exception err){
109 err.printStackTrace();
110 Toast.makeText(LoginScrExample.this," Something is wrong " ,Toast.LENGTH_LONG).show();
111
112 }
113
114 }
115 {
116
117 }
118
119 }
120 );
121
12208-23 14:34:58.713: W/System.err(1396): java.lang.NullPointerException
123 08-23 14:34:58.733: W/System.err(1396): at com.LoginScr.Example.LoginDB.open(LoginDB.java:68)
124 08-23 14:34:58.733: W/System.err(1396): at com.LoginScr.Example.LoginScrExample$1.onClick(LoginScrExample.java:53)
125 08-23 14:34:58.733: W/System.err(1396): at android.view.View.performClick(View.java:3511)
126 08-23 14:34:58.733: W/System.err(1396): at android.view.View$PerformClick.run(View.java:14105)
127 08-23 14:34:58.753: W/System.err(1396): at android.os.Handler.handleCallback(Handler.java:605)
128 08-23 14:34:58.753: W/System.err(1396): at android.os.Handler.dispatchMessage(Handler.java:92)
129 08-23 14:34:58.763: W/System.err(1396): at android.os.Looper.loop(Looper.java:137)
130 08-23 14:34:58.775: W/System.err(1396): at android.app.ActivityThread.main(ActivityThread.java:4424)
131 08-23 14:34:58.775: W/System.err(1396): at java.lang.reflect.Method.invokeNative(Native Method)
132 08-23 14:34:58.775: W/System.err(1396): at java.lang.reflect.Method.invoke(Method.java:511)
133 08-23 14:34:58.783: W/System.err(1396): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
134 08-23 14:34:58.783: W/System.err(1396): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
135 08-23 14:34:58.783: W/System.err(1396): at dalvik.system.NativeStart.main(Native Method)
136 08-23 14:35:20.533: W/IInputConnectionWrapper(1396): showStatusIcon on inactive InputConnection
137
138db = DBHelper.getWritableDatabase();
139
140db = this.getWritableDatabase();