Thursday, 17 April 2014

Take automatical photo from front camera in android.

public class MainActivity extends Activity {  
        private Camera mCamera;  
        private CameraPreview mPreview;  
        public static final int MEDIA_TYPE_IMAGE = 1;  
        TextView lblname;  
        public void onCreate(Bundle savedInstanceState) {  
          // Create an instance of Camera  
          mCamera = getCameraInstance();  
          // Create our Preview view and set it as the content of our activity.  
          mPreview = new CameraPreview(this, mCamera);  
          FrameLayout preview = (FrameLayout) findViewById(;  
          FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);  
             params.gravity = Gravity.CENTER| Gravity.BOTTOM;  
                lblname = new TextView(this);  
                lblname.setText("3 sec");  
                lblname.setId(5); // id should be unique  
                preview.addView(lblname,params);// specify your index  
          new CountDownTimer(4000, 1000) {  
            public void onTick(long millisUntilFinished) {  
                 lblname.setText("" + millisUntilFinished / 1000);  
            public void onFinish() {  
                  mCamera.takePicture(null, null, mPicture);  
      /** A safe way to get an instance of the Camera object. */  
      public static Camera getCameraInstance(){  
        Camera c = null;  
        int cameraCount = 0;  
        try {  
          // c =; // attempt to get a Camera instance  
          Camera.CameraInfo cameraInfo = new Camera.CameraInfo();  
          cameraCount = Camera.getNumberOfCameras();  
          for (int camIdx = 0; camIdx < cameraCount; camIdx++) {  
            Camera.getCameraInfo(camIdx, cameraInfo);  
            if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {  
              try {  
                c =;  
              } catch (RuntimeException e) {  
                Log.e("camera", "Camera failed to open: " + e.getLocalizedMessage());  
        catch (Exception e){  
          // Camera is not available (in use or does not exist)  
             System.out.println("camera error:"+e);  
        return c; // returns null if camera is unavailable  
      private PictureCallback mPicture = new PictureCallback() {  
        public void onPictureTaken(byte[] data, Camera camera) {  
          File pictureFile = getOutputMediaFile(MEDIA_TYPE_IMAGE);  
          String TAG = "preview";  
                if (pictureFile == null){  
            Log.d(TAG, "Error creating media file, check storage permissions: ");  
          try {  
            FileOutputStream fos = new FileOutputStream(pictureFile);  
          } catch (FileNotFoundException e) {  
            Log.d(TAG, "File not found: " + e.getMessage());  
          } catch (IOException e) {  
            Log.d(TAG, "Error accessing file: " + e.getMessage());  
           /** Create a File for saving an image or video */  
           private static File getOutputMediaFile(int type){  
             // To be safe, you should check that the SDCard is mounted  
             // using Environment.getExternalStorageState() before doing this.  
             File mediaStorageDir = new File(Environment.getExternalStorageDirectory(), "MyCameraApp");  
             // This location works best if you want the created images to be shared  
             // between applications and persist after your app has been uninstalled.  
             // Create the storage directory if it does not exist  
             if (! mediaStorageDir.exists()){  
               if (! mediaStorageDir.mkdirs()){  
                 Log.d("MyCameraApp", "failed to create directory");  
                 return null;  
             // Create a media file name  
             String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());  
             File mediaFile;  
             if (type == MEDIA_TYPE_IMAGE){  
               mediaFile = new File(mediaStorageDir.getPath() + File.separator +  
               "IMG_"+ timeStamp + ".jpg");  
             } else {  
               return null;  
             return mediaFile;  
Camera preview
 /** A basic Camera preview class */  
 public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {  
   private SurfaceHolder mHolder;  
   private Camera mCamera;  
      private String TAG="camera preview";  
   public CameraPreview(Context context, Camera camera) {  
     mCamera = camera;  
     // Install a SurfaceHolder.Callback so we get notified when the  
     // underlying surface is created and destroyed.  
     mHolder = getHolder();  
     // deprecated setting, but required on Android versions prior to 3.0  
   public void surfaceCreated(SurfaceHolder holder) {  
     // The Surface has been created, now tell the camera where to draw the preview.  
     try {  
     } catch (IOException e) {  
       Log.d(TAG, "Error setting camera preview: " + e.getMessage());  
   public void surfaceDestroyed(SurfaceHolder holder) {  
     // empty. Take care of releasing the Camera preview in your activity.  
   public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {  
     // If your preview can change or rotate, take care of those events here.  
     // Make sure to stop the preview before resizing or reformatting it.  
     if (mHolder.getSurface() == null){  
      // preview surface does not exist  
     // stop preview before making changes  
     try {  
     } catch (Exception e){  
      // ignore: tried to stop a non-existent preview  
     // set preview size and make any resize, rotate or  
     // reformatting changes here  
     // start preview with new settings  
     try {  
     } catch (Exception e){  
       Log.d(TAG, "Error starting camera preview: " + e.getMessage());  

 <linearlayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="horizontal" xmlns:android="">  
   <framelayout android:id="@+id/camera_preview" android:layout_height="fill_parent" android:layout_weight="1" android:layout_width="fill_parent">  
   <uses-permission android:name="android.permission.CAMERA" />  
 <uses-feature android:name="" android:required="false" />  
 <uses-feature android:name="" android:required="false" />  
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  

Simple camera timer app for Android

CamTimer is a simple camera timer application for Android devices. It allows you to choose from a 5, 10, or 15 second countdown and takes one or four pictures after the time has elapsed. After you take a picture it will be shown full screen, allowing you to share or delete it.

You can also control the camera flash setting, switch to the front-facing camera if available (requires Android 2.3 or later), and take pictures without a delay.

CamTimer is released under version 3 of the GPL; see "COPYING" for the license text.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

Monday, 14 April 2014

Detecting incoming and outgoing phone calls on Android

Android Phone Status Sample

A RSS reader library to fetch a RSS feed from the web and parse it to workable objects.

Sqlite database example.

1) Add, Update, Delete Records.
2) Mobile number validation.
3) Email validation.

Facebook sdk

Login with google plus

Login with Facebook.