successful login-reg using web server

This commit is contained in:
Priyatham 2020-03-16 19:25:33 +05:30
parent 614ba6a192
commit 07de13c552
13 changed files with 246 additions and 91 deletions

View File

@ -28,4 +28,5 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.android.support:cardview-v7:29.0.2' implementation 'com.android.support:cardview-v7:29.0.2'
implementation "androidx.annotation:annotation:1.1.0" implementation "androidx.annotation:annotation:1.1.0"
implementation 'com.android.volley:volley:1.1.1'
} }

View File

@ -2,6 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.alzapp"> package="com.example.alzapp">
<uses-permission android:name="android.permission.INTERNET" />
<application <application
android:allowBackup="true" android:allowBackup="true"
android:icon="@drawable/app_icon" android:icon="@drawable/app_icon"
@ -9,7 +11,8 @@
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme.NoActionBar"> android:theme="@style/AppTheme.NoActionBar">
<activity android:name=".QuickPlayMenu"></activity> <activity android:name=".UserAreaActivity"></activity>
<activity android:name=".QuickPlayMenu" />
<activity android:name=".TileMatchingActivity" /> <activity android:name=".TileMatchingActivity" />
<activity android:name=".WelcomeActivity" /> <activity android:name=".WelcomeActivity" />
<activity android:name=".JumbleActivity" /> <activity android:name=".JumbleActivity" />

View File

@ -1,72 +0,0 @@
package com.example.alzapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
/*******
Created on: 21/01/2020
By: B.Priyatham sai chand
********/
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "User.db";
private static final String TABLE_NAME = "tblUser";
private static final int DATABASE_VERSION = 2;
private Context context;
DatabaseHelper(Context context){
super (context, DATABASE_NAME,null, DATABASE_VERSION);
this.context = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE GENDER (GENDER INTEGER PRIMARY KEY, VALUE VARCHAR(20));");
db.execSQL("CREATE TABLE TBLUSERINFO (USERID INTEGER PRIMARY KEY AUTOINCREMENT,USERNAME TEXT,PASSWORD TEXT,FIRSTNAME VARCHAR(20),LASTNAME VARCHAR(20), DOB TEXT,EMAIL TEXT, GENDER INTEGER,FOREIGN KEY(GENDER) REFERENCES GENDER(GENDER));");
db.execSQL("CREATE TABLE TBLUSERNAME(ID INTEGER PRIMARY KEY, USERNAME TEXT,PASSWORD TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS TBLUSERINFO;");
onCreate(db);
}
public Cursor getAllData() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from TBLUSERINFO ORDER BY USERID",null);
return res;
}
public void insertUsername(String username ,String password){
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("INSERT INTO TBLUSERNAME VALUES (username,password);");
}
public void insertData(String reg_username,String reg_password,String first_name,String Last_name,String dob, String email,int gender) {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("INSERT INTO TBLUSERINFO VALUES (reg_username,reg_password,first_name,last_name,dob,email,gender);");
}
public Cursor selectData(String firstname) {
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from TBLUSERINFO WHERE FIRSTNAME='" + firstname + "' ORDER BY ID",null);
return res;
}
}

View File

@ -0,0 +1,24 @@
package com.example.alzapp;
import com.android.volley.Response;
import com.android.volley.toolbox.StringRequest;
import java.util.HashMap;
import java.util.Map;
public class LoginRequest extends StringRequest {
private static final String LOGIN_REQUEST_URL = "https://eclectic-sweeps.000webhostapp.com/login.php";
private Map<String, String> params;
public LoginRequest(String username, String password, Response.Listener<String> listener) {
super(Method.POST, LOGIN_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("username", username);
params.put("password", password);
}
@Override
public Map<String, String> getParams() {
return params;
}
}

View File

@ -0,0 +1,30 @@
package com.example.alzapp;
import com.android.volley.Response;
import com.android.volley.toolbox.*;
import java.util.HashMap;
import java.util.Map;
public class Registerequest extends StringRequest {
private static final String REGISTER_REQUEST_URL = "https://eclectic-sweeps.000webhostapp.com/registration.php";
private Map<String, String> params;
public Registerequest(String firstname, String lastname,String username,String dob,String email,String password, Response.Listener<String> listener) {
super(Method.POST, REGISTER_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("username", username);
params.put("password", password);
params.put("firstname", firstname);
params.put("lastname", lastname);
params.put("dob",dob);
params.put("email",email);
}
@Override
public Map<String, String> getParams() {
return params;
}
}

View File

@ -0,0 +1,32 @@
package com.example.alzapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.widget.EditText;
import android.widget.TextView;
public class UserAreaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_area);
Intent intent = getIntent();
String username = intent.getStringExtra("username");
TextView tvWelcomeMsg = (TextView) findViewById(R.id.tvWelcomeMsg);
EditText etUsername = (EditText) findViewById(R.id.etUsername);
// Display user details
String message = username + " welcome to your user area";
tvWelcomeMsg.setText(message);
etUsername.setText(username);
}
}

View File

@ -1,13 +1,17 @@
package com.example.alzapp; package com.example.alzapp;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.widget.EditText;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import org.json.*;
import java.lang.*;
import com.android.volley.*;
import com.android.volley.toolbox.*;
import android.app.AlertDialog;
/******* /*******
Created on: 21/01/2020 Created on: 21/01/2020
@ -18,13 +22,16 @@ import android.widget.TextView;
public class login extends AppCompatActivity { public class login extends AppCompatActivity {
private TextView signup; private TextView signup;
private Button signin;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login); setContentView(R.layout.activity_login);
signin = (Button) findViewById(R.id.signin_button);
signup = (TextView) findViewById(R.id.signUp_text); signup = (TextView) findViewById(R.id.signUp_text);
final EditText etUsername = (EditText) findViewById(R.id.etUsername);
final EditText etPassword = (EditText) findViewById(R.id.etPassword);
signup.setOnClickListener(new View.OnClickListener() { signup.setOnClickListener(new View.OnClickListener() {
@Override @Override
@ -41,6 +48,7 @@ public class login extends AppCompatActivity {
Button back = (Button) findViewById(R.id.back); Button back = (Button) findViewById(R.id.back);
back.setOnClickListener(new View.OnClickListener() { back.setOnClickListener(new View.OnClickListener() {
@ -50,6 +58,55 @@ public class login extends AppCompatActivity {
} }
}); });
signin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String username = etUsername.getText().toString();
final String password = etPassword.getText().toString();
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
String username1 = jsonResponse.getString("username");
Intent intent = new Intent(login.this, UserAreaActivity.class);
intent.putExtra("name", username1);
login.this.startActivity(intent);
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(login.this);
builder.setMessage("Login Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
LoginRequest loginRequest = new LoginRequest(username, password, responseListener);
RequestQueue queue = Volley.newRequestQueue(login.this);
queue.add(loginRequest);
}
});
} }

View File

@ -17,11 +17,16 @@ import java.text.DateFormat;
import java.util.Calendar; import java.util.Calendar;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.Gravity; import android.view.Gravity;
import org.json.*;
import java.lang.*;
import com.android.volley.*;
import com.android.volley.toolbox.*;
import android.app.AlertDialog;
/******* /*******
Created on: 21/01/2020 Created on: 21/01/2020
@ -33,7 +38,7 @@ import android.view.Gravity;
public class registration extends AppCompatActivity implements DatePickerDialog.OnDateSetListener { public class registration extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {
private TextView signin; private TextView signin;
private TextView dob; private TextView dob;
com.example.alzapp.DatabaseHelper dal;
SQLiteDatabase sqLiteDatabase; SQLiteDatabase sqLiteDatabase;
private RadioGroup radioSexGroup; private RadioGroup radioSexGroup;
private RadioButton radioSexButton; private RadioButton radioSexButton;
@ -50,8 +55,8 @@ public class registration extends AppCompatActivity implements DatePickerDialog.
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration); setContentView(R.layout.activity_registration);
dal = new DatabaseHelper(registration.this);
username = (EditText) findViewById(R.id.reg_useername); username = (EditText) findViewById(R.id.reg_username);
password = (EditText) findViewById(R.id.reg_password); password = (EditText) findViewById(R.id.reg_password);
firstname = (EditText) findViewById(R.id.firstname); firstname = (EditText) findViewById(R.id.firstname);
lastname = (EditText) findViewById(R.id.lastname); lastname = (EditText) findViewById(R.id.lastname);
@ -83,9 +88,34 @@ public class registration extends AppCompatActivity implements DatePickerDialog.
else { else {
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if (success) {
Intent intent = new Intent(registration.this,login.class);
startActivity(intent);
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(registration.this);
builder.setMessage("Register Failed")
.setNegativeButton("Retry", null)
.create()
.show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
Registerequest reg_request = new Registerequest(firstname.getText().toString(),lastname.getText().toString(),username.getText().toString(),dob.getText().toString(),email_id.getText().toString(),password.getText().toString(),responseListener);
RequestQueue queue = Volley.newRequestQueue(registration.this);
queue.add(reg_request);
insertData();
} }
} }
@ -151,15 +181,15 @@ public class registration extends AppCompatActivity implements DatePickerDialog.
radioSexButton = (RadioButton) findViewById(selectedId); radioSexButton = (RadioButton) findViewById(selectedId);
if(radioSexButton.getText() == "Male"){ if(radioSexButton.getText() == "Male"){
sex = 0; sex = 1;
} }
else if (radioSexButton.getText() == "Female"){ else if (radioSexButton.getText() == "Female"){
sex = 1; sex = 2;
} }
else{ else{
sex = -1; sex = 3;
} }
@ -168,12 +198,7 @@ public class registration extends AppCompatActivity implements DatePickerDialog.
} }
public void insertData(){
dal.insertData(username.getText().toString(),lastname.getText().toString(),firstname.getText().toString(),lastname.getText().toString(),dob.getText().toString(),email_id.getText().toString(),sex);
}
public boolean isEmpty(EditText etText) { public boolean isEmpty(EditText etText) {
return etText.getText().toString().trim().length() == 0; return etText.getText().toString().trim().length() == 0;
} }
@ -196,4 +221,8 @@ public class registration extends AppCompatActivity implements DatePickerDialog.
toast.show(); toast.show();
} }
} }

View File

@ -46,6 +46,7 @@
<EditText <EditText
android:id="@+id/etUsername"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/edit_text_top" android:background="@drawable/edit_text_top"
@ -54,6 +55,7 @@
android:padding="15dp" /> android:padding="15dp" />
<EditText <EditText
android:id="@+id/etPassword"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/edit_text_bottom" android:background="@drawable/edit_text_bottom"
@ -63,6 +65,7 @@
<Button <Button
android:id="@+id/signin_button"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"

View File

@ -41,7 +41,7 @@
android:textSize="14sp" /> android:textSize="14sp" />
<EditText <EditText
android:id="@+id/reg_useername" android:id="@+id/reg_username"
android:layout_width="300dp" android:layout_width="300dp"
android:layout_height="42dp" android:layout_height="42dp"
android:layout_marginStart="24dp" android:layout_marginStart="24dp"

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/activity_horizontal_margin">
<TextView
android:id="@+id/tvWelcomeMsg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:text="hello world"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/tvWelcomeMsg"
android:text="Username"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/etUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/textView"
android:editable="false" />
</RelativeLayout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,6 @@
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>