Saturday, 21 July 2018

Android RecyclerView dependency malayalam

ListView ന്റെ  ഒരു  advanced version ആണ്  RecyclerView

ഈ  model ഇത്  nammude data യെ  display ചെയ്യാൻ  വേണ്ടി  ഒരുപാട്  components ഒരുമിച്ചു  work ചെയ്യും .

മൊത്തത്തിൽ  user interface നു  വേണ്ടി   നമ്മുടെ  container എന്ന്  പറഞ്ഞാൽ   layout ൽ   add ചെയ്യുന്ന  RecyclerView ആണ്

 നമ്മൾ  നൽകുന്ന  layout manager ഉപയോഗിച്ച്  RecyclerView സ്വയം  view fill ചെയ്യും .

 LinearLayoutManager അല്ലെങ്കിൽ   GridLayoutManager), അല്ലെങ്കിൽ  നമ്മുടെ  തന്നെ  layout manager  ഓ  namukk ഉപയോഗിക്കാം

list ൽ  ഉള്ള  views അവതരിപ്പിക്കുന്നത്  view holder object ആണ്

ഓരോ  view holder ഉം  ഓരോ   item തിനെ  charge ചെയ്തു  display ചെയ്യും

View holder object നെ  manage ചെയ്യുന്നത്  ഒരു  adpter ആയിരിക്കും  അതായത്  നമ്മൾ  extends ചെയ്യുന്ന  RecyclerView.Adapter

ആവധ്യമുള്ള  view holder ഇനി  create ചെയ്യുന്നത്  adpter class ആയിരിക്കും

view holder ന്റെ  data യെ  bind ചെയ്യുന്നതും  adapter class ആയിരിക്കും

onBindViewHolder() method ഉപയോഗിച്ച്  view holder ഇന്  oru position assign ചെയ്തു  കൊണ്ടാണ്  ഇത്  ചെയ്യുന്നത്  .

RecyclerView model ഒരുപാട്  കാര്യങ്ങൾ  ചെയ്യുന്നുണ്ട്  ,അതിനാൽ  നമുക്ക്  ഒരുപാട്  work load കുറക്കാം



* നമ്മുക്ക്  10 item ഉണ്ടെങ്കിൽ  ,list first populate ചെയ്യുമ്പോൾ  list ന്റെ  രണ്ടു  side യിലും  view holder കൽ  create ചെയ്യുകയും  bind ചെയ്യുകയും  ചെയ്യും . ,അതായത് 0-9 വരെ  ഇങ്ങനെ  first ചെയ്യുമ്പോൾ  പത്താമത്തെ  item നെയും  create ചെയ്യുകയും  bind ചെയ്യുകയും  ചെയ്യും  ,അതായതു  പിന്നെ  user scroll ചെയ്യുമ്പോൾ  അത്  display ചെയ്യാൻ  ready ആയിരിക്കുമെന്ന്  .



*user scroll സിഹ്യ്യുമ്പോൾ  പുതിയ  view holder create ചെയ്യുകയും  bind ചെയ്യുകയും  ചെയ്യും , കൂടാതെ  വീണ്ടും  പുറകിലോട്ടു  ചെല്ലുമ്പോൾ  വീണ്ടും  തിരിച്ചു  കൊണ്ട്  വരുവാൻ  screen ഇന്  പുറത്തുള്ള  items ഇനി  save ചെയ്യുകയും  ചെയ്യും



*display ചെയ്തിരിക്കുന്ന  item മാറുമ്പോൾ  adpter ക്ലാസ്സിനെ  വിളിച്ചു  കൊണ്ട്  ആ  change RecyclerView.Adapter.notify…() ഉപയോഗിച്ച്  affect ചെയ്താ  ഭാഗം  മാത്രം  adapter class code rebuild ചെയ്യുകയും  bind ചെയ്യുകയും  ചെയ്യും

build.gradle file open ചെയ്തു  support library add ചെയ്യാം

dependencies {
    implementation 'com.android.support:recyclerview-v7:27.1.1'
}


ഇനി  നമ്മുടെ  mainactivity xml file ൽ  Recylerview add ചെയ്യാം


<android.support.v7.widget.RecyclerView
    android:id="@+id/my_recycler_view"
    android:scrollbars="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

ഇനി  mainactivity class ൽ  ചെല്ലാം

private RecyclerView mRecyclerView;
    private RecyclerView.Adapter mAdapter;
    private RecyclerView.LayoutManager mLayoutManager;

ഇതിൽ  oncreate budle method ൽ

mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);

     

        //  content നു  അനുസരിച്ചു   RecyclerView ന്റെ  layout size മാറാതിരിക്കാൻ  

        mRecyclerView.setHasFixedSize(true);


        //  linear layout manager ഉപയോഗിച്ച് 

        mLayoutManager = new LinearLayoutManager(this);

        mRecyclerView.setLayoutManager(mLayoutManager);


        //  adapter class specify ചെയ്യാം  അതായതു MyAdapter   



        mAdapter = new MyAdapter(myDataset);


        mRecyclerView.setAdapter(mAdapter);

ഇനി  adapter class ഉപയോഗിക്കാം

നമ്മൾ  create ചെയ്താ  MyAdapter  നെ  RecyclerView.Adapter അതായതു  RecyclerView ന്റെ  Adapter ഉപയോഗിച്ച്  extends ചെയ്യാം  .

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>

ഒരു  mDataset string array define

 private String[] mDataset;

ചെയ്യാം  അതിൽ  കുറച്ചു  data കൊടുക്കാം

ഇതിൽ  ഒരു  ViewHolder class ഉണ്ടാക്കി  RecyclerView ന്റെ  ViewHolder വെച്ച്  extends ചെയ്യാം



public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {

    private String[] mDataset;

   
   

//view holder ഇലെ  data item ത്തിനു  വേണ്ടി  എല്ലാ  access ഉം  views നു  നൽകാം 

    public static class ViewHolder extends RecyclerView.ViewHolder {

        // ഓരോ  data item വും  ഇതിൽ  verum ഒരു   string ആണ് 

        public TextView mTextView;

        public ViewHolder(TextView v) {

            super(v);

            mTextView = v;

        }

    }



    // ഒരു   suitable constructor ഉണ്ടാക്കാം  ( dataset ഇന്  അനുസരിച്ചു )

    public MyAdapter(String[] myDataset) {

        mDataset = myDataset;

    }

    // പുതിയ  views  ഉണ്ടാക്കാം ( layout manager വിളിച്ചാൽ )

    @Override

    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,

                                                   int viewType) {

        // പുതിയ  views ഉണ്ടാക്കാം 

        TextView v = (TextView) LayoutInflater.from(parent.getContext())

                .inflate(R.layout.my_text_view, parent, false);

        ...

        ViewHolder vh = new ViewHolder(v);

        return vh;

    }



    //  view സിലെ  content replace ചെയ്യാം  ( layout manager വിളിച്ചാൽ )

    @Override

    public void onBindViewHolder(ViewHolder holder, int position) {

        // ഈ  position നിൽ  dataset ൽ  നിന്ന്  element എടുക്കാം 

        // ഈ  element ഉപയോഗിച്ച്  view content replace ചെയ്യാം 

        holder.mTextView.setText(mDataset[position]);



    }



    //    dataset ന്റെ  size  Return  ചെയ്യാം   ( layout manager വിളിച്ചാൽ )
    @Override
    public int getItemCount() {
        return mDataset.length;
    }
}




Android Adapter Class for customizing listviews malayalam

ആദ്യം  ഒരു  main class ഉണ്ടാക്കുക

Home.java



home.xml

linearlayout ഉണ്ടാക്കി  അതിനുള്ളിൽ

oru listview add ചെയാം

single_layout.xml

ഒരു  single_layout.xml ഉണ്ടാക്കുക

ഇതിൽ

linear layout ൽ   ചെയ്യാം

height ഉം  width ഉം  matchparent ആക്കാം



അതിനുള്ളിൽ  ഒരു  linearlayout ഉണ്ടാക്കാം

width ഉം  height ഉം  matchparent ഉം  wrap_parent ആക്കാം

അതിനുള്ളിൽ  മൂന്നു  views object ഉണ്ടാക്കാം

textview1

textview2

imageview1

ഉപയോഗിച്ച്  design ചെയ്യാം

data store ചെയ്യാൻ  ഒരു  object class ഉണ്ടാക്കാം

User.java

String name;

String age;

String img;

 അതിൽ  ഒരു  constructor ഉണ്ടാക്കാം

public User(String name.String age,String img){

this.name=name;

this.age=age;

this.img=img;



}

ഇനി  ഈ  മൂന്നു  object ഇന്നും   getter ഉം  setter  ഉം  implement ചെയ്യാം



Home.claas

ഇനി  നമ്മുടെ  Home.claas ഇൽ  ചെല്ലാം



ഇവിടെ  global ആയി

private static final String

 ഇവിടെ നമ്മുടെ listview1  നെ  R.id വെച്ച്  point ചെയ്യാം  //oncreate bundle

ഇനി  User object create ചെയ്യാം

ഇത്  database ഇൽ  നിന്നും  കൊണ്ട്  വരാം

 User aju=new User("aju","26","imageurl");

 User john=new User("john","26","imageurl");

 User sulaiman=new User("sulaiman","25","imageurl");

ഇനി  ArrayList ilottu User നെ  കൊണ്ട്  വെക്കാം



ArrayList<User> userlist=new ArrayList <>();

userlist.add(aju);

userlist.add(john);

userlist.add(sulaiman);



ഇനി  Userarrayadapter class കൊണ്ട്  listview നെ  set ചെയ്യാം

Userarrayadapter adapter=new Userarrayadapter (this,R.layout.single_layout,userlist);
listview1.setAdapter(adapter);


Userarrayadapter.java

ഇനി  Userarrayadapter നെ  ArrayAdapter<user> കൊണ്ട്  extends ചെയ്യാം

Userarrayadapter extends ArrayAdapter<user>{



private static final TAG="Userarrayadapter";

private Context mContext;

ഇനി  ഒരു  constructor ഉണ്ടാക്കാം

public Userarrayadapter(Context context,int resource,ArrayList<User> objects){

super(context,int resource, objects);

mContext=context;

}

ഇനി  getView implement ചെയ്യാം

അതിനകത്തു

public View getView(int position,View convertView,ViewGroup parent)----

String name=getItem(position).getName();

String age=getItem(position).getAge()

String img=getItem(position).getImg()



reference ഉപയോഗിച്ച്  User object ഉണ്ടാക്കാം
User user=new User(name.age,img);

LayoutInflator infaltor=new LayoutInflator.from(mContext);
convertView=inflator.inflate(mResource,parent,false);

TextView txt_name=(TextView ) convertView.findviewById(textview1)
TextView txt_age=(TextView ) convertView.findviewById(textview2)
ImageView img_img=(ImageView ) convertView.findviewById(imageview1)

txt_name.setText(name)
txt_age.setText(age)
----img_img.setResorce(name)

return convertView;

}

Sunday, 15 July 2018

TabLayout കോഡ് സിമ്പിൾ ആയി ഉണ്ടാക്കാം



slide page എങ്ങനെ  ഉണ്ടാക്കാമെന്ന്  നോക്കാം

ഒരു  പുതിയ  emty activity create ചെയ്യുക   Home activity എന്ന്  പേര്  കൊടുക്കാം


home.xml
-------------------------

 <android.support.design.widget.AppBarLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
>
<include layout="@Layout/custom_app_bar_layout"
andoid:id="@+id/mail_page_toolbar"

/>

////////////// ഇതിന്റെ  ഇടയിൽ  ആണ്  tablayout കൊടുക്കുന്നത്  appbar ഇത്  അങ്ങനെ  tablayout കാണാം 
<android.support.design.widget.TabLayout
------id:main_tabs-------
 android:layout_width="match_parent"
 android:layout_height="wrap_content">

</android.support.design.widget.TabLayout>

//////////////
 </android.support.design.widget.AppBarLayout>

ഇതിനു  താഴെ  ആയിട്ട്   മൂന്നു  fragment ഇനി  tablayout വെച്ച്  display ചെയ്യാം  അതിനു  വേണ്ടി  fragment ഇനി  ഇവിടെ  ഒരു  adpater ഉപയോഗിച്ചു  populate ചെയ്യാം 



ഇവിടെ  fragment viewPager ഇന്  അകത്താണ്  populate ചെയ്യുന്നത് 

<android.support.v4.view.ViewPager
-----id:tabPager--
   android:layout_width="match_parent"
   android:layout_height="wrap_content">

</android.support.v4.view.ViewPager>

*******************************************
Fragments
----------------------
ഇനി  മൂന്നു  empty fragment ഉണ്ടാക്കുക  
1.Onnaamfragment.java
2.Randaamfragment.java
3.Moonnamfragment,java



SectionPageradapter.java
--------------------------------- 

ഇനി  ഒരു  SectionPageradapter class ഉണ്ടാക്കാം 

ഇതിനെ  FragmentPagerAdapter കൊണ്ട്  extends ചെയ്യാം 

calss SectionPageradapter extends FragmentPagerAdapter{}

unimplements methods കൽ  എല്ലാം  implement ചെയ്യാം  Fragment getItem (int i),int getCount(), method ആണ്  important ആയിട്ടുള്ളത് 

ഒരു  constrauctor കൂടെ  ഉണ്ടാക്കുക 

public SectionPageradapter (FragmentManager fm){super(fm);}


ഇനി  Fragment getItem method ഇത്  മൂന്നു  cases ഉണ്ടാക്കാം

switch(i){
case 0:
  Onnaamfragment mOnnaamfragment=new Onnaamfragment();
  return mOnnaamfragment;
case 1:
  Randaamfragment mRandaamfragment=new Randaamfragment();
  return mRandaamfragment;
case 2:
  Moonnamfragment mMoonnamfragment=new Moonnamfragment();
  mMoonnamfragment;
default:
  return null
}

ഇനി  int getCount method ഇത്  return 3 ആക്കി  set ചെയ്യുക 

@Override
public int getCount(){
return 3;
}

 ഇനി  tab layout ഇത്  title കാണാൻ  ഒരു  method കൂടെ   ഉണ്ടാക്കുക

public Charsequence getPageTitle(int position){
switch(i){
case 0:
  return "Onnaamfragment";
case 1:
  return "Randaamfragment";
case 2:
  return "Moonnamfragment ";
default:
  return null
}
}

 Ini Home.java classilotu pokaam
private ViewPager mviewPager; \\   ആദ്യം  ഒരു  global variable ഉണ്ടാക്കാം    
private SectionPageradapter msectionpageradapter;
private TabLayout mtablayout; 



mviewPager= findviewby id:tabPager വെച്ച്  കൊണ്ട്  link ചെയ്യാം  \\onCreate bundle ഇത്  ആണ്  ഇത്  ചെയ്യുക 
ഇപ്പോൾ  adapter ക്ലാസ്സിൽ   മൂന്നു  fragmet ഇനിയും  mention ചെയ്തിട്ടുണ്ട്  അതിനെ  viewpager വെച്ച്  കൊണ്ട്  set ചെയ്യാം  
msectionpageradapter=new SectionPageradapter (SupportFragmentManager());
mviewPager.setAdapter(msectionpageradapter);
mtablayout=(TabLayout) findviewbyid main_tabs
mtablayout.setupWithViewPager(mviewPager);


Friday, 13 July 2018

എങ്ങനെ gallery picture firebase database ഇൽ store ചെയ്യാം

1.Add cloud storage to your app

2.private static final int GALLERY_PICK=1; \\Global ആക്കി  set ചെയ്യുക


3.ഗാലറിയിൽ നിന്ന് പിക്ചർ എടുക്കാൻ intent   function  ഉപയോഗിക്കാം Intent galleryIntent=new Intent();

galleryIntent.setType("image/*");

galleryIntent.setAction(Intent.ACTION_GET_CONTENT);

startActivityForResult(Intent.createChooser(galleryIntent,"SELECT IMAGE",GALLERY_PICK));



"SELECT IMAGE" title ആണ്



phone  ഇൽ data  store  ചെയ്യാൻ വേണ്ടി രണ്ടു permission  ആഡ് ചെയ്യേണ്ടതുണ്ട്

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />



ഇത്  രണ്ടും  manifest ഇത്  copy ചെയ്യുക



protected void onActivityResult(int requestCode, int resultCode, Intent data) {

      if (resultCode == RESULT_OK) {

            try {

                final Uri imageUri = data.getData();

             

             //  FirebaseStorage mstorage;

               StorageReference mstorage;

\\ global ആക്കി  set ചെയ്യുക  അതായത്  ഈ  code line ഏറ്റവും  മുകളിൽ   കൊടുക്കാകണം   ഈ  function ഇത്  അല്ല  പെട്ടെന്ന്  മനസ്സിലാക്കാൻ  വേണ്ടിയാണു  ഇവിടെ  വെക്കുന്നത്

           

mstorage= FirebaseStorage.getInstance().getReference(); // ഈ  line code oncreate bundle ഇൽ   കൊടുക്കുക





            StorageReference mypath=mstorage.child("myimages").child("screen.jpg");

         

// database storage section ലെ  ഒരു  folder ഇന്റെ  പേരാണ്  myimages സിലെ  ഒരു  image ഇന്റെ  പേര്  screen.jpg ആണേൽ  ഇങ്ങനെ  file പാത    എടുക്കാം

 ഇനി  ഈ  filepath വെച്ച്  കൊണ്ട്  image നെ  firebase database ഇൽ  കൊണ്ട്  പോയി  ഇടാം





mypath.putFile(imageUri ).addOnCompleteListener(MainActivity.this,

            new OnCompleteListener<UploadTask.TaskSnapshot>() {

                @Override

                public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {

                    if (task.isSuccessful()) {

                          succes ആയി  upload ചെയ്തു

 ഇനി  അതിന്റെ  url കിട്ടാൻ  വേണ്ടി

String urlImage=task.getResult().getDownloadUrl().toString();

 ഈ  urlImage നമ്മുടെ  User_tb database ഇൽ  കൊണ്ട്  save ചെയ്യാൻ  firebase database first tutorial കാണുക

..........musertbrefe.child("user_tb").child("uid").child("image").seValue().addOnCompletelistener.....

                    } else {
                        Log.w(TAG, "Image upload task was not successful.",
                                task.getException());
                    }
                }
            });






            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
 }


Tuesday, 10 July 2018

Firebase Database

1.connect your app to database

2.Add the real time database to your app

3.user  നെ ആഡ് ചെയ്യുന്നതിന് മുമ്പ് user  ഉണ്ടോ എന്ന് ചെക് ചെയ്യാം യൂസേർനെ എങ്ങനെ firebase  database  വെച്ച് create  ചെയ്യാമെന്ന് എന്റെ മുമ്പത്തെ authetication  ട്യൂട്ടോറിയൽ  വായിക്കുക . to create users follow last tutorial authetication
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    // User is signed in
} else {
    // No user is signed in
}


4.ഇനി  user id കിട്ടണം
String userUID=user.getUid();

5.FirebaseDatabase database;
ഇത്   global ചെയ്യുക

6.ഇനി  button click ചെയ്താൽ  data store ചെയ്യാം

databaseRefr = FirebaseDatabase.getInstance().getReference("Users_tb").child("underUser_tb_may be_with_uid");

HashMap<String, String> hash = new HashMap<>();
hash.put("name","john");
hash.put("phone","9400497367");
hash.put("age","16");

ഇനി  data database ഇലോട്ടു  സ്റ്റോർ  ചെയ്യാൻ

databaseRefr.setValue(hash);

ഇതിൽ  User_tb ഒരു  table പോലെ  refer ചെയ്യാം  അതിൽ  ഒരു  child ഉണ്ടാക്കിയതാണ്  UID അതിൽ  3 ഷീൽഡുകളാണ്  name ,phone age
Data structure ഇത്  പോലെയിരിക്കും
User_tb→
 →UID
   →name
   →phone
   →age
8.ഇനി  data store അയാൾ  oncompletelistner വെച്ച്  ചെയ്യാം . അതിനി  code ഇത്  ഇങ്ങനെ  ചെയ്യാം
databaseRefr.setValue(hash).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                System.out.println("completed");
               
            }
        });



ഇനി  Firebase database ഇത്  നിന്നും  data എങ്ങനെ  എടുക്കാമെന്ന്  നോക്കാം 



9.DatabaseReference databseReferencer ; // global ആക്കി  set ചെയ്യുക 

databseReferencer = FirebaseDatabase.getInstance().getReference().child("Users_tb").child("underUser_tb_may be_with_uid");


ഇനി  ഈ  reference ഉപയോഗിക്കുക  അതായത്ത്  user_tb അകത്തുള്ള  userUID അകത്തുള്ള  മൂന്നു  child നെ  നമുക്ക്  access ചെയ്യാൻ  സാധിക്കും 
അതിനു  വേണ്ടി  . ഇനി  ചെയ്യേണ്ടത് 



databseReferencer .addValueEventListener(new ValueEventListener() {
    
@Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String name=dataSnapshot.child("Users_tb").getValue().toString();
    }

    public void onCancelled(FirebaseError firebaseError) { }

});

അതായത്  എന്തെങ്കിലും  change firebase database ഇത്  വന്നാൽ  addValueEventListener കൊണ്ട്  അത്  kandethaan  കഴിയും  ,ഇത്   വഴി  dataSnapshot



**** (dataSnapshot  എന്നാൽ  databseReferencer ആണ്  അതായത്  [[--child("Users_tb").child("underUser_tb_may be_with_uid");--]] വരെയുള്ള  reference data  )***




വഴി  അതിന്റെ  ഉള്ളിലെ  name phone age child നെ  access ചെയ്യുന്നു 

android firebase tutorial -- authentication malayalam

ആദ്യം   android studio യിൽ  പോയ് firebase ടൂൾസിൽ  click ചെയ്യണം
പിന്നീട്   gmail (google) account sign ചെയ്യാൻ  അതിൽ  option കാണും

1.connect to firebase
നിങ്ങളുടെ  രാജ്യം  select ചെയ്യാൻ  അതിൽ  option കാണും

2.add firebase authentication your app
Accept and changes click ചെയ്യുക

3.https://console.firebase.google.com/
ചെന്ന്
https://console.firebase.google.com/project/--yourprojectname--/authentication/providers
email/password enable ചെയ്യുക

ഇനി  പ്രോഗ്രാമിലോട്ടു  വരാം

4.private FirebaseAuth mAuth;
ഇത്  class ൽ global variable ആക്കി  set ചെയ്യുക

5.mAuth = FirebaseAuth.getInstance()
ഇത്  oncreate bundle constructor ഫങ്ക്ഷനിൽ  കൊടുക്കുക

6.
@Override
public void onStart() {
    super.onStart();
    // Check if user is signed in (non-null) and update UI accordingly.
    FirebaseUser currentUser = mAuth.getCurrentUser();
    updateUI(currentUser);
}

ഇത്  ഒരു  onStart() overide function നീൽ  
 FirebaseUser currentUser = mAuth.getCurrentUser();paste ചെയ്യുക

ഈ  current user വെച്ച്  കൊണ്ട്  user ഉണ്ടോ  ഇല്ലയോ  എന്ന്  ചെക്ക്  ചെയ്യാൻ  കഴിയും
if(currentUser ==nul)
{
current user ഇല്ല  എങ്കിൽ  ഇത്  ചെയ്യുക
}

7.user registration email and  password വെച്ച്  ചെയ്യാൻ 
ഇനി  already register ചെയ്തിട്ടുണ്ടെൽ  step 8 ഇലോട്ടു  പോവുക 
ഇത്  ഒരു  button click ചെയ്താൽ  ചെയ്യേണ്ടതാണ്  അതിൽ  ഒരു  method കൊടുക്കുക  register__User(String displayname,String username,String password);


mAuth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                   // Log.d(TAG, "createUserWithEmail:success");
                 //   FirebaseUser user = mAuth.getCurrentUser();
                  //  updateUI(user);
sign in ആയാൽ  succes  പേജ്  ഇലോട്ടു  പോവുക  eg:
ഇവിടെ  user account page ഇലോട്ടു  direct ചെയ്യാം  
                } else {
                    // If sign in fails, display a message to the user.
                  //  Log.w(TAG, "createUserWithEmail:failure", task.getException());
                 //   Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                   //         Toast.LENGTH_SHORT).show();
                 //   updateUI(null);
. എന്തോ  പ്രശനം  ഉണ്ട് 
അത്  കൊണ്ട്  home register page ഇലോട്ടു  തന്നെ  redirect ചെയ്യാം  
                }

                // ...
            }
        });

8.sign in ചെയ്യാൻ
mAuth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                   // Log.d(TAG, "signInWithEmail:success");
                   // FirebaseUser user = mAuth.getCurrentUser();
                  //  updateUI(user);
                 user succes ആയി  sign in ചെയ്തിരിക്കുന്നു  ഇനി  അടുത്ത  പേജിലോട്                     പോകാം 
                } else {
                    // If sign in fails, display a message to the user.
                  //  Log.w(TAG, "signInWithEmail:failure", task.getException());
                   // Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                      //      Toast.LENGTH_SHORT).show();
                  //  updateUI(null);

                email അല്ലെങ്കിൽ  password തെറ്റാണു  error പേജിലോട്  പോവുക 

                }

                // ...
            }
        });