Tuesday, 12 April 2016

My First Android app activity_main.xml file


<?xml version="1.0" encoding="utf-8"?>
<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:padding="@dimen/padding"
    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="com.aupadhyay.myfirstapp.MainActivity">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Enter Details"
        android:layout_marginTop="10dp"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editTextName"
        android:hint="Enter Name"
        android:layout_below="@+id/textView"
        android:layout_marginTop="42dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editTextPhone"
        android:hint = "Enter Phone Number"
        android:layout_below="@+id/editTextName"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="46dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Submit"
        android:id="@+id/button"
        android:layout_below="@+id/editTextPhone"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="46dp" />
</RelativeLayout>

My First Android app MainActivity.java file


package com.aupadhyay.myfirstapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    EditText editTextName, editTextPhone;
    Button btnSubmit;

    void initViews()
    {
        editTextName = (EditText)findViewById(R.id.editTextName);
        editTextPhone = (EditText)findViewById(R.id.editTextPhone);

        btnSubmit = (Button)findViewById(R.id.button);

        btnSubmit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { // v = btnSubmit;
                String strName = editTextName.getText().toString().trim();
                String strPhone = editTextPhone.getText().toString().trim();

                Toast.makeText(MainActivity.this, "You Entered : "+strName+" : "+strPhone, Toast.LENGTH_LONG).show();

            }
        });
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initViews();
        Toast.makeText(this, "MainActivity - onCreate",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(this, "MainActivity - onStart",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onResume() {
        super.onResume();
        Toast.makeText(this, "MainActivity - onResume",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onPause() {
        super.onPause();
        Toast.makeText(this, "MainActivity - onPause",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onStop() {
        super.onStop();
        Toast.makeText(this, "MainActivity - onStop",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "MainActivity - onDestroy",Toast.LENGTH_SHORT).show();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Toast.makeText(this, "MainActivity - onRestart",Toast.LENGTH_SHORT).show();
    }
}

Saturday, 9 April 2016

Example to understand Life Cycle of an Activity in different stages

Below I have written the MainActivity.java file :

package com.aupadhyay.myfirstapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast.makeText(this, "MainActivity - onCreate",Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(this, "MainActivity - onStart",Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onResume() {
        super.onResume();
        Toast.makeText(this, "MainActivity - onResume",Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onPause() {
        super.onPause();
        Toast.makeText(this, "MainActivity - onPause",Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onStop() {
        super.onStop();
        Toast.makeText(this, "MainActivity - onStop",Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "MainActivity - onDestroy",Toast.LENGTH_LONG).show();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Toast.makeText(this, "MainActivity - onRestart",Toast.LENGTH_LONG).show();
    }
}

You need to register this MainActivity.java file in your manifest file (AndroidManifest.xml) with the MAIN action and LAUNCHER category.

You need to see the sequence of the output and then you can get to know about the way of order of execution of the different API's on creation and destruction of the activity.

Saturday, 19 March 2016

Stone Paper Scissor game in Java


import java.util.Random;
import java.util.Scanner;

public class Game
{
    private static int userWinningCount, computerWinningCount;
    private int userInput, computerInput;
    public void setUserInput(int userInput)
    {
        this.userInput = userInput;
    }
    public void setComputerInput()
    {
        Random r = new Random();
        computerInput = r.nextInt(3-1+1)+1;// corresponding to r.nextInt(max-min+1)+min;
    }
    public String computerChoice()
    {
        if(computerInput == 1)
            return "Stone";
        else if(computerInput == 2)
            return "Paper";
        else
            return "Scissor";
    }
    public String getResult()
    {
        if(userInput == computerInput)
            return "Tie ";
        else if(userInput == 1 && computerInput == 2)// stone = 1, paper = 2, scissor = 3;
            return "Computer won";
        else if(userInput == 1 && computerInput == 3)
            return "You won";
        else if(userInput == 2 && computerInput == 1)
            return "You won";
        else if(userInput == 2 && computerInput == 3)
            return "Computer won";
        else if(userInput == 3 && computerInput == 1)
            return "Computer won";
        return "You won";// i.e. user has scissor and computer has paper.
    }
    public static void main(String []args)
    {
        String s = "yes";
        Game obj = new Game();
        Scanner input = new Scanner(System.in);
        while(s.equalsIgnoreCase("yes"))
        {
            System.out.println("Ener your choice (Stone, Paper, Scissor)");
            String choice = input.next();
            choice = choice.toLowerCase();
            if(choice.equals("stone"))
                obj.setUserInput(1);
            else if(choice.equals("paper"))
                obj.setUserInput(2);
            else if(choice.equals("scissor"))
                obj.setUserInput(3);
            else
                System.out.println("Enter valid option");
            obj.setComputerInput();
            System.out.println("The computer chose : "+obj.computerChoice());
            if(obj.getResult().equals("You won"))
                userWinningCount++;
            else if(obj.getResult().equals("Computer won"))
                computerWinningCount++;
            System.out.println(obj.getResult());
            System.out.print("Your winning count = "+userWinningCount);
            System.out.print(" and Computer winning count = "+computerWinningCount);
            System.out.println("\n Wanna continue playing game ? (enter yes) ");
            s = input.next();
        }
        input.close();
    }
}

Java program to multiply any number with 7 without using * and + operator


import java.util.Scanner;

public class MultiplyWith7
{
    private Integer num, res;
        //private double res1;// for another solution to this problem
    public void getNum(Integer n)
    {
        num = n;
    }
    public void CalculateResult()
    {
                //res1 = num/((double)1/7);// then print res1
        res = num<<3;
        res = res-num;
    }
    public void showResult()
    {
        System.out.println("The result of "+num+"*7 is : "+res);
    }
    public static void main(String []args)
    {
        MultiplyWith7 obj = new MultiplyWith7();
        Scanner input = new Scanner(System.in);
        System.out.println("Enter the number : ");
        obj.getNum(input.nextInt());
        obj.CalculateResult();
        obj.showResult();
        input.close();
    }
}

hexadecimal to octal conversion program in java


import java.util.Scanner;

public class HexadecimalToOctal 
{
    private String hex;
    private int dec;
    private String oct;
    public void setHex(String hex)
    {
        this.hex = hex;
    }
    public void getDec()
    {
        dec = Integer.parseInt(hex, 16);
    }
    public void setOct()
    {
        oct = Integer.toOctalString(dec);
    }
    public String getOct()
    {
        return oct;
    }
    public static void main(String []args)
    {
        HexadecimalToOctal obj = new HexadecimalToOctal();
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a hexadecimal number : ");
        obj.setHex(input.next());
        obj.getDec();
        obj.setOct();
        System.out.println("The octal equivalent is : "+obj.getOct());
        input.close();
    }
}