Monday, 16 June 2014

sending messages,call,and sending multiple emails in android(Teliphony Ex)

Step1:
activity_main.xml:

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

            android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="30dp"
        android:text="cno"
        android:textAppearance="?android:attr/textAppearanceMedium" />

            android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="41dp"
        android:text="msg"
        android:textAppearance="?android:attr/textAppearanceMedium" />

   



Step2:

Note:Add three classes and write code as below:
GMailSender.java

package com.example.telephonyex;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.Security;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class GMailSender extends javax.mail.Authenticator {
    private String mailhost = "smtp.gmail.com";
    private String user;
    private String password;
    private Session session;

    static {
        Security.addProvider(new JSSEProvider());
    }

    public GMailSender(String user, String password) {
        this.user = user;
        this.password = password;

        Properties props = new Properties();
        props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.host", mailhost);
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class",
                "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.socketFactory.fallback", "false");
        props.setProperty("mail.smtp.quitwait", "false");

        session = Session.getDefaultInstance(props, this);
    }

    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(user, password);
    }

    public synchronized void sendMail(String subject, String body, String sender, String recipients) throws Exception {
     
        MimeMessage message = new MimeMessage(session);
        DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));
        message.setSender(new InternetAddress(sender));
        message.setSubject(subject);
        message.setDataHandler(handler);
        if (recipients.indexOf(',') > 0)
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));
        else
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));
        Transport.send(message);
     
    }

    public class ByteArrayDataSource implements DataSource {
        private byte[] data;
        private String type;

        public ByteArrayDataSource(byte[] data, String type) {
            super();
            this.data = data;
            this.type = type;
        }

        public ByteArrayDataSource(byte[] data) {
            super();
            this.data = data;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getContentType() {
            if (type == null)
                return "application/octet-stream";
            else
                return type;
        }

        public InputStream getInputStream() throws IOException {
            return new ByteArrayInputStream(data);
        }

        public String getName() {
            return "ByteArrayDataSource";
        }

        public OutputStream getOutputStream() throws IOException {
            throw new IOException("Not Supported");
        }
    }

}

JSSEProvider:
package com.example.telephonyex;
import java.security.AccessController;
import java.security.Provider;

public final class JSSEProvider extends Provider {

private static final long serialVersionUID = 1L;

public JSSEProvider() {
        super("HarmonyJSSE", 1.0, "Harmony JSSE Provider");
        AccessController.doPrivileged(new java.security.PrivilegedAction() {
            public Void run() {
                put("SSLContext.TLS",
                        "org.apache.harmony.xnet.provider.jsse.SSLContextImpl");
                put("Alg.Alias.SSLContext.TLSv1", "TLS");
                put("KeyManagerFactory.X509",
                        "org.apache.harmony.xnet.provider.jsse.KeyManagerFactoryImpl");
                put("TrustManagerFactory.X509",
                        "org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl");
                return null;
            }
        });
    }

}

LongOperation.java

package com.example.telephonyex;

import android.media.MediaPlayer;
import android.os.AsyncTask;
import android.util.Log;

public class LongOperation extends AsyncTask {




@Override
protected String doInBackground(Void... params)
{
try
{
// StringTokenizer tokenizer = new StringTokenizer(yourString, "!*^/");

 for(int i=0;i
 {
 GMailSender sender = new GMailSender("srikanthpatel132@gmail.com","08464316144");
        sender.sendMail(MainActivity.sub,MainActivity.msg,ApplicationConstants.list.get(i),ApplicationConstants.list.get(i));
}
 }
 catch(Exception e){Log.e("error",e.getMessage(),e);return "Email Not Sent";}
return "Email Sent";
}
@Override
protected void onPostExecute(String result)
{

}
@Override
protected void onPreExecute()
{
}

@Override
protected void onProgressUpdate(Void... values)
{
}

}



ApplicationConstants.java:

package com.example.telephonyex;

import java.util.ArrayList;

public class ApplicationConstants {
public static ArrayList list;

}

Step 4:
Note:write this code in MainActivity.java class
MainActivity.java:

package com.example.telephonyex;

import java.util.ArrayList;
import java.util.StringTokenizer;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends Activity {

static String to;
static String msg;
static String sub;



@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
 

public void sms(View v){

EditText et1=(EditText)findViewById(R.id.editText1);
EditText et2=(EditText)findViewById(R.id.editText2);

SmsManager manager=SmsManager.getDefault();

manager.sendTextMessage(et1.getText().toString(), null, et2.getText().toString(),null, null);
 
}

public void call(View v){

EditText et1=(EditText)findViewById(R.id.editText1);

Intent i=new Intent();
i.setAction(Intent.ACTION_CALL);
i.setData(Uri.parse("tel:"+et1.getText().toString()));
startActivity(i);





}



public void sendMail(View v){

EditText et3,et4,et5;


et3=(EditText)findViewById(R.id.editText3);
et4=(EditText)findViewById(R.id.editText4);
et5=(EditText)findViewById(R.id.editText5);



Intent i=new Intent();
i.setAction(Intent.ACTION_SEND);

i.putExtra(Intent.EXTRA_EMAIL,new String[]{et3.getText().toString(),});
i.putExtra(Intent.EXTRA_SUBJECT,new String[]{et4.getText().toString()});
i.putExtra(Intent.EXTRA_TEXT,new String[]{et5.getText().toString()});


i.setType("message/rfc822"); // this is used to enable MIME

startActivity(Intent.createChooser(i, "Select Any Email Client ..."));


// ArrayList list=new ArrayList();
//list.add(msg);
}


public void sendJavamail(View v){


EditText et3,et4,et5;


et3=(EditText)findViewById(R.id.editText3);
et4=(EditText)findViewById(R.id.editText4);
et5=(EditText)findViewById(R.id.editText5);

to=et3.getText().toString();
sub=et4.getText().toString();
msg=et5.getText().toString();

ArrayList list=new ArrayList();
   StringTokenizer tokenizer = new StringTokenizer(to, ";");
        while(tokenizer.hasMoreTokens())
        {
           list.add(tokenizer.nextToken());
        }
        ApplicationConstants.list=list;

   LongOperation operation=new LongOperation();
operation.execute();

}
}


Step5:
Note: write below permissions in AndroidManifest.xlm file
  
   
  
 


example for listview setonitemclicklistener in android

Step 1:
activity_main.xml:


    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

   
        android:id="@+id/listView1"
        android:layout_width="200dp"
        android:layout_height="480dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >
   

   
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="16dp"
        android:layout_marginTop="179dp"
        android:layout_toRightOf="@+id/listView1"
        android:text="" />




Step 2:
MainActivity.java

package com.example.list;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
   

  final ListView list=(ListView)findViewById(R.id.listView1);
  String[] values=new String[]{"Kiran","Shiva","mahesh","Sathish","vanka","Pavan","Swathi"};
  ArrayAdapter adapter=new ArrayAdapter(getApplicationContext(),android.R.layout.select_dialog_multichoice ,values);
  list.setAdapter(adapter);
  list.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2,
long arg3) {
//int a=list.getPositionForView(arg2);
int position=arg2;
tv=(TextView)findViewById(R.id.textView1);

String a="position is:"+(position+1)+"\n"+"name is:"+ list.getItemAtPosition(arg2).toString();
tv.setText(a);
           // Toast.makeText(getApplicationContext(), "position is:"+position+"name is:"+ list.getItemAtPosition(arg2).toString(),2000).show();
}
});
 
}


}

getting images from sdcard and binding it to listview in android

Step 1:
activity_main.xml:

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

            android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >
   




Step 2:
MainActivity.java:


package com.example.gettingimagesfromsdcard;

import java.io.File;

import android.R.string;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//String path=Environment.getDataDirectory()+"/DCIM/Camera";
String path=Environment.getExternalStorageDirectory()+"/DCIM/Camera";
File f=new File(path);
if(f.exists())
{
Toast.makeText(getApplicationContext(), "Path found",Toast.LENGTH_LONG).show();

String[] images=f.list();
ArrayAdapter< String> adptr=new ArrayAdapter(getApplicationContext(), android.R.layout.simple_gallery_item, images);
lv=(ListView)findViewById(R.id.listView1);
lv.setAdapter(adptr);

}
else
{
Toast.makeText(getApplicationContext(), "Path not correct",Toast.LENGTH_LONG).show();
}
}



}

Friday, 13 June 2014

communicating with sqlite database(insert,read,delete,update)

activity_main.xml:


    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

   
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="38dp"
        android:text="eid"
        android:textAppearance="?android:attr/textAppearanceMedium" />

   
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="44dp"
        android:text="ename"
        android:textAppearance="?android:attr/textAppearanceMedium" />

   
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView2"
        android:layout_marginTop="46dp"
        android:text="desig"
        android:textAppearance="?android:attr/textAppearanceMedium" />

   
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/textView1"
        android:layout_marginLeft="45dp"
        android:layout_toRightOf="@+id/textView1"
        android:ems="10" >

       
   

   
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_alignTop="@+id/textView2"
        android:ems="10" />

   
        android:id="@+id/editText3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView3"
        android:layout_alignLeft="@+id/editText2"
        android:ems="10" />

   
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/button3"
        android:layout_alignRight="@+id/editText3"
        android:layout_marginBottom="42dp"
        android:layout_marginRight="46dp"
        android:onClick="read"
        android:text="Read" />

   
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button2"
        android:layout_alignBottom="@+id/button2"
        android:layout_toRightOf="@+id/textView1"
        android:onClick="insert"
        android:text="Insert" />

   
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/button1"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="42dp"
        android:onClick="update"
        android:text="Update" />

   
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/button2"
        android:layout_below="@+id/button2"
        android:onClick="delete"
        android:text="Delete" />





step2:
MainActivity.java:


package com.example.sqlitedatabaseex;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

SQLiteDatabase db;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

db=openOrCreateDatabase("emp_db", Context.MODE_PRIVATE, null);


db.execSQL("create table if not exists emp_details (eid number,ename varchar(40),desig varchar(40))");


}


public void insert(View v){

EditText et1=(EditText)findViewById(R.id.editText1);
EditText et2=(EditText)findViewById(R.id.editText2);
EditText et3=(EditText)findViewById(R.id.editText3);

ContentValues cv=new ContentValues();

cv.put("eid",et1.getText().toString());
cv.put("ename",et2.getText().toString());
cv.put("desig", et3.getText().toString());

db.insert("emp_details", null, cv);


}

public void read(View v){


EditText et1=(EditText)findViewById(R.id.editText1);

Cursor c=db.query("emp_details", new String[]{"eid","ename","desig"}, "eid=?", new String[]{et1.getText().toString()},null, null, null);


while(c.moveToNext()){



Toast.makeText(getApplicationContext(), "Eid is :"+c.getInt(0)+"\n "+"Ename is :"+c.getString(1)+"Desig is :"+c.getString(2),2000).show();

}


}

public void update(View v){

EditText et1=(EditText)findViewById(R.id.editText1);
EditText et2=(EditText)findViewById(R.id.editText2);
EditText et3=(EditText)findViewById(R.id.editText3);

ContentValues cv=new ContentValues();

cv.put("ename",et2.getText().toString());
cv.put("desig", et3.getText().toString());

db.update("emp_details",cv, "eid=?",new String[]{et1.getText().toString()});


}

public void delete(View v){

EditText et1=(EditText)findViewById(R.id.editText1);

db.delete("emp_details","eid=?",new String[]{et1.getText().toString()});


// db.execSQL("delete from emp_details where eid="+et1.getText().toString());


}


}

Video Recording example in android


activity_main.xml:

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

   
        android:id="@+id/surfaceView1"
        android:layout_width="fill_parent"
        android:layout_height="480px"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

   
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/surfaceView1"
        android:layout_marginLeft="38dp"
        android:layout_marginTop="44dp"
        android:onClick="start"
        android:text="Start" />

   
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button1"
        android:layout_alignBottom="@+id/button1"
        android:layout_centerHorizontal="true"
        android:onClick="stop"
        android:text="Stop" />

   
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/button2"
        android:layout_alignBottom="@+id/button2"
        android:layout_alignParentRight="true"
        android:layout_marginRight="14dp"
        android:onClick="camera"
        android:text="Camera" />
    




Step2:
MainActivity.java:


package com.example.videorecordingex;

import java.io.File;

import android.app.Activity;
import android.content.Intent;
import android.media.CamcorderProfile;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;

public class MainActivity extends Activity {


MediaRecorder recorder;

SurfaceView view; 

SurfaceHolder holder;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

}

public void start(View v){

initialization(); 
recorder.start(); 
}
 

private void initialization() {



view=(SurfaceView)findViewById(R.id.surfaceView1);

holder=view.getHolder();

holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);


recorder=new MediaRecorder();

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFile(Environment.getExternalStorageDirectory()+"/new_video.mp4");

CamcorderProfile profile=CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);

recorder.setProfile(profile);

recorder.setPreviewDisplay(holder.getSurface()); 


try {
recorder.prepare();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();

}

public void stop(View v){

recorder.stop();   

}

public void camera(View v){

Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
       File f = new File(Environment.getExternalStorageDirectory(),  System.currentTimeMillis()+".jpg");
       i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)); 
       startActivityForResult(i, 0); 

}


}

Note:   write this code in androidManifest.xml


   
     
   
   

webview example in android

activity_main.xml:

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

   
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:ems="10" >

       
   

   
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:onClick="go"
        android:text="Go" />

   
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/button1" />





MainActivity.java:

package com.example.webviewtest;
import android.app.Activity;

import android.app.ProgressDialog;

import android.graphics.Bitmap;

import android.os.Bundle;

import android.view.View;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.EditText;



public class MainActivity extends Activity
{

    @Override
 
  protected void onCreate(Bundle savedInstanceState)
 {
        super.onCreate(savedInstanceState);
     
 setContentView(R.layout.activity_main);
 
  }

   
 public void go(View v)
 {
   


    EditText et1=(EditText)findViewById(R.id.editText1);
 
  WebView wv=(WebView)findViewById(R.id.webView1);
   

    if(et1.getText().toString().startsWith("http://"))
        {
   
   
   wv.loadUrl(et1.getText().toString());
   
   
}
    else
        {
 
     wv.loadUrl("http://"+et1.getText().toString());
       

        }

   
//wv.loadUrl("file:///android_assest/test.html");
   

    //  wv.loadUrl("file:///android_asset/test.html");
 
   
   
 final ProgressDialog pdDialog=new ProgressDialog(this);
   

     pdDialog.setTitle("Message");
   
 
     pdDialog.setMessage("Page is loading...");
   
 
     pdDialog.setIcon(R.drawable.ic_launcher);
   
   
         pdDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
   
 
   

          wv.setWebViewClient(new WebViewClient()
           {
   
   @Override
   
           public void onPageStarted(WebView view, String url, Bitmap favicon)
             {
   
   // TODO Auto-generated method stub
   
     super.onPageStarted(view, url, favicon);
   

    pdDialog.show();
 
   
    }
   
   
 
  @Override
   
public boolean shouldOverrideUrlLoading(WebView view, String url)
         {
   
   
view.loadUrl(url);
   

    return super.shouldOverrideUrlLoading(view, url);
   
}
   
   
       @Override
   
public void onPageFinished(WebView view, String url)
        {
   
          // TODO Auto-generated method stub
   
        super.onPageFinished(view, url);
   
   
pdDialog.dismiss();
   
   
}

    });

    wv.getSettings().setJavaScriptEnabled(true);

   wv.getSettings().setBuiltInZoomControls(true);  
   
   
   
   
    }
   

}


Note: add internate permission in androidmanifest.xml

Thursday, 12 June 2014

download web service in xml file and bind particular tag to listview

activity_main.xml:

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

           android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:orientation="vertical">

                  android:id="@+id/listView1"
           android:layout_width="match_parent"
           android:layout_height="407dp" >
       


 




step1:
NOte: download ksoap2 library

MainActivity.java:

package com.example.rajutaskwebservice;

import java.io.File;

import java.util.ArrayList;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(ListView)findViewById(R.id.listView1);
Toast.makeText(getApplicationContext(),"welcome", Toast.LENGTH_LONG).show();


//first downlode web service in xml format
/*
 new Thread(){
public void run(){

try{

DefaultHttpClient client=new DefaultHttpClient();

//Toast.makeText(getApplicationContext(),"welcome1", Toast.LENGTH_LONG).show();
HttpGet get=new HttpGet(" give ur web service .php");


HttpResponse response=client.execute(get);
// Toast.makeText(getApplicationContext(),"welcome2", Toast.LENGTH_LONG).show();

//data reading
InputStream isr=response.getEntity().getContent();

String out_path=Environment.getExternalStorageDirectory()+"/out_put_file.xml";
//data writing
FileOutputStream fos=new FileOutputStream(out_path);


int i=isr.read();
String msg="";
// Toast.makeText(getApplicationContext(),"welcome3", Toast.LENGTH_LONG).show();

while(i!=-1){
msg=msg+(char)i;
fos.write(i);

i=isr.read();
}


if(i==-1){
displayResult(msg);
}


// Toast.makeText(getApplicationContext(),msg, Toast.LENGTH_LONG).show();

}
catch(Exception e)
{

// Toast.makeText(getApplicationContext(),"fdfsdds", Toast.LENGTH_LONG).show();
}





}
}.start();


}


public void displayResult(String res){


Toast.makeText(getApplicationContext(), res, 2000).show();

}*/

// this is for binding particular tag to list view

try
{

         SAXParserFactory factory=SAXParserFactory.newInstance();
         SAXParser parse=factory.newSAXParser();
         String path=Environment.getExternalStorageDirectory()+"/out_put_file.xml";
         File f=new File(path);
        // String[] values=f.list();
         final ArrayList values=new ArrayList();
         parse.parse(f,new DefaultHandler()
         {
        boolean value=false;
        @Override
        public void characters(char[] ch, int start, int length)
        throws SAXException {
        // TODO Auto-generated method stub
        super.characters(ch, start, length);
        if(value)
        {
        values.add(new String(ch,start,length));
        }
        }
        public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
        {
       
        if(qName.equalsIgnoreCase("source"))
        {
                            //here "source" is nothing but required tag which is to bind to listview

        value=true;
        }
        };
         public void endElement(String uri, String localName, String qName) throws SAXException
         {
         if(qName.equalsIgnoreCase("source"))
          {
          value=false;
          }
         };
         }
        );
       
 ArrayAdapter adapter=new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1,values);
 lv.setAdapter(adapter);
  }
catch (Exception e)
{
// TODO: handle exception
}
}

}



binding values to spinner from webservice using sax parser

activity_main.xml:
  // take one listview in activity_main.xml file

step1: 

  downlode ksoap2 library file and add this in "libs" folder and build this library.


step2: 
//write  this code in main activity class
MainActivity.java:


package com.example.webservicetospinner;

import java.io.StringReader;

import java.util.ArrayList;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

doctors doc=new doctors();
Toast.makeText(getApplicationContext(), doc.Doctorsinfo(), 20000).show();

try
{
final ArrayList list=new ArrayList();
SAXParserFactory factory=SAXParserFactory.newInstance();
SAXParser parser=factory.newSAXParser();
parser.parse(new InputSource(new StringReader(doc.Doctorsinfo())), new DefaultHandler()
{

boolean name=false;

public void startElement(String uri, String localName, String qName, org.xml.sax.Attributes attributes) throws SAXException {

if(qName.equalsIgnoreCase("doctorname")){
name=true;
}
};
@Override
      public void characters(char[] ch, int start, int length)
      throws SAXException {
      // TODO Auto-generated method stub
      super.characters(ch, start, length);
      if(name)
      {
          list.add(new String(ch,start,length));
      }
      }
 
     public void endElement(String uri, String localName, String qName) throws SAXException {
   
     name=false;
   
     };
   
}

    );

   Spinner spin=(Spinner)findViewById(R.id.spinner1);
ArrayAdapter < String > adapter = new ArrayAdapter < String > (this,
                     android.R.layout.simple_list_item_1,list);
       
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
            spin.setAdapter(adapter);
}
catch (Exception e) {
e.printStackTrace();
}
}

}


step3:
//create a class with name of doctors.java and paste below code:
doctors.java:

package com.example.webservicetospinner;
import org.ksoap2.SoapEnvelope;


import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

public class doctors {
private static String SOAP_ACTION1 = "give action name";
     private static String NAMESPACE = "give namespace here";
     private static String METHOD_NAME1 = "method name";
    private static String URL = " give ur url?wsdl";
private String result_=""; 
 
public String Doctorsinfo(){
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);       
         
        //Use this to add parameters
     /*   request.addProperty("visitDate","1-5-2014");    
        request.addProperty("infoType","");
        request.addProperty("patientEmail","9985614637"); */
        //Declare the version of the SOAP request
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
       
        envelope.setOutputSoapObject(request);
        envelope.dotNet = true;
       
        try {
              HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
             
              //this is the actual part that will call the webservice
              androidHttpTransport.call(SOAP_ACTION1, envelope);
             
              // Get the SoapResult from the envelope body.
              SoapObject result = (SoapObject)envelope.bodyIn;

              if(result != null)
              {
                    //Get the first property and change the label text
                   // txtCel.setText(result.getProperty(0).toString());
             
             result_=result.getProperty(0).toString();
              }  
              else
              {
                  result_="no data found";  
              }
        } catch (Exception e) {
              e.printStackTrace();
        }
return result_;  
}