Sunday, 16 April 2017

Spinner in Android Application


File Name: MainActivity.java

package com.example.abbu.spinner_image;

import android.content.res.TypedArray;
import android.graphics.Color;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import org.w3c.dom.Text;

public class MainActivity extends ActionBarActivity {

    private String[] Objects;

    private TypedArray images;

    private ImageView itemImage;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Casting
        Objects = getResources().getStringArray(R.array.object_array);
        images = getResources().obtainTypedArray(R.array.object_image);
        TextView spinnerHeader = (TextView)findViewById(R.id.textView);
        itemImage = (ImageView)findViewById(R.id.imageView);
        final Spinner spinner = (Spinner)findViewById(R.id.spinner);

        ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(
                getApplicationContext(),android.R.layout.simple_spinner_item, Objects);

        spinnerAdapter.setDropDownViewResource(
                android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(spinnerAdapter);

        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
           public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
           {
                itemImage.setImageResource(images.getResourceId(
                        spinner.getSelectedItemPosition(), -1));
           }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });
    }


}

File Name: activity_main.xml

<?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:id="@+id/activity_main"
    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="com.example.abbu.spinner_image.MainActivity">


    <TextView android:text="@string/option_select"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="20dp"
        android:layout_marginStart="55dp"
        android:textSize="16sp"
        android:textStyle="bold"
        android:layout_marginTop="27dp"
        android:id="@+id/textView" />

    <Spinner
        android:id="@+id/spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="20dp"
        android:layout_below="@+id/textView"
        android:layout_alignLeft="@+id/textView"/>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:layout_below="@+id/spinner"
        android:layout_alignLeft="@+id/spinner"
        android:layout_alignStart="@+id/spinner"
        android:layout_marginTop="55dp" />
</RelativeLayout>

File Name: strings.xml

<resources>
    <string name="app_name">Spinner_Image</string>

    <string name="option_select">Choose any one:</string>

    <string-array name="object_array">
        <item>Shah Rukh Khan</item>
        <item>Hrithik Roshan</item>
        <item>Leonardo DiCaprio</item>
        <item>Bryan Cranston</item>
    </string-array>

    <integer-array name="object_image">
        <item>@drawable/pic1</item>
        <item>@drawable/pic2</item>
        <item>@drawable/pic3</item>
        <item>@drawable/pic4</item>
    </integer-array>
</resources>

Output:

By default, the first item in the spinner is selected.
Spinner Choice
Spinner in Android Application
Now, choosing another item.
Spinner Choice
Spinner in Android Application
Finally, when clicked on Leonardo DiCaprio.
Spinner Choice
Spinner in Android Application

Implicit Intent in Android Application


File Name: MainActivity.java

package com.example.abbu.implicit_intent;

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

public class MainActivity extends AppCompatActivity {
    EditText editTextfield;
    Button btnSend;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Casting
        editTextfield = (EditText) findViewById(R.id.editText_field);
        btnSend = (Button) findViewById(R.id.button_send);
        intent();
    }

    public void intent(){
        btnSend.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        String value = editTextfield.getText().toString();
                        Intent i = new Intent(Intent.ACTION_SEND);
                        i.setType("text/plain");
                        i.putExtra(i.EXTRA_TEXT, value);
                        startActivity(i);
                    }
                }
        );
    }
}

File Name: activity_main.xml

<?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:id="@+id/activity_main"
    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="com.example.abbu.implicit_intent.MainActivity">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:layout_marginTop="76dp"
        android:background="#ECF0F1"
        android:id="@+id/editText_field"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:text="Send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="38dp"
        android:id="@+id/button_send"
        android:background="#95A5A6"
        android:layout_below="@+id/editText_field"
        android:layout_centerHorizontal="true" />

    <TextView
        android:text="Enter Your Message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/editText_field"
        android:layout_alignStart="@+id/editText_field"
        android:layout_marginBottom="29dp"
        android:id="@+id/textView" />
</RelativeLayout>

Output:

activity_main.xml
activity_main.xml
After clicking on SEND button, it'll ask from user using app chooser:
SEND ACTION
SEND ACTION

Explicit Intent in Android Application

File Name: MainActivity.java

package com.example.abbu.explicit_intent;

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

public class MainActivity extends AppCompatActivity {

    EditText editTextfield;
    Button btnSend;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Casting
        editTextfield = (EditText) findViewById(R.id.editText_field);
        btnSend = (Button) findViewById(R.id.button_send);
        intent();
    }

    public void intent(){
        btnSend.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        String value = editTextfield.getText().toString();
                        Intent i = new Intent(MainActivity.this, ReceiverActivity.class);
                        i.putExtra("message", value);
                        startActivity(i);
                    }
                }
        );
    }

}

File Name: activity_main.xml

<?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:id="@+id/activity_main"
    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="com.example.abbu.explicit_intent.MainActivity">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:layout_marginTop="76dp"
        android:background="#ECF0F1"
        android:id="@+id/editText_field"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:text="Send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="38dp"
        android:id="@+id/button_send"
        android:background="#95A5A6"
        android:layout_below="@+id/editText_field"
        android:layout_centerHorizontal="true" />

    <TextView
        android:text="Enter Your Name:"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/editText_field"
        android:layout_alignStart="@+id/editText_field"
        android:layout_marginBottom="29dp"
        android:id="@+id/textView" />

</RelativeLayout>

File Name: strings.xml

<resources>
    <string name="app_name">Explicit_Intent</string>
</resources>

File Name: ReceiverActivity.java

package com.example.abbu.explicit_intent;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;

/**
 * Created by Abbu on 4/15/2017.
 */

public class ReceiverActivity extends MainActivity{
    TextView tv_receive;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.receiver_activity);

        // Casting
        tv_receive = (TextView) findViewById (R.id.textViewreceive);

        Intent in = getIntent();
        String string = in.getStringExtra("message");
        tv_receive.setText(string);
    }
}

File Name: receiver_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:text="Hello:"
        android:layout_marginTop="200dp"
        android:layout_marginLeft="100dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView4" />

    <TextView
        android:layout_marginLeft="100dp"
        android:background="#ECF0F1"
        android:ems="10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textViewreceive" />
</LinearLayout>

Output:

activity_main.xml
activity_main.xml
After clicking on SEND button, it'll take us to receiver_activity.xml
receiver_activity.xml
receiver_activity.xml

Various Activity Life Phases of Android Application

FileName: 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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:background="#CF3A24"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Mycurlycode" android:id="@+id/textView" android:textColor="#FCC9B9" android:textSize="30sp" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> </RelativeLayout>

FileName: MainActivity.java

package com.example.abbu.myapplication;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.util.Log;

public class MainActivity extends ActionBarActivity {

    private static final String TAG = "mycurlycodeMessage";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.i(TAG,"onCreate");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.i(TAG, "onStart");
    }


    @Override
    protected void onResume() {
        super.onResume();
        Log.i(TAG, "onResume");
    }


    @Override
    protected void onPause() {
        super.onPause();
        Log.i(TAG, "onPause");
    }


    @Override
    protected void onStop() {
        super.onStop();
        Log.i(TAG, "onStop");
    }


    @Override
    protected void onRestart() {
        super.onRestart();
        Log.i(TAG, "onRestart");
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.i(TAG, "onDestroy");
    }


    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        Log.i(TAG, "onSaveInstanceState");
    }


    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        Log.i(TAG, "onRestoreInstanceState");
    }



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

FileName: strings.xml

<resources>
    <string name="app_name">My Application</string>
    <string name="action_settings">Settings</string>
</resources>

Output:

Various Activity Life Phases of Android Application
Various Activity Life Phases of Android Application
As soon as we click on Android Application Icon, the Launcher or Main Activity starts and it calls:
onCreate, onStart and OnResume methods on start of Android Application
onCreate, onStart and OnResume methods on start of Android Application
Now, when we click on home Button, it calls:
onPause, onSaveInstanceState and onStop methods are called on clicking home button
onPause, onSaveInstanceState and onStop methods on clicking home button
When we again click on home button and restart that Android Application, it calls:
onRestart, onStart and onResume methods are called on again clicking and selecting that particular app
onRestart, onStart and onResume methods on again clicking on home button and selecting that particular application
For Landscape Orientation, it calls:
Methods called on Landscape Orientation.
Methods called on Landscape Orientation.
For Portrait Orientation, it calls:
Methods called in Portrait Orientation.
Methods called in Portrait Orientation.
Finally, when we click on back button, it calls:
onDestroy on clicking back button.
onDestroy on clicking back button.

Saturday, 15 April 2017

Hello World Application in Android


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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView android:text="@string/hello_world" android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/hello"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:textSize="30sp" />
</RelativeLayout>

File Name: MainActivity.java

package com.example.abbu.helloworld;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;


public class MainActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

File Name: strings.xml

<resources>
    <string name="app_name">Hello World</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
</resources>

Output:

Hello World Application in Android
Hello World Application in Android