<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>fruit</key>
	<array>
		<string>apple</string>
		<string>banana</string>
		<string>pinapple</string>
	</array>
	<key>states</key>
	<array>
		<string>CA</string>
		<string>NY</string>
		<string>FL</string>
	</array>
</dict>
</plist>

package com.powenko.Tutorial_internet_soapAndTableView;

import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class Tutorial_internet_soapAndTableViewActivity extends Activity {
    /** Called when the activity is first created. */

	//TextView m_TextView01;
	 private List<News> li=new ArrayList<News>();
	  ListView myListView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Internet_Http_postData();
        Fun_ListView();
    }

    private void Fun_ListView(){

	    myListView=(ListView) findViewById(R.id.listView1);
	    myListView.setCacheColorHint(0);
	    myListView.setAdapter(new MyAdapter(this,li));

	    myListView
	        .setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
	        {

	         @Override
	          public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
	              long arg3)
	          {

	          }

	         @Override
	          public void onNothingSelected(AdapterView<?> arg0)
	          {

	          }

	        });

	    /* myListView�[�JOnItemClickListener */
	    myListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
	    {

	    //  @Override
	      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
	          long arg3)
	      {
			  Toast.makeText(
					  Tutorial_internet_soapAndTableViewActivity.this,"Selected",
	                          Toast.LENGTH_SHORT )
	              .show();

	      }
	    });

    }
    public void Internet_Http_postData() {

        // Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://www.mymobione.com.tw/MIDNTSTK01/MMOService.asmx?WSDL");//"http://www.nanonull.com/TimeService/TimeService.asmx");

        try {
        	String webServiceXml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><Message xmlns=\"http://www.mymobione.com.tw/\">";
        		 webServiceXml += 	   "<xml><MMOREQ><APID>20110715</APID><MSGID>M001</MSGID><DBID>0</DBID><PAGEID>0</PAGEID><AFLAG>D</AFLAG>";
        			 webServiceXml += 	   "<SFLAG>CUB</SFLAG><ITEMCOUNT>10</ITEMCOUNT></MMOREQ></xml></Message></soap:Body></soap:Envelope>";

             httppost.setHeader("content-type","text/xml; charset=utf-8");
             httppost.setHeader("SOAPAction","http://www.mymobione.com.tw/Message");//"http://www.Nanonull.com/TimeService/getOffesetUTCTime");//"http://www.example.com/WebServiceMethod1");

             httppost.setEntity(new StringEntity(webServiceXml));

             HttpResponse httpResponse = httpclient.execute(httppost);

             String t_response = EntityUtils.toString(httpResponse.getEntity());
        //     m_TextView01.setText(t_response);
             Fun_SOAP(t_response);

        }  catch (ClientProtocolException e)
        {
      // 	 m_TextView01.setText(e.getMessage().toString());
          e.printStackTrace();
        }
        catch (IOException e)
        {
      // 	 m_TextView01.setText(e.getMessage().toString());
          e.printStackTrace();
        }
        catch (Exception e)
        {
     //  	 m_TextView01.setText(e.getMessage().toString());
          e.printStackTrace();
        }
    }
    void Fun_SOAP(String i_xmlString){
    	LinearLayout layout = new LinearLayout(this);
		layout.setOrientation(1);
    	TextView name[];
		TextView website[];
		TextView category[];
    	try {

			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
			DocumentBuilder db = dbf.newDocumentBuilder();
			//Document doc = db.parse(new InputSource(url.openStream()));

			InputSource inStream = new InputSource();
			inStream.setCharacterStream(new StringReader(i_xmlString));
			Document doc = db.parse(inStream);

			doc.getDocumentElement().normalize();

			NodeList nodeList = doc.getElementsByTagName("ITEM");

			int t1=nodeList.getLength();
			/** Assign textview array lenght by arraylist size */
			name = new TextView[nodeList.getLength()];
			website = new TextView[nodeList.getLength()];
			category = new TextView[nodeList.getLength()];

			for (int i = 0; i < nodeList.getLength(); i++) {

				Node node = nodeList.item(i);

				name[i] = new TextView(this);
				website[i] = new TextView(this);
				category[i] = new TextView(this);

				Element fstElmnt = (Element) node;
				NodeList nameList = fstElmnt.getElementsByTagName("TITLE");
				Element nameElement = (Element) nameList.item(0);
				nameList = nameElement.getChildNodes();
				name[i].setText("Name = "
						+ ((Node) nameList.item(0)).getNodeValue());

				NodeList websiteList = fstElmnt.getElementsByTagName("INFURL");
				Element websiteElement = (Element) websiteList.item(0);
				websiteList = websiteElement.getChildNodes();
				website[i].setText("Website = "
						+ ((Node) websiteList.item(0)).getNodeValue());

				 News news=new News();
				    news.setTitle(((Node) nameList.item(0)).getNodeValue());
				    news.setLink(((Node) websiteList.item(0)).getNodeValue());
				    li.add(news);
			}
		} catch (Exception e) {
			System.out.println("XML Pasing Excpetion = " + e);
		}
	//	setContentView(layout);

    }

}
package com.powenko.Tutorial_Data_plist;


public class News
{ 

	public String _title="";
	public String _link="";
	
  
  
  public String getTitle()
  { 
    return _title; 
  } 
  public String getLink()
  { 
    return _link; 
  }
  
  
  public void setTitle(String title)
  { 
    _title=title; 
  } 
  public void setLink(String link)
  { 
    _link=link; 
  }

  
}

sample code:

Tutorial_internet_soapAndTableView

By admin-powenko

Dr. Powen Ko is a teacher and CEO on LoopTek LLC, and like to teaching. if you need to class, please let PowenKo know, he will love to service and sharing. LoopTek web site is www.looptek.com

Leave a Reply