In my previous article Android Login and Registration Screen Design I explained designing the login and registration interfaces. But it has no real time functionality. In this tutorial I am going to explain how to build complete login and registration system in android using PHP, MySQL and SQLite. Also this tutorial covers how to build simple API using PHP and MySQL.
DOWNLOAD CODE
VIDEO DEMO
Below are the final outputs of this project.
Prerequisites
This tutorial is combination of few of my previous articles. Make sure you went through the below articles if you are very beginner.
1. Android working with Volley Library – Used to make HTTP calls.
2. Android Login and Registration Screen Design – Explained the designing of Login and Registration screens.
API (Application Programming Interface)
To interact with MySQL database we need to build a REST API first. REST Api job is to get the request from client, interact with database and finally give the response back to client. So we’ll create a simplePHP, MySQL API first. Our API do’s below jobs.
⇒ Accepts requests in GET/POST methods
⇒ Interact with database by inserting / fetching data.
⇒ Finally will give response back in JSON format
1. Downloading & Installing WAMP
Download & Install WAMP server from www.wampserver.com/en/. Once installed, launch the program from Start ⇒ All Programs ⇒ WampServer ⇒ StartWampServer. If you are on Mac, alternatively you can use MAMP for the same.
You can test your server by opening the address //localhost/ in your browser. Also you can check phpmyadmin by opening //localhost/phpmyadmin
Following is a screencast of Downloading and Installing WAMP Server.
2. Creating MySQL Database and Tables
Open phpmyadmin and execute below queries to create necessary database and table. Here we are creating only one table users to store users login information.
create database android_api /** CreatingDatabase **/
use android_api /** SelectingDatabase **/
create table database0
database1database2database3database4database5 database6 database7
database1database9android_api /** Creating0android_api /** Creating1android_api /** Creating2 android_api /** Creating3 android_api /** Creating4android_api /** Creating5
database1android_api /** Creating7 android_api /** Creating0android_api /** Creating9android_api /** Creating2 android_api /** Creating3android_api /** Creating5
database1Database4android_api /** Creating0Database6android_api /** Creating2 android_api /** Creating3 android_api /** Creating4android_api /** Creating5
database1**/2android_api /** Creating0**/4android_api /** Creating2 android_api /** Creating3android_api /** Creating5
database1**/9android_api /** Creating0use android_api /** Selecting1android_api /** Creating2 android_api /** Creating3android_api /** Creating5
database1use android_api /** Selecting6
database1use android_api /** Selecting8android_api /** Creating3
Database0Database1 **/
3. Creating PHP Project
Goto the location where wamp installed and open www folder. The default installation location of wamp would be C:/wamp. Below is the final PHP project structure we are going to create in this article.
1. Go into www folder and create a folder named android_login_api. This will be the root directory of our project.
2. In android_login_api, create another directory named include. In this folder, we keep all the helper classes.
3. Now inside include, create a php file named Config.php and add below content. Replace theDB_USER and DB_PASSWORD values with your’s.
Config.php
Database3
Database4
Database5Database6
Database5Database8
Database9**/0android_api /** Creating5**/2**/3
Database9**/5android_api /** Creating5**/7**/3
Database9create0android_api /** Creating5**/7**/3
Database9create5android_api /** Creating5create7**/3
create9
4. Create a class named DB_Connect.php in include and paste below code. In this class we handle opening and closing of database connection.
DB_Connect.php
Database3
table1 table2
table3table4 table5table6
table3table8
table3database00 database01 database02
database03database04 database05table6
database03
database03database09
database03database11database12database13 database14
database03
database03database17
database03database19 database11database21
table3database23
database23
create9
5. Create DB_Functons.php inside include with below content. This file contains functions to store user in database, get user from database. You can also add methods like update user, delete user.
unique id – I am generating unique user id in php using uniqid(”, true) function. Sample user id will be like 4f074eca601fb8.88015924
Encrypted Password – The passwords are stored using base64_encode method. Each password needs two columns to store it in database. One is to store encrypted password and other is to storesalt used to encrypt the password.
Database3
table1 database28
table3table4 table5table6
table3database34
table3database01 database37
database03database04 database40table6
database03database43
database03database45 database46database13 database48
database03database11database12database45database53
table3database23
table3database57
table3database01 database60
database03
table3database23
table3Database4
database66database67
database66database69
database66Database8
table3database00 database01 database75database76android_api /** Creating5database78android_api /** Creating5database80database81
database03database83 database84database85database86
database03database88 database46database11database91database80**/3
database03database95 database46database88database98database99android_api /** Creating00android_api /** Creating01
database03android_api /** Creating03 database46database88database98android_api /** Creating07android_api /** Creating00android_api /** Creating09
database03android_api /** Creating11 database46database11android_api /** Creating14android_api /** Creating15**/3
database03android_api /** Creating11android_api /** Creating19android_api /** Creating20android_api /** Creating5database83android_api /** Creating5database76android_api /** Creating5database78android_api /** Creating5database95android_api /** Creating5android_api /** Creating03**/3
database03android_api /** Creating33 database46android_api /** Creating11android_api /** Creating36
database03android_api /** Creating11android_api /** Creating39
database03android_api /** Creating41
database03android_api /** Creating43 android_api /** Creating44android_api /** Creating33database81
android_api /** Creating47android_api /** Creating11 database46database11android_api /** Creating14android_api /** Creating52**/3
android_api /** Creating47android_api /** Creating11android_api /** Creating19android_api /** Creating57android_api /** Creating5database78**/3
android_api /** Creating47android_api /** Creating11android_api /** Creating36
android_api /** Creating47android_api /** Creating65 database46android_api /** Creating11android_api /** Creating68
android_api /** Creating47android_api /** Creating11android_api /** Creating39
android_api /** Creating47database19 android_api /** Creating65table6
database03database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating47database19 android_api /** Creating82
database03database23
table3database23
table3Database4
database66android_api /** Creating90
database66Database8
table3database00 database01 android_api /** Creating96database78android_api /** Creating5database80database81
database03android_api /** Creating11 database46database11android_api /** Creating14android_api /** Creating52**/3
database03android_api /** Creating11android_api /** Creating19android_api /** Creating57android_api /** Creating5database78**/3
database03android_api /** Creating43 android_api /** Creating44android_api /** Creating11Database19
android_api /** Creating47android_api /** Creating65 database46android_api /** Creating11android_api /** Creating68
android_api /** Creating47android_api /** Creating11android_api /** Creating39
android_api /** Creating47database19 android_api /** Creating65table6
database03database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating47database19 Database38
database03database23
table3database23
table3Database4
database66Database46
database66Database8
table3database00 database01 Database52database78database81
database03android_api /** Creating11 database46database11android_api /** Creating14Database60**/3
database03android_api /** Creating11android_api /** Creating19android_api /** Creating57android_api /** Creating5database78**/3
database03android_api /** Creating11android_api /** Creating36
database03android_api /** Creating11Database74
database03android_api /** Creating43 android_api /** Creating44android_api /** Creating11Database79
android_api /** Creating47Database81
android_api /** Creating47android_api /** Creating11android_api /** Creating39
android_api /** Creating47database19 Database87
database03database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating47Database93
android_api /** Creating47android_api /** Creating11android_api /** Creating39
android_api /** Creating47database19 android_api /** Creating82
database03database23
table3database23
table3Database4
database66**/07
database66**/09
database66**/11
database66Database8
table3database00 database01 **/17database80database81
database03android_api /** Creating03 **/22
database03android_api /** Creating03 database46**/26android_api /** Creating44android_api /** Creating03**/29
database03**/31 database46**/33**/34database80 **/36android_api /** Creating03**/38android_api /** Creating03**/3
database03database88 database46**/44android_api /** Creating44android_api /** Creating07 **/47android_api /** Creating03android_api /** Creating5database99 **/47**/31**/3
database03database19 database88table6
table3database23
table3Database4
database66**/63
database66**/65
database66**/67
database66Database8
table3database00 database01 **/73android_api /** Creating03android_api /** Creating5database80database81
database03database88 database46**/33**/34database80 **/36android_api /** Creating03**/38android_api /** Creating03**/3
database03database19 database88table6
table3database23
database23
create9
3.1 Registration Endpoint
Now we have all the required classes ready. Let’s start creating the endpoint for user registration. This endpoint accepts name, email and password as POST parameters and store the user in MySQL database.
6. In android_login_api root directory, create register.php and below code.
register.php
Database3
database04 **/99table6
database45 database46database13 use android_api /** Selecting04
use android_api /** Selecting05
use android_api /** Selecting06 database46**/44android_api /** Creating44use android_api /** Selecting10 use android_api /** Selecting11
android_api /** Creating43 use android_api /** Selecting13use android_api /** Selecting14database98use android_api /** Selecting16use android_api /** Selecting17use android_api /** Selecting14database98use android_api /** Selecting20use android_api /** Selecting17use android_api /** Selecting14database98use android_api /** Selecting24use android_api /** Selecting25
table3use android_api /** Selecting27
table3database76 database46use android_api /** Selecting14database98use android_api /** Selecting16android_api /** Creating00
table3database78 database46use android_api /** Selecting14database98use android_api /** Selecting20android_api /** Creating00
table3database80 database46use android_api /** Selecting14database98use android_api /** Selecting24android_api /** Creating00
table3use android_api /** Selecting50
table3android_api /** Creating43 android_api /** Creating44database45use android_api /** Selecting55database78use android_api /** Selecting57
database03use android_api /** Selecting59
database03use android_api /** Selecting06database98use android_api /** Selecting10use android_api /** Selecting64
database03use android_api /** Selecting06database98use android_api /** Selecting68use android_api /** Selecting69use android_api /** Selecting70 **/36database78table6
database03use android_api /** Selecting75 use android_api /** Selecting76use android_api /** Selecting06**/3
table3database23android_api /** Creating78 android_api /** Creating79
database03use android_api /** Selecting84
database03android_api /** Creating65 database46database45use android_api /** Selecting89database76android_api /** Creating5database78android_api /** Creating5database80**/3
database03android_api /** Creating43 android_api /** Creating44android_api /** Creating65database81
android_api /** Creating47Database02
android_api /** Creating47use android_api /** Selecting06database98use android_api /** Selecting10Database07
android_api /** Creating47use android_api /** Selecting06database98Database11use android_api /** Selecting69android_api /** Creating65database98Database15android_api /** Creating00
android_api /** Creating47use android_api /** Selecting06database98Database20Database21Database22use android_api /** Selecting69android_api /** Creating65database98Database22android_api /** Creating00
android_api /** Creating47use android_api /** Selecting06database98Database20Database21Database33use android_api /** Selecting69android_api /** Creating65database98Database33android_api /** Creating00
android_api /** Creating47use android_api /** Selecting06database98Database20Database21Database44use android_api /** Selecting69android_api /** Creating65database98Database44android_api /** Creating00
android_api /** Creating47use android_api /** Selecting06database98Database20Database21Database55use android_api /** Selecting69android_api /** Creating65database98Database55android_api /** Creating00
android_api /** Creating47use android_api /** Selecting75 use android_api /** Selecting76use android_api /** Selecting06**/3
database03database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating47Database71
android_api /** Creating47use android_api /** Selecting06database98use android_api /** Selecting10use android_api /** Selecting64
android_api /** Creating47use android_api /** Selecting06database98use android_api /** Selecting68use android_api /** Selecting69Database82table6
android_api /** Creating47use android_api /** Selecting75 use android_api /** Selecting76use android_api /** Selecting06**/3
database03database23
table3database23
database23android_api /** Creating78 android_api /** Creating79
table3use android_api /** Selecting06database98use android_api /** Selecting10use android_api /** Selecting64
table3use android_api /** Selecting06database98use android_api /** Selecting68use android_api /** Selecting69**/06table6
table3use android_api /** Selecting75 use android_api /** Selecting76use android_api /** Selecting06**/3
database23
create9
3.2 Login Endpoint
Just like registration, we need to create another endpoint for login. This endpoint accepts email and password as POST parameters. After receiving the email and password, it checks in database for matched user. If the user is matched, it echoes the success the json response.
7. Create a php file named login.php inside android_login_api with the below content.
login.php
Database3
database04 **/99table6
database45 database46database13 use android_api /** Selecting04
use android_api /** Selecting05
use android_api /** Selecting06 database46**/44android_api /** Creating44use android_api /** Selecting10 use android_api /** Selecting11
android_api /** Creating43 use android_api /** Selecting13use android_api /** Selecting14database98use android_api /** Selecting20use android_api /** Selecting17use android_api /** Selecting14database98use android_api /** Selecting24use android_api /** Selecting25
table3use android_api /** Selecting27
table3database78 database46use android_api /** Selecting14database98use android_api /** Selecting20android_api /** Creating00
table3database80 database46use android_api /** Selecting14database98use android_api /** Selecting24android_api /** Creating00
table3**/57
table3android_api /** Creating65 database46database45**/62database78android_api /** Creating5database80**/3
table3android_api /** Creating43 android_api /** Creating44android_api /** Creating65 **/71
database03**/73
database03use android_api /** Selecting06database98use android_api /** Selecting10Database07
database03use android_api /** Selecting06database98Database11use android_api /** Selecting69android_api /** Creating65database98Database15android_api /** Creating00
database03use android_api /** Selecting06database98Database20Database21Database22use android_api /** Selecting69android_api /** Creating65database98Database22android_api /** Creating00
database03use android_api /** Selecting06database98Database20Database21Database33use android_api /** Selecting69android_api /** Creating65database98Database33android_api /** Creating00
database03use android_api /** Selecting06database98Database20Database21Database44use android_api /** Selecting69android_api /** Creating65database98Database44android_api /** Creating00
database03use android_api /** Selecting06database98Database20Database21Database55use android_api /** Selecting69android_api /** Creating65database98Database55android_api /** Creating00
database03use android_api /** Selecting75 use android_api /** Selecting76use android_api /** Selecting06**/3
table3database23android_api /** Creating78 android_api /** Creating79
database03create42
database03use android_api /** Selecting06database98use android_api /** Selecting10use android_api /** Selecting64
database03use android_api /** Selecting06database98use android_api /** Selecting68use android_api /** Selecting69create53table6
database03use android_api /** Selecting75 use android_api /** Selecting76use android_api /** Selecting06**/3
table3database23
database23android_api /** Creating78 android_api /** Creating79
table3create66
table3use android_api /** Selecting06database98use android_api /** Selecting10use android_api /** Selecting64
table3use android_api /** Selecting06database98use android_api /** Selecting68use android_api /** Selecting69create77table6
table3use android_api /** Selecting75 use android_api /** Selecting76use android_api /** Selecting06**/3
database23
create9
3.3 Types of JSON Responses
The following are the different types of JSON responses for registration and login endpoints.
3.3.1 Registration
URL: //localhost/android_login_api/register.php
PARAMS: name, email, password
Registration success response
android_api /** Creating79
table3use android_api /** Selecting10create89
table3Database11create92create93android_api /** Creating5
table3Database20create97
database03Database22create92table01android_api /** Creating5
database03Database33create92table06android_api /** Creating5
database03Database44create92table11android_api /** Creating5
database03Database55table15
table3database23
database23
Registration error in storing
android_api /** Creating79
table3use android_api /** Selecting10table22
table3use android_api /** Selecting68create92Database82
database23
Registration error – User Already Existed
android_api /** Creating79
table3table30table31
table3use android_api /** Selecting10table34
table3use android_api /** Selecting68create92table38
database23
3.3.2 Login
URL: //localhost/android_login_api/login.php
PARAMS: email, password
Login Success
android_api /** Creating79
table3use android_api /** Selecting10create89
table3Database11create92create93android_api /** Creating5
table3Database20create97
database03Database22create92table01android_api /** Creating5
database03Database33create92table06android_api /** Creating5
database03Database44create92table11android_api /** Creating5
database03Database55table15
table3database23
database23
Login error – Incorrect username / password
android_api /** Creating79
table3table75create92table77android_api /** Creating5
table3table30table31
table3use android_api /** Selecting10table22
table3use android_api /** Selecting68create92table88
database23
Now we have completed the PHP part. Let’s start the android part.
4. Creating the Android Project
The app we’re gonna build will have three simple screens Login Screen, Registration Screen and a welcome Dashboard Screen.
1. In Android Studio, create a new project from File ⇒ New Project and fill all the required details.
2. Create three packages named app, activity and helper under src folder.
3. Open build.gradle and add volley library support by adding
compile ‘com.mcxiaoke.volley:library-aar:1.0.0′ under dependencies.
build.gradle
table90
table3table92table93
table3table92table96
table3table92table99
database23
4. Open strings.xml located under res ⇒ values and add below string values.
strings.xml
database001database002 database003database46database005 database006database46database008create9
database010database011database012
table3database010database015 android_api /** Creating7database46database018database019database015database012
table3database010database015 android_api /** Creating7database46database027database028database015database012
table3database010database015 android_api /** Creating7database46database036database037database015database012
table3database010database015 android_api /** Creating7database46database045database046database015database012
table3database010database015 android_api /** Creating7database46database054database055database015database012
table3database010database015 android_api /** Creating7database46database063database064database015database012
table3database010database015 android_api /** Creating7database46database072database073database015database012
table3database010database015 android_api /** Creating7database46database081database082database015database012
table3database010database015 android_api /** Creating7database46database090database091database015database012
table3database010database015 android_api /** Creating7database46database099database100database015database012
table3database010database015 android_api /** Creating7database46Database22database046database015database012
database112database011database012
5. Open colors.xml located under res ⇒ values and add the color values. If you don’t find colors.xml, create a new file with the name.
colors.xml
database001database002 database003database46database005 database006database46database008create9
database010database011database012
table3database010database129 android_api /** Creating7database46database132database133database129database012
table3database010database129 android_api /** Creating7database46database141database142database129database012
table3database010database129 android_api /** Creating7database46database150database151database129database012
table3database010database129 android_api /** Creating7database46database159database160database129database012
table3database010database129 android_api /** Creating7database46database168database169database129database012
table3database010database129 android_api /** Creating7database46database177database178database129database012
table3database010database129 android_api /** Creating7database46database186database187database129database012
table3database010database129 android_api /** Creating7database46database195database196database129database012
table3database010database129 android_api /** Creating7database46database204database205database129database012
table3database010database129 android_api /** Creating7database46database054database133database129database012
table3database010database129 android_api /** Creating7database46database222database223database129database012
table3database010database129 android_api /** Creating7database46database231database232database129database012
table3database010database129 android_api /** Creating7database46database240database241database129database012
database112database011database012
6. Under app package create a class named AppConfig.java and add below code. In this class we declare the login and registration urls. While testing you need to replace the ip address with your localhost pc ip.
AppConfig.java
database247 database248
database00 table1 database251
table3database253
table3database00 database256 database257database258table6
table3database261
table3database00 database256 database265database266table6
database23
7. Under app package, create a class named AppController.java. This class extends fromApplication which should be executed on app launch. In this class we initiate all the volley core objects.
AppController.java
database247 database248
database271 database272
database271 database274
database271 database276
database271 database278
database271 database280
database00 table1 database283database284 database285
table3database00 database256 database289 database290table1database292
table3table4 database295
table3table4 database256 database299
table3database301
table3database00 database304 database305
database03database307database308
database03database310database311table6
table3database23
table3database00 database256 database318 database319
database03database19 database322
table3database23
table3database00 database327
database03android_api /** Creating43 database330android_api /** Creating3database81
android_api /** Creating47database334
database03database23
database03database19 database339
table3database23
table3database00 database344database304 database346
database03database348
database03database350
table3database23
table3database00 database344database304 database357
database03database359
database03database350
table3database23
table3database00 database304 database367
database03android_api /** Creating43 database370android_api /** Creating3database81
android_api /** Creating47database374
database03database23
table3database23
database23
8. Now open AndroidManifest.xml and add INTERNET permission. Add the AppController class to<application> tag. Also add other activities (LoginActivity, RegisterActivity and MainActivity) which we are going to create shortly. I am keeping LoginActivity as launcher activity as it should be seen on app launch.
AndroidManifest.xml
database001database002 database003database46database005 database006database46database008create9
database010database390 database391database46database393
table3database247database46database397
table3database399database46database401
table3database403database46database005 database012
table3database010database409
database03database411database46database413
database03database415database46database417 database418
table3database010database421 database422database46database424 database418
table3database010database428
database03database422database46database432
database03database434database46database436
database03database438database46database440
database03database442database46database444
database03database446database46database448 database012
database03database010database452
android_api /** Creating47database422database46database456
android_api /** Creating47database442database46database444
android_api /** Creating47database462database46database464
android_api /** Creating47database466database46database468 database012
android_api /** Creating47database010database472database012
database474database010database476 database422database46database479 database418
database474database010database483 database422database46database486 database418
android_api /** Creating47database112database472database012
database03database112database452database012
database03database010database452
android_api /** Creating47database422database46database502
android_api /** Creating47database442database46database444
android_api /** Creating47database462database46database464
android_api /** Creating47database466database46database468 database418
database03database010database452
android_api /** Creating47database422database46database522
android_api /** Creating47database442database46database444
android_api /** Creating47database462database46database464 database418
table3database112database428database012
database112database390database012
9. Under helper package, create a class named SessionManager.java and add below code. This class maintains session data across the app using the SharedPreferences. We store a boolean flagisLoggedIn in shared preferences to check the login status.
My previous article Android User Session Management using Shared Preferences gives you a good overview of managing the session data using SharedPreferences.
SessionManager.java
database247 database540
database271 database542
database271 database544
database271 database546
database271 database548
database00 table1 database551
table3database553
table3table4 database256 database557table1database292
table3database561
table3database563
table3database565
table3database567
table3database569
table3database3 database572database573table6
table3database576
table3table4 database256 database289 database581database582table6
table3
table3table4 database256 database289 database589database590table6
table3database00 database594
database03database311database597
database03database599
database03database601
table3database23
table3database00 database304 database607database608 database609
database03database611
database03database613
database03database615
database03database617database618**/3
table3database23
table3
table3database00 database608 database626
database03database19 database629database630**/3
table3database23
database23
10. Under helper package, create a class named SQLiteHandler.java and paste the below code. This class takes care of storing the user data in SQLite database. Whenever we needs to get the logged in user information, we fetch from SQLite instead of making request to server.
SQLiteHandler.java
Database4
Database5database637
Database5database639
Database5database641
Database5database643
database247 database540
database271 database647
database271 database542
database271 database651
database271 database653
database271 database655
database271 database548
database271 database659
database00 table1 database662database284 database664
table3table4 database256 database289 database669table1database292
table3database673
table3database675
table3table4 database256 database289 database3 database681database682table6
table3database685
table3table4 database256 database289 database690create7table6
table3database694
table3table4 database256 database289 database699Database20table6
table3database703
table3table4 database256 database289 database708database709table6
table3table4 database256 database289 database715Database22table6
table3table4 database256 database289 database722Database33table6
table3table4 database256 database289 database729Database11table6
table3table4 database256 database289 database736Database44table6
table3database00 database741
database03database307database744android_api /** Creating3database746
table3database23
table3database750
table3database301
table3database00 database304 database756
database03database758database759 database760database761
database474database763database764 database765database766
database474database768database769 database770database766
database474database773database774 database775database776table6
database03database779
database03database617database782**/3
table3database23
table3database787
table3database301
table3database00 database304 database793database3 database795database3 database797
database03database799
database03database801database802 database803
database03database805
database03database807
table3database23
table3Database4
database66database813
database66database643
table3database00 database304 database819
database03database821database311database823
database03database825database13 database827
database03database829database830
database03database832database833
database03database835database833
database03database838database839
database03database841
database03database843 database844android_api /** Creating3database846
database03database848database849
database03database617database852 database853
table3database23
table3Database4
database66database859
database66database643
table3database00 database864
database03database866database13 database868
database03database870database871 database872
database03database821database311database876
database03database878android_api /** Creating3**/3
database03database882
database03database884
database03android_api /** Creating43 database887database573database81
android_api /** Creating47database891Database22database893database682database895
android_api /** Creating47database891Database33database893database900database895
android_api /** Creating47database891Database11database893database906database895
android_api /** Creating47database891Database44database893database912database895
database03database23
database03database917
database03database848
database03database921
database03database617database924 database925
database03database19 database928
table3database23
table3Database4
database66database934
database66database643
table3database00 database304 database940
database03database821database311database823
database03database946
database03database948android_api /** Creating3android_api /** Creating5android_api /** Creating3**/3
database03database848
database03database617database957**/3
table3database23
database23
4.1 Adding the Login Screen
Now we’ll implement the login module by creating the screen and adding the code to make login request to php, mysql server.
11. Create an xml file named activity_login.xml under res ⇒ layout.
activity_login.xml
database001database002 database003database46database005 database006database46database008create9
database010database972 database391database46database393
table3database977database46database979
table3database981database46database979
table3database985database46database987
table3database989database46database991
table3database993database46database995
table3database997database46database999 database012
table3database010database972
database03database977database46database979
database03database981database46android_api /** Creating011
database03android_api /** Creating013database46database991
database03database993database46database995
database03android_api /** Creating021database46android_api /** Creating023
database03android_api /** Creating025database46android_api /** Creating023 database012
database03database010android_api /** Creating031
android_api /** Creating47android_api /** Creating033database46android_api /** Creating035
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating045database46database999
android_api /** Creating47database985database46android_api /** Creating051
android_api /** Creating47android_api /** Creating053database46android_api /** Creating055
android_api /** Creating47android_api /** Creating057database46android_api /** Creating059
android_api /** Creating47database997database46database999
android_api /** Creating47android_api /** Creating065database46database436
android_api /** Creating47android_api /** Creating069database46android_api /** Creating071
android_api /** Creating47android_api /** Creating073database46android_api /** Creating075 database418
database03database010android_api /** Creating031
android_api /** Creating47android_api /** Creating033database46android_api /** Creating083
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating045database46database999
android_api /** Creating47database985database46android_api /** Creating051
android_api /** Creating47android_api /** Creating053database46android_api /** Creating103
android_api /** Creating47android_api /** Creating057database46android_api /** Creating107
android_api /** Creating47database997database46database999
android_api /** Creating47android_api /** Creating065database46database436
android_api /** Creating47android_api /** Creating069database46android_api /** Creating071
android_api /** Creating47android_api /** Creating073database46android_api /** Creating075 database418
database03android_api /** Creating126
database03database010android_api /** Creating129
android_api /** Creating47android_api /** Creating033database46android_api /** Creating133
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating143database46android_api /** Creating145
android_api /** Creating47database985database46android_api /** Creating149
android_api /** Creating47android_api /** Creating151database46android_api /** Creating153
android_api /** Creating47android_api /** Creating069database46android_api /** Creating157 database418
database03android_api /** Creating160
database03database010android_api /** Creating129
android_api /** Creating47android_api /** Creating033database46android_api /** Creating167
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating143database46android_api /** Creating179
android_api /** Creating47database985database46android_api /** Creating183
android_api /** Creating47android_api /** Creating151database46android_api /** Creating187
android_api /** Creating47android_api /** Creating189database46android_api /** Creating191
android_api /** Creating47android_api /** Creating069database46android_api /** Creating051
android_api /** Creating47android_api /** Creating197database46android_api /** Creating199 database418
table3database112database972database012
database112database972database012
12. Create an activity class named LoginActivity.java under activity package. In this class
checkLogin() – Method verifies the login details on the server by making the volley http request.
LoginActivity.java
Database4
Database5database637
Database5database639
Database5database641
Database5Database8
database247 android_api /** Creating218
database271 android_api /** Creating220
database271 android_api /** Creating222
database271 android_api /** Creating224
database271 android_api /** Creating226
database271 database548
database271 android_api /** Creating230
database271 android_api /** Creating232
database271 android_api /** Creating234
database271 android_api /** Creating236
database271 android_api /** Creating238
database271 android_api /** Creating240
database271 android_api /** Creating242
database271 android_api /** Creating244
database271 android_api /** Creating246
database271 android_api /** Creating248
database271 database659
database271 android_api /** Creating252
database271 android_api /** Creating254
database271 android_api /** Creating256
database271 android_api /** Creating258
database271 android_api /** Creating260
database271 android_api /** Creating262
database00 table1 android_api /** Creating265database284 android_api /** Creating267
table3table4 database256 database289 android_api /** Creating272table1database292
table3table4 android_api /** Creating277
table3table4 android_api /** Creating280
table3table4 android_api /** Creating283
table3table4 android_api /** Creating286
table3table4 android_api /** Creating289
table3table4 android_api /** Creating292
table3table4 android_api /** Creating295
table3database301
table3database00 database304 android_api /** Creating301
database03database307android_api /** Creating304
database03android_api /** Creating306
database03android_api /** Creating308
database03android_api /** Creating310
database03android_api /** Creating312
database03android_api /** Creating314
database03android_api /** Creating316
database03android_api /** Creating318database13 android_api /** Creating320database311**/3
database03android_api /** Creating324database630**/3
database03android_api /** Creating328
database03android_api /** Creating330database13 android_api /** Creating332
database03android_api /** Creating334
database03android_api /** Creating336database13 android_api /** Creating338
database03android_api /** Creating340
database03android_api /** Creating43 android_api /** Creating343
android_api /** Creating47android_api /** Creating345
android_api /** Creating47android_api /** Creating347database13 android_api /** Creating349database311android_api /** Creating351table1**/3
android_api /** Creating47android_api /** Creating355
android_api /** Creating47android_api /** Creating357
database03database23
database03android_api /** Creating361
database03android_api /** Creating363database13 android_api /** Creating365
android_api /** Creating47database00 database304 android_api /** Creating369
database474android_api /** Creating371
database474android_api /** Creating373
database474android_api /** Creating375
database474android_api /** Creating43 android_api /** Creating378
android_api /** Creating379android_api /** Creating380
android_api /** Creating379android_api /** Creating382
database474database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating379android_api /** Creating388
android_api /** Creating379android_api /** Creating390
android_api /** Creating391android_api /** Creating392android_api /** Creating393
android_api /** Creating391android_api /** Creating395
database474database23
android_api /** Creating47database23
database03android_api /** Creating401
database03android_api /** Creating403
database03android_api /** Creating405database13 android_api /** Creating365
android_api /** Creating47database00 database304 android_api /** Creating369
database474android_api /** Creating413database13 android_api /** Creating415
android_api /** Creating416android_api /** Creating417table1**/3
database474android_api /** Creating421
database474android_api /** Creating357
android_api /** Creating47database23
database03android_api /** Creating401
table3database23
table3Database4
database66android_api /** Creating433
database66database643
table3table4 database304 android_api /** Creating439database289 android_api /** Creating441database289 android_api /** Creating443
database03android_api /** Creating445
database03android_api /** Creating447android_api /** Creating448table6
database03android_api /** Creating451android_api /** Creating452**/3
database03android_api /** Creating455
database03android_api /** Creating457database13 android_api /** Creating459
database474android_api /** Creating461database13 android_api /** Creating463
android_api /** Creating47database301
android_api /** Creating47database00 database304 android_api /** Creating469
database474database617android_api /** Creating472 android_api /** Creating473
database474android_api /** Creating475
database474android_api /** Creating477 android_api /** Creating79
android_api /** Creating379android_api /** Creating480database13 android_api /** Creating482
android_api /** Creating379database608 android_api /** Creating485use android_api /** Selecting10**/3
android_api /** Creating379android_api /** Creating489
android_api /** Creating379android_api /** Creating43 android_api /** Creating492
android_api /** Creating416android_api /** Creating494
android_api /** Creating416android_api /** Creating496
android_api /** Creating416android_api /** Creating498android_api /** Creating499**/3
android_api /** Creating416android_api /** Creating502
android_api /** Creating416android_api /** Creating504Database11**/3
android_api /** Creating416android_api /** Creating508Database20**/3
android_api /** Creating416android_api /** Creating512Database22**/3
android_api /** Creating416android_api /** Creating516Database33**/3
android_api /** Creating416android_api /** Creating520
android_api /** Creating521android_api /** Creating522Database44**/3
android_api /** Creating416android_api /** Creating526
android_api /** Creating416android_api /** Creating528
android_api /** Creating416android_api /** Creating530
android_api /** Creating416android_api /** Creating347database13 android_api /** Creating349database311android_api /** Creating5
android_api /** Creating521android_api /** Creating538table1**/3
android_api /** Creating416android_api /** Creating355
android_api /** Creating416android_api /** Creating357
android_api /** Creating379database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating416android_api /** Creating550
android_api /** Creating416android_api /** Creating552use android_api /** Selecting68**/3
android_api /** Creating416android_api /** Creating390
android_api /** Creating521android_api /** Creating558
android_api /** Creating379database23
database474database23android_api /** Creating563 android_api /** Creating564
android_api /** Creating379android_api /** Creating566
android_api /** Creating379android_api /** Creating568
android_api /** Creating379android_api /** Creating390android_api /** Creating571 android_api /** Creating572
database474database23
android_api /** Creating47database23
database03android_api /** Creating578database13 android_api /** Creating580
android_api /** Creating47database301
android_api /** Creating47database00 database304 android_api /** Creating586
database474android_api /** Creating588android_api /** Creating589 android_api /** Creating590
database474android_api /** Creating390
android_api /** Creating416android_api /** Creating594
database474android_api /** Creating475
android_api /** Creating47database23
database03android_api /** Creating600
android_api /** Creating47database301
android_api /** Creating47android_api /** Creating604 android_api /** Creating605
database474android_api /** Creating607
database474android_api /** Creating609database13 database868
database474android_api /** Creating613Database33android_api /** Creating615
database474android_api /** Creating613android_api /** Creating618android_api /** Creating619
database474database19 android_api /** Creating622
android_api /** Creating47database23
database03android_api /** Creating626
database03android_api /** Creating628
database03android_api /** Creating630
table3database23
table3table4 database304 android_api /** Creating636
database03android_api /** Creating43 android_api /** Creating639
android_api /** Creating47android_api /** Creating641
table3database23
table3table4 database304 android_api /** Creating647
database03android_api /** Creating43 android_api /** Creating650
android_api /** Creating47android_api /** Creating652
table3database23
database23
Now if you run the app, you should see the login screen. But login might not work as we don’t have any user information in mysql database. That can be done by adding the registration screen.
4.1 Adding the Registration Screen
13. Create an xml layout named activity_register.xml under res ⇒ layout.
activity_register.xml
database001database002 database003database46database005 database006database46database008create9
database010database972 database391database46database393
table3database977database46database979
table3database981database46database979
table3database985database46android_api /** Creating681
table3database989database46database991
table3database993database46database995
table3database997database46database999 database012
table3database010database972
database03database977database46database979
database03database981database46android_api /** Creating011
database03android_api /** Creating013database46database991
database03database993database46database995
database03android_api /** Creating021database46android_api /** Creating023
database03android_api /** Creating025database46android_api /** Creating023 database012
database03database010android_api /** Creating031
android_api /** Creating47android_api /** Creating033database46android_api /** Creating729
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating045database46database999
android_api /** Creating47database985database46android_api /** Creating745
android_api /** Creating47android_api /** Creating053database46android_api /** Creating749
android_api /** Creating47database997database46database999
android_api /** Creating47android_api /** Creating065database46database436
android_api /** Creating47android_api /** Creating057database46android_api /** Creating761
android_api /** Creating47android_api /** Creating069database46android_api /** Creating765
android_api /** Creating47android_api /** Creating073database46android_api /** Creating769 database418
database03database010android_api /** Creating031
android_api /** Creating47android_api /** Creating033database46android_api /** Creating035
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating045database46database999
android_api /** Creating47database985database46android_api /** Creating745
android_api /** Creating47android_api /** Creating053database46android_api /** Creating055
android_api /** Creating47android_api /** Creating057database46android_api /** Creating059
android_api /** Creating47database997database46database999
android_api /** Creating47android_api /** Creating065database46database436
android_api /** Creating47android_api /** Creating069database46android_api /** Creating765
android_api /** Creating47android_api /** Creating073database46android_api /** Creating769 database418
database03database010android_api /** Creating031
android_api /** Creating47android_api /** Creating033database46android_api /** Creating083
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating045database46database999
android_api /** Creating47database985database46android_api /** Creating745
android_api /** Creating47android_api /** Creating053database46android_api /** Creating103
android_api /** Creating47android_api /** Creating057database46android_api /** Creating107
android_api /** Creating47database997database46database999
android_api /** Creating47android_api /** Creating065database46database436
android_api /** Creating47android_api /** Creating069database46android_api /** Creating765
android_api /** Creating47android_api /** Creating073database46android_api /** Creating769 database418
database03android_api /** Creating126
database03database010android_api /** Creating129
android_api /** Creating47android_api /** Creating033database46android_api /** Creating875
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating143database46android_api /** Creating145
android_api /** Creating47database985database46android_api /** Creating891
android_api /** Creating47android_api /** Creating151database46android_api /** Creating895
android_api /** Creating47android_api /** Creating069database46android_api /** Creating051 database418
database03android_api /** Creating160
database03database010android_api /** Creating129
android_api /** Creating47android_api /** Creating033database46android_api /** Creating909
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating143database46android_api /** Creating179
android_api /** Creating47database985database46android_api /** Creating183
android_api /** Creating47android_api /** Creating151database46android_api /** Creating929
android_api /** Creating47android_api /** Creating189database46android_api /** Creating191
android_api /** Creating47android_api /** Creating069database46android_api /** Creating051
android_api /** Creating47android_api /** Creating197database46android_api /** Creating199 database418
table3database112database972database012
database112database972database012
14. Create an activity class named RegisterActivity.java under activity package.
registerUser() – Will store the user by passing name, email and password to php,mysql server.
db.addUser() – Will insert the user in SQLite database once he is successfully registered.
RegisterActivity.java
Database4
Database5database637
Database5database639
Database5database641
Database5Database8
database247 android_api /** Creating218
database271 android_api /** Creating220
database271 android_api /** Creating222
database271 android_api /** Creating224
database271 android_api /** Creating226
database271 database548
database271 android_api /** Creating230
database271 android_api /** Creating232
database271 android_api /** Creating234
database271 android_api /** Creating236
database271 android_api /** Creating238
database271 android_api /** Creating240
database271 android_api /** Creating242
database271 android_api /** Creating244
database271 android_api /** Creating246
database271 android_api /** Creating248
database271 database659
database271 android_api /** Creating252
database271 android_api /** Creating254
database271 android_api /** Creating256
database271 android_api /** Creating258
database271 android_api /** Creating260
database271 android_api /** Creating262
database00 table1 Database007database284 android_api /** Creating267
table3table4 database256 database289 android_api /** Creating272table1database292
table3table4 Database019
table3table4 Database022
table3table4 Database025
table3table4 android_api /** Creating283
table3table4 android_api /** Creating286
table3table4 android_api /** Creating289
table3table4 android_api /** Creating292
table3table4 android_api /** Creating295
table3database301
table3database00 database304 android_api /** Creating301
database03database307android_api /** Creating304
database03Database051
database03Database053
database03android_api /** Creating308
database03android_api /** Creating310
database03Database059
database03Database061
database03android_api /** Creating316
database03android_api /** Creating318database13 android_api /** Creating320database311**/3
database03android_api /** Creating324database630**/3
database03android_api /** Creating334
database03android_api /** Creating336database13 android_api /** Creating338
database03android_api /** Creating328
database03android_api /** Creating330database13 android_api /** Creating332
database03android_api /** Creating340
database03android_api /** Creating43 android_api /** Creating343
android_api /** Creating47android_api /** Creating345
android_api /** Creating47android_api /** Creating347database13 Database096database311android_api /** Creating5
android_api /** Creating379android_api /** Creating538table1**/3
android_api /** Creating47android_api /** Creating355
android_api /** Creating47android_api /** Creating357
database03database23
database03Database110
database03Database112database13 android_api /** Creating365
android_api /** Creating47database00 database304 android_api /** Creating369
database474Database120
database474android_api /** Creating371
database474android_api /** Creating373
database474android_api /** Creating43 Database127
android_api /** Creating379Database129
database474database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating379android_api /** Creating390
android_api /** Creating391Database137android_api /** Creating393
android_api /** Creating391android_api /** Creating395
database474database23
android_api /** Creating47database23
database03android_api /** Creating401
database03Database148
database03Database150database13 android_api /** Creating365
android_api /** Creating47database00 database304 android_api /** Creating369
database474android_api /** Creating413database13 android_api /** Creating415
android_api /** Creating416Database162table1**/3
database474android_api /** Creating421
database474android_api /** Creating357
android_api /** Creating47database23
database03android_api /** Creating401
table3database23
table3Database4
database66Database178
database66Database180
database66database643
table3table4 database304 Database186database289 Database188database289 android_api /** Creating441
Database191database289 android_api /** Creating443
database03android_api /** Creating445
database03android_api /** Creating447Database198table6
database03android_api /** Creating451Database202**/3
database03android_api /** Creating455
database03android_api /** Creating457database13 android_api /** Creating459
database474Database211database13 android_api /** Creating463
android_api /** Creating47database301
android_api /** Creating47database00 database304 android_api /** Creating469
database474database617Database222 android_api /** Creating473
database474android_api /** Creating475
database474android_api /** Creating477 android_api /** Creating79
android_api /** Creating379android_api /** Creating480database13 android_api /** Creating482
android_api /** Creating379database608 android_api /** Creating485use android_api /** Selecting10**/3
android_api /** Creating379android_api /** Creating43 android_api /** Creating492
android_api /** Creating416Database242
android_api /** Creating416Database244
android_api /** Creating416android_api /** Creating504Database11**/3
android_api /** Creating416android_api /** Creating508Database20**/3
android_api /** Creating416android_api /** Creating512Database22**/3
android_api /** Creating416android_api /** Creating516Database33**/3
android_api /** Creating416android_api /** Creating520
android_api /** Creating521android_api /** Creating522Database44**/3
android_api /** Creating416android_api /** Creating526
android_api /** Creating416android_api /** Creating528
android_api /** Creating416android_api /** Creating390Database273Database274
android_api /** Creating416Database276
android_api /** Creating416android_api /** Creating347database13 Database280
android_api /** Creating521android_api /** Creating417database311android_api /** Creating5
android_api /** Creating521Database162table1**/3
android_api /** Creating416android_api /** Creating355
android_api /** Creating416android_api /** Creating357
android_api /** Creating379database23android_api /** Creating78 android_api /** Creating79
android_api /** Creating416Database298
android_api /** Creating416Database300
android_api /** Creating416android_api /** Creating552use android_api /** Selecting68**/3
android_api /** Creating416android_api /** Creating390
android_api /** Creating521android_api /** Creating558
android_api /** Creating379database23
database474database23android_api /** Creating563 android_api /** Creating564
android_api /** Creating379android_api /** Creating568
database474database23
android_api /** Creating47database23
database03android_api /** Creating578database13 android_api /** Creating580
android_api /** Creating47database301
android_api /** Creating47database00 database304 android_api /** Creating586
database474android_api /** Creating588Database333 android_api /** Creating590
database474android_api /** Creating390
android_api /** Creating416android_api /** Creating594
database474android_api /** Creating475
android_api /** Creating47database23
database03android_api /** Creating600
android_api /** Creating47database301
android_api /** Creating47android_api /** Creating604 android_api /** Creating605
database474Database351
database474android_api /** Creating609database13 database868
database474android_api /** Creating613Database22Database359
database474android_api /** Creating613Database33android_api /** Creating615
database474android_api /** Creating613android_api /** Creating618android_api /** Creating619
database474database19 android_api /** Creating622
android_api /** Creating47database23
database03android_api /** Creating626
database03android_api /** Creating628
database03android_api /** Creating630
table3database23
table3table4 database304 android_api /** Creating636
database03android_api /** Creating43 android_api /** Creating639
android_api /** Creating47android_api /** Creating641
table3database23
table3table4 database304 android_api /** Creating647
database03android_api /** Creating43 android_api /** Creating650
android_api /** Creating47android_api /** Creating652
table3database23
database23
Run the app and navigate to register screen by tapping on the link below login button.
4.3 Adding the Home Screen
Until now we are done with both login and registration screen. Now we’ll add the final screen to show the logged in user information. This information will be fetched from SQLite database once user is logged in.
15. Create an xml file named activity_main.xml under res ⇒ layout and add below code.
activity_main.xml
database010Database405 database391database46database393
table3Database410database46Database412
table3database977database46Database416
table3database981database46Database416
table3Database422database46Database424 database012
table3database010database972
database03database977database46database979
database03database981database46android_api /** Creating011
database03Database438database46database436
database03Database442database46android_api /** Creating023
database03Database446database46android_api /** Creating023
database03database989database46database991
database03database993database46database995 database012
database03database010Database460
android_api /** Creating47database977database46android_api /** Creating011
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating151database46Database472
android_api /** Creating47android_api /** Creating197database46android_api /** Creating023 database418
database03database010Database460
android_api /** Creating47android_api /** Creating033database46android_api /** Creating729
android_api /** Creating47database977database46android_api /** Creating011
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47database997database46database999
android_api /** Creating47android_api /** Creating069database46Database500
android_api /** Creating47android_api /** Creating197database46Database504 database418
database03database010Database460
android_api /** Creating47android_api /** Creating033database46android_api /** Creating035
android_api /** Creating47database977database46android_api /** Creating011
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating197database46Database524 database418
database03database010android_api /** Creating129
android_api /** Creating47android_api /** Creating033database46Database532
android_api /** Creating47database977database46database979
android_api /** Creating47database981database46android_api /** Creating011
android_api /** Creating47android_api /** Creating143database46android_api /** Creating179
android_api /** Creating47database985database46Database548
android_api /** Creating47android_api /** Creating151database46Database552
android_api /** Creating47android_api /** Creating189database46android_api /** Creating191
android_api /** Creating47android_api /** Creating069database46android_api /** Creating051
android_api /** Creating47android_api /** Creating197database46android_api /** Creating199 database418
table3database112database972database012
database112Database405database012
16. Open the MainActivity.java and do below changes. Here we are just fetching the logged user information from SQLite and displaying it on the screen. The logout button will logout the user by clearing the session and deleting the user from SQLite table.
MainActivity.java
database247 Database574
database271 android_api /** Creating260
database271 android_api /** Creating262
database271 database659
database271 android_api /** Creating220
database271 android_api /** Creating224
database271 android_api /** Creating226
database271 android_api /** Creating230
database271 android_api /** Creating232
database271 Database592
database00 table1 Database595database284 android_api /** Creating267
table3table4 Database600
table3table4 Database603
table3table4 Database606
table3table4 android_api /** Creating295
table3table4 android_api /** Creating292
table3database301
table3android_api /** Creating604 database304 android_api /** Creating301
database03database307android_api /** Creating304
database03Database623
database03Database625
database03Database627
database03Database629
database03Database631
database03android_api /** Creating330database13 android_api /** Creating332
database03Database637
database03android_api /** Creating336database13 android_api /** Creating338
database03android_api /** Creating43 Database644
android_api /** Creating47Database646
database03database23
database03Database650
database03Database652
database03Database654Database22**/3
database03Database658Database33**/3
database03Database662
database03Database664
database03Database666
database03Database668
database03Database670database13 android_api /** Creating365
android_api /** Creating47database301
android_api /** Creating47database00 database304 Database678
database474Database646
android_api /** Creating47database23
database03android_api /** Creating401
table3database23
table3Database4
database66Database690
database66Database692
database66database643
table3table4 database304 Database698
database03android_api /** Creating498database630**/3
database03Database704
database03Database706
database03android_api /** Creating347database13 Database710database311Database712table1**/3
database03android_api /** Creating355
database03android_api /** Creating357
table3database23
database23
Now if you run the app, you should see the below screen after successful login.
5. Testing the App
For a beginner it will be always difficult to run this project for the first time. But don’t worry, the following steps will helps you testing this app.
⇒ Make sure that both devices (the device running the PHP project and the android device) are on the same wifi network.
⇒ Give correct username , password and database name of MySQL in Config.php
⇒ Replace the URL ip address of URL_LOGIN and URL_REGISTER in AppConfig.java with your machine ip address. You can get the ip address by running ipconfig in cmd
What’s Next?
If you understand this article very clearly, its time to improvise your knowledge by following the below articles.