Sunday, April 29, 2012

get accelerometer value


SensorTestActivity.java
--------------------------------
package home.SensorTest;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class SensorTestActivity extends Activity implements SensorEventListener
{
    TextView tvXaxis,tvYaxis,tvZaxis;
    List<Sensor> sensors;
    SensorManager sensorManager;
    Sensor accSensor;
   
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initUi();
       
        sensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
        // add listener. The listener will be HelloAndroid (this) class
        sensorManager.registerListener(this,
                sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                SensorManager.SENSOR_DELAY_NORMAL);      
     
    }
   
    public void initUi()
    {
        tvXaxis=(TextView)findViewById(R.id.textViewXaxis);
        tvYaxis=(TextView)findViewById(R.id.textViewYaxis);
        tvZaxis=(TextView)findViewById(R.id.textViewZaxis);
    }
   
 
    public void onAccuracyChanged(Sensor sensor, int accuracy)
    {
    }

   
    public void onSensorChanged(SensorEvent event)
    {
        if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER)
        {
            updateView(event.values[0], event.values[1], event.values[2]);
        }
       
       
    }
   
    public void updateView( Float x, Float y, Float z )
    {
        tvXaxis.setText("x axis = "+x.toString() );
        tvYaxis.setText("y axis ="+y.toString() );
        tvZaxis.setText("z axis ="+z.toString() );
    }
}


main.xml
--------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Sensor Test Activity" />

    <TextView
        android:id="@+id/textViewXaxis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="x axis"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textViewYaxis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="y axis"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textViewZaxis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="z axis"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>


AndroidManifest.xml
------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="home.SensorTest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".SensorTestActivity"
            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>



get sensor info


SensorTestActivity.java
----------------------------------------------

package home.SensorTest;

import java.util.List;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;

public class SensorTestActivity extends Activity {
    TextView tvXaxis,tvYaxis,tvZaxis;
    List<Sensor> sensors;
    SensorManager sensorManager;
   
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initUi();
       
        sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);
       
        sensors=sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);
       
        tvXaxis.setText( "sensor name : "+sensors.get(0).getName() );
        tvYaxis.setText( "sensor vendor : "+sensors.get(0).getVendor() );
        tvZaxis.setText( "sensor version : "+sensors.get(0).getVersion() );
       
       
    }
   
    public void initUi()
    {
        tvXaxis=(TextView)findViewById(R.id.textViewXaxis);
        tvYaxis=(TextView)findViewById(R.id.textViewYaxis);
        tvZaxis=(TextView)findViewById(R.id.textViewZaxis);
    }
   
    public class MySensorEventListener implements SensorEventListener
    {

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy)
        {
            // TODO Auto-generated method stub
           
        }

        @Override
        public void onSensorChanged(SensorEvent event)
        {
            // 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:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Sensor Test Activity" />

    <TextView
        android:id="@+id/textViewXaxis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="x axis"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textViewYaxis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="y axis"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textViewZaxis"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="z axis"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

Sunday, April 22, 2012

zipped a directory with all files


/*
 *
 * A free Java sample program
 * to POST to a HTTPS secure SSL website
 *
 * @author William Alexander
 * free for use as long as this comment is included
 * in the program as it is
 *
 * More Free Java programs available for download
 * at http://www.java-samples.com
 *
 */

import java.io.*;
import java.util.zip.*;
 public class Zip {
   static final int BUFFER = 2048;
   public static void main (String argv[]) {
      try {
         BufferedInputStream origin = null;
         FileOutputStream dest = new
           FileOutputStream("/home/istiaq/java/test/myZipTest.zip");
         ZipOutputStream out = new ZipOutputStream(new
           BufferedOutputStream(dest));
         //out.setMethod(ZipOutputStream.DEFLATED);
         byte data[] = new byte[BUFFER];
         // get a list of files from current directory
         File f = new File(".");
         String files[] = f.list();

         for (int i=0; i<files.length; i++) {
            System.out.println("Adding: "+files[i]);
            FileInputStream fi = new
              FileInputStream(files[i]);
            origin = new
              BufferedInputStream(fi, BUFFER);
            ZipEntry entry = new ZipEntry(files[i]);
            out.putNextEntry(entry);
            int count;
            while((count = origin.read(data, 0,
              BUFFER)) != -1) {
               out.write(data, 0, count);
            }
            origin.close();
         }
         out.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

Sunday, April 15, 2012

MIME type chart


open pdf,audio etc type of file by intent


public void openFile(String pathWithFileName,String type)
    {
        String fileType=determineFileType(type);
     
        File file = new File(pathWithFileName);

        if (file.exists())
        {
            Uri path = Uri.fromFile(file);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(path,fileType);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            try
            {
                startActivity(intent);
            }
            catch (ActivityNotFoundException e)
            {
                Toast.makeText(Main.this,
                    "No Application Available to View PDF",
                    Toast.LENGTH_SHORT).show();
            }
        }
    } //openFile()
 
    public String determineFileType(String type)
    {
        String fileType="";
        if(type.equals("audio"))
        {
            fileType="audio/*";
        }
        else if(type.equals("pdf"))
        {
            fileType="application/pdf";
        }
     
        return fileType;
    } //determinrFileType()

Tuesday, April 10, 2012

check box in android


CheckBoxTestActivity.java
------------------------------------
package home.checkBoxTest;

import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;

public class CheckBoxTestActivity extends Activity
{
CheckBox chkBoxAndroid;
CheckBox chkBoxIPhone;
CheckBox chkBoxBlackBerry;

@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

initialUISetup();

chkBoxAndroid.setOnCheckedChangeListener(new myCheckBoxChnageClicker());
chkBoxBlackBerry.setOnCheckedChangeListener(new myCheckBoxChnageClicker());
chkBoxIPhone.setOnCheckedChangeListener(new myCheckBoxChnageClicker());

}
public void initialUISetup()
{
    chkBoxAndroid = (CheckBox) findViewById(R.id.chkBoxAndroid);
    chkBoxIPhone = (CheckBox) findViewById(R.id.chkBoxIPhone);
    chkBoxBlackBerry = (CheckBox) findViewById(R.id.chkBoxBlackBerry);    
}

class myCheckBoxChnageClicker implements CheckBox.OnCheckedChangeListener
    {

           public void onCheckedChanged(CompoundButton buttonView,boolean isChecked)
           {
                 if(isChecked)
                 {
                      if(buttonView==chkBoxAndroid)
                       {
                           showTextNotification("Android");
                       }
           
                       if(buttonView==chkBoxIPhone)
                       {
                           showTextNotification("iPhone");
                       }
           
                       if(buttonView==chkBoxBlackBerry)
                       {
                           showTextNotification("BlackBerry");
                       }
                 }
           } //onCheckedChanged
    } //myCheckBoxChnageClicker

public void showTextNotification(String msgToDisplay)
    {
           Toast.makeText(getApplicationContext(), msgToDisplay, Toast.LENGTH_SHORT).show();
    }
} //CheckBoxTestActivity class


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">

    <CheckBox
    android:text="Android"
    android:id="@+id/chkBoxAndroid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true">
</CheckBox>

<CheckBox
android:text="iPhone"
android:id="@+id/chkBoxIPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

<CheckBox
android:text="BlackBerry"
android:id="@+id/chkBoxBlackBerry"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
</LinearLayout>



Friday, April 6, 2012

customized list

http://pastebin.com/UhP3RcpQ

download: http://www.mediafire.com/?9d7uly1yysz1fi2

Main.java
----------------------

package home.customList;

import android.app.ListActivity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class Main extends ListActivity{
    String[] countries;
    int c=0;
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     
        countries = getResources().getStringArray(R.array.countries_array);
     
        //Toast.makeText(this,"Main class",Toast.LENGTH_LONG).show();
        Log.d("------------main class-----------", "start");
        setListAdapter(new MyAdapter(this,android.R.layout.simple_list_item_1,R.id.textView1,countries));

        //Toast.makeText(this,"end of Main class",Toast.LENGTH_LONG).show();
        Log.d("------------main class-----------", "end");
     
        ListView listView = getListView();//getListView() from ListActivity //public class ListView
     
        //listView.setTextFilterEnabled(true);

     
     
    }
 
    private class MyAdapter extends ArrayAdapter<String>
    {
     

        public MyAdapter(Context context, int resource, int textViewResourceId,String[] strings)
        {
         
            //Toast.makeText(Main.this,"getView() row="+c,Toast.LENGTH_LONG).show();
            super(context, resource, textViewResourceId, strings);
        }
     
        @Override
        public View getView(int position, View convertView, ViewGroup parent)
        {
         
            c++;
            //Toast.makeText(Main.this,"getView() c="+c,Toast.LENGTH_LONG).show();
            Log.d("------------getView()-----------c="+c, "c="+c);
            LayoutInflater inflater=(LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         
            View row=inflater.inflate(R.layout.list_item,parent,false);
         
            String[] items=getResources().getStringArray(R.array.countries_array);
         
            ImageView iv=(ImageView) row.findViewById(R.id.imageView1);
            TextView tv=(TextView) row.findViewById(R.id.textView1);
            EditText et=(EditText)row.findViewById(R.id.editText1);
            CheckBox cb=(CheckBox)row.findViewById(R.id.checkBox1);
         
            tv.setText(items[position]);
            et.setText("my button");
            cb.setClickable(true);
         
            if(items[position].equals("bangladesh"))
            {
                iv.setImageResource(R.drawable.bangladesh);
            }
            else if(items[position].equals("england"))
            {
                iv.setImageResource(R.drawable.england);
            }
            else if(items[position].equals("usa"))
            {
                iv.setImageResource(R.drawable.usa);
            }
            else if(items[position].equals("russia"))
            {
                iv.setImageResource(R.drawable.russia);
            }
            else
            {
                iv.setImageResource(R.drawable.ic_launcher);
            }
         
           tv.setOnClickListener(new OnClickListener() {
             
                public void onClick(View v)
                {
                    Toast.makeText(getApplicationContext(),((TextView)v).getText(), Toast.LENGTH_SHORT).show();
                }
            });
         
         
            Log.d("------------row=-----------"+row, "row="+row);
         
            return row;
        }
     
    }
}


main.xml
----------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>


list_item.xml
--------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:maxHeight="25dp"
        android:maxWidth="25dp"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:textSize="25sp" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.72" >

        <requestFocus />
    </EditText>

    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="CheckBox" />

</LinearLayout>


res/values/country.xml
---------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="countries_array">
     
        <item name="bangladesh">bangladesh</item>
        <item name="usa">usa</item>
        <item name="russia">russia</item>
        <item name="england">england</item>
     
    </string-array>
</resources>