Tuesday, April 17, 2012

Way to find device screen category (small, normal, large, xlarge)

The below snippet helps to find the screen catogory

public void getScreenSize()
      {
          switch (getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)
          {
              case Configuration.SCREENLAYOUT_SIZE_SMALL:             
                  Toast.makeText(Home.this, "SMALL SCREEN", Toast.LENGTH_LONG).show();
                  break;
           
            case Configuration.SCREENLAYOUT_SIZE_LARGE:
                Toast.makeText(Home.this, "LARGE SCREEN", Toast.LENGTH_LONG).show();
                break;
           
            case Configuration.SCREENLAYOUT_SIZE_XLARGE:
                Toast.makeText(Home.this, "XLARGE SCREEN", Toast.LENGTH_LONG).show();
            break;
           
            case Configuration.SCREENLAYOUT_SIZE_NORMAL:
                Toast.makeText(Home.this, "NORMAL SCREEN", Toast.LENGTH_LONG).show();
            break;

         }

Tuesday, April 10, 2012

Get Available Internal Memory

The below snippet helps to find the available internal memory. It will return the result in MB.

/**
       * Calculates the available internal memory
       * @return internal memory available in float
       */
      private float getAvailableInternalMemory()
      {
              float availMB;
              File path ;
              StatFs stat;       
              long blockSize;           
              long availableBlocks;
              try
              {
                  path = Environment.getDataDirectory();
                  stat = new StatFs(path.getPath());
                  blockSize = stat.getBlockSize();
                  availableBlocks = stat.getAvailableBlocks();
                  availMB = (availableBlocks*blockSize)/(1024*1024);               
              }
              catch (Exception e)
              {
                  availMB = -1;
              }         
             
              return availMB;
      }