Friday, January 27, 2012

When Larry met Sergey – A Google Story

Here's a nice slideshow of the history of Google; from its founding days to its current state.


Created by Online PhD

Hit "Like" below and share it with your friends. If you like this, you'd also like its Facebook page.

Labels:

Tuesday, January 24, 2012

check Phone is in Sleep or Normal Mode for Android


In this tutorial we will learn how to check whether our Android mobile is in Sleep or Idle(normal) mode.

We will use Broadcast Receiver and Intents to get notify when our device goes Sleep or Idle mode.

okay! so let's try this small app

 -------------------------------------------
App Name: SleepModeCheck
Package Name: com.rdc
Android SDK: Android SDK 2.3.3 / API 10
Default Activity Name: SleepModeCheckActivity
-------------------------------------------

SleepModeCheckActivity.java


package com.rdc;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;

public class SleepModeCheckActivity extends Activity {

BroadcastReceiver mReceiver = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// initialize receiver
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);
}

@Override
protected void onDestroy() {
// unregister receiver
this.unregisterReceiver(mReceiver);
super.onDestroy();
}
}

ScreenReceiver.java (Broadcast Receiver)
package com.rdc;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class ScreenReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// do whatever you need to do here
Log.v("Debug", "Mobile is in slepp mode..");

} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// and do whatever you need to do here
Log.v("Debug", "Mobile is in normal mode..");

}
}
}

AndroidManifest.xml





















Run App with Real Device or Emulator

And Switch the Sleep/Normal mode using power Button ... and see Log cat you will get message

whether device is in sleep or Idle mode via Receiver.

You can download the complete source code zip file here : SleepModeCheck

I'd love to hear your thoughts! 

Labels: ,

Friday, January 13, 2012

Get Current Location coordinates , City name

Sometime we need to get  GPS  coordinates in android. so today i am going to write step by step simple tutorial How can we get location coordinates using GPS in android mobile.

also through coordinate we can calculate current location more details like City Name.

Note: I have tested this app on My Android Mobile and its working fine.
But when you test this app, enable your gps settings in mobile, you need to change current location like 10-20 meter so you will get the coordinates, so need to move with the installed app mobile device.

What this app does?
  • Check gps is enable or disable.
  • Get gps coordinates.
  • Get the current city name.
okay! so let's try this small app

 -------------------------------------------
App Name: GetCurrentLocation
Package Name: com.rdc
Android SDK: Android SDK 2.3.3 / API 10
Default Activity Name: GetCurrentLocation
-------------------------------------------


GetCurrentLocation.java


package com.rdc;

import java.io.IOException;
import java.util.List;
import java.util.Locale;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;

public class GetCurrentLocation extends Activity
implements OnClickListener {

private LocationManager locationMangaer=null;
private LocationListener locationListener=null;

private Button btnGetLocation = null;
private EditText editLocation = null;
private ProgressBar pb =null;

private static final String TAG = "Debug";
private Boolean flag = false;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


//if you want to lock screen for always Portrait mode
setRequestedOrientation(ActivityInfo
.SCREEN_ORIENTATION_PORTRAIT);

pb = (ProgressBar) findViewById(R.id.progressBar1);
pb.setVisibility(View.INVISIBLE);

editLocation = (EditText) findViewById(R.id.editTextLocation);

btnGetLocation = (Button) findViewById(R.id.btnLocation);
btnGetLocation.setOnClickListener(this);

locationMangaer = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);

}

@Override
public void onClick(View v) {
flag = displayGpsStatus();
if (flag) {

Log.v(TAG, "onClick");

editLocation.setText("Please!! move your device to"+
" see the changes in coordinates."+"\nWait..");

pb.setVisibility(View.VISIBLE);
locationListener = new MyLocationListener();

locationMangaer.requestLocationUpdates(LocationManager
.GPS_PROVIDER, 5000, 10,locationListener);

} else {
alertbox("Gps Status!!", "Your GPS is: OFF");
}

}

/*----Method to Check GPS is enable or disable ----- */
private Boolean displayGpsStatus() {
ContentResolver contentResolver = getBaseContext()
.getContentResolver();
boolean gpsStatus = Settings.Secure
.isLocationProviderEnabled(contentResolver,
LocationManager.GPS_PROVIDER);
if (gpsStatus) {
return true;

} else {
return false;
}
}

/*----------Method to create an AlertBox ------------- */
protected void alertbox(String title, String mymessage) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Your Device's GPS is Disable")
.setCancelable(false)
.setTitle("** Gps Status **")
.setPositiveButton("Gps On",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// finish the current activity
// AlertBoxAdvance.this.finish();
Intent myIntent = new Intent(
Settings.ACTION_SECURITY_SETTINGS);
startActivity(myIntent);
dialog.cancel();
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// cancel the dialog box
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}

/*----------Listener class to get coordinates ------------- */
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {

editLocation.setText("");
pb.setVisibility(View.INVISIBLE);
Toast.makeText(getBaseContext(),"Location changed : Lat: " +
loc.getLatitude()+ " Lng: " + loc.getLongitude(),
Toast.LENGTH_SHORT).show();
String longitude = "Longitude: " +loc.getLongitude();
Log.v(TAG, longitude);
String latitude = "Latitude: " +loc.getLatitude();
Log.v(TAG, latitude);

/*----------to get City-Name from coordinates ------------- */
String cityName=null;
Geocoder gcd = new Geocoder(getBaseContext(),
Locale.getDefault());
List<Address> addresses;
try {
addresses = gcd.getFromLocation(loc.getLatitude(), loc
.getLongitude(), 1);
if (addresses.size() > 0)
System.out.println(addresses.get(0).getLocality());
cityName=addresses.get(0).getLocality();
} catch (IOException e) {
e.printStackTrace();
}

String s = longitude+"\n"+latitude +
"\n\nMy Currrent City is: "+cityName;
editLocation.setText(s);
}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}

@Override
public void onStatusChanged(String provider,
int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
}

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Get Current Location and City Name"
android:layout_weight="0.20"
android:gravity="center"
android:textSize="20sp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.33"
android:id="@+id/editTextLocation"
android:editable="false">
<requestFocus></requestFocus>
</EditText>
<LinearLayout
android:id="@+id/layButtonH"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center"
android:layout_weight="0.15">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get Location"
android:id="@+id/btnLocation"></Button>
</LinearLayout>
<LinearLayout
android:id="@+id/layloadingH"
android:layout_height="wrap_content"
android:layout_weight="0.20"
android:layout_width="fill_parent"
android:gravity="center">
<ProgressBar
android:layout_width="wrap_content"
android:id="@+id/progressBar1"
android:layout_height="wrap_content"></ProgressBar>
</LinearLayout>
</LinearLayout>


AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rdc"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>

<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity
android:name=".GetCurrentLocation"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
</manifest>

The output Screen will be like this..


You can download the complete source code zip file here : GetCurrentLocation

 cheers!!

I'd love to hear your thoughts!

Labels: , , , , ,

Sunday, January 1, 2012

Check Current GPS Status ON/OFF

If you want to check your Android Mobile Device's GPS Status off or on programmatically
this tutorial is for you :)

We will create very simple app to do this work

okay! so let's try this small app

 -------------------------------------------
App Name: GpsStatusCheck
Package Name: com.rdc
Android SDK: Android SDK 2.3.3 / API 10
Default Activity Name: GpsStatusCheckActivity
-------------------------------------------

GpsStatusCheckActivity.java


package com.rdc;

import android.app.Activity;
import android.content.ContentResolver;

import android.location.LocationManager;
import android.os.Bundle;
import android.provider.Settings;
import android.widget.TextView;

public class GpsStatusCheckActivity extends Activity {
TextView textGpsStatus;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textGpsStatus = (TextView) findViewById(R.id.gpsstatus);
}

@Override
protected void onResume() {
super.onResume();
displayGpsStatus();
}

private void displayGpsStatus() {
ContentResolver contentResolver = getBaseContext().getContentResolver();
boolean gpsStatus = Settings.Secure.isLocationProviderEnabled(
contentResolver, LocationManager.GPS_PROVIDER);
if (gpsStatus) {
textGpsStatus.setText("GPS is: ON");
} else {
textGpsStatus.setText("GPS is: OFF");
}
}
}


main.xml





AndroidManifest.xml














You can download the complete source code zip file here : GpsStatusCheck

cheers!!

I'd love to hear your thoughts!

Labels: ,