From 4a5d61d14480cf5edf1477b28c3c838058dc5218 Mon Sep 17 00:00:00 2001 From: Niharika K <Niharika K> Date: Wed, 19 Apr 2017 20:55:24 +0530 Subject: [PATCH] firebase added --- app/build.gradle | 2 + .../chan24/smartplanner/DatabaseHelper.java | 61 ------------ .../chan24/smartplanner/LoginActivity.java | 55 ++++++----- .../chan24/smartplanner/ProfileActivity.java | 45 ++++----- .../chan24/smartplanner/RegisterActivity.java | 92 +++++++++++++++---- app/src/main/res/layout/activity_login.xml | 12 +-- 6 files changed, 128 insertions(+), 139 deletions(-) delete mode 100644 app/src/main/java/com/example/chan24/smartplanner/DatabaseHelper.java diff --git a/app/build.gradle b/app/build.gradle index fbad7bf..aceb0e0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -31,8 +31,10 @@ dependencies { compile 'com.android.support:support-annotations:25.3.1' compile 'com.google.android.gms:play-services-maps:10.0.1' compile 'com.google.firebase:firebase-database:10.0.1' + compile 'com.google.firebase:firebase-auth:10.0.1' testCompile 'junit:junit:4.12' } + apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/app/src/main/java/com/example/chan24/smartplanner/DatabaseHelper.java b/app/src/main/java/com/example/chan24/smartplanner/DatabaseHelper.java deleted file mode 100644 index 4e50b51..0000000 --- a/app/src/main/java/com/example/chan24/smartplanner/DatabaseHelper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.example.chan24.smartplanner; - -import android.content.ContentValues; -import android.content.Context; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; - -/** - * Created by Niharika on 17-04-2017. - */ - -public class DatabaseHelper extends SQLiteOpenHelper { - final static public String dbname = "UserDetails"; - final static public String tablename ="RegisterDetails"; - final static public String col1 ="Username"; - final static public String col2 ="Password"; - final static public String col3= "Mail"; - //final static public String col4= "Age"; - //final static public String col5="Sex"; - //final static public String col6="Phone"; - public static final String query="create table "+tablename+" (Username varchar(50) primary key ,Password varchar(50),Mail varchar(60))"; - - public DatabaseHelper(Context context) { - super(context, dbname, null, 1); - } - - @Override - public void onCreate(SQLiteDatabase db) { - db.execSQL(query); - } - - @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - onCreate(db); - } - - public boolean insertdata(String username ,String password,String mail) - { - SQLiteDatabase db = this.getWritableDatabase(); - ContentValues cv= new ContentValues(); - cv.put(col1,username); - cv.put(col2,password); - cv.put(col3,mail); - - long res=db.insert(tablename,null,cv); - if(res==-1) - return false; - else - return true; - - } - Cursor retriving() - { - SQLiteDatabase db =this.getWritableDatabase(); - Cursor c =db.rawQuery("select * from "+tablename,null); - return c; - - } - -} diff --git a/app/src/main/java/com/example/chan24/smartplanner/LoginActivity.java b/app/src/main/java/com/example/chan24/smartplanner/LoginActivity.java index 1ef1a7b..93ad074 100644 --- a/app/src/main/java/com/example/chan24/smartplanner/LoginActivity.java +++ b/app/src/main/java/com/example/chan24/smartplanner/LoginActivity.java @@ -2,8 +2,7 @@ package com.example.chan24.smartplanner; import android.content.Intent; -import android.database.Cursor; -import android.support.v7.app.AlertDialog; +import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; @@ -13,16 +12,22 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.auth.AuthResult; +import com.google.firebase.auth.FirebaseAuth; + public class LoginActivity extends AppCompatActivity { - DatabaseHelper db =new DatabaseHelper(this); + + FirebaseAuth firebaseAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); - final EditText name = (EditText)findViewById(R.id.name); + final EditText name = (EditText)findViewById(R.id.email); final EditText password = (EditText)findViewById(R.id.password); final Button login = (Button)findViewById(R.id.login); final TextView register = (TextView)findViewById(R.id.reg); @@ -34,35 +39,35 @@ public class LoginActivity extends AppCompatActivity { } }); - Button b =(Button)findViewById(R.id.login); - b.setOnClickListener(new View.OnClickListener() { + login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - //StringBuffer str =new StringBuffer(); - int flag=1; String n=name.getText().toString(); String p =password.getText().toString(); - Cursor res=db.retriving(); - while(res.moveToNext()) - { - if(n.equals(res.getString(0))) - { - if(p.equals(res.getString(1))) - { - flag =0; - Intent i =new Intent(getApplicationContext(),UserArea.class); - i.putExtra("name",n); - startActivity(i); - } + + if (n.isEmpty()){ + Toast.makeText(getApplicationContext(),"Enter Name",Toast.LENGTH_SHORT).show(); + return; + } + else if (p.isEmpty()){ + Toast.makeText(getApplicationContext(),"Enter Password",Toast.LENGTH_SHORT).show(); + return; + } + + firebaseAuth.getInstance().signInWithEmailAndPassword(n, p).addOnCompleteListener(new OnCompleteListener<AuthResult>() { + @Override + public void onComplete(@NonNull Task<AuthResult> task) { + if (task.isSuccessful()) { + finish(); + startActivity(new Intent(getApplicationContext(), UserArea.class)); } + else{ + Toast.makeText(getApplicationContext(),"Enter correct credentials or register and try again!",Toast.LENGTH_SHORT).show(); + } } - if(flag==1) - { - Toast.makeText(getApplicationContext(),"Enter proper details",Toast.LENGTH_SHORT).show(); - } - + }); } diff --git a/app/src/main/java/com/example/chan24/smartplanner/ProfileActivity.java b/app/src/main/java/com/example/chan24/smartplanner/ProfileActivity.java index 5c98ea0..19d1e75 100644 --- a/app/src/main/java/com/example/chan24/smartplanner/ProfileActivity.java +++ b/app/src/main/java/com/example/chan24/smartplanner/ProfileActivity.java @@ -1,7 +1,6 @@ package com.example.chan24.smartplanner; import android.content.Intent; -import android.support.annotation.IntegerRes; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; @@ -9,23 +8,22 @@ import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import android.widget.RadioGroup; -import android.widget.TextView; -import android.widget.Toast; + +import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.auth.FirebaseUser; +import com.google.firebase.database.DatabaseReference; +import com.google.firebase.database.FirebaseDatabase; public class ProfileActivity extends AppCompatActivity { - public String str=""; - DatabaseHelper2 db=new DatabaseHelper2(this); + FirebaseAuth firebaseAuth; + FirebaseUser user; + DatabaseReference databaseReference; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_profile); - Intent i =getIntent(); - str=i.getStringExtra("Name"); - - TextView uname = (TextView)findViewById(R.id.userName); - uname.setText(str); Button cancel =(Button)findViewById(R.id.cancel); cancel.setOnClickListener(new View.OnClickListener() { @@ -44,25 +42,18 @@ public class ProfileActivity extends AppCompatActivity { EditText phone = (EditText)findViewById(R.id.phone); RadioButton selectedRadioButton; - int selectedId = gender.getCheckedRadioButtonId(); - - selectedRadioButton = (RadioButton)findViewById(selectedId); - //Toast.makeText(getApplicationContext(), selectedRadioButton.getText().toString()+" is selected", Toast.LENGTH_SHORT).show(); - - - - - int a= Integer.parseInt(age.getText().toString()); - int p = Integer.parseInt(phone.getText().toString()); - boolean res =db.insertdata(selectedRadioButton.getText().toString(),a,p); - if(res) { - //Toast.makeText(this, "Inserted ", Toast.LENGTH_SHORT).show(); - Intent i2 =new Intent(getApplicationContext(),UserArea.class); - //i2.putExtra("Name",str); - startActivity(i2); + int selectedId = gender.getCheckedRadioButtonId(); + selectedRadioButton = (RadioButton)findViewById(selectedId); + String a= age.getText().toString(); + String p=phone.getText().toString(); + String g= selectedRadioButton.getText().toString(); - } + databaseReference = FirebaseDatabase.getInstance().getReference(); + user = firebaseAuth.getCurrentUser(); + databaseReference.child("Profile").child(user.getUid()).child("Age").setValue(a); + databaseReference.child("Profile").child(user.getUid()).child("Gender").setValue(g); + databaseReference.child("Profile").child(user.getUid()).child("Phone").setValue(p); } } diff --git a/app/src/main/java/com/example/chan24/smartplanner/RegisterActivity.java b/app/src/main/java/com/example/chan24/smartplanner/RegisterActivity.java index f77c707..00eff6d 100644 --- a/app/src/main/java/com/example/chan24/smartplanner/RegisterActivity.java +++ b/app/src/main/java/com/example/chan24/smartplanner/RegisterActivity.java @@ -1,8 +1,7 @@ package com.example.chan24.smartplanner; import android.content.Intent; -import android.database.Cursor; -import android.support.v7.app.AlertDialog; +import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; @@ -10,33 +9,86 @@ import android.widget.Button; import android.widget.EditText; import android.widget.Toast; +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; +import com.google.firebase.auth.AuthResult; +import com.google.firebase.auth.FirebaseAuth; +import com.google.firebase.auth.FirebaseUser; +import com.google.firebase.database.DatabaseReference; +import com.google.firebase.database.FirebaseDatabase; + public class RegisterActivity extends AppCompatActivity { - DatabaseHelper db= new DatabaseHelper(this); + + private FirebaseAuth firebaseAuth; + private DatabaseReference databaseReference; + private String m; + private String p; + private String u; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); - //final EditText user = (EditText)findViewById(R.id.user); - //final EditText pass = (EditText)findViewById(R.id.pass); - //final EditText mail = (EditText)findViewById(R.id.mail); - //final Button signup =(Button)findViewById(R.id.signup); - } - public void signup(View view) - { - EditText user = (EditText)findViewById(R.id.user); - EditText pass = (EditText)findViewById(R.id.pass); - EditText mail = (EditText)findViewById(R.id.mail); + databaseReference= FirebaseDatabase.getInstance().getReference().child("Profile"); - boolean res =db.insertdata(user.getText().toString(),pass.getText().toString(),mail.getText().toString()); - if(res) { - //Toast.makeText(this, "Inserted ", Toast.LENGTH_SHORT).show(); - Intent i =new Intent(getApplicationContext(),LoginActivity.class); - startActivity(i); - } + final EditText user = (EditText)findViewById(R.id.user); + final EditText pass = (EditText)findViewById(R.id.pass); + final EditText mail = (EditText)findViewById(R.id.mail); + final Button signup =(Button)findViewById(R.id.signup); - } + signup.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + u = user.getText().toString(); + p = pass.getText().toString(); + m = mail.getText().toString(); + + if (u.isEmpty()){ + Toast.makeText(getApplicationContext(),"Enter Name",Toast.LENGTH_SHORT).show(); + return; + } + else if (p.isEmpty()){ + Toast.makeText(getApplicationContext(),"Enter Password",Toast.LENGTH_SHORT).show(); + return; + } + + else if (m.isEmpty()){ + Toast.makeText(getApplicationContext(),"Enter Password",Toast.LENGTH_SHORT).show(); + return; + } + + firebaseAuth = FirebaseAuth.getInstance(); + firebaseAuth.createUserWithEmailAndPassword(m, p).addOnCompleteListener(new OnCompleteListener<AuthResult>() { + @Override + public void onComplete(@NonNull Task<AuthResult> task) { + if (task.isSuccessful()) { + //init cond + databaseReference = FirebaseDatabase.getInstance().getReference(); + FirebaseUser user = firebaseAuth.getCurrentUser(); + databaseReference.child("Profile").child(user.getUid()).child("Username").setValue(u); + databaseReference.child("Profile").child(user.getUid()).child("Password").setValue(p); + databaseReference.child("Profile").child(user.getUid()).child("Email").setValue(m); + databaseReference.child("Profile").child(user.getUid()).child("Age").setValue(""); + databaseReference.child("Profile").child(user.getUid()).child("Gender").setValue(""); + databaseReference.child("Profile").child(user.getUid()).child("Phone").setValue(""); + + + + + Toast.makeText(RegisterActivity.this, "Registration Successful", Toast.LENGTH_SHORT).show(); + finish(); + startActivity(new Intent(getApplicationContext(), LoginActivity.class)); + } + else { + Toast.makeText(RegisterActivity.this, "Registration Failed", Toast.LENGTH_SHORT).show(); + } + } + }); + + } + }); + } } diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 864b7b1..15f60b6 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -11,23 +11,23 @@ tools:context="com.example.chan24.smartplanner.LoginActivity"> <EditText + android:id="@+id/email" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:inputType="textPersonName" - android:ems="10" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="59dp" - android:id="@+id/name" - android:hint="Username" /> + android:ems="10" + android:hint="Email" + android:inputType="textPersonName" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPassword" android:ems="10" - android:layout_below="@+id/name" - android:layout_alignEnd="@+id/name" + android:layout_below="@+id/email" + android:layout_alignEnd="@+id/email" android:layout_marginTop="52dp" android:id="@+id/password" android:hint="Password" /> -- GitLab