Posts

Showing posts from October, 2012

Service in android

Activity is a foreground process. It contains user interaction. To run long running operations, we have to create a service.It will run in background. It does not contain user interaction.

Types of services:

1. Unbound Service: it runs in the background indefinitely even started activity with service ends also.
2.Bound Service : it will run till life time of activity.

 Activity can start service via startService()and it will stop via stopService().
If activity want to interact with service,it can use bindService().

first onCreate() is called, after onStartCommand is called with the intent data provided by the activity.


Android provides many predefined services exposed via Manager class.


Own services must be declared in the manifest file..


Some methods:

An activity can start a service via startService() method.

stop the service by using stopService() method.

bindService() - this is for activity to interact with service.

it needs "ServiceConnection" object.


Once service is started    onCrea…

Camera:

in android, we can access camera from app by 2 ways.

implicit intent launches default camera

Intent i=new Intent("android.media.action.IMAGE_CAPTURE");
startActivity(i);
permission in manifest.xml


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


 Button b=(Button)findViewById(R.id.button1);
        b.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                 Intent  i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                    i.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
                    startActivityForResult(i, cameraData);
            }
        });



Other way is creating Camera class


camera class: to access camera hardware
SurfaceView class : dedicate a drawing surface at lowest level of the view as a placeholder to display the camera preview before describing how these are tied together and the layout structure we have…

WifiManager

java.lang.object

-  android.net.wifi.wifimanager

WifiManager class provides primary api for managing all aspects of wifi connectivity.

get the instance of this class by calling

contaxt.getSystemService(context.WIFI_Service);

it deals with list of configured networks. this can be viewed, updated.


check wifi status:

ConnectivityManager conMgr;
NetworkInfo netInfo;
WifiManager wifiMgr;

conMgr=(ConnectivityManager)getSystemService(context.WIFI_Service);
netInfo=conMgr.getActiveNetworkInfo();
if(!(netInfo==null))
{
if(WifiMgr.isWifiEnabled())
{
//wifi  enabled
}
else
{
//wifi disabled i.e not available
}
}







WifiManager in Android

java.lang.object

-  android.net.wifi.wifimanager

WifiManager class provides primary api for managing all aspects of wifi connectivity.

get the instance of this class by calling

contaxt.getSystemService(context.WIFI_Service);

it deals with list of configured networks. this can be viewed, updated.


check wifi status:

ConnectivityManager conMgr;
NetworkInfo netInfo;
WifiManager wifiMgr;

conMgr=(ConnectivityManager)getSystemService(context.WIFI_Service);
netInfo=conMgr.getActiveNetworkInfo();
if(!(netInfo==null))
{
if(WifiMgr.isWifiEnabled())
{
//wifi  enabled
}
else
{
//wifi disabled i.e not available
}
}







TelephonyManager

java.lang.object
android.telephony.TelephonyManager

it provides access to the info about telephony services.
we can register services to receive notification of telephony state changes.


context.getSystemService(context.TELEPHONY_SERVICE);


SOME METHODS:

public int getCallState()-    get the call state

public cellLocation getCellLocation()- returns current location of the device.. returns null if the current location not available.

this requires permission in the manifest file.

what permissions we need to declare:

ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION

some more methods:

we can get device id


public string getDeviceId()

we can get network operator

public string getNetworkOperator()


we can get sim operator name

public string getSimOperatorName()







affiliate marketing

Bluetooth in Android

package:
import package:
import android.bluetooth.*;

<uses-permission android:name="android.permission.BLUETOOTH"/>
 for more advanced bluetooth tasks , like setting name, connecting....

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


ACCESS THE BLUETOOTH ADAPTER

Android bluetooth apis include bluetooth adapter class.
if we want to perform any action
BluetoothAdapter class must be instantiated.

BluetoothAdapter bluetooth=BluetoothAdapter.getDefaultAdapter();
if(bluetooth!=null)
{
// work with bluetooth
}
else
{
//disabled// switch on bluetooth
}



for displaying name of bluetooth

String status;
if(bluetooth.isEnabled)
{
String mydeviceaddress=bluetooth.getAddress();
String mydevicename=bluetooth.getName();
status=mydeviceaddress+:+mydevicename;
}
else
{
status="bluetooth is not enabled"
}



}


setting name
bluetooth.setName("Mydevice");







Pending Intent in Android

Pending intent is a token to the other application, which allows the other application to use your application’s permissions to execute a predefined piece of code. Here other applications means  it may be an alarm manager, home screen widget manager etc......
To perform a broadcast via a pending intent, so get a pendingIntent via PendingIntent.getBroadcast(). To perform an activity via pending intent, you receive the activity via PendingIntent.getActivity.

Notifications -Toast, Dialogs,Statusbar Notifications

Notifications:
toast notification
statusbar notification
dialogboxes

Adding sound
notification.defaults|=Notification.DEFAULT_SOUND;


Adding Vibration:

notification.defauls|=Notification.DEFAULT_VIBRATE;

adding flash lights:
notification.defauls|=Notification.DEFAULT_LIGHTS;


dialog is small window on the screen. when dialog is executed the activity losses its focus and dialog gets total control of app.

android.app. dialog package


alert dialog
progress dialog
date picker dialog
time picker dialog


alert dialog: it is a small window. it contains 0,1,2 or 3 buttons combination.It contains max 3 buttons like +ve ,-ve, neutral buttons.



Progress  Dialog:

its an extension of alert dialog class that can display progress animation in the form of spinning wheel.











Service in Android

Creating Resources for multiple screens

Image
          Android application runs on many android devices. To work with multiple devices, it will make scaling and resizing to make work with the devices. Even it adjust the screen, the user may experience bad with the application due to blurring of images, stretching the images, overlapping views etc.
          To work with the multiple resolutions, we have to design multiple layouts. Some important terms:
Screen density:          The quantity of pixels within a physical area of the screen is known as dpi(dots per inch). Low density screen contains less pixels where as high density screen contains more pixels within given physical area. Android groups all actual densities into 4 general densities Low density, medium density, high density and extra high density pixels. Hdpi, mdpi, hdpi,xhdpi.
Screen size:           Actual physical size of screen, measured as the screen’s diagonal. Android combined all the screens into 4 generalized screens. Those aresmall, normal, large and extra large. Orienta…

Android Introduction

Image