Android Mobile Application Development Lab Manual
Android Mobile Application Development Lab Manual
ANDROID MOBILE
APPLICATION
DEVELOPMENT
MCA-III Year – I Sem LAB MANUAL
Prepared by:
Mr. M. Murali Mohan Reddy
Assistant Professor
Computer Science Department
ANDROID MOBILE APPLICATION DEVELOPMENT 2017
1) A) Create an Android application that shows Hello + name of the user and run it on emulator.
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"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello +"
android:id="@+id/idtxt" />
</LinearLayout>
</RelativeLayout>
MainActivity.java
package com.murali.labexperiment1a;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView= (TextView) findViewById(R.id.idtxt);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String myvar = textView.getText().toString()+"murali";
Toast.makeText(getApplicationContext(),myvar,Toast.LENGTH_SHORT).show();
}
});
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment1a.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="19dp"
android:text="Enter Ur Name :" />
<EditText
android:id="@+id/et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/tv"
android:layout_alignBottom="@+id/tv"
android:layout_alignParentRight="true"
android:layout_marginRight="14dp"
android:ems="10" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/et"
android:layout_centerHorizontal="true"
android:layout_marginTop="23dp"
android:onClick="onBtnClick"
android:text="Ok" />
<TextView
android:id="@+id/otv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:layout_marginTop="92dp"
android:text=" " />
</RelativeLayout>
package com.murali.labexperiment1b;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.app.Activity;
TextView otv;
EditText et;
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
otv=(TextView)findViewById(R.id.otv);
et=(EditText)findViewById(R.id.et);
b=(Button)findViewById(R.id.button1);
}
Editable msg=et.getText();
otv.setText("Hello+"+msg);
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment1b.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
a) Linear Layout
Application Directory
<LinearLayout
android:layout_width="match_parent"
android:layout_height="100dp">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="30dp"
android:text="Details Form"
android:textSize="25sp"
android:gravity="center"/>
</LinearLayout>
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="60dp"
android:columnCount="2"
android:rowCount="6">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="0"
android:layout_column="0"
android:text="Name"
android:textSize="20sp"
android:gravity="center"/>
<EditText
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="0"
android:layout_column="1"
android:ems="8"
android:inputType="textPersonName" />
<TextView
android:id="@+id/textView2"
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="1"
android:layout_column="1"
android:ems="8"
android:inputType="textPassword" >
<requestFocus />
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="2"
android:layout_column="0"
android:text="Gender"
android:textSize="20sp"
android:gravity="center" />
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="2"
android:layout_column="1">
<RadioButton
android:id="@+id/male"
android:layout_width="98dp"
android:layout_height="wrap_content"
android:checked="true"
android:text="male" />
<RadioButton
android:id="@+id/female"
android:layout_width="98dp"
android:layout_height="wrap_content"
android:text="female" />
</RadioGroup>
<TextView
<EditText
android:id="@+id/age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="3"
android:layout_column="1"
android:ems="8"
android:inputType="number" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="4"
android:layout_column="0"
android:text="Date Of Birth"
android:textSize="20sp"
android:gravity="center" />
<EditText
android:id="@+id/dob"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="4"
android:layout_column="1"
android:ems="8"
android:inputType="date" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="5"
android:layout_column="0"
android:text="State"
android:textSize="20sp"
android:gravity="center" />
<Spinner
android:id="@+id/state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
</GridLayout>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Submit" />
</RelativeLayout>
MainActivity.java
package com.murali.labexperiment2a;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.app.Activity;
import android.content.Intent;
EditText uname,pwd,age,dob;
RadioGroup rg;
Spinner s;
Button b;
//Editable un,pd,db,st;
//String gender;
//Editable ag;
String un,pd,db,st,gender,ag;
String [] states={"TS","TN","AP","UP","MP"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
uname=(EditText)findViewById(R.id.username);
pwd=(EditText)findViewById(R.id.password);
rg=(RadioGroup)findViewById(R.id.radioGroup1);
rg.setOnCheckedChangeListener(new
RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
// TODO Auto-generated method stub
switch(arg1){
case R.id.male:
gender="male";
break;
case R.id.female:
gender="female";
break;
}
}
});
st=s.getSelectedItem().toString();
startActivity(i);
}
});
SecondActivity.java
package com.murali.labexperiment2a;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.widget.TextView;
String username,password,gender,age,dob,state;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
//Getting the Values from First Activity using the Intent received
/*
* i.putExtra("username_key", un);
i.putExtra("pwd_key",pd);
i.putExtra("gender_key",gender);
i.putExtra("age_key",ag );
i.putExtra("dob_key", db);
i.putExtra("state_key", st);
}
}
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
<TextView
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
</LinearLayout>
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment2a.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
activity_second.xml
<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="24dp"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="25dp"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="26dp"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView3"
android:layout_below="@+id/textView3"
android:layout_marginTop="52dp"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/textView5"
android:layout_below="@+id/textView5"
android:layout_marginTop="58dp"
android:textSize="30sp"
android:text="TextView" />
</RelativeLayout>
activity_second.xml
<?xml version="1.0" encoding="UTF-8"?>
<GridLayout 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"
tools:context="com.murali.labexperiment2c.SecondActivity"
android:columnCount="2"
android:rowCount="3" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="0"
android:layout_column="0"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="0"
android:layout_column="1"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="1"
android:layout_column="0"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="1"
android:layout_column="1"
android:textSize="30sp"
android:text="TextView" />
<TextView
android:id="@+id/textView5"
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_row="2"
android:layout_column="1"
android:textSize="30sp"
android:text="TextView" />
</GridLayout>
activity_second.xml
<TableRow>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
</TableRow>
<TableRow>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
</TableRow>
<TableRow>
<TextView
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="New Text"
android:textSize="30sp"/>
</TableRow>
</TableLayout>
<fragment
android:id="@+id/studentnames_list_fragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:name="com.murali.labexperiment3.StudentNamesListFragment"
/>
</LinearLayout>
land\activity_main.xml
<fragment
android:id="@+id/studentnames_list_fragment"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:name="com.murali.labexperiment3.StudentNamesListFragment"
/>
<FrameLayout
android:id="@+id/detail_fragment_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
>
</FrameLayout>
</LinearLayout>
studentnames_details_fragment_layout.xml
<TextView
android:id="@+id/studentnames_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
android:layout_gravity="center"
android:textColor="@color/blue"
/>
</LinearLayout>
MainActivity.java
package com.murali.labexperiment3;
import
com.murali.labexperiment3.StudentNamesListFragment.ListFragmentItemClickListe
ner;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
}else{
StudentNames.java
package com.murali.labexperiment3;
StudentNamesDetailsActivity.java
package com.murali.labexperiment3;
import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
/** Setting the data to the bundle object from the Intent*/
b.putInt("position", getIntent().getIntExtra("position", 0));
}
}
StudentNamesDetailsFragment.java
package com.murali.labexperiment3;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
return v;
}
}
StudentNamesListFragment.java
package com.murali.labexperiment3;
import android.app.Activity;
import android.app.ListFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
ListFragmentItemClickListener ifaceItemClickListener;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment3.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
Application Directory
<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" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textSize="26sp"
android:gravity="center"/>
</RelativeLayout>
res/menu/main.xml
<item android:id="@+id/dialing"
android:title="Dialing a number"/>
<item android:id="@+id/website"
android:title="Opening a WebSite"/>
<item android:id="@+id/sms"
android:title="To send an SMS"/>
</menu>
MainActivity.java
package com.murali.labexperiment4aom;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment4aom.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
Initial Screen
Application Directory
MainActivity.java
package com.murali.notifications;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
NotificationManager nm =
(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Toast.makeText(getApplicationContext(),
"System Alarm:Meeting with customer at 3pm...",
Toast.LENGTH_LONG).show();
//---100ms delay, vibrate for 250ms, pause for 100 ms and
// then vibrate for 500ms---
notif.vibrate = new long[] { 100, 250, 100, 500};
nm.notify(notificationID, notif);
}
}
notification.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Here are the details for the notification..." />
</LinearLayout>
NotificationView.java
package com.murali.notifications;
import android.app.Activity;
import android.app.NotificationManager;
import android.os.Bundle;
import android.widget.Toast;
public class NotificationView extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.notification);
//---look up the notification manager service---
NotificationManager nm = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);
Toast.makeText(getApplicationContext(),
"toast with details of the notification",
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.VIBRATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.notifications.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<activity android:name=".NotificationView"
android:label="Details of notification">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
Application Directory
<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" >
<Button
android:id="@+id/signup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button1"
android:layout_below="@+id/button1"
android:onClick="btnSignUp"
android:text="Sign-Up" />
<Button
android:id="@+id/signin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="130dp"
android:onClick="btnSignIn"
android:text="Sign-In" />
</RelativeLayout>
MainActivity.java
package com.murali.labexperiment6;
import android.os.Bundle;
import android.view.View;
import android.app.Activity;
import android.content.Intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
register_form.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.49" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="36dp"
android:gravity="center"
android:text="Registration Form"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#F00000CC" />
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="39dp"
android:columnCount="2"
android:gravity="center"
android:rowCount="3" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_margin="10dp"
android:layout_row="0"
android:gravity="center"
android:text="UserID"
android:textSize="20sp" />
<EditText
android:id="@+id/ruserid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_margin="10dp"
android:layout_row="0"
android:ems="8" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_margin="10dp"
android:layout_row="1"
android:gravity="center"
android:text="Password"
android:textSize="20sp" />
<EditText
android:id="@+id/rpwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_margin="10dp"
android:layout_row="1"
android:ems="8"
android:inputType="textPassword" />
<TextView
android:id="@+id/cpassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_margin="10dp"
android:layout_row="2"
android:gravity="center"
android:text="CPassword"
android:textSize="20sp" />
<EditText
android:id="@+id/rcpwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_margin="10dp"
android:layout_row="2"
android:ems="8"
android:inputType="textPassword" />
</GridLayout>
</RelativeLayout>
</LinearLayout>
login_form.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.49" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="36dp"
android:gravity="center"
android:text="Login Form"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#F00000CC" />
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="39dp"
android:columnCount="2"
android:gravity="center"
android:rowCount="2" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
<EditText
android:id="@+id/luid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_margin="10dp"
android:layout_row="0"
android:ems="8" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_margin="10dp"
android:layout_row="1"
android:gravity="center"
android:text="Password"
android:textSize="20sp" />
<EditText
android:id="@+id/lpwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_margin="10dp"
android:layout_row="1"
android:ems="8"
android:inputType="textPassword" />
</GridLayout>
<Button
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/gridLayout"
android:layout_centerHorizontal="true"
android:layout_marginTop="17dp"
android:onClick="btnLogin"
android:text="Login" />
</RelativeLayout>
</LinearLayout>
package com.murali.labexperiment6;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
EditText ruid,rpwd,rcpwd;
Button reg;
String uid,pwd,cpwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register_form);
ruid=(EditText)findViewById(R.id.ruserid);
rpwd=(EditText)findViewById(R.id.rpwd);
rcpwd=(EditText)findViewById(R.id.rcpwd);
reg=(Button)findViewById(R.id.register);
}
}
else
{
Toast.makeText(getApplicationContext(), "CPassword not same as
Password", Toast.LENGTH_LONG).show();
}
SignInAcativity.java
package com.murali.labexperiment6;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
EditText luid,lpwd;
Button login;
String uid,pwd,line1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login_form);
luid=(EditText)findViewById(R.id.luid);
lpwd=(EditText)findViewById(R.id.lpwd);
login=(Button)findViewById(R.id.login);
if(uid.isEmpty()){
Toast.makeText(getApplicationContext(), "UserID is empty",
Toast.LENGTH_LONG).show();
}
else if(pwd.isEmpty()){
Toast.makeText(getApplicationContext(), "Password is empty",
Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(getApplicationContext(), "Ready to verify",
Toast.LENGTH_LONG).show();
line1=uid+" "+pwd;
try {
int found=0,notfound=0;
String FILE_NAME = "file22.txt";
BufferedReader bReader = new BufferedReader(new
InputStreamReader(openFileInput(FILE_NAME)));
String line;
StringBuffer text = new StringBuffer();
while ((line = bReader.readLine()) != null) {
text.append(line + "\n");
//Toast.makeText(this, line, Toast.LENGTH_SHORT).show();
if(line.equals(line1)){
found++;
//Toast.makeText(this, "login successful",
Toast.LENGTH_SHORT).show();
}else{
notfound++;
//Toast.makeText(this, "login failed",
Toast.LENGTH_SHORT).show();
}
}
if(found>0){
Toast.makeText(this, "login successful",
Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(this, "login failed",
Toast.LENGTH_SHORT).show();
}
// Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment6.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<activity
android:label="SignUp"
android:name=".SignUpActivity" >
<intent-filter >
<action
android:name="com.murali.labexperiment6.SignUpActivity" />
<category
android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:label="SignIn"
android:name=".SignInActivity" >
<intent-filter >
<action
android:name="com.murali.labexperiment6.SignInActivity" />
<category
android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
Application Directory
EmployeeDBHelper.java
package com.murali.employeedatabaseapp;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onUpgrade(SQLiteDatabase database, int arg1, int
arg2) {
// TODO Auto-generated method stub
database.execSQL("DROP TABLE IF EXITS Employee");
onCreate(database);
}
}
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" >
<Button
android:id="@+id/deleteEmp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Delete an Employee" />
<Button
android:id="@+id/updateEmp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/deleteEmp"
android:layout_centerHorizontal="true"
android:layout_marginBottom="26dp"
android:text="Update an Employee" />
<Button
android:id="@+id/selectEmp"
<Button
android:id="@+id/selectAllEmp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/selectEmp"
android:layout_centerHorizontal="true"
android:layout_marginTop="34dp"
android:text="Get All Employees" />
<Button
android:id="@+id/addEmp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/updateEmp"
android:layout_alignLeft="@+id/selectEmp"
android:layout_marginBottom="32dp"
android:text="Add an Employee" />
</RelativeLayout>
MainActivity.java
package com.murali.employeedatabaseapp;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v==findViewById(R.id.addEmp))
{
Intent i=new Intent(this,AddEmployee.class);
startActivity(i);
}
if(v==findViewById(R.id.selectAllEmp))
{
}while(c.moveToNext());
}else{
Toast.makeText(this,
"No Records in the database",
Toast.LENGTH_LONG).show();
}
}
if(v==findViewById(R.id.selectEmp))
{
Intent i=new Intent(this,GetEmployee.class);
startActivity(i);
}
if(v==findViewById(R.id.updateEmp))
{
addemployee.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter the Name of the Employee:" />
<EditText
android:id="@+id/empname"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter the Salary of the Employee:" />
<EditText
android:id="@+id/empsal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/addEmp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Employee" />
</LinearLayout>
AddEmployee.java
package com.murali.employeedatabaseapp;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
empname=(EditText)findViewById(R.id.empname);
empsal=(EditText)findViewById(R.id.empsal);
add_emp=(Button)findViewById(R.id.addEmp);
add_emp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try
{
String name;
int sal;
name=empname.getText().toString();
sal=(Integer.parseInt(empsal.getText().toString()));
deleteemployee.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter the Employee id" />
<EditText
android:id="@+id/empid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Delete Employee" />
</LinearLayout>
DeleteEmployee.java
package com.murali.employeedatabaseapp;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
EditText empid;
Button delete;
@Override
empid=(EditText)findViewById(R.id.empid);
delete=(Button)findViewById(R.id.btn_delete);
delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int emp_id=Integer.parseInt(empid.getText().toString());
if(empdbhelper.deleteEmployee(emp_id))
Toast.makeText(getBaseContext(),
"Your record has been deleted",
Toast.LENGTH_LONG).show();
else
Toast.makeText(getBaseContext(),
"Record does not exist",
Toast.LENGTH_LONG).show();
}
});
}
getemployee.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter the Employee id" />
<EditText
android:id="@+id/empid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
GetEmployee.java
package com.murali.employeedatabaseapp;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
empid=(EditText)findViewById(R.id.empid);
find_emp=(Button)findViewById(R.id.btn_find);
find_emp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int emp_id=Integer.parseInt(empid.getText().toString());
Cursor c=empdb.retriveEmployee(emp_id);
if(c.moveToFirst())
{
Toast.makeText(getBaseContext(),
"Employee Id:"+c.getString(0)+
"\nEmployee Name:"+c.getString(1)+
"\nEmployee Salary:"+c.getString(2),
Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getBaseContext(),
"No Employee Record Found",
}
});
}
updateemployee.xml
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter the Employee id" />
<EditText
android:id="@+id/empid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Employee Name" />
<EditText
android:id="@+id/empname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Employee Salary" />
<EditText
android:id="@+id/empsal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/btn_update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Update" />
</LinearLayout>
UpdateEmployee.java
package com.murali.employeedatabaseapp;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
EditText empid,empname,empsal;
Button update;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.updateemployee);
final EmployeeDBHelper empdb=new EmployeeDBHelper(this);
empid=(EditText)findViewById(R.id.empid);
empname=(EditText)findViewById(R.id.empname);
empsal=(EditText)findViewById(R.id.empsal);
update=(Button)findViewById(R.id.btn_update);
update.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int emp_id=Integer.parseInt(empid.getText().toString());
String empstr=empname.getText().toString();
int intsal=Integer.parseInt(empsal.getText().toString());
if(empdb.updateEmployee(emp_id, empstr, intsal))
{
Toast.makeText(getBaseContext(),
"Record has been updated",
Toast.LENGTH_LONG).show();
});
empid.addTextChangedListener(new TextWatcher()
{
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
empid.setEnabled(false);
int emp_id=Integer.parseInt(empid.getText().toString());
Cursor c=empdb.retriveEmployee(emp_id);
if(c.moveToFirst())
{
empname.setText(c.getString(1));
empsal.setText(c.getString(2));
}
else
{
Toast.makeText(getBaseContext(),
"No Employee Record",
Toast.LENGTH_LONG).show();
});
}
}
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="AddEmployee"
android:label="Add Employee">
</activity>
<activity
android:name="DeleteEmployee"
android:label="Delete Employee">
</activity>
<activity
android:name="EmployeeDBHelper"
android:label="EmployeeDBHelper">
</activity>
<activity
android:name="GetEmployee"
android:label="Get Employee">
</activity>
<activity
android:name="UpdateEmployee"
android:label="Update Employee">
</activity>
<activity
android:name="com.murali.employeedatabaseapp.MainActivity"
android:label="@string/app_name" >
<intent-filter>
</manifest>
”EmployeeDB and EmployeeDB-journal” will be generated at Choose DDMS option in Eclipse IDE
Choose FileExplorerIn Choose data directoryChoose data directoryChoose application
package directory Choose databases directory” EmployeeDB and EmployeeDB-journal”files
Application Directory
package com.murali.labexperiment8;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
}
// Called when there is a database
//version mismatch meaning that the version
// of the database on disk needs
//to be upgraded to the current version.
@Override
public void onUpgrade(SQLiteDatabase _db, int _oldVersion,
int _newVersion)
{
// Log the version upgrade.
Log.w("TaskDBAdapter", "Upgrading from version " +
_oldVersion + " to " +_newVersion +
", which will destroy all old data");
package com.murali.labexperiment8;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
activity_main.xml
<LinearLayout 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:orientation="vertical"
android:gravity="center_vertical" >
<Button
<Button
android:id="@+id/buttonSignUP"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Sign Up" />
</LinearLayout>
MainActivity.java
package com.murali.labexperiment8;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
Button btnSignIn,btnSignUp;
LoginDataBaseAdapter loginDataBaseAdapter;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button
btnSignIn=(Button)dialog.findViewById(R.id.buttonSignIn);
// Set On ClickListener
btnSignIn.setOnClickListener(new View.OnClickListener() {
dialog.show();
}
@Override
login.xml
<EditText
android:id="@+id/editTextUserNameToLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="User Name"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editTextPasswordToLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword"
android:hint="Password" />
<Button
android:id="@+id/buttonSignIn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Sign In" />
</LinearLayout>
signup.xml
<EditText
android:id="@+id/editTextUserName"
android:hint="User Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
<requestFocus />
</EditText>
<EditText
android:id="@+id/editTextPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword" />
<EditText
android:id="@+id/editTextConfirmPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Confirm Password"
android:inputType="textPassword" />
<Button
android:id="@+id/buttonCreateAccount"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Create Account"
android:layout_marginBottom="60dp" />
</LinearLayout>
SignUpActivity.java
package com.murali.labexperiment8;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
LoginDataBaseAdapter loginDataBaseAdapter;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.signup);
btnCreateAccount=(Button)findViewById(R.id.buttonCreateAccount);
btnCreateAccount.setOnClickListener(new View.OnClickListener() {
String userName=editTextUserName.getText().toString();
String password=editTextPassword.getText().toString();
String
confirmPassword=editTextConfirmPassword.getText().toString();
loginDataBaseAdapter.close();
}
}
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment8.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<activity
android:name="com.murali.labexperiment8.SignUPActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.signup" />
</manifest>
Now, goto Home Screen of the app and click on “Sign In” Button
Next screen after clicking on “Get an Employee” then enter Employee id value then click on “Find
Employee” Button
Application Directory
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_margin="10dp"
android:textSize="20dp"
android:gravity="center"
android:text="Contacts Information" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView"
android:layout_alignRight="@+id/textView"
android:layout_below="@+id/textView"
android:gravity="center"
android:text="TextView" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView1"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true" />
</RelativeLayout>
</ScrollView>
package com.murali.labexperiment10;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.TextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
outputText = (TextView) findViewById(R.id.textView1);
fetchContacts();
}
Uri PhoneCONTENT_URI =
ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String Phone_CONTACT_ID =
ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
String NUMBER = ContactsContract.CommonDataKinds.Phone.NUMBER;
Uri EmailCONTENT_URI =
ContactsContract.CommonDataKinds.Email.CONTENT_URI;
String EmailCONTACT_ID =
ContactsContract.CommonDataKinds.Email.CONTACT_ID;
String DATA = ContactsContract.CommonDataKinds.Email.DATA;
String contact_id =
cursor.getString(cursor.getColumnIndex( _ID ));
String name =
cursor.getString(cursor.getColumnIndex(
DISPLAY_NAME ));
int hasPhoneNumber =
Integer.parseInt(cursor.getString(cursor.getColumnIndex( HAS_PHONE_NUMBER
)));
if (hasPhoneNumber > 0) {
while (phoneCursor.moveToNext()) {
phoneNumber =
phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER));
output.append("\n Phone number:" +
phoneNumber);
phoneCursor.close();
while (emailCursor.moveToNext()) {
email =
emailCursor.getString(emailCursor.getColumnIndex(DATA));
output.append("\nEmail:" + email);
emailCursor.close();
}
output.append("\n");
}
outputText.setText(output);
}
}}
Application Directory
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/captionBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="SharedPreferences Container: User information"
android:layout_margin="5px" android:textStyle="bold">
</TextView>
<EditText
android:id="@+id/txtPref"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10px">
</EditText>
</LinearLayout>
MainActivity.java
package com.murali.labexperiment11;
import android.os.Bundle;
import android.app.Activity;
import android.content.SharedPreferences;
import android.widget.EditText;
import android.widget.TextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@Override
protected void onPause() {
//warning: activity is on last state of visibility! We are on the
//edge of been killed! Better save current state in Preference object
savePreferences();
super.onPause();
}
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment11.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
Application Directory
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="20dp"
android:checked="false"
android:onClick="OnToggleClicked" />
</LinearLayout>
MainActivity.java
package com.murali.alarmsexample1;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;
import android.widget.ToggleButton;
@Override
time=(calendar.getTimeInMillis()-(calendar.getTimeInMillis()%60000));
if(System.currentTimeMillis()>time && dow == Calendar.MONDAY)
{
if (calendar.AM_PM == 0)
time = time + (1000*60*60*12);
else
time = time + (1000*60*60*24);
}
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time, 10000, pendingIntent);
}
else
{
alarmManager.cancel(pendingIntent);
package com.murali.alarmsexample1;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.widget.Toast;
}
}
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.alarmsexample1.MainActivity"
android:label="@string/app_name" >
</manifest>
Application Directory
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="14dp"
android:layout_marginTop="32dp"
android:text="Enter Ur URL :" />
<EditText
android:id="@+id/url"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tv"
android:layout_marginTop="31dp"
android:ems="100" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/url"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:onClick="onBtnClick"
android:text="Browser" />
</RelativeLayout>
MainActivity.java
package com.murali.labexperiment13;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
EditText et;
Button bt;
String urlAddress;
@Override
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.labexperiment13.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
Enter Ur URL address in Edit Text box and click on “Browser” Button
Application Directory
MainActivity.java
package com.murali.android_gps_using;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
/** Gets the current location and update the mobileLocation variable*/
private void getCurrentLocation() {
locManager =
(LocationManager)
this.getSystemService(Context.LOCATION_SERVICE);
locListener = new LocationListener() {
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
mobileLocation = location;
}
};
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
0, 0, locListener);
}
if (mobileLocation != null) {
locManager.removeUpdates(locListener);
// This needs to stop getting the location data and save the
battery power.
AndroidManifest.xml
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.murali.android_gps_using.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
Step 8. Copy the link and paste it in browse to get Google Map key from “google_maps_api.xml”
<resources>
<!--
TODO: Before you run your application, you need a Google Maps API key.
To get one, follow this link, follow the directions and press "Create" at the end:
https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyTy
pe=CLIENT_SIDE_ANDROID&r=F5:D3:46:71:05:67:41:C9:02:5E:3F:D2:9B:87:2D:16:BE:E1:04:48%3
Bcom.murali4ruall.googlemapsapp22
You can also add your credentials to an existing key, using these values:
Package name:
F5:D3:46:71:05:67:41:C9:02:5E:3F:D2:9B:87:2D:16:BE:E1:04:48
Once you have your key (it starts with "AIza"), replace the "google_maps_key"
string in this file.
-->
<string name="google_maps_key" templateMergeStrategy="preserve"
translatable="false">YOUR_KEY_HERE</string>
</resources>
Step 9. After pasting the link login to gmail account and click on “contine” button
<resources>
<!--
TODO: Before you run your application, you need a Google Maps API key.
To get one, follow this link, follow the directions and press "Create" at the end:
https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyTy
pe=CLIENT_SIDE_ANDROID&r=F5:D3:46:71:05:67:41:C9:02:5E:3F:D2:9B:87:2D:16:BE:E1:04:48%3
Bcom.murali4ruall.googlemapsapp22
You can also add your credentials to an existing key, using these values:
Package name:
F5:D3:46:71:05:67:41:C9:02:5E:3F:D2:9B:87:2D:16:BE:E1:04:48
Once you have your key (it starts with "AIza"), replace the "google_maps_key"
string in this file.
-->
<string name="google_maps_key" templateMergeStrategy="preserve"
translatable="false">AIzaSyCfYgmQxdMtOCzZ2D2kM1x0JzAw0ruJlTs</string>
</resources>
activity_maps.xml
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.murali4ruall.googlemapsapp22.MapsActivity" />
MapsActivity.java
package com.murali4ruall.googlemapsapp22;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
/**
* Manipulates the map once available.
* This callback is triggered when the map is ready to be used.
* This is where we can add markers or lines, add listeners or move the camera.
* In this case, we just add a marker near Sydney, Australia.
* If Google Play services is not installed on the device.
* This method will only be triggered once the user has installed
Google Play services and returned to the app.
*/
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng MuraliPoint = new LatLng(18.4307720, 79.1126980);
mMap.addMarker(new
MarkerOptions().position(MuraliPoint).title("murali4ruall.blogspot.in"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(MuraliPoint));
}
}
AndroidManifest.xml
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
location permissions for the 'MyLocation' functionality.
-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</manifest>
Output Screen
Click “Run ‘app’” in Run option