· 10 years ago · Mar 15, 2016, 07:21 AM
1package com.example.jooseptiismus.myapplication;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.Cursor;
6import android.database.sqlite.SQLiteDatabase;
7import android.database.sqlite.SQLiteOpenHelper;
8import android.widget.Toast;
9
10public class UserDbHelper extends SQLiteOpenHelper {
11
12 private static final String DATABASE_NAME = "user.db";
13 private static final int DATABASE_VERSION = 1;
14 private static final String SQL_CREATE_USER_TABLE =
15 "CREATE TABLE user (" +
16 "_id INTEGER PRIMARY KEY," +
17 "_username TEXT NOT NULL," +
18 "_password TEXT NOT NULL" +
19 ")";
20 private static final String SQL_DELETE_USER_TABLE=
21 "DROP TABLE IF EXISTS user"; //vaatab kui useri tabel eksisteerib siis kustutab ära
22
23 public UserDbHelper(Context context){
24 super(context, DATABASE_NAME, null, DATABASE_VERSION);
25 Toast.makeText(context, "database loodud", Toast.LENGTH_SHORT).show();
26 }
27 @Override
28 public void onCreate(SQLiteDatabase db) {
29 db.execSQL(SQL_CREATE_USER_TABLE);
30 }
31 @Override
32 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
33 db.execSQL(SQL_DELETE_USER_TABLE);
34 onCreate(db);
35 }
36 public void insertUser(String userName, String password){
37 SQLiteDatabase db = getWritableDatabase();
38
39 ContentValues values = new ContentValues();
40 values.put("username", userName);
41 values.put("password", password);
42
43 db.insert("user", null, values);
44 }
45
46 public boolean authenticate(String userName, String password) {
47 SQLiteDatabase db = getReadableDatabase(); //sest tahan andmebaasist lugeda
48
49 String[] selectedFields = { //fieldid mida selektime
50 "_id",
51 "username",
52 "password"
53 };
54 String where = "username = ? AND password = ?";
55 String[] whereArguments = {
56 userName,
57 password
58 };
59
60 Cursor c = db.query("user", selectedFields, where, whereArguments, null, null, null); //aktiveerin databaasi
61
62 //String foundUserName = c.getString(1); 1 on tabeli positsioon, see on selleks kui tahan kätte saada
63 //c.moveToNext(); liigub järgmise elemendi juurde listis, loopimiseks
64
65 return c.getCount() > 0; //see on selleks et ta leiab palju neid tabeleid on
66 }
67}
68SEE ON USER DB HELPER KLASS
69
70package com.example.jooseptiismus.myapplication;
71
72import android.support.v7.app.AppCompatActivity;
73import android.os.Bundle;
74import android.view.Menu;
75import android.view.MenuItem;
76import android.view.View;
77import android.widget.EditText;
78import android.widget.Toast;
79
80public class MainActivity extends AppCompatActivity {
81 private EditText userNameField;
82 private EditText passwordField;
83 private UserDbHelper userDbHelper;
84
85 @Override
86 protected void onCreate(Bundle savedInstanceState) {
87 super.onCreate(savedInstanceState);
88 setContentView(R.layout.activity_main);
89
90 userNameField = (EditText) findViewById(R.id.userName);
91 passwordField = (EditText) findViewById(R.id.passwordName);
92 userDbHelper = new UserDbHelper(this);
93 }
94
95 public void logIn(View view){
96 String userName = userNameField.getText().toString();
97 String password = passwordField.getText().toString();
98
99 if(userDbHelper.authenticate(userName, password)){
100 Toast.makeText(this, "Logged in", Toast.LENGTH_SHORT).show();
101 }else{
102 Toast.makeText(this, "summeting wong", Toast.LENGTH_SHORT).show();
103 }
104
105 Toast.makeText(this, userName + "_" + password,
106 Toast.LENGTH_SHORT).show();
107
108 userDbHelper.insertUser(userName,password);
109 }
110
111}
112SEE ON MAIN ACTIVITY KLASS
113
114<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
115 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
116 android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
117 android:paddingRight="@dimen/activity_horizontal_margin"
118 android:paddingTop="@dimen/activity_vertical_margin"
119 android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
120
121 <TextView android:text="Login" android:layout_width="wrap_content"
122 android:layout_height="wrap_content"
123 android:id="@+id/loginText" />
124
125 <EditText
126 android:layout_width="wrap_content"
127 android:layout_height="wrap_content"
128 android:id="@+id/userName"
129 android:layout_below="@+id/loginText"
130 android:layout_alignParentRight="true"
131 android:layout_alignParentEnd="true"
132 android:layout_alignParentLeft="true"
133 android:layout_alignParentStart="true"
134 android:hint="username" />
135
136 <EditText
137 android:layout_width="wrap_content"
138 android:layout_height="wrap_content"
139 android:inputType="textPassword"
140 android:ems="10"
141 android:id="@+id/passwordName"
142 android:layout_below="@+id/userName"
143 android:layout_alignParentLeft="true"
144 android:layout_alignParentStart="true"
145 android:layout_alignParentRight="true"
146 android:layout_alignParentEnd="true"
147 android:hint="password" />
148
149 <Button
150 android:layout_width="wrap_content"
151 android:layout_height="wrap_content"
152 android:text="Log In"
153 android:id="@+id/loginButton"
154 android:layout_below="@+id/passwordName"
155 android:layout_alignParentLeft="true"
156 android:layout_alignParentStart="true"
157 android:layout_alignRight="@+id/passwordName"
158 android:layout_alignEnd="@+id/passwordName"
159 android:onClick="logIn" />
160
161</RelativeLayout>
162SEE ON XML