Tuesday, December 3, 2013

Starting second activity based on login and password details: Android tutorial

Program description:

Starting second activity based on the login and password credentials given in first activity.

First activity will have 2 edit texts and 1 button. User will be prompted to enter user name in edit text1, and enter password in edit text2.

if user id is "techpalle" and password is"1234", then it will start second activity and pass the uid entered by user to second screen using explicit intent.

If user enters user id, and password wrong, then a toast message will be displayed, content of edit text 1 and edit text 2 will be cleared and automatically control will be moved to edit text1 to make user comfortable.


Once second activity is started, it takes the data passed from first activity and displays in a text view. This data passing between activities will be done by using putExtra() method.


Note: If user fails to enter user name or password correctly for 3 times, then main activity will be closed by using finish() method.


First Activity                                       First Activity (when pw is wrong)

 

First Activity (when pw is correct)          Second Activity

 


First Activity 
package com.techpalle.b15_assignment;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
 EditText e,f;
 Button b;
 TextView tv;
 Integer cnt = 0;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  e = (EditText) findViewById(R.id.editText1);
  f = (EditText) findViewById(R.id.editText2);
  b = (Button) findViewById(R.id.button1);
  tv = (TextView) findViewById(R.id.textView1);
  tv.setText(tv.getText().toString()+ cnt.toString());
  
  b.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    String uid = e.getText().toString();
    String pw = f.getText().toString();
    boolean bu = uid.equals("techpalle");
    boolean bp = pw.equals("1234");

     if(bu && bp){
     Intent in = new Intent(getApplicationContext(),
       SecondScreen.class);
     in.putExtra("uid", uid);
     cnt = 0;
     startActivity(in);
    }else if(bu == false && bp == false){
     Toast.makeText(getApplicationContext(), 
       "uid & pw wrong..try again", 0).show();
     cnt++;
     tv.setText("No of tries: "+cnt);
     e.setText("");
     f.setText("");
     e.requestFocus();
    }else if(bu == false){
     Toast.makeText(getApplicationContext(), 
       "uid wrong..try again", 0).show();
     cnt++;
     e.setText("");
     e.requestFocus();
     tv.setText("No of tries: "+cnt);
    }else{
     Toast.makeText(getApplicationContext(), 
       "pw wrong..try again", 0).show();
     cnt++;
     f.setText("");
     f.requestFocus();
     tv.setText("No of tries: "+cnt);
    }
    
    if(cnt == 3){
     Toast.makeText(getApplicationContext(), 
       "Tries over..", 0).show();
     finish();
    }
   }
  });
 }

}


xml layout file for First Activity 
File name: activity_main.xml
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   xmlns:tools="http://schemas.android.com/tools"  
   android:layout_width="match_parent"  
   android:layout_height="match_parent"  
   android:paddingBottom="@dimen/activity_vertical_margin"  
   android:paddingLeft="@dimen/activity_horizontal_margin"  
   android:paddingRight="@dimen/activity_horizontal_margin"  
   android:paddingTop="@dimen/activity_vertical_margin"  
   tools:context=".MainActivity" >  
   <EditText  
     android:id="@+id/editText1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_marginLeft="14dp"  
     android:layout_marginTop="22dp"  
     android:ems="10" >  
     <requestFocus />  
   </EditText>  
   <EditText  
     android:id="@+id/editText2"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignLeft="@+id/editText1"  
     android:layout_below="@+id/editText1"  
     android:layout_marginLeft="14dp"  
     android:layout_marginTop="16dp"  
     android:ems="10" />  
   <Button  
     android:id="@+id/button1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignLeft="@+id/editText2"  
     android:layout_below="@+id/editText2"  
     android:layout_marginLeft="26dp"  
     android:layout_marginTop="16dp"  
     android:text="Button" />  
   <TextView  
     android:id="@+id/textView1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignLeft="@+id/editText1"  
     android:layout_centerVertical="true"  
     android:text="No of tries: "  
     android:textAppearance="?android:attr/textAppearanceLarge" />  
 </RelativeLayout>  



Second screen
package com.techpalle.b15_assignment;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class SecondScreen extends Activity {

 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.second);
     Intent in = getIntent();
     Bundle b = in.getExtras();
     String uid = b.getString("uid");
     TextView tv = (TextView) findViewById(R.id.textView1);
     tv.setText("Welcome.."+uid);
 }
}

xml layout file for Second Activity 
File name: second.xml
 <?xml version="1.0" encoding="utf-8"?>  
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
   android:layout_width="match_parent"  
   android:layout_height="match_parent" >  
   <TextView  
     android:id="@+id/textView1"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_alignParentTop="true"  
     android:layout_centerHorizontal="true"  
     android:layout_marginTop="48dp"  
     android:text=""  
     android:textAppearance="?android:attr/textAppearanceLarge" />  
 </RelativeLayout>  


Download complete code : Click to download

Tags: Login page android, start activity on login, pass user id and password , android tutorial

No comments:

Post a Comment