View difference between Paste ID: 4Ri8AYFt and qcKtBGqk
SHOW: | | - or go back to the newest paste.
1
activity_main.xml
2
======================
3
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
4
    android:layout_width="match_parent"
5
    android:layout_height="match_parent"
6
    android:orientation="vertical"
7
    android:layout_margin="16dp">
8
9
    <!-- place for logo -->
10
    <LinearLayout
11
        android:layout_width="match_parent"
12
        android:layout_height="match_parent"
13
        android:layout_weight="1"
14
        android:orientation="vertical"
15
        android:gravity="center">
16
        <TextView
17
            android:layout_width="wrap_content"
18
            android:layout_height="wrap_content"
19
            android:text="MY TASK"
20
            android:textSize="64sp"/>
21
    </LinearLayout>
22
23
    <!-- place for user input -->
24
    <LinearLayout
25
        android:layout_width="match_parent"
26
        android:layout_height="match_parent"
27
        android:layout_weight="1"
28
        android:orientation="vertical"
29
        android:gravity="center">
30
        <EditText
31
            android:layout_width="match_parent"
32
            android:layout_height="wrap_content"
33
            android:hint="@string/userName"
34
            android:id="@+id/txtUser"/>
35
        <EditText
36
            android:layout_width="match_parent"
37
            android:layout_height="wrap_content"
38
            android:hint="@string/userPass"
39
            android:inputType="textPassword"
40
            android:layout_marginTop="20dp"
41
            android:id="@+id/txtPass"/>
42
    </LinearLayout>
43
44
    <!-- place for buttons-->
45
    <LinearLayout
46
        android:layout_width="match_parent"
47
        android:layout_height="match_parent"
48
        android:layout_weight="1"
49
        android:orientation="horizontal"
50
        android:gravity="top">
51
        <Button
52
            android:layout_width="match_parent"
53
            android:layout_height="wrap_content"
54
            android:text="@string/register"
55
            android:textColor="#ffffff"
56
            android:background="#009fff"
57
            android:textSize="22sp"
58
            android:layout_weight="1"
59
            android:layout_margin="20dp"
60
            android:id="@+id/btnRegister"/>
61
        <Button
62
            android:layout_width="match_parent"
63
            android:layout_height="wrap_content"
64
            android:text="@string/login"
65
            android:textColor="#ffffff"
66
            android:background="#009fff"
67
            android:textSize="22sp"
68
            android:layout_weight="1"
69
            android:layout_margin="20dp"
70
            android:id="@+id/btnLogin"/>
71
    </LinearLayout>
72
73
</LinearLayout>
74
75
76
activity_register.xml
77
=======================
78
<?xml version="1.0" encoding="utf-8"?>
79
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
80
    android:orientation="vertical" android:layout_width="match_parent"
81
    android:layout_height="match_parent"
82
    android:layout_margin="16dp">
83
84
    <LinearLayout
85
        android:layout_width="match_parent"
86
        android:layout_height="match_parent"
87
        android:layout_weight="2"
88
        android:orientation="vertical"
89
       >
90
        <TextView
91
            android:layout_width="wrap_content"
92
            android:layout_height="match_parent"
93
            android:text="LOGO"
94
            android:textSize="62sp"
95
            android:layout_gravity="center"
96
            />
97
    </LinearLayout>
98
    <LinearLayout
99
        android:layout_width="match_parent"
100
        android:layout_height="match_parent"
101
        android:layout_weight="1"
102
        android:orientation="vertical"
103
        android:layout_margin="30dp">
104
        <EditText
105
            android:layout_width="match_parent"
106
            android:layout_height="match_parent"
107
            android:id="@+id/regUserName"
108
            android:hint="Enter a user name..."
109
            android:layout_weight="1"
110
            android:gravity="bottom"/>
111
        <EditText
112
            android:layout_width="match_parent"
113
            android:layout_height="match_parent"
114
            android:id="@+id/regPass1"
115
            android:hint="Enter your password...."
116
            android:layout_weight="1"
117
            android:gravity="bottom"
118
            android:inputType="textPassword"/>
119
        <EditText
120
            android:layout_width="match_parent"
121
            android:layout_height="match_parent"
122
            android:id="@+id/regPass2"
123
            android:hint="Re-Enter your password..."
124
            android:layout_weight="1"
125
            android:gravity="bottom"
126
            android:inputType="textPassword"
127
            />
128
    </LinearLayout>
129
    <LinearLayout
130
        android:layout_width="match_parent"
131
        android:layout_height="match_parent"
132
        android:layout_weight="2"
133
        android:orientation="horizontal">
134
        <Button
135
            android:layout_width="match_parent"
136
            android:layout_height="match_parent"
137
            android:text="@string/register"
138
            android:textColor="#ffffff"
139
            android:background="#009fff"
140
            android:textSize="32sp"
141
            android:layout_weight="1"
142
            android:layout_margin="10dp"
143
            android:id="@+id/btnRegRegister"/>
144
        <Button
145
            android:layout_width="match_parent"
146
            android:layout_height="match_parent"
147
            android:text="cancel"
148
            android:textColor="#ffffff"
149
            android:background="#009fff"
150
            android:textSize="32sp"
151
            android:layout_weight="1"
152
            android:layout_margin="10dp"
153
            android:id="@+id/btnRegCancel"/>
154
    </LinearLayout>
155
</LinearLayout>
156
157
android manifest (example only)
158
======================================
159
<?xml version="1.0" encoding="utf-8"?>
160
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
161
    package="com.example.teacher.mytasks">
162
163
    <application
164
        android:allowBackup="true"
165
        android:icon="@mipmap/ic_launcher"
166
        android:label="@string/app_name"
167
        android:roundIcon="@mipmap/ic_launcher_round"
168
        android:supportsRtl="true"
169
        android:theme="@style/AppTheme">
170
        <activity android:name=".MainActivity">
171
            <intent-filter>
172
                <action android:name="android.intent.action.MAIN" />
173
174
                <category android:name="android.intent.category.LAUNCHER" />
175
            </intent-filter>
176
        </activity>
177
        <activity android:name=".RegisterActivity"/>
178
    </application>
179
180
</manifest>
181
182
183
RegisterActivity.java
184
=========================
185
186
import android.content.Context;
187
import android.os.Bundle;
188
import android.support.annotation.Nullable;
189
import android.support.v7.app.AppCompatActivity;
190
import android.view.View;
191
import android.widget.Button;
192
import android.widget.EditText;
193
import android.widget.Toast;
194
195
/**
196
 * Created by teacher on 12/21/2017.
197
 */
198
199
public class RegisterActivity extends AppCompatActivity {
200
    Context context;
201
    EditText regUser,regPass1,regPass2;
202
    Button btnRegister,btnCancel;
203
    UtlUserSP userUtil=new UtlUserSP();
204
205
    @Override
206
    protected void onCreate(@Nullable Bundle savedInstanceState) {
207
        super.onCreate(savedInstanceState);
208
        setContentView(R.layout.activity_register);
209
        setPointer();
210
    }
211
212
    private void setPointer() {
213
        this.context=this;
214
        userUtil.setContext(context);
215
        regUser=findViewById(R.id.regUserName);
216
        regPass1=findViewById(R.id.regPass1);
217
        regPass2=findViewById(R.id.regPass2);
218
        btnCancel=findViewById(R.id.btnRegCancel);
219
        btnCancel.setOnClickListener(new View.OnClickListener() {
220
            @Override
221
            public void onClick(View view) {
222
                finish();
223
            }
224
        });
225
        btnRegister =findViewById(R.id.btnRegRegister);
226
        btnRegister.setOnClickListener(new View.OnClickListener() {
227
            @Override
228
            public void onClick(View view) {
229
                //check if password o.k.
230
                if (!regPass1.getText().toString().equals(regPass2.getText().toString()))
231
                {
232
                    Toast.makeText(context, "Password not match", Toast.LENGTH_SHORT).show();
233
                    return;
234
                }
235
                if (regPass1.getText().toString().length()<3)
236
                {
237
                    Toast.makeText(context, "Password must be 3 letter minimum", Toast.LENGTH_SHORT).show();
238
                    return;
239
                }
240
                if(!userUtil.registerUser(regUser.getText().toString(),regPass1.getText().toString()))
241
                {
242
                    Toast.makeText(context, "Error in user registration....", Toast.LENGTH_SHORT).show();
243
                    return;
244
                }
245
                Toast.makeText(context, "new user is add...", Toast.LENGTH_SHORT).show();
246
                finish();
247
            }
248
        });
249
250
    }
251
}
252
253
254
255
MainActivity.java
256
======================
257
import android.content.Context;
258
import android.content.Intent;
259
import android.support.v7.app.AppCompatActivity;
260
import android.os.Bundle;
261
import android.view.View;
262
import android.widget.Button;
263
import android.widget.EditText;
264
265
public class MainActivity extends AppCompatActivity {
266
    EditText txtUser, txtPass;
267
    Button btnLogin, btnRegister;
268
    Context context;
269
270
    @Override
271
    protected void onCreate(Bundle savedInstanceState) {
272
        super.onCreate(savedInstanceState);
273
        setContentView(R.layout.activity_main);
274
        setPointer();
275
    }
276
277
    private void setPointer() {
278
        this.context = this;
279
        txtUser = findViewById(R.id.txtUser);
280
        txtPass = findViewById(R.id.txtPass);
281
        btnLogin = findViewById(R.id.btnLogin);
282
        btnRegister = findViewById(R.id.btnRegister);
283
284
        btnRegister.setOnClickListener(new View.OnClickListener() {
285
            @Override
286
            public void onClick(View view) {
287
                Intent myIntent=new Intent(context,RegisterActivity.class);
288
                startActivity(myIntent);
289
            }
290
        });
291
    }
292
}
293
294
295
296
297
UtlUserSp.java
298
=====================
299
package com.example.teacher.mytasks;
300
301
import android.content.Context;
302
import android.content.SharedPreferences;
303
import android.widget.Toast;
304
305
/**
306
 * Created by teacher on 12/21/2017.
307
 */
308
309
public class UtlUserSP implements UserAble {
310
    Context context;
311
312
    public UtlUserSP() { }
313
314
    @Override
315
    public void setContext(Context context) {
316
        this.context=context;
317
    }
318
319
    @Override
320
    public boolean registerUser(String userName, String userPass) {
321
        //User Exists
322
        if (userExists(userName)) {
323
            Toast.makeText(context, "user already exists...", Toast.LENGTH_SHORT).show();
324
            return false;
325
        }
326
        //save user and password
327
328
        //declaration of shared preference
329
        SharedPreferences prefs = context.getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
330
331
        //declaration of shared preference editor
332
        SharedPreferences.Editor editor = prefs.edit();
333
334
        //put data inside, we use hash map, so we need KEY,VALUE (k,v)
335
        editor.putString(userName, userPass);
336
337
        //sending data to my shared preferences file.
338
        editor.commit();
339
        return true;
340
    }
341
342
    @Override
343
    public boolean userExists( String userName) {
344
        //declaration of shared prefernces
345
        SharedPreferences prefs=context.getSharedPreferences("myPrefs",Context.MODE_PRIVATE);
346
347
        //get user pass
348
        String spPass=prefs.getString(userName,"na");
349
350
        //return if users exists, if not (na) return false
351
        return !spPass.equals("na");
352
    }
353
354
    @Override
355
    public boolean checkUser( String userName, String userPass) {
356
        return false;
357
    }
358
}