Activity and It's Life Cycle

Activity : An activity represents visible component of android. It is used by  an application developer to interact with end user.

          Android framework provides a class by the name android.app.Activity this class provides us life cycle method of activity these methods are override by application developer to perform there tasks. An application developer can use this class by defining sub class of activities.

The life cycle of activity can be divided in three state:
1. Active State
2. Visible State
3. Inactive State/Invisible State

Active State : An active state of an activity represents activity is visible as well as it has user focus. The life cycle of this state is managed by onResume() and onPause() life cycle method of activity.

Visible State
: Visible sate of activity represents that activity is visible it don't have user focus life cycle of this state is managed by onStart() and onStop() life cycle method of activity.

Inactive State/Invisible State : The invisible state of activity represents that niether activity is visible nor it have user focus. Life cycle of this state is managed by onCreate() and onDestroy() life cycle method of activity.

Activity Life cycle
activiy life cycle






Android Framework Modules

We can divide android framework in five basic modules which are as follows:

1. Activity
2. Intent
3. Broadcast Receiver
4. Services
5. Content Provider

Activity : An activity represents visible component of android which is used to interact with end users. Activities are light frames in awt, swing, of forms in case of web applications.

Intent : An intent is used to provide communication among multiple components of android it works as a communicator.

Broadcast Receiver : A broadcast receiver is used to perform some short time consuming on the occurrence of some particular event.

Services : Services is used to perform long time consuming background performs it doesn't require any user interaction.

Content Provider : It provides facility to share a database among multiple application of android system.

Android Virtual Machine

Virtual Machine : It is software implementation of any machine. It doesn't exist physically. It is used to execute a program or application.

The most important property of virtual machine is that any application or program running inside virtual machine is restricted to its resource and this abstraction is provided by virtual machine.

Virtual Machine is divided in two parts :
1.  System Virtual Machine 
2.  Process Virtual Machine / Application Virtual Machine

System Virtual Machine represents functionality of operating system. It is used to execute the program or application.

Process Virtual Machine is divided in two parts :
1.  Stack Based Virtual Machine  (JVM)
2.  Register Based Virtual Machine  (DVM)                                 

Stack Based Virtual Machine : It is faster but it consumes large amount of memory.

e.g. : JVM

Register Based Virtual Machine : It is slower but it consumes less amount of memory.

eg. : DVM


Note: Register based virtual machine gives 33.3% better performance then stack based virtual machine in case of mobile application.

Delvik Virtual Machine : It is a register based virtual machine developed by "Den Bronstien" it doesn't execute java byte code rather it executes its own byte code format which is know as delvik code.


Android Definition

Android : Android is an open source platform for mobile application provided
by google which consist of following :

1. Mobile OS
2. Application Devlopment Platform
3. Android Runtime Environment
4. Net of some dummy applications which are being developed in android

Android is a stack of software provided by google which facilitate to develop,
to deploy and to execute the mobile application which is being developed in android.

Native Application
3rd Party Application

(Application Development Framework)
Set of predefined classes and interfaces which are used
by developer to change the productivity of application
development.

Set of native Libraries which are
written in C/C++ such as
Bluetooth lib. , WIFI lib. , Camera
lib. etc. .

Delvik

Virual

Machine


                                            (Linux Kernels)

Devices Drivers
Memory Management
Process Management
Power Management


                                      Stack of Software Warms 
                                          OR 
                          Architecture of Android 


Smart Phones and Normal Phones

Nokia _________ Symbian(Normal Phone)
|__________ windows Phone(Smart Phone)
|__________ Android(Smart Phone)

Samsung _______ Wada(Normal Phone)
|__________ Android(Smart Phone)

Black Berry ___ BBX(Smart Phone)

Iphone ________ IOS(Smart Phone)


History of Smart Phones




Smart Phones
|___________ Black Berry --> Product of RIM(Research In Motion)
| Launced in 1999
| It is father of Smart Phone
|
|___________ Iphone --> Launched by Apple Inc. in 2007
|
|___________ Android --> First tried to develop by Android Inc.
Founders of Android --> Andy Robin, Rich Minor, Nick Sears and Chris White
but was getting problem in development then Google dealed with them in
2005 in android development (Google + Android Inc.)
But unable to do so, Google contacted to OHA(Open Handset Alliance) in 2007
Then finally launched the android smart phones in 2008.



What is JDK, JRE and JVM?

JDK (Java Development Kit)

Java Developer Kit contains tools needed to develop the Java programs, and JRE to run the programs. The tools include compiler (javac.exe), Java application launcher (java.exe), Appletviewer, etc.. Compiler converts java code into byte code. Java application launcher opens a JRE, loads the class, and invokes its main method. You need JDK, if at all you want to write your own programs, and to compile them. For running java programs, JRE is sufficient. JRE is targeted for execution of Java files i.e. JRE = JVM + Java Packages Classes(like util, math, lang, awt,swing etc)+runtime libraries. JDK is mainly targeted for java development. I.e. You can create a Java file (with the help of Java packages), compile a Java file and run a java file.

JRE (Java Runtime Environment)

Java Runtime Environment contains JVM, class libraries, and other supporting files. It does not contain any development tools such as compiler, debugger, etc. Actually JVM runs the program, and it uses the class libraries, and other supporting files provided in JRE. If you want to run any java program, you need to have JRE installed in the system. The Java Virtual Machine provides a platform-independent way of executing code; That mean compile once in any machine and run it any where(any machine).

JVM (Java Virtual Machine)

As we all aware when we compile a Java file, output is not an ‘exe’ but it’s a ‘.class’ file. ‘.class’ file consists of Java byte codes which are understandable by JVM. Java Virtual Machine interprets the byte code into the machine code depending upon the underlying operating system and hardware combination. It is responsible for all the things like garbage collection, array bounds checking, etc… JVM is platform dependent.

The JVM is called “virtual” because it provides a machine interface that does not depend on the underlying operating system and machine hardware architecture. This independence from hardware and operating system is a cornerstone of the write-once run-anywhere value of Java programs.

There are different JVM implementations are there. These may differ in things like performance, reliability, speed, etc. These implementations will differ in those areas where Java specification doesn’t mention how to implement the features, like how the garbage collection process works is JVM dependent, Java spec doesn’t define any specific way to do this.

Forgot password AND CSS Stylesheets

Find the given code below for forgot password the part the student section. Here the student will be able to find the new password if he/she forgot the password.

Save the code in new file with name "forgot-password.php".


<?php
    include"../scripts/validaitons.php";
    $email="";
    $invalid="";
    $stats=true;
    if(isset($_POST['submit']))
    {
        if($_POST['emailid']=="")
        {
            $email="Please provide Email ID";
            $stats=validateEmail();
            if($stats==false)
            {
                $invalid="Please provide a valid Email ID";
            }
        }
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
      <title>Forgot Password</title>
      <link rel="STYLESHEET" type="text/css" href="../styles/student_forms.css" />
</head>
<body>

<!-- Form Code Start -->
<?php include("header.php"); ?>
<div id='student_forms' >
    <form name="forgot_password" method='post' accept-charset='UTF-8'>
    <fieldset>
    <legend>Forgot Password</legend>
    <div class='required'>* Required Fields :</div>
    <div class="container"><span class='required'>*<span>
        <label class='labels'>Your Email :</label></br>
        <input type="text" name="emailid" maxlength="50">
        <div class='required' align="right"><?php echo $email; echo $invalid; ?></div>
        <div class='short_msg'>A link to reset your password will be sent to the registered email address.</div>
    <input type="submit" name="submit" value="Submit"/></div>
    </fieldset>
    </form>
</div>
<?php include("footer.php"); ?>
</body>
</html>




=========================================================
Save the stylesheet with name "admission_form.css"


#admission_form select,
#admission_form option
{
    background-color : #ffff99;
}
#admission_form select
{
    font-family : Arial,  sans-serif;
    font-size: 0.7em;
    color : #000;
    padding : 2px;
    border : 1px solid #999;
    border-radius: 5px;
}
#admission_form legend
{
    font-family : Arial, sans-serif;
    font-size: 1.3em;
    font-weight:bold;
}
#admission_form .short_msg
{
    font-family : Arial, sans-serif;
    font-size: 0.7em;
    color:#333;
}
#admission_form fieldset
{
    border-style:ridge;
    border-width:10px;
    border-color:#98bf21;
    margin:auto;
    width: 230px;
    padding:20px;
    border:1px solid #ccc;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -khtml-border-radius: 10px;
    border-radius: 10px;
}
#admission_form .labels
{
    font-family:Arial, sans-serif;
    font-size:0.8em;
    color:#333;
}
#admission_form input[type="text"],
#admission_form input[type="password"]
{
    font-family : Arial, Verdana, sans-serif;
    font-size: 0.8em;
    color : #000;
    padding : 3px;
    border : 1px solid #999;
    border-radius: 5px;
}
#admission_form .smallinput
{
    height:18px;
    width:100px;
}
#admission_form input[type="submit"]
{
    width:80px;
    height:30px;
    color : #009;
    background-color : #ffff99;
}
#admission_form input[type="text"],
#admission_form input[type="password"]
{
    background-color : #ffff99;
}

#admission_form .required
{
    font-family : Arial, sans-serif;
    font-size: 0.8em;
    color:#FF0000;
}
.mainDiv
{
    margin:auto;
    padding:20px;
    width: 800px;
    //height:200px;
    //border:red solid;
    border-radius: 10px;
}
.heading
{
    background:BROWN;
}
.divleft
{
    float:left; margin-right:20px;
}
.divright
{
    float:left; margin-right:20px;
}



===========================================================

Save the new file with name "student_forms.css" code is given below :

#student_forms legend
{
    font-family : Arial, sans-serif;
    font-size: 1.3em;
    font-weight:bold;
}
#student_forms .short_msg
{
    font-family : Arial, sans-serif;
    font-size: 0.7em;
    color:#333;
}
#student_forms fieldset
{
    border-style:ridge;
    border-width:10px;
    border-color:#98bf21;
    margin:auto;
    width: 440px;
    height:240px;
    padding:30px;
    border:1px solid #ccc;
    border-radius: 10px;
}
#student_forms .container
{
    margin-top:8px;
    margin-bottom:10px;
    float:right;
}
#admin_forms .containerleft
{
    margin-top:8px;
    margin-bottom:10px;
    float:right;
}
#student_forms .labels
{
    font-family:Arial, sans-serif;
    font-size:1em;
    color:#333;
}
#student_forms input[type="text"],
#student_forms input[type="password"]
{
    font-family : Arial, Verdana, sans-serif;
    font-size: 0.9em;
    color : #000;
    padding : 3px;
    border : 1px solid #999;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
}
#student_forms input[type="text"],
#student_forms input[type="password"]
{
    height:18px;
    width:220px;
}
#student_forms input[type="submit"]
{
    width:80px;
    height:30px;
    padding-left:0px;
}
#student_forms input[type="text"]:focus,
#student_forms input[type="password"]:focus
{
    color : #009;
    border : 1px solid #990000;
    background-color : #ffff99;
    font-weight:bold;
}

#student_forms .required
{
    font-family : Arial, sans-serif;
    font-size: 0.8em;
    color:#FF0000;
}
.mainDiv
{
    margin:auto;
    padding:20px;
    width: 800px;
    //height:200px;
    //border:red solid;
    border-radius: 10px;
}
.heading
{
    background:BROWN;
}



==========================================

Save the given code below with new file name "style.css"

/* Label */
samp
{
    width: 300px;
    padding-left: 20px;
    margin: 5px;
    float: left;
    text-align: left;
    font-family:Arial, sans-serif;
    font-size:1em;
    color:#333;
}
kbd
{
    width: 60px;
    padding-left: 20px;
    margin: 5px;
    float: left;
    text-align: left;
    font-family:Arial, sans-serif;
    font-size:1em;
    color:#333;
}
select
{
    margin: 5px;
    padding: 0px;
    float: left;
}
span
{
    width: 10px;
    padding-left: 20px;
    margin: 5px;
    float: left;
    text-align: left;
    font-family : Arial, sans-serif;
    font-size: 0.8em;
    color:#FF0000;
   
}
/* Input, Textarea */
input[type="text"]
{
    margin: 5px;
    padding: 0px;
    float: left;
}
pre
{
    margin: 5px;
    padding: 0px;
    float: left;
}
label
{
    font-family : Arial, sans-serif;
    font-size: 0.8em;
    color:#FF0000;
    float: left;
}
input[type="checkbox"]
{
    margin: 5px;
    padding: 0px;
    float: left;
}
/* BR */

br
{
    clear: left;
}
.required
{
    color:#FF0000;
}


===========================================

all stylesheet files must be save in given directory path "localhost/MyProject/styles/"

Application Submited Successful And Header or Footer Part for Student Pages

This post is about the Request successfully submitted page to display the message here and header or footer part of the student pages.

Save the code given below in new files.. 1st is name "succesful.php"

<?php
    include("../db.php");
    include("../functions.php");
    if (isset($_GET['edit']))
    {   
        $enrolmentno = $_GET['edit'];
        $link = "<a href='index.php?edit=$enrolmentno'><img src='../images/gohome.png' title='Go Home'></a>";
    }
    if(isset($_POST['submit']))
    {
        mysql_query("update program_details set change_status=1 where enrolmentno = $enrolmentno");
        header("Location: index.php?edit=$enrolmentno");
        echo "Request Successfully Submitted.";
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
      <title>Welcome To Online Admission(Student Zone)</title>
      <link rel="STYLESHEET" type="text/css" href="../styles/admission_form.css" />
</head>
<body >
<?php include("header.php");?>
<div class='mainDiv'>
    <div><font size="4" name="sans-serif" color="white"><div class="heading" align="center"><b>Welcome To Distance Education University Online Admission Form</b></br>Student Zone</div></font></br></br>
    <pre align="center">Your Request Has Been Successfully Submitted For Approval.
   
   
    <?php echo $link; ?>
       
    </pre>
</div></br>
<?php include("footer.php");?>
</body>
</html>





The code given below is of header part save the code in new file name "header.php".

<div style="margin:auto;width:850px;border-color:#98bf21;">
    <img src="../images/banner.png">
</div>


The last code given below is for footer part the page save it with name "footer.php".

</br>
<div style="margin:auto;width:850px;border-color:#98bf21;height:125px;" align="left">
    <img src="../images/footer.png">
</div>

Student Detail Page

This page is to display the student detail and registration status of year or semester and other made requests by the student. Save the code in new file name "detail.php". Kindly complete the code your self it's incomplete.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
      <title>Welcome To Online Admission(Student Zone)</title>
      <link rel="STYLESHEET" type="text/css" href="../styles/admission_form.css" />
</head>
<body >
<?php include("header.php");?>
<div class='mainDiv'>
    <div><font size="4" name="sans-serif" color="white"><div class="heading" align="center"><b>Welcome To Distance Education University Online Admission Form</b></br>Student Zone</div></font></br></br>
    <div align="center">
        <table style="border:1px solid black;border-radius:10px;">
            <tr>
                <td>
                    <table style="border:1px solid black;border-radius:10px;">
                        <tr>
                        <td align=center colspan=3 style="border:1px solid black;border-radius:10px;">Welcome Sunni Kumar</br>Program : MCA</br>Enrolment No : <tr>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Admission Year</label>
                                <td>:</td>
                            </td>
                            <td>
                                <input type="text" name="stuname">
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Admission valid upto</label>
                            </td>
                            <td>:</td>
                            <td>
                                <input type="text" name="programcode">
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Father's Name</label>
                            </td>
                            <td>:</td>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Current Address</label>
                            </td>
                            <td>:</td>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Regional Center</label>
                            </td>
                            <td>:</td>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Study Center</label>
                            </td>
                            <td>:</td>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Mobile No.</label>
                            </td>
                            <td>:</td>
                        </tr>
                        <tr>
                            <td>
                                <label class='labels'>Email ID</label>
                            </td>
                            <td>:</td>
                        </tr>
                    </table>   
                </td>
                <td>
                    <table style="border:1px solid black;width:350px;height:266px;border-radius:10px;">
                    <tr>
                        <td colspan=3 align="center">
                            <label >Request Made If Any</label>
                        </td>
                       
                    </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td colspan=2>
                    <table style="border:1px solid black;width:730px;border-radius:10px;">
                <tr>
                    <td align=center>Course Registration Details</td>
                </tr>
            </table>
                </td>
            </tr>
        </table>
    </div>
</div></br>
<?php include("footer.php");?>
</body>
</html>


Re-Registratin Form


This post is about the re-registration of student in next semester or next year find the code given below and save in new file with name "re-register.php" in student directory.

<?php
    include("../db.php");
    include("../functions.php");
    if (isset($_GET['edit']))
    {    $enrolmentno = $_GET['edit'];    }
    $result = mysql_query("select name, sc_alloted, program_code from program_details as pd, student_detail as sd where pd.enrolmentno = $enrolmentno and sd.enrolmentno = $enrolmentno");
    $getresult = mysql_fetch_array($result);
    $name = $getresult['name'];
    $sc = $getresult['sc_alloted'];
    $pcode = $getresult['program_code'];
    if(isset($_POST['submit']))
    {
        echo $status = re_registration($enrolmentno);
        if($status==1)
            header("Location: successful.php?edit=$enrolmentno");
        else
            echo "<script language='javascript'>alert('Unable to process request please try later.')</script>";
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
      <title>Welcome To Online Admission(Student Zone)</title>
      <link rel="STYLESHEET" type="text/css" href="../styles/admission_form.css" />
    <link rel="STYLESHEET" type="text/css" href="../styles/style.css" />
    <script language="javascript">
        function validate()
        {
            if(admission_form.semyear.selectedIndex==0)
            {
                alert("Register for semester of Year must be selected.");
                return false;
            }
            if(admission_form.type.selectedIndex==0)
            {
                alert("Register for type(Year or Semester) must be selected.");
                return false;
            }
            if(admission_form.BankName.selectedIndex==0)
            {
                alert("Bank name must be selected.");
                return false;
            }
            if(admission_form.DDAmt.value=="")
            {
                alert("Draft amount must be filled.");
                return false;
            }
            if(admission_form.ddNo.value=="")
            {
                alert("Draft number must be filled.");
                return false;
            }if(admission_form.ddDate.value=="")
            {
                alert("Draft date must be filled.");
                return false;
            }if(admission_form.issue.value=="")
            {
                alert("Place of isssued draft must be filled.");
                return false;
            }if(admission_form.payat.value=="")
            {
                alert("Payable at field must be filled.");
                return false;
            }
            return true;
        }
    </script>
</head>
<body >
<?php include("header.php");?>
<div class='mainDiv'>
    <div><font size="4" name="sans-serif" color="white"><div class="heading" align="center"><b>Welcome To Distance Education University Online Admission Form</b></br>Student Zone</div></font></br></br>
        <div align="center" >
        <form id='admission_form' action="" method="post">
        <table>
                <tr><td><label class='labels'>Name</label></td>
                <td><samp><?php echo $name;?></samp></td></tr>
                <tr><td><label class='labels'>Program Code</label></td>
                <td><samp><?php echo $pcode;?></samp></td></tr>
                <tr><td><label class='labels'>Study Center </label></td>
                <td><samp><?php echo $sc;?></samp></td></tr>
                <tr><td><label class='labels'>Register For</label></td><td>
                <samp><select name="semyear">
                    <option value='select'>Select</option>
                    <option value='II'>II</option>
                    <option value='III'>III</option>
                    <option value='IV'>IV</option>
                    <option value='V'>V</option>
                    <option value='VI'>VI</option>
                </select><span>*</span>
                <select name="type">
                    <option value='select'>Select</option>
                    <option value='Year'>Year</option>
                    <option value='Semester'>Semester</option>
                </select><span>*</span></samp></td></tr>
                <tr><td><label class='labels'>Name of the Bank</label></td><td>
                <samp><select name="BankName">
                    <option selected="selected" value="select ">--Select--</option>
                    <option value="Allahabad Bank">Allahabad Bank</option>
                    <option value="Andhra Bank">Andhra Bank</option>
                    <option value="Bank of Baroda">Bank of Baroda</option>
                    <option value="Bank of India">Bank of India</option>
                    <option value="Bank of Maharashtra">Bank of Maharashtra</option>
                    <option value="Canara Bank">Canara Bank</option>
                    <option value="Central Bank of India">Central Bank of India</option>
                    <option value="Corporation Bank">Corporation Bank</option>
                    <option value="Dena Bank">Dena Bank</option>
                    <option value="Indian Bank">Indian Bank</option>
                    <option value="Indian Overseas Bank">Indian Overseas Bank</option>
                    <option value="Oriental Bank of Commerce">Oriental Bank of Commerce</option>
                    <option value="Punjab and Sind Bank">Punjab and Sind Bank</option>
                    <option value="Punjab National Bank">Punjab National Bank</option>
                    <option value="State Bank of Bikaner &amp; Jaipur">State Bank of Bikaner &amp; Jaipur</option>
                    <option value="State Bank of Hyderabad">State Bank of Hyderabad</option>
                    <option value="State Bank of India">State Bank of India</option>
                    <option value="State Bank of Indore">State Bank of Indore</option>
                    <option value="State Bank of Mysore">State Bank of Mysore</option>
                    <option value="State Bank of Patiala">State Bank of Patiala</option>
                    <option value="State Bank of Saurashtra">State Bank of Saurashtra</option>
                    <option value="State Bank of Travancore">State Bank of Travancore</option>
                    <option value="Syndicate Bank">Syndicate Bank</option>
                    <option value="UCO Bank">UCO Bank</option>
                    <option value="Union Bank of India">Union Bank of India</option>
                    <option value="United Bank of India">United Bank of India</option>
                    <option value="Vijaya Bank">Vijaya Bank</option>
                </select><span> * </span></samp></td></tr>
                <tr><td><label class='labels'>Draft Amount</label></td><td>
                <samp><input type="text" name="DDAmt"><span>*</span></samp></td></tr>
                <tr><td><label class='labels'>Bank Draft No.</label></td><td>
                <samp><input type="text" name="ddNo"><span>*</span></samp></td></tr>
                <tr><td><label class='labels'>Bank Draft Date</label></td><td>
                <samp><input type="text" name="ddDate"><span>*</span></samp></td></tr>
                <tr><td><label class='labels'>Place of Issue</label></td><td>
                <samp><input type="text" name="issue"><span>*</span></samp></td></tr>
                <tr><td><label class='labels'>Payable At</label></td><td>
                <samp><input type="text" name="payat"><span>*</span></samp></td></tr>
        </table>
                <br/><input type="submit" name="submit" value="Submit" onclick="return validate();"><br/><br/>
                <div align="justify">Note :- All details filled by you should be correct as you wll send us the documents. Details filled here should be match with your documents. In case we found any
                mistake the registration could be cancelled.</div>
    </form>
    </div>
</div></br>
<?php include("footer.php");?>
</body>
</html>